82 : fMaterial(0), fShellCorrectionVector(0)
148 for (
size_t i=0; i < nElements; i++) {
159 for (
G4int j=0; j<=2; j++)
163 for (
size_t k=0; k<nElements; k++) {
165 *(((*elmVector)[k])->GetIonisation()->GetShellCorrectionVector())[j];
192 if(idx < 0 && 1 == nelm) {
203 if(dens <= 0.0) { idx = -1; }
210 if(std::abs(corr) > 1.0) { idx = -1; }
245 static const G4double Cd2 = 4*
pi*hbarc_squared*classic_electr_radius;
259 static const G4double ClimiS[] = {3.681 , 5.215 };
260 static const G4double X0valS[] = {1.0 , 1.5 };
261 static const G4double X1valS[] = {2.0 , 3.0 };
272 if (1 == nelm && 1 == Z0) {
301 if (1 == nelm && 1 == Z0) {
306 if (1 == nelm && 2 == Z0) {
363 if (Zeff > 2.) {
fF2fluct = 2./Zeff; }
382 const G4double* theAtomicNumDensityVector =
388 G4double z(0.0), vF(0.0), lF(0.0), norm(0.0), a23(0.0);
391 if( 1 == NumberOfElements ) {
392 const G4Element* element = (*theElementVector)[0];
396 a23 = 1.0/g4pow->
A23(element->
GetN());
399 for (
G4int iel=0; iel<NumberOfElements; iel++)
401 const G4Element* element = (*theElementVector)[iel];
402 const G4double weight = theAtomicNumDensityVector[iel];
404 z += element->
GetZ() * weight;
407 a23 += weight/g4pow->
A23(element->
GetN());
426 G4cout <<
"G4Material: Mean excitation energy is changed for "
429 <<
"eV; Inew= " << value/
eV <<
" eV;"
458 "NH_3",
"C_4H_10",
"CO_2",
"C_2H_6",
"C_7H_16-Gas",
460 "C_6H_14-Gas",
"CH_4",
"NO",
"N_2O",
"C_8H_18-Gas",
462 "C_5H_12-Gas",
"C_3H_8",
"H_2O-Gas",
466 "C_3H_6O",
"C_6H_5NH_2",
"C_6H_6",
"C_4H_9OH",
"CCl_4",
468 "C_6H_5Cl",
"CHCl_3",
"C_6H_12",
"C_6H_4Cl_2",
"C_4Cl_2H_8O",
470 "C_2Cl_2H_4",
"(C_2H_5)_2O",
"C_2H_5OH",
"C_3H_5(OH)_3",
"C_7H_16",
472 "C_6H_14",
"CH_3OH",
"C_6H_5NO_2",
"C_5H_12",
"C_3H_7OH",
474 "C_5H_5N",
"C_8H_8",
"C_2Cl_4",
"C_7H_8",
"C_2Cl_3H",
480 "C_5H_5N_5",
"C_5H_5N_5O",
"(C_6H_11NO)-nylon",
"C_25H_52",
482 "(C_2H_4)-Polyethylene",
"(C_5H_8O_2)-Polymethil_Methacrylate",
484 "(C_8H_8)-Polystyrene",
"A-150-tissue",
"Al_2O_3",
"CaF_2",
486 "LiF",
"Photo_Emulsion",
"(C_2F_4)-Teflon",
"SiO_2"
490 static const G4double meanExcitation[54] = {
492 53.7, 48.3, 85.0, 45.4, 49.2,
493 49.1, 41.7, 87.8, 84.9, 49.5,
496 64.2, 66.2, 63.4, 59.9, 166.3,
497 89.1, 156.0, 56.4, 106.5, 103.3,
498 111.9, 60.0, 62.9, 72.6, 54.4,
499 54.0, 67.6, 75.8, 53.6, 61.1,
500 66.2, 64.0, 159.2, 62.5, 148.1,
503 71.4, 75.0, 63.9, 48.3, 57.4,
504 74.0, 68.7, 65.1, 145.2, 166.,
505 94.0, 331.0, 99.1, 139.2
511 if(chFormula == name[i]) {
512 x = meanExcitation[i]*
eV;
G4double GetPressure() const
static G4Pow * GetInstance()
G4double fLogEnergy2fluct
G4double GetTotNbOfElectPerVolume() const
std::vector< G4Element * > G4ElementVector
G4int GetElementIndex(G4int Z, G4State mState)
G4double FindMeanExcitationEnergy(const G4String &chFormula)
static const G4int numberOfMolecula
const G4String & GetChemicalFormula() const
void SetMeanExcitationEnergy(G4double value)
const G4String & GetName() const
G4double fAdjustmentFactor
G4double GetDensity() const
G4double GetLFactor() const
const G4ElementVector * GetElementVector() const
static G4NistManager * Instance()
G4double logZ(G4int Z) const
G4double GetFermiVelocity() const
void ComputeIonParameters()
const G4double * GetVecNbOfAtomsPerVolume() const
G4double GetMeanExcitationEnergy() const
G4double A23(G4double A) const
G4double fRateionexcfluct
G4GLOB_DLL std::ostream G4cout
G4double GetX1density(G4int idx)
G4int GetIndex(const G4String &matName)
virtual ~G4IonisParamMat()
G4double GetPlasmaEnergy(G4int idx)
G4double fLogMeanExcEnergy
const G4double * GetAtomicNumDensityVector() const
G4double fMeanEnergyPerIon
G4double fLogEnergy1fluct
static G4DensityEffectData * GetDensityEffectData()
G4double G4Log(G4double x)
G4double G4Exp(G4double initial_x)
Exponential Function double precision.
G4double GetAdensity(G4int idx)
G4double fMeanExcitationEnergy
G4double * fShellCorrectionVector
G4IonisParamMat(G4Material *)
const G4double x[NPOINTSGL]
G4IonisParamElm * GetIonisation() const
const G4Material * GetBaseMaterial() const
void ComputeDensityEffect()
G4double GetCdensity(G4int idx)
static const G4double NTP_Temperature
G4double GetTemperature() const
G4double GetMdensity(G4int idx)
size_t GetNumberOfElements() const
G4double GetNominalDensity(G4int Z) const
G4double GetDelta0density(G4int idx)
const G4double * GetFractionVector() const
G4double GetAdjustmentFactor(G4int idx)
G4double GetX0density(G4int idx)
static G4DensityEffectData * fDensityData
void ComputeMeanParameters()