48 lowEnergyLimit = 8.23 *
eV;
49 highEnergyLimit = 10 *
MeV;
66 G4cout <<
"Emfietzoglou Excitation model is constructed " <<
G4endl
68 << lowEnergyLimit /
eV <<
" eV - "
69 << highEnergyLimit /
MeV <<
" MeV"
87 G4cout <<
"Calling G4DNAEmfietzoglouExcitationModel::Initialise()" <<
G4endl;
93 G4cout <<
"G4DNAEmfietzoglouExcitationModel: low energy limit increased from " <<
100 G4cout <<
"G4DNAEmfietzoglouExcitationModel: high energy limit decreased from " <<
108 G4cout <<
"Emfietzoglou Excitation model is initialized " << G4endl
118 if (isInitialised) {
return; }
120 isInitialised =
true;
132 if (verboseLevel > 3)
133 G4cout <<
"Calling CrossSectionPerVolume() of G4DNAEmfietzoglouExcitationModel" <<
G4endl;
141 if(waterDensity!= 0.0)
147 if (ekin >= lowEnergyLimit && ekin < highEnergyLimit)
153 if (verboseLevel > 2)
155 G4cout <<
"__________________________________" <<
G4endl;
156 G4cout <<
"°°° G4DNAEmfietzoglouExcitationModel - XS INFO START" <<
G4endl;
158 G4cout <<
"°°° Cross section per water molecule (cm^2)=" << sigma/
cm/
cm <<
G4endl;
159 G4cout <<
"°°° Cross section per water molecule (cm^-1)=" << sigma*waterDensity/(1./
cm) << G4endl;
161 G4cout <<
"°°° G4DNAEmfietzoglouExcitationModel - XS INFO END" <<
G4endl;
178 if (verboseLevel > 3)
179 G4cout <<
"Calling SampleSecondaries() of G4DNAEmfietzoglouExcitationModel" <<
G4endl;
183 G4int level = RandomSelect(electronEnergy0);
186 G4double newEnergy = electronEnergy0 - excitationEnergy;
188 if (electronEnergy0 < highEnergyLimit)
223 const G4double aj[]={0.0205, 0.0209, 0.0130, 0.0026, 0.0025};
224 const G4double cj[]={4.9801, 3.3850, 2.8095, 1.9242, 3.4624};
225 const G4double pj[]={0.4757, 0.3483, 0.4443, 0.3429, 0.4379};
236 * std::log(cj[level]*(t/r))
237 * std::pow((1.- (exc/t)), pj[level]);
238 sigma = excitationSigma /
density;
246 G4int G4DNAEmfietzoglouExcitationModel::RandomSelect(
G4double k)
250 std::deque<double> values;
256 values.push_front(partial);
267 if (values[i] > value)
return i;
280 for (
G4int i=0; i<nLevels; i++)
284 return totalCrossSection;