127 if (verboseLevel > 3)
128 G4cout <<
"Calling G4DNARuddIonisationExtendedModel::Initialise()" <<
G4endl;
132 G4String fileProton(
"dna/sigma_ionisation_p_rudd");
133 G4String fileHydrogen(
"dna/sigma_ionisation_h_rudd");
134 G4String fileAlphaPlusPlus(
"dna/sigma_ionisation_alphaplusplus_rudd");
135 G4String fileAlphaPlus(
"dna/sigma_ionisation_alphaplus_rudd");
136 G4String fileHelium(
"dna/sigma_ionisation_he_rudd");
137 G4String fileLithium(
"dna/sigma_ionisation_li_rudd");
138 G4String fileBeryllium(
"dna/sigma_ionisation_be_rudd");
139 G4String fileBoron(
"dna/sigma_ionisation_b_rudd");
140 G4String fileCarbon(
"dna/sigma_ionisation_c_rudd");
141 G4String fileNitrogen(
"dna/sigma_ionisation_n_rudd");
142 G4String fileOxygen(
"dna/sigma_ionisation_o_rudd");
143 G4String fileSilicon(
"dna/sigma_ionisation_si_rudd");
144 G4String fileIron(
"dna/sigma_ionisation_fe_rudd");
191 tableFile[
proton] = fileProton;
192 lowEnergyLimit[
proton] = lowEnergyLimitForA[1];
201 tableData[
proton] = tableProton;
206 tableFile[hydrogen] = fileHydrogen;
208 lowEnergyLimit[hydrogen] = lowEnergyLimitForA[1];
209 highEnergyLimit[hydrogen] = 100. *
MeV;
216 tableHydrogen->
LoadData(fileHydrogen);
218 tableData[hydrogen] = tableHydrogen;
223 tableFile[alphaPlusPlus] = fileAlphaPlusPlus;
225 lowEnergyLimit[alphaPlusPlus] = lowEnergyLimitForA[4];
226 highEnergyLimit[alphaPlusPlus] = 400. *
MeV;
233 tableAlphaPlusPlus->
LoadData(fileAlphaPlusPlus);
235 tableData[alphaPlusPlus] = tableAlphaPlusPlus;
240 tableFile[alphaPlus] = fileAlphaPlus;
242 lowEnergyLimit[alphaPlus] = lowEnergyLimitForA[4];
243 highEnergyLimit[alphaPlus] = 400. *
MeV;
250 tableAlphaPlus->
LoadData(fileAlphaPlus);
251 tableData[alphaPlus] = tableAlphaPlus;
256 tableFile[helium] = fileHelium;
258 lowEnergyLimit[helium] = lowEnergyLimitForA[4];
259 highEnergyLimit[helium] = 400. *
MeV;
267 tableData[helium] = tableHelium;
272 tableFile[lithium] = fileLithium;
277 lowEnergyLimit[lithium] = 0.5*7*
MeV;
278 highEnergyLimit[lithium] = 1e6*7*
MeV;
286 tableLithium->
LoadData(fileLithium);
287 tableData[lithium] = tableLithium;
292 tableFile[beryllium] = fileBeryllium;
297 lowEnergyLimit[beryllium] = 0.5*9*
MeV;
298 highEnergyLimit[beryllium] = 1e6*9*
MeV;
306 tableBeryllium->
LoadData(fileBeryllium);
307 tableData[beryllium] = tableBeryllium;
312 tableFile[boron] = fileBoron;
317 lowEnergyLimit[boron] = 0.5*11*
MeV;
318 highEnergyLimit[boron] = 1e6*11*
MeV;
327 tableData[boron] = tableBoron;
332 tableFile[carbon] = fileCarbon;
337 lowEnergyLimit[carbon] = 0.5*12*
MeV;
338 highEnergyLimit[carbon] = 1e6*12*
MeV;
347 tableData[carbon] = tableCarbon;
352 tableFile[oxygen] = fileOxygen;
357 lowEnergyLimit[oxygen] = 0.5*16*
MeV;
358 highEnergyLimit[oxygen] = 1e6*16*
MeV;
367 tableData[oxygen] = tableOxygen;
372 tableFile[nitrogen] = fileNitrogen;
377 lowEnergyLimit[nitrogen] = 0.5*14*
MeV;
378 highEnergyLimit[nitrogen] = 1e6*14*
MeV;
386 tableNitrogen->
LoadData(fileNitrogen);
387 tableData[nitrogen] = tableNitrogen;
392 tableFile[silicon] = fileSilicon;
396 lowEnergyLimit[silicon] = 0.5*28*
MeV;
397 highEnergyLimit[silicon] = 1e6*28*
MeV;
405 tableSilicon->
LoadData(fileSilicon);
406 tableData[silicon] = tableSilicon;
411 tableFile[iron] = fileIron;
416 lowEnergyLimit[iron] = 0.5*56*
MeV;
417 highEnergyLimit[iron] = 1e6*56*
MeV;
426 tableData[iron] = tableIron;
436 if (particle==protonDef)
442 if (particle==hydrogenDef)
448 if (particle==heliumDef)
454 if (particle==alphaPlusDef)
460 if (particle==alphaPlusPlusDef)
466 if (particle==lithiumDef)
472 if (particle==berylliumDef)
478 if (particle==boronDef)
484 if (particle==carbonDef)
490 if (particle==nitrogenDef)
496 if (particle==oxygenDef)
502 if (particle==siliconDef)
508 if (particle==ironDef)
518 G4cout <<
"Rudd ionisation model is initialized " << G4endl
533 if (isInitialised) {
return; }
535 isInitialised =
true;
G4double LowEnergyLimit() const
static G4LossTableManager * Instance()
G4double HighEnergyLimit() const
static G4Material * GetMaterial(const G4String &name, G4bool warning=true)
G4ParticleDefinition * GetIon(G4int Z, G4int A, G4int lvl=0)
static G4Proton * ProtonDefinition()
virtual G4bool LoadData(const G4String &argFileName)
const G4String & GetParticleName() const
void SetHighEnergyLimit(G4double)
G4ParticleChangeForGamma * fParticleChangeForGamma
G4GLOB_DLL std::ostream G4cout
const std::vector< double > * GetNumMolPerVolTableFor(const G4Material *) const
static constexpr double m
static constexpr double eV
static G4DNAGenericIonsManager * Instance(void)
static G4IonTable * GetIonTable()
static G4DNAMolecularMaterial * Instance()
static constexpr double MeV
static MCTruthManager * instance
G4VAtomDeexcitation * AtomDeexcitation()
void SetLowEnergyLimit(G4double)
static constexpr double keV
G4ParticleChangeForGamma * GetParticleChangeForGamma()
G4ParticleDefinition * GetIon(const G4String &name)