Geant4 9.6.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4EmDNAPhysicsChemistry.cc
Go to the documentation of this file.
1//
2// ********************************************************************
3// * License and Disclaimer *
4// * *
5// * The Geant4 software is copyright of the Copyright Holders of *
6// * the Geant4 Collaboration. It is provided under the terms and *
7// * conditions of the Geant4 Software License, included in the file *
8// * LICENSE and available at http://cern.ch/geant4/license . These *
9// * include a list of copyright holders. *
10// * *
11// * Neither the authors of this software system, nor their employing *
12// * institutes,nor the agencies providing financial support for this *
13// * work make any representation or warranty, express or implied, *
14// * regarding this software system or assume any liability for its *
15// * use. Please see the license in the file LICENSE and URL above *
16// * for the full disclaimer and the limitation of liability. *
17// * *
18// * This code implementation is the result of the scientific and *
19// * technical work of the GEANT4 collaboration. *
20// * By using, copying, modifying or distributing the software (or *
21// * any work based on the software) you agree to acknowledge its *
22// * use in resulting scientific publications, and indicate your *
23// * acceptance of all terms of the Geant4 Software license. *
24// ********************************************************************
25//
27
29#include "G4SystemOfUnits.hh"
30
34#include "G4ProcessManager.hh"
35
37
38// *** Processes and models for Geant4-DNA
39
40#include "G4DNAElastic.hh"
44
45#include "G4DNAExcitation.hh"
46#include "G4DNAAttachment.hh"
47#include "G4DNAVibExcitation.hh"
48#include "G4DNAIonisation.hh"
51
57
58// particles
59
60#include "G4Electron.hh"
61#include "G4Proton.hh"
62#include "G4GenericIon.hh"
63
64#include "G4H2O.hh"
65#include "G4H2.hh"
66#include "G4Hydrogen.hh"
67#include "G4OH.hh"
68#include "G4H3O.hh"
69#include "G4Electron_aq.hh"
70#include "G4H2O2.hh"
71
72// Warning : the following is needed in order to use EM Physics builders
73// e+
74#include "G4Positron.hh"
76#include "G4UrbanMscModel95.hh"
77#include "G4eIonisation.hh"
78#include "G4eBremsstrahlung.hh"
80// gamma
81#include "G4Gamma.hh"
86#include "G4GammaConversion.hh"
90// end of warning
91
92#include "G4LossTableManager.hh"
95#include "G4BuilderType.hh"
96
97// factory
99//
101
102using namespace std;
103
105 : G4VPhysicsConstructor("G4EmDNAPhysicsChemistry"), verbose(ver)
106{
108}
109
111{
112 /** It should not be useful to delete those singletons
113 * since they are based on auto_ptr. But to make sure
114 * that it won't cause any trouble, we explicitly call
115 * the following methods responsible for the destruction
116 * of the singletons.
117 */
119}
120
121//....oooOO0OOooo........oooOO0OOooo........oooOO0OOooo........oooOO0OOooo......
122
124{
125 // bosons
127
128 // leptons
131
132 // baryons
134
136
137 G4DNAGenericIonsManager * genericIonsManager;
138 genericIonsManager=G4DNAGenericIonsManager::Instance();
139 genericIonsManager->GetIon("alpha++");
140 genericIonsManager->GetIon("alpha+");
141 genericIonsManager->GetIon("helium");
142 genericIonsManager->GetIon("hydrogen");
143}
145{
146 //-----------------------------------
147 // Create the definition
155
157}
158
160{
161 //-----------------------------------
162 //Create the dynamic objects
164 H3O -> RemoveElectron(4,1);
165
168
171
173 OHm->AddElectron(3);
174 OHm->SetMass(17.0079*g/Avogadro * c_squared);
175 OHm->SetDiffusionCoefficient(5.0e-9*(m2/s));
176
177 //-------------------------------------
178 //Define the decay channels
182
184
185 //////////////////////////////////////////////////////////
186 // EXCITATIONS //
187 //////////////////////////////////////////////////////////
188 G4DNAWaterExcitationStructure waterExcitation;
189 //--------------------------------------------------------
190 //---------------Excitation on the fifth layer------------
191
192 decCh1 = new G4MolecularDecayChannel("A^1B_1_Relaxation");
193 decCh2 = new G4MolecularDecayChannel("A^1B_1_DissociativeDecay");
194 //Decay 1 : OH + H
195 decCh1->SetEnergy(waterExcitation.ExcitationEnergy(0));
196 decCh1->SetProbability(0.35);
197 decCh1 -> SetDisplacementType(G4DNAMolecularDecayDisplacer::NoDisplacement);
198
199 decCh2->AddProduct(OH);
200 decCh2->AddProduct(H);
201 decCh2->SetProbability(0.65);
202 decCh2 -> SetDisplacementType(G4DNAMolecularDecayDisplacer::A1B1_DissociationDecay);
203
204 water->AddExcitedState("A^1B_1");
205 water->AddDecayChannel("A^1B_1",decCh1);
206 water->AddDecayChannel("A^1B_1",decCh2);
207
208 occ->RemoveElectron(4,1); // this is the transition form ground state to
209 occ->AddElectron(5,1); // the first unoccupied orbital: A^1B_1
210
211 water->AddeConfToExcitedState("A^1B_1", *occ);
212
213 //--------------------------------------------------------
214 //---------------Excitation on the fourth layer-----------
215 decCh1 = new G4MolecularDecayChannel("B^1A_1_Relaxation_Channel");
216 decCh2 = new G4MolecularDecayChannel("B^1A_1_DissociativeDecay");
217 G4MolecularDecayChannel* decCh3 = new G4MolecularDecayChannel("B^1A_1_AutoIonisation_Channel");
218
219 water->AddExcitedState("B^1A_1");
220
221 //Decay 1 : energy
222 decCh1->SetEnergy(waterExcitation.ExcitationEnergy(1));
223 decCh1->SetProbability(0.3);
224
225 //Decay 2 : 2OH + H_2
226 decCh2->AddProduct(H2);
227 decCh2->AddProduct(OH);
228 decCh2->AddProduct(OH);
229 decCh2->SetProbability(0.15);
231
232 //Decay 3 : OH + H_3Op + e_aq
233 decCh3->AddProduct(OH);
234 decCh3->AddProduct(H3O);
235 decCh3->AddProduct(e_aq);
236 decCh3->SetProbability(0.55);
238
239 *occ = *(water->GetGroundStateElectronOccupancy());
240 occ->RemoveElectron(3); // this is the transition form ground state to
241 occ->AddElectron(5,1); // the first unoccupied orbital: B^1A_1
242
243 water->AddeConfToExcitedState("B^1A_1", *occ);
244 water->AddDecayChannel("B^1A_1",decCh1);
245 water->AddDecayChannel("B^1A_1",decCh2);
246 water->AddDecayChannel("B^1A_1",decCh3);
247
248 //-------------------------------------------------------
249 //-------------------Excitation of 3rd layer-----------------
250 decCh1 = new G4MolecularDecayChannel("Excitation3rdLayer_AutoIonisation_Channel");
251 decCh2 = new G4MolecularDecayChannel("Excitation3rdLayer_Relaxation_Channel");
252
253 water->AddExcitedState("Excitation3rdLayer");
254
255 //Decay channel 1 : : OH + H_3Op + e_aq
256 decCh1->AddProduct(OH);
257 decCh1->AddProduct(H3O);
258 decCh1->AddProduct(e_aq);
259
260 decCh1->SetProbability(0.5);
262
263 //Decay channel 2 : energy
264 decCh2->SetEnergy(waterExcitation.ExcitationEnergy(2));
265 decCh2->SetProbability(0.5);
266
267 //Electronic configuration of this decay
268 *occ = *(water->GetGroundStateElectronOccupancy());
269 occ->RemoveElectron(2,1);
270 occ->AddElectron(5,1);
271
272 //Configure the water molecule
273 water->AddeConfToExcitedState("Excitation3rdLayer", *occ);
274 water->AddDecayChannel("Excitation3rdLayer",decCh1);
275 water->AddDecayChannel("Excitation3rdLayer",decCh2);
276
277 //-------------------------------------------------------
278 //-------------------Excitation of 2nd layer-----------------
279 decCh1 = new G4MolecularDecayChannel("Excitation2ndLayer_AutoIonisation_Channel");
280 decCh2 = new G4MolecularDecayChannel("Excitation2ndLayer_Relaxation_Channel");
281
282 water->AddExcitedState("Excitation2ndLayer");
283
284 //Decay Channel 1 : : OH + H_3Op + e_aq
285 decCh1->AddProduct(OH);
286 decCh1->AddProduct(H3O);
287 decCh1->AddProduct(e_aq);
288
289 decCh1->SetProbability(0.5);
291
292 //Decay channel 2 : energy
293 decCh2->SetEnergy(waterExcitation.ExcitationEnergy(3));
294 decCh2->SetProbability(0.5);
295
296 *occ = *(water->GetGroundStateElectronOccupancy());
297 occ->RemoveElectron(1,1);
298 occ->AddElectron(5,1);
299
300 water->AddeConfToExcitedState("Excitation2ndLayer", *occ);
301 water->AddDecayChannel("Excitation2ndLayer",decCh1);
302 water->AddDecayChannel("Excitation2ndLayer",decCh2);
303
304 //-------------------------------------------------------
305 //-------------------Excitation of 1st layer-----------------
306 decCh1 = new G4MolecularDecayChannel("Excitation1stLayer_AutoIonisation_Channel");
307 decCh2 = new G4MolecularDecayChannel("Excitation1stLayer_Relaxation_Channel");
308
309 *occ = *(water->GetGroundStateElectronOccupancy());
310 occ->RemoveElectron(0,1);
311 occ->AddElectron(5,1);
312
313 water->AddExcitedState("Excitation1stLayer");
314 water->AddeConfToExcitedState("Excitation1stLayer", *occ);
315
316 //Decay Channel 1 : : OH + H_3Op + e_aq
317 decCh1->AddProduct(OH);
318 decCh1->AddProduct(H3O);
319 decCh1->AddProduct(e_aq);
320 decCh1->SetProbability(0.5);
322
323 //Decay channel 2 : energy
324 decCh2->SetEnergy(waterExcitation.ExcitationEnergy(4));
325 decCh2->SetProbability(0.5);
326 water->AddDecayChannel("Excitation1stLayer",decCh1);
327 water->AddDecayChannel("Excitation1stLayer",decCh2);
328
329 /////////////////////////////////////////////////////////
330 // IONISATION //
331 /////////////////////////////////////////////////////////
332 //--------------------------------------------------------
333 //------------------- Ionisation -------------------------
334 water->AddExcitedState("Ionisation");
335
336 decCh1 = new G4MolecularDecayChannel("Ionisation_Channel");
337
338 //Decay Channel 1 : : OH + H_3Op
339 decCh1->AddProduct(H3O);
340 decCh1->AddProduct(OH);
341 decCh1->SetProbability(1);
343
344 *occ = *(water->GetGroundStateElectronOccupancy());
345 occ->RemoveElectron(4,1); // this is a ionized h2O with a hole in its last orbital
346 water->AddeConfToExcitedState("Ionisation", *occ);
347
348 *occ = *(water->GetGroundStateElectronOccupancy());
349 occ->RemoveElectron(3,1);
350 water->AddeConfToExcitedState("Ionisation", *occ);
351
352 *occ = *(water->GetGroundStateElectronOccupancy());
353 occ->RemoveElectron(2,1);
354 water->AddeConfToExcitedState("Ionisation", *occ);
355
356 *occ = *(water->GetGroundStateElectronOccupancy());
357 occ->RemoveElectron(1,1);
358 water->AddeConfToExcitedState("Ionisation", *occ);
359
360 *occ = *(water->GetGroundStateElectronOccupancy());
361 occ->RemoveElectron(0,1);
362 water->AddeConfToExcitedState("Ionisation", *occ);
363 water->AddDecayChannel("Ionisation",decCh1);
364 // to this electronic configuration should be associated a decay time of 10e-15 s should the process do it on the dynamic object? the dyn object.
365
366 //////////////////////////////////////////////////////////
367 // Dissociative Attachment //
368 //////////////////////////////////////////////////////////
369 decCh1 = new G4MolecularDecayChannel("DissociativeAttachment");
370
371 //Decay 1 : 2OH + H_2
372 decCh1->AddProduct(H2);
373 decCh1->AddProduct(OHm);
374 decCh1->AddProduct(OH);
375 decCh1->SetProbability(1);
376 //decCh1->SetDisplacementType(G4DNAMolecularDecayDisplacer::DissociativeAttachment);
377
378 *occ = *(water->GetGroundStateElectronOccupancy());
379 occ->AddElectron(5,1); // H_2O^-
380 water->AddExcitedState("DissociativeAttachment");
381 water->AddeConfToExcitedState("DissociativeAttachment", *occ);
382 water->AddDecayChannel("DissociativeAttachment",decCh1);
383
384 delete occ;
385}
386
388{
390
392 OHm->AddElectron(3);
393 OHm->SetMass(17.0079*g/Avogadro * c_squared);
394 OHm->SetDiffusionCoefficient(5.0e-9*(m2/s));
400 H3Op->RemoveElectron(4,1);
401
403
404 //------------------------------------------------------------------
405 //e_aq + e_aq + 2H2O -> H2 + 2OH-
406 G4DNAMolecularReactionData* reactionData = new G4DNAMolecularReactionData(0.5e10*(1e-3*m3/(mole*s)), e_aq,e_aq);
407 reactionData -> AddProduct(OHm);
408 reactionData -> AddProduct(OHm);
409 reactionData -> AddProduct(H2);
410 theReactionTable -> SetReaction(reactionData);
411 //------------------------------------------------------------------
412 //e_aq + *OH -> OH-
413 reactionData = new G4DNAMolecularReactionData(2.95e10*(1e-3*m3/(mole*s)), e_aq, OH);
414 reactionData->AddProduct(OHm);
415 theReactionTable -> SetReaction(reactionData);
416 //------------------------------------------------------------------
417 //e_aq + H* + H2O -> H2 + OH-
418 reactionData = new G4DNAMolecularReactionData(2.65e10*(1e-3*m3/(mole*s)), e_aq, H);
419 reactionData->AddProduct(OHm);
420 reactionData->AddProduct(H2);
421 theReactionTable -> SetReaction(reactionData);
422 //------------------------------------------------------------------
423 //e_aq + H3O+ -> H* + H2O
424 reactionData = new G4DNAMolecularReactionData(2.11e10*(1e-3*m3/(mole*s)), e_aq, H3Op);
425 reactionData->AddProduct(H);
426 theReactionTable -> SetReaction(reactionData);
427 //------------------------------------------------------------------
428 //e_aq + H2O2 -> OH- + *OH
429 reactionData = new G4DNAMolecularReactionData(1.41e10*(1e-3*m3/(mole*s)), e_aq, H2O2);
430 reactionData->AddProduct(OHm);
431 reactionData->AddProduct(OH);
432 theReactionTable -> SetReaction(reactionData);
433 //------------------------------------------------------------------
434 //*OH + *OH -> H2O2
435 reactionData = new G4DNAMolecularReactionData(0.44e10*(1e-3*m3/(mole*s)), OH, OH);
436 reactionData->AddProduct(H2O2);
437 theReactionTable -> SetReaction(reactionData);
438 //------------------------------------------------------------------
439 //*OH + *H -> H2O
440 theReactionTable -> SetReaction(1.44e10*(1e-3*m3/(mole*s)), OH, H);
441 //------------------------------------------------------------------
442 //*H + *H -> H2
443 reactionData = new G4DNAMolecularReactionData(1.20e10*(1e-3*m3/(mole*s)), H, H);
444 reactionData->AddProduct(H2);
445 theReactionTable -> SetReaction(reactionData);
446 //------------------------------------------------------------------
447 //H3O+ + OH- -> 2H2O
448 theReactionTable -> SetReaction(1.43e11*(1e-3*m3/(mole*s)), H3Op, OHm);
449 //------------------------------------------------------------------
450 //OH + H2 -> H + H2O
451 reactionData = new G4DNAMolecularReactionData(4.17e7*(1e-3*m3/(mole*s)), OH, H2);
452 reactionData->AddProduct(H);
453 theReactionTable -> SetReaction(reactionData);
454 //------------------------------------------------------------------
455}
456
458{
459
461 // Is placed outside ConstructParticles to avoid
462 // the transportation process to be added to the molecules
463
465
467 while( (*theParticleIterator)() )
468 {
470 G4String particleName = particle->GetParticleName();
471 G4String particleType = particle->GetParticleType();
472 G4ProcessManager* pmanager = particle->GetProcessManager();
473
474 if (particleName == "e-") {
475
476 // *** Elastic scattering (two alternative models available) ***
477
478 G4DNAElastic* theDNAElasticProcess = new G4DNAElastic("e-_G4DNAElastic");
479 G4DNAChampionElasticModel * championElasticModel = new G4DNAChampionElasticModel();
480 championElasticModel->SetKillBelowThreshold(0.*eV);
481 theDNAElasticProcess->SetModel(championElasticModel);
482
483 // or alternative model
484 //theDNAElasticProcess->SetModel(new G4DNAScreenedRutherfordElasticModel());
485
486 ph->RegisterProcess(theDNAElasticProcess, particle);
487
488 // *** Excitation ***
489 ph->RegisterProcess(new G4DNAExcitation("e-_G4DNAExcitation"), particle);
490
491 // *** Ionisation ***
492 ph->RegisterProcess(new G4DNAIonisation("e-_G4DNAIonisation"), particle);
493
494 // *** Vibrational excitation ***
495 G4DNAVibExcitation* vibExcitation = new G4DNAVibExcitation("e-_G4DNAVibExcitation");
497 vibExcitation -> SetModel(sancheExcitationMod);
498 sancheExcitationMod->ExtendLowEnergyLimit(0.025*eV);
499 ph->RegisterProcess(vibExcitation, particle);
500
501 // *** Attachment ***
502 ph->RegisterProcess(new G4DNAAttachment("e-_G4DNAAttachment"), particle);
503
504 // *** Electron Solvatation ***
505 ph->RegisterProcess(new G4DNAElectronSolvatation("e-_G4DNAElectronSolvatation"), particle);
506 } else if ( particleName == "proton" ) {
507 ph->RegisterProcess(new G4DNAExcitation("proton_G4DNAExcitation"), particle);
508 ph->RegisterProcess(new G4DNAIonisation("proton_G4DNAIonisation"), particle);
509 ph->RegisterProcess(new G4DNAChargeDecrease("proton_G4DNAChargeDecrease"), particle);
510
511 } else if ( particleName == "hydrogen" ) {
512 ph->RegisterProcess(new G4DNAExcitation("hydrogen_G4DNAExcitation"), particle);
513 ph->RegisterProcess(new G4DNAIonisation("hydrogen_G4DNAIonisation"), particle);
514 ph->RegisterProcess(new G4DNAChargeIncrease("hydrogen_G4DNAChargeIncrease"), particle);
515
516 } else if ( particleName == "alpha" ) {
517 ph->RegisterProcess(new G4DNAExcitation("alpha_G4DNAExcitation"), particle);
518 ph->RegisterProcess(new G4DNAIonisation("alpha_G4DNAIonisation"), particle);
519 ph->RegisterProcess(new G4DNAChargeDecrease("alpha_G4DNAChargeDecrease"), particle);
520
521 } else if ( particleName == "alpha+" ) {
522 ph->RegisterProcess(new G4DNAExcitation("alpha+_G4DNAExcitation"), particle);
523 ph->RegisterProcess(new G4DNAIonisation("alpha+_G4DNAIonisation"), particle);
524 ph->RegisterProcess(new G4DNAChargeDecrease("alpha+_G4DNAChargeDecrease"), particle);
525 ph->RegisterProcess(new G4DNAChargeIncrease("alpha+_G4DNAChargeIncrease"), particle);
526
527 } else if ( particleName == "helium" ) {
528 ph->RegisterProcess(new G4DNAExcitation("helium_G4DNAExcitation"), particle);
529 ph->RegisterProcess(new G4DNAIonisation("helium_G4DNAIonisation"), particle);
530 ph->RegisterProcess(new G4DNAChargeIncrease("helium_G4DNAChargeIncrease"), particle);
531
532 }
533 // Extension to HZE proposed by Z. Francis
534
535 else if ( particleName == "carbon" ) {
536 ph->RegisterProcess(new G4DNAIonisation("carbon_G4DNAIonisation"), particle);
537
538 } else if ( particleName == "nitrogen" ) {
539 ph->RegisterProcess(new G4DNAIonisation("nitrogen_G4DNAIonisation"), particle);
540
541 } else if ( particleName == "oxygen" ) {
542 ph->RegisterProcess(new G4DNAIonisation("oxygen_G4DNAIonisation"), particle);
543
544 } else if ( particleName == "iron" ) {
545 ph->RegisterProcess(new G4DNAIonisation("iron_G4DNAIonisation"), particle);
546
547 }
548
549 // Warning : the following particles and processes are needed by EM Physics builders
550 // They are taken from the default Livermore Physics list
551 // These particles are currently not handled by Geant4-DNA
552
553 // e+
554
555 else if (particleName == "e+") {
556
557 // Identical to G4EmStandardPhysics_option3
558
560 msc->AddEmModel(0, new G4UrbanMscModel95());
562 G4eIonisation* eIoni = new G4eIonisation();
563 eIoni->SetStepFunction(0.2, 100*um);
564
565 ph->RegisterProcess(msc, particle);
566 ph->RegisterProcess(eIoni, particle);
567 ph->RegisterProcess(new G4eBremsstrahlung(), particle);
568 ph->RegisterProcess(new G4eplusAnnihilation(), particle);
569
570 }else if (particleName == "gamma") {
571 G4double LivermoreHighEnergyLimit = GeV;
572
573 G4PhotoElectricEffect* thePhotoElectricEffect = new G4PhotoElectricEffect();
574 G4LivermorePhotoElectricModel* theLivermorePhotoElectricModel =
576 theLivermorePhotoElectricModel->SetHighEnergyLimit(LivermoreHighEnergyLimit);
577 thePhotoElectricEffect->AddEmModel(0, theLivermorePhotoElectricModel);
578 ph->RegisterProcess(thePhotoElectricEffect, particle);
579
580 G4ComptonScattering* theComptonScattering = new G4ComptonScattering();
581 G4LivermoreComptonModel* theLivermoreComptonModel =
583 theLivermoreComptonModel->SetHighEnergyLimit(LivermoreHighEnergyLimit);
584 theComptonScattering->AddEmModel(0, theLivermoreComptonModel);
585 ph->RegisterProcess(theComptonScattering, particle);
586
587 G4GammaConversion* theGammaConversion = new G4GammaConversion();
588 G4LivermoreGammaConversionModel* theLivermoreGammaConversionModel =
590 theLivermoreGammaConversionModel->SetHighEnergyLimit(LivermoreHighEnergyLimit);
591 theGammaConversion->AddEmModel(0, theLivermoreGammaConversionModel);
592 ph->RegisterProcess(theGammaConversion, particle);
593
594 G4RayleighScattering* theRayleigh = new G4RayleighScattering();
595 G4LivermoreRayleighModel* theRayleighModel = new G4LivermoreRayleighModel();
596 theRayleighModel->SetHighEnergyLimit(LivermoreHighEnergyLimit);
597 theRayleigh->AddEmModel(0, theRayleighModel);
598 ph->RegisterProcess(theRayleigh, particle);
599
600 }
601 else if(particleType == "Molecule" && particleName != "H_{2}O")
602 {
603 if (pmanager==0)
604 {
605 particle->SetProcessManager(new G4ProcessManager(particle));
606 }
607
609 ph->RegisterProcess(brown, particle);
610 }
611 else if (particleName == "H_{2}O")
612 {
613 if (pmanager==0)
614 {
615 particle->SetProcessManager(new G4ProcessManager(particle));
616 }
617
618 G4DNAMolecularDecay* decayProcess = new G4DNAMolecularDecay("H2O_DNAMolecularDecay");
619 decayProcess -> SetDecayDisplacer(particle, new G4DNAMolecularDecayDisplacer);
620 decayProcess -> SetVerboseLevel(1);
621 ph->RegisterProcess(decayProcess, particle);
622
623 }
624
625
626 // Warning : end of particles and processes are needed by EM Physics builders
627
628 }
629
630 // Deexcitation
631 //
634 de->SetFluo(true);
635
636 // Chemistry
638
639 /**
640 * Tells to the chemistry manager whether the chemistry
641 * needs to be activated.
642 * WARNING : if you don't use the chemistry do not activate it
643 * otherwise it might generate memory leaks with tracks created but
644 * not destroyed.
645 */
647}
@ bElectromagnetic
@ fUseDistanceToBoundary
#define G4_DECLARE_PHYSCONSTR_FACTORY(physics_constructor)
double G4double
Definition: G4Types.hh:64
int G4int
Definition: G4Types.hh:66
{ The transportation method implemented is the one from Ermak-McCammon : J. Chem. Phys....
void SetKillBelowThreshold(G4double threshold)
static G4DNAChemistryManager * Instance()
static G4DNAGenericIonsManager * Instance(void)
G4ParticleDefinition * GetIon(const G4String &name)
static G4DLLIMPORT const DisplacementType A1B1_DissociationDecay
static G4DLLIMPORT const DisplacementType Ionisation_DissociationDecay
static G4DLLIMPORT const DisplacementType B1A1_DissociationDecay
static G4DLLIMPORT const DisplacementType AutoIonisation
void AddProduct(const G4Molecule *molecule)
static G4DNAMolecularReactionTable * GetReactionTable()
G4int AddElectron(G4int orbit, G4int number=1)
G4int RemoveElectron(G4int orbit, G4int number=1)
static G4Electron_aq * Definition()
static G4Electron * Electron()
Definition: G4Electron.cc:94
static G4Gamma * Gamma()
Definition: G4Gamma.cc:86
static G4GenericIon * GenericIonDefinition()
Definition: G4GenericIon.cc:87
static G4H2O2 * Definition()
Definition: G4H2O2.cc:46
static G4H2O * Definition()
Definition: G4H2O.cc:46
static G4H2 * Definition()
Definition: G4H2.cc:46
static G4H3O * Definition()
Definition: G4H3O.cc:47
static G4Hydrogen * Definition()
Definition: G4Hydrogen.cc:46
void SetAtomDeexcitation(G4VAtomDeexcitation *)
static G4LossTableManager * Instance()
void SetDisplacementType(DisplacementType)
void AddProduct(const G4Molecule *, G4double=0)
const G4ElectronOccupancy * GetGroundStateElectronOccupancy() const
void AddExcitedState(const G4String &)
void AddeConfToExcitedState(const G4String &, const G4ElectronOccupancy &, double decayTime=0.)
void AddDecayChannel(const G4String &, const G4MolecularDecayChannel *)
void RemoveElectron(G4int, G4int number=1)
Definition: G4Molecule.cc:249
void AddElectron(G4int orbit, G4int n=1)
Definition: G4Molecule.cc:244
void SetMass(G4double)
Definition: G4Molecule.cc:380
void SetDiffusionCoefficient(G4double)
Definition: G4Molecule.cc:400
static G4OH * Definition()
Definition: G4OH.cc:46
G4ProcessManager * GetProcessManager() const
const G4String & GetParticleType() const
const G4String & GetParticleName() const
void SetProcessManager(G4ProcessManager *aProcessManager)
G4bool RegisterProcess(G4VProcess *process, G4ParticleDefinition *particle)
static G4PhysicsListHelper * GetPhysicsListHelper()
static G4Positron * Positron()
Definition: G4Positron.cc:94
static G4Proton * Proton()
Definition: G4Proton.cc:93
void SetHighEnergyLimit(G4double)
Definition: G4VEmModel.hh:585
void AddEmModel(G4int, G4VEmModel *, const G4Region *region=0)
void SetModel(G4VEmModel *, G4int index=1)
void SetStepFunction(G4double v1, G4double v2)
static G4DLLIMPORT const DisplacementType NoDisplacement
void AddEmModel(G4int order, G4VEmModel *, const G4Region *region=0)
void SetStepLimitType(G4MscStepLimitType val)
G4ParticleTable::G4PTblDicIterator * theParticleIterator
void SetVerboseLevel(G4int value)