Import Geant4 3.1.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-08 16:03:00 +02:00
parent cfcb558cfe
commit 137e303ecc
2843 changed files with 37082 additions and 38426 deletions
+41 -11
View File
@@ -5,14 +5,15 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4IonisParamElm.cc,v 1.3 1999/12/15 14:50:51 gunter Exp $
// GEANT4 tag $Name: geant4-03-00 $
// $Id: G4IonisParamElm.cc,v 1.6 2001/03/12 17:48:48 maire Exp $
// GEANT4 tag $Name: geant4-03-01 $
//
//
// ------------ class G4IonisParamElm ------------
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... ....oooOO0OOooo....
//
// 08-03-01, correct handling of fShellCorrectionVector. M.Maire
// 22-11-00, tabulation of ionisation potential from
// the ICRU Report N#37. V.Ivanchenko
// 09-07-98, data moved from G4Element. M.Maire
//
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... ....oooOO0OOooo....
@@ -32,8 +33,29 @@ G4IonisParamElm::G4IonisParamElm(G4double Z)
fZZ3 = pow(fZ*(fZ+1.), 1./3.);
flogZ3 = log(fZ)/3.;
// parameters for energy loss by ionisation
fMeanExcitationEnergy = 16.*pow(fZ,0.9)*eV;
// Parameters for energy loss by ionisation
// Mean excitation energy
// from "Stopping Powers for Electrons and Positrons"
// ICRU Report N#37, 1984 (energy in eV)
static double exc[100] = {
21.8, 20.9, 13.3, 15.9, 15.2, 13.0, 11.7, 11.9, 11.5, 13.7,
13.6, 13.0, 12.8, 12.4, 11.5, 11.3, 10.2, 10.4, 10.0, 9.6,
10.3, 10.6, 10.7, 10.7, 10.9, 11.0, 11.0, 11.1, 11.1, 11.0,
10.8, 10.4, 10.5, 10.2, 9.8, 9.8, 9.8, 9.6, 9.7, 9.8,
10.2, 10.1, 10.0, 10.0, 10.0, 10.2, 10.0, 9.8, 10.0, 9.8,
9.5, 9.3, 9.3, 8.9, 8.9, 8.8, 8.8, 8.8, 9.1, 9.1,
9.2, 9.3, 9.2, 9.2, 9.4, 9.5, 9.7, 9.7, 9.8, 9.8,
9.8, 9.8, 9.8, 9.8, 9.8, 9.8, 9.8, 10.1, 10.0, 10.0,
10.0, 10.0, 9.9, 9.9, 9.7, 9.2, 9.5, 9.4, 9.4, 9.4,
9.6, 9.7, 9.7, 9.8, 9.8, 9.8, 9.8, 9.9, 9.9, 9.9 };
G4int iz = (G4int)Z - 1 ;
if(0 > iz) iz = 0;
if(98 < iz) iz = 98 ;
fMeanExcitationEnergy =
fZ * (exc[iz] + (fZ - (G4double)(iz))*(exc[iz+1] - exc[iz])) * eV ;
fTau0 = 0.1*fZ3*MeV/proton_mass_c2;
fTaul = 2.*MeV/proton_mass_c2;
@@ -61,13 +83,15 @@ G4IonisParamElm::G4IonisParamElm(G4double Z)
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... ....oooOO0OOooo....
G4IonisParamElm::~G4IonisParamElm()
{ }
{
if (fShellCorrectionVector) delete [] fShellCorrectionVector;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... ....oooOO0OOooo....
G4IonisParamElm::G4IonisParamElm(G4IonisParamElm& right)
{
*this = right;
*this = right;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... ....oooOO0OOooo....
@@ -87,21 +111,27 @@ const G4IonisParamElm& G4IonisParamElm::operator=(const G4IonisParamElm& right)
fBlow = right.fBlow;
fClow = right.fClow;
fMeanExcitationEnergy = right.fMeanExcitationEnergy;
fShellCorrectionVector = right.fShellCorrectionVector;
if (fShellCorrectionVector) delete [] fShellCorrectionVector;
fShellCorrectionVector = new G4double[3];
fShellCorrectionVector[0] = right.fShellCorrectionVector[0];
fShellCorrectionVector[1] = right.fShellCorrectionVector[1];
fShellCorrectionVector[2] = right.fShellCorrectionVector[2];
}
return *this;
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... ....oooOO0OOooo....
G4int G4IonisParamElm::operator==(const G4IonisParamElm &right) const
G4int G4IonisParamElm::operator==(const G4IonisParamElm& right) const
{
return (this == (G4IonisParamElm *) &right);
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... ....oooOO0OOooo....
G4int G4IonisParamElm::operator!=(const G4IonisParamElm &right) const
G4int G4IonisParamElm::operator!=(const G4IonisParamElm& right) const
{
return (this != (G4IonisParamElm *) &right);
}
//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo.... ....oooOO0OOooo....