154{
155 if (p != fParticle) { SetParticle(p); }
156
157
160 }
162
163
165 if (pname != "deuteron" && pname != "triton" &&
166 pname != "He3" && pname != "alpha" && pname != "alpha+" &&
167 pname != "helium" && pname != "hydrogen") {
168 isIon = true;
169 }
170 }
171
172
173 if (!isInitialised) {
174 isInitialised = true;
175 xsdata = xsdata_p;
176
177 if (pname == "helium") {
178 isHelium = true;
179 xsdata = xsdata_helium;
180 slaterEffectiveCharge[0]=1.7;
181 slaterEffectiveCharge[1]=1.15;
182 slaterEffectiveCharge[2]=1.15;
183 sCoefficient[0]=0.5;
184 sCoefficient[1]=0.25;
185 sCoefficient[2]=0.25;
186 fLowestEnergy = 1*CLHEP::keV;
187 } else if (pname == "alpha+") {
188 isHelium = true;
189 xsdata = xsdata_alphap;
190
191 slaterEffectiveCharge[0]=2.0;
192 slaterEffectiveCharge[1]=2.0;
193 slaterEffectiveCharge[2]=2.0;
194 sCoefficient[0]=0.7;
195 sCoefficient[1]=0.15;
196 sCoefficient[2]=0.15;
197 } else if (pname == "alpha") {
198 isHelium = true;
199 xsdata = xsdata_alpha;
200 } else if (pname == "hydrogen") {
201 xsdata = xsdata_hydrogen;
202 } else if (pname != "proton") {
203 isIon = true;
204 }
205 if (isHelium) { fLowestEnergy = 1*CLHEP::keV; }
206
207
209
210
212
213
215 if (chem->IsChemistryActivated()) {
216 fChemistry = chem;
217 }
218
220
221 if (verbose > 0) {
222 G4cout <<
"### G4DNARuddIonisationDynamicModel::Initialise(..) "
223 << fParticle->GetParticleName() <<
G4endl;
224 }
225 }
226}
static G4DNAChemistryManager * Instance()
G4ParticleChangeForGamma * fParticleChangeForGamma
static G4EmParameters * Instance()
G4bool DNAStationary() const
G4VAtomDeexcitation * AtomDeexcitation()
const G4String & GetParticleType() const
const G4String & GetParticleName() const
const G4String & GetParticleSubType() const
G4ParticleChangeForGamma * GetParticleChangeForGamma()
void InitialiseIntegrator(G4double accuracy, G4double fact1, G4double fact2, G4double de, G4double dmin, G4double dmax)