75{
76 if(!isInitialised)
77 {
78 isInitialised = true;
80
82
83 if(name == "e-")
84 {
86 {
87 auto born =
88 new G4DNABornIonisationModel();
90 born->SetLowEnergyLimit(11. * eV);
91 born->SetHighEnergyLimit(1. * MeV);
92 }
94 }
95 else if(name == "e+")
96 {
98 {
99 auto lepts =
100 new G4LEPTSIonisationModel();
102 lepts->SetLowEnergyLimit(1. * eV);
103 lepts->SetHighEnergyLimit(1. * MeV);
104 }
106 }
107
108 if(name == "proton")
109 {
111 {
112 auto rudd =
113 new G4DNARuddIonisationModel();
114 rudd->SetLowEnergyLimit(0 * eV);
115 rudd->SetHighEnergyLimit(500 * keV);
117
118 auto born =
119 new G4DNABornIonisationModel();
120 born->SetLowEnergyLimit(500 * keV);
121 born->SetHighEnergyLimit(100 * MeV);
123 }
124
127 }
128
129 if(name == "hydrogen")
130 {
132 {
133 auto rudd =
134 new G4DNARuddIonisationModel();
136 rudd->SetLowEnergyLimit(0 * eV);
137 rudd->SetHighEnergyLimit(100 * MeV);
138 }
140 }
141
142 if(name == "alpha" || name == "alpha+" || name == "helium")
143 {
145 {
146 auto rudd =
147 new G4DNARuddIonisationModel();
149 rudd->SetLowEnergyLimit(0 * keV);
150 rudd->SetHighEnergyLimit(400 * MeV);
151 }
153 }
154
155
156
157
158 if(
159 name == "GenericIon")
160
161 {
163 {
164 auto ruddExt =
165 new G4DNARuddIonisationExtendedModel();
167 ruddExt->SetLowEnergyLimit(0 * keV);
168
169
170 ruddExt->SetHighEnergyLimit(1e6 * MeV);
171 }
173 }
174 }
175}
const G4String & GetParticleName() const
G4VEmModel * EmModel(std::size_t index=0) const
void SetBuildTableFlag(G4bool val)
void AddEmModel(G4int, G4VEmModel *, const G4Region *region=nullptr)
void SetEmModel(G4VEmModel *, G4int index=0)
const char * name(G4int ptype)