Geant4 11.1.1
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4EmDNAChemistry_option2 Class Reference

#include <G4EmDNAChemistry_option2.hh>

+ Inheritance diagram for G4EmDNAChemistry_option2:

Public Member Functions

 G4EmDNAChemistry_option2 ()
 
virtual ~G4EmDNAChemistry_option2 () override
 
void ConstructParticle () override
 
void ConstructMolecule () override
 
void ConstructProcess () override
 
void ConstructDissociationChannels () override
 
void ConstructReactionTable (G4DNAMolecularReactionTable *pTable) override
 
void ConstructTimeStepModel (G4DNAMolecularReactionTable *pTable) override
 
- Public Member Functions inherited from G4VUserChemistryList
 G4VUserChemistryList (G4bool flag=true)
 
virtual ~G4VUserChemistryList ()
 
bool IsPhysicsConstructor ()
 
void ThisIsAPhysicsConstructor (G4bool flag=true)
 
virtual void ConstructMolecule ()
 
virtual void ConstructProcess ()
 
virtual void ConstructDissociationChannels ()
 
virtual void ConstructReactionTable (G4DNAMolecularReactionTable *reactionTable)=0
 
virtual void ConstructTimeStepModel (G4DNAMolecularReactionTable *reactionTable)=0
 
void BuildPhysicsTable ()
 
- Public Member Functions inherited from G4VPhysicsConstructor
 G4VPhysicsConstructor (const G4String &="")
 
 G4VPhysicsConstructor (const G4String &name, G4int physics_type)
 
virtual ~G4VPhysicsConstructor ()
 
virtual void ConstructParticle ()=0
 
virtual void ConstructProcess ()=0
 
void SetPhysicsName (const G4String &="")
 
const G4StringGetPhysicsName () const
 
void SetPhysicsType (G4int)
 
G4int GetPhysicsType () const
 
G4int GetInstanceID () const
 
virtual void TerminateWorker ()
 
void SetVerboseLevel (G4int value)
 
G4int GetVerboseLevel () const
 

Additional Inherited Members

- Static Public Member Functions inherited from G4VPhysicsConstructor
static const G4VPCManagerGetSubInstanceManager ()
 
- Protected Types inherited from G4VPhysicsConstructor
using PhysicsBuilder_V = G4VPCData::PhysicsBuilders_V
 
- Protected Member Functions inherited from G4VUserChemistryList
void BuildPhysicsTable (G4MoleculeDefinition *)
 
void RegisterTimeStepModel (G4VITStepModel *timeStepModel, G4double startingTime=0)
 
- Protected Member Functions inherited from G4VPhysicsConstructor
G4bool RegisterProcess (G4VProcess *process, G4ParticleDefinition *particle)
 
G4ParticleTable::G4PTblDicIteratorGetParticleIterator () const
 
PhysicsBuilder_V GetBuilders () const
 
void AddBuilder (G4PhysicsBuilderInterface *bld)
 
- Protected Attributes inherited from G4VUserChemistryList
G4int verboseLevel
 
G4bool fIsPhysicsConstructor
 
- Protected Attributes inherited from G4VPhysicsConstructor
G4int verboseLevel = 0
 
G4String namePhysics = ""
 
G4int typePhysics = 0
 
G4ParticleTabletheParticleTable = nullptr
 
G4int g4vpcInstanceID = 0
 
- Static Protected Attributes inherited from G4VPhysicsConstructor
static G4RUN_DLL G4VPCManager subInstanceManager
 

Detailed Description

Definition at line 37 of file G4EmDNAChemistry_option2.hh.

Constructor & Destructor Documentation

◆ G4EmDNAChemistry_option2()

G4EmDNAChemistry_option2::G4EmDNAChemistry_option2 ( )

Definition at line 64 of file G4EmDNAChemistry_option2.cc.

66{
68}
static G4DNAChemistryManager * Instance()
void SetChemistryList(G4VUserChemistryList &)

◆ ~G4EmDNAChemistry_option2()

G4EmDNAChemistry_option2::~G4EmDNAChemistry_option2 ( )
overridevirtual

Definition at line 72 of file G4EmDNAChemistry_option2.cc.

73{}

Member Function Documentation

◆ ConstructDissociationChannels()

void G4EmDNAChemistry_option2::ConstructDissociationChannels ( )
overridevirtual

Reimplemented from G4VUserChemistryList.

Definition at line 163 of file G4EmDNAChemistry_option2.cc.

164{
165//-----------------------------------
166//Get the molecular configuration
179
180//-------------------------------------
181//Define the decay channels
185
188
189//////////////////////////////////////////////////////////
190// EXCITATIONS //
191//////////////////////////////////////////////////////////
192 G4DNAWaterExcitationStructure waterExcitation;
193//--------------------------------------------------------
194//---------------Excitation on the fifth layer------------
195
197 "A^1B_1_Relaxation");
199 "A^1B_1_DissociativeDecay");
200
201//Decay 1 : OH + H
202 decCh1->SetEnergy(waterExcitation.ExcitationEnergy(0));
203 decCh1->SetProbability(0.35);
204 decCh1->SetDisplacementType(
205 G4DNAWaterDissociationDisplacer::NoDisplacement);
206
207 decCh2->AddProduct(OH);
208 decCh2->AddProduct(H);
209 decCh2->SetProbability(0.65);
210 decCh2->SetDisplacementType(
211 G4DNAWaterDissociationDisplacer::A1B1_DissociationDecay);
212
213// water->AddExcitedState("A^1B_1");
214// this is the transition form ground state to
215 occ->RemoveElectron(4, 1);
216// the first unoccupied orbital: A^1B_1
217 occ->AddElectron(5, 1);
218
219 water->NewConfigurationWithElectronOccupancy("A^1B_1", *occ);
220 water->AddDecayChannel("A^1B_1", decCh1);
221 water->AddDecayChannel("A^1B_1", decCh2);
222
223//--------------------------------------------------------
224//---------------Excitation on the fourth layer-----------
226 "B^1A_1_Relaxation_Channel");
228 "B^1A_1_DissociativeDecay");
230 new G4MolecularDissociationChannel("B^1A_1_AutoIonisation_Channel");
231
232//Decay 1 : energy
233 decCh1->SetEnergy(waterExcitation.ExcitationEnergy(1));
234 decCh1->SetProbability(0.3);
235
236//Decay 2 : 2OH + H_2
237 decCh2->AddProduct(H2);
238 decCh2->AddProduct(OH);
239 decCh2->AddProduct(OH);
240 decCh2->SetProbability(0.15);
241 decCh2->SetDisplacementType(
242 G4DNAWaterDissociationDisplacer::B1A1_DissociationDecay);
243
244//Decay 3 : OH + H_3Op + e_aq
245 decCh3->AddProduct(OH);
246 decCh3->AddProduct(H3O);
247 decCh3->AddProduct(e_aq);
248 decCh3->SetProbability(0.55);
249 decCh3->SetDisplacementType(
250 G4DNAWaterDissociationDisplacer::AutoIonisation);
251
252 *occ = *(water->GetGroundStateElectronOccupancy());
253 occ->RemoveElectron(3); // this is the transition form ground state to
254 occ->AddElectron(5, 1); // the first unoccupied orbital: B^1A_1
255
256 water->NewConfigurationWithElectronOccupancy("B^1A_1", *occ);
257 water->AddDecayChannel("B^1A_1", decCh1);
258 water->AddDecayChannel("B^1A_1", decCh2);
259 water->AddDecayChannel("B^1A_1", decCh3);
260
261//-------------------------------------------------------
262//-------------------Excitation of 3rd layer-----------------
264 "Excitation3rdLayer_AutoIonisation_Channel");
266 "Excitation3rdLayer_Relaxation_Channel");
267
268//Decay channel 1 : : OH + H_3Op + e_aq
269 decCh1->AddProduct(OH);
270 decCh1->AddProduct(H3O);
271 decCh1->AddProduct(e_aq);
272
273 decCh1->SetProbability(0.5);
274 decCh1->SetDisplacementType(
275 G4DNAWaterDissociationDisplacer::AutoIonisation);
276
277//Decay channel 2 : energy
278 decCh2->SetEnergy(waterExcitation.ExcitationEnergy(2));
279 decCh2->SetProbability(0.5);
280
281//Electronic configuration of this decay
282 *occ = *(water->GetGroundStateElectronOccupancy());
283 occ->RemoveElectron(2, 1);
284 occ->AddElectron(5, 1);
285
286//Configure the water molecule
288 "Excitation3rdLayer", *occ);
289 water->AddDecayChannel("Excitation3rdLayer", decCh1);
290 water->AddDecayChannel("Excitation3rdLayer", decCh2);
291
292//-------------------------------------------------------
293//-------------------Excitation of 2nd layer-----------------
295 "Excitation2ndLayer_AutoIonisation_Channel");
297 "Excitation2ndLayer_Relaxation_Channel");
298
299//Decay Channel 1 : : OH + H_3Op + e_aq
300 decCh1->AddProduct(OH);
301 decCh1->AddProduct(H3O);
302 decCh1->AddProduct(e_aq);
303
304 decCh1->SetProbability(0.5);
305 decCh1->SetDisplacementType(
306 G4DNAWaterDissociationDisplacer::AutoIonisation);
307
308//Decay channel 2 : energy
309 decCh2->SetEnergy(waterExcitation.ExcitationEnergy(3));
310 decCh2->SetProbability(0.5);
311
312 *occ = *(water->GetGroundStateElectronOccupancy());
313 occ->RemoveElectron(1, 1);
314 occ->AddElectron(5, 1);
315
317 "Excitation2ndLayer", *occ);
318 water->AddDecayChannel("Excitation2ndLayer", decCh1);
319 water->AddDecayChannel("Excitation2ndLayer", decCh2);
320
321//-------------------------------------------------------
322//-------------------Excitation of 1st layer-----------------
324 "Excitation1stLayer_AutoIonisation_Channel");
326 "Excitation1stLayer_Relaxation_Channel");
327
328 *occ = *(water->GetGroundStateElectronOccupancy());
329 occ->RemoveElectron(0, 1);
330 occ->AddElectron(5, 1);
331
332//Decay Channel 1 : : OH + H_3Op + e_aq
333 decCh1->AddProduct(OH);
334 decCh1->AddProduct(H3O);
335 decCh1->AddProduct(e_aq);
336 decCh1->SetProbability(0.5);
337 decCh1->SetDisplacementType(
338 G4DNAWaterDissociationDisplacer::AutoIonisation);
339
340//Decay channel 2 : energy
341 decCh2->SetEnergy(waterExcitation.ExcitationEnergy(4));
342 decCh2->SetProbability(0.5);
343
345 "Excitation1stLayer", *occ);
346 water->AddDecayChannel("Excitation1stLayer", decCh1);
347 water->AddDecayChannel("Excitation1stLayer", decCh2);
348
349/////////////////////////////////////////////////////////
350// IONISATION //
351/////////////////////////////////////////////////////////
352//--------------------------------------------------------
353//------------------- Ionisation -------------------------
354
355 decCh1 = new G4MolecularDissociationChannel("Ionisation_Channel");
356
357//Decay Channel 1 : : OH + H_3Op
358 decCh1->AddProduct(H3O);
359 decCh1->AddProduct(OH);
360 decCh1->SetProbability(1);
361 decCh1->SetDisplacementType(
362 G4DNAWaterDissociationDisplacer::Ionisation_DissociationDecay);
363
364 *occ = *(water->GetGroundStateElectronOccupancy());
365 occ->RemoveElectron(4, 1);
366// this is a ionized h2O with a hole in its last orbital
367 water->NewConfigurationWithElectronOccupancy("Ionisation5", *occ);
368 water->AddDecayChannel("Ionisation5", decCh1);
369
370 *occ = *(water->GetGroundStateElectronOccupancy());
371 occ->RemoveElectron(3, 1);
372 water->NewConfigurationWithElectronOccupancy("Ionisation4", *occ);
373 water->AddDecayChannel("Ionisation4",
374 new G4MolecularDissociationChannel(*decCh1));
375
376 *occ = *(water->GetGroundStateElectronOccupancy());
377 occ->RemoveElectron(2, 1);
378 water->NewConfigurationWithElectronOccupancy("Ionisation3", *occ);
379 water->AddDecayChannel("Ionisation3",
380 new G4MolecularDissociationChannel(*decCh1));
381
382 *occ = *(water->GetGroundStateElectronOccupancy());
383 occ->RemoveElectron(1, 1);
384 water->NewConfigurationWithElectronOccupancy("Ionisation2", *occ);
385 water->AddDecayChannel("Ionisation2",
386 new G4MolecularDissociationChannel(*decCh1));
387
388 *occ = *(water->GetGroundStateElectronOccupancy());
389 occ->RemoveElectron(0, 1);
390 water->NewConfigurationWithElectronOccupancy("Ionisation1", *occ);
391 water->AddDecayChannel("Ionisation1",
392 new G4MolecularDissociationChannel(*decCh1));
393
394//////////////////////////////////////////////////////////
395// Dissociative Attachment //
396//////////////////////////////////////////////////////////
398 "DissociativeAttachment");
399
400//Decay 1 : 2OH + H_2
401 decCh1->AddProduct(H2);
402 decCh1->AddProduct(OHm);
403 decCh1->AddProduct(OH);
404 decCh1->SetProbability(1);
405 decCh1->SetDisplacementType(
406 G4DNAWaterDissociationDisplacer::DissociativeAttachment);
407
408 *occ = *(water->GetGroundStateElectronOccupancy());
409 occ->AddElectron(5, 1); // H_2O^-
411 "DissociativeAttachment", *occ);
412 water->AddDecayChannel(
413 "DissociativeAttachment", decCh1);
414
415 //////////////////////////////////////////////////////////
416 // Electron-hole recombination //
417 //////////////////////////////////////////////////////////
418 decCh1 = new G4MolecularDissociationChannel("H2Ovib_DissociationDecay1");
419 decCh2 = new G4MolecularDissociationChannel("H2Ovib_DissociationDecay2");
420 decCh3 = new G4MolecularDissociationChannel("H2Ovib_DissociationDecay3");
421
422//Decay 1 : 2OH + H_2
423 decCh1->AddProduct(H2);
424 decCh1->AddProduct(OH);
425 decCh1->AddProduct(OH);
426 decCh1->SetProbability(0.15);
428 B1A1_DissociationDecay);
429
430//Decay 2 : OH + H
431 decCh2->AddProduct(OH);
432 decCh2->AddProduct(H);
433 decCh2->SetProbability(0.55);
435 A1B1_DissociationDecay);
436
437//Decay 3 : relaxation
438 decCh3->SetProbability(0.30);
439
440 const auto pH2Ovib = G4H2O::Definition()->NewConfiguration("H2Ovib");
441 assert(pH2Ovib != nullptr);
442
443 water->AddDecayChannel(pH2Ovib, decCh1);
444 water->AddDecayChannel(pH2Ovib, decCh2);
445 water->AddDecayChannel(pH2Ovib, decCh3);
446
447 delete occ;
448}
G4int AddElectron(G4int orbit, G4int number=1)
G4int RemoveElectron(G4int orbit, G4int number=1)
static G4H2O * Definition()
Definition: G4H2O.cc:42
void AddProduct(Product *, G4double displacement=0.)
const G4ElectronOccupancy * GetGroundStateElectronOccupancy() const
void AddDecayChannel(const G4MolecularConfiguration *molConf, const G4MolecularDissociationChannel *channel)
G4MolecularConfiguration * NewConfiguration(const G4String &excitedStateLabel)
G4MolecularConfiguration * NewConfigurationWithElectronOccupancy(const G4String &excitedStateLabel, const G4ElectronOccupancy &, double decayTime=0.)
G4MolecularConfiguration * GetConfiguration(const G4String &, bool mustExist=true)
static G4MoleculeTable * Instance()

◆ ConstructMolecule()

void G4EmDNAChemistry_option2::ConstructMolecule ( )
overridevirtual

Reimplemented from G4VUserChemistryList.

Definition at line 77 of file G4EmDNAChemistry_option2.cc.

78{
79 //-----------------------------------
80 G4Electron::Definition(); // safety
81 //-----------------------------------
96//damaged molecules
103
104//_________________species___________________________________________________________
105
107 CreateConfiguration("H3Op", G4H3O::Definition());
109 CreateConfiguration("OHm",
111 -1, // charge
112 5.0e-9 * (m2 / s));
113 OHm->SetMass(17.0079 * g / Avogadro * c_squared);
115 CreateConfiguration("OH", G4OH::Definition());
117 CreateConfiguration("e_aq",G4Electron_aq::Definition());
119 CreateConfiguration("H",G4Hydrogen::Definition());
121 CreateConfiguration("H2", G4H2::Definition());
123 CreateConfiguration("H2O2", G4H2O2::Definition());
124
125//________________DNA_______________________________________________
126
128 CreateConfiguration("Deoxyribose",G4Deoxyribose::Definition());
130 CreateConfiguration("Phosphate",G4Phosphate::Definition());
132 CreateConfiguration("Adenine",G4Adenine::Definition());
134 CreateConfiguration("Thymine",G4Thymine::Definition());
136 CreateConfiguration("Guanine",G4Guanine::Definition());
138 CreateConfiguration("Cytosine",G4Cytosine::Definition());
140 CreateConfiguration("Histone",G4Histone::Definition());
141
142//damaged DNAElement Configuration
143
145 CreateConfiguration("Damaged_Deoxyribose",
148 CreateConfiguration("Damaged_Adenine",
151 CreateConfiguration("Damaged_Thymine",
154 CreateConfiguration("Damaged_Guanine",
157 CreateConfiguration("Damaged_Cytosine",
159}
static G4Adenine * Definition()
static G4Cytosine * Definition()
static G4DamagedAdenine * Definition()
static G4DamagedCytosine * Definition()
static G4DamagedDeoxyribose * Definition()
static G4DamagedGuanine * Definition()
static G4DamagedThymine * Definition()
static G4Deoxyribose * Definition()
static G4Electron_aq * Definition()
static G4Electron * Definition()
Definition: G4Electron.cc:48
static G4Guanine * Definition()
static G4H2O2 * Definition()
Definition: G4H2O2.cc:45
static G4H2 * Definition()
Definition: G4H2.cc:45
static G4H3O * Definition()
Definition: G4H3O.cc:46
static G4Histone * Definition()
static G4Hydrogen * Definition()
Definition: G4Hydrogen.cc:45
static G4ModifiedHistone * Definition()
static G4OH * Definition()
Definition: G4OH.cc:45
static G4Phosphate * Definition()
static G4Thymine * Definition()

Referenced by ConstructParticle().

◆ ConstructParticle()

void G4EmDNAChemistry_option2::ConstructParticle ( )
inlineoverridevirtual

Implements G4VPhysicsConstructor.

Definition at line 45 of file G4EmDNAChemistry_option2.hh.

46 {
48 }

◆ ConstructProcess()

void G4EmDNAChemistry_option2::ConstructProcess ( )
overridevirtual

Reimplemented from G4VUserChemistryList.

Definition at line 702 of file G4EmDNAChemistry_option2.cc.

703{
704 auto pPhysicsListHelper =
706 G4VProcess* pProcess =
708 FindProcess("e-_G4DNAVibExcitation", "e-");
709
710 if (pProcess != nullptr)
711 {
712 G4DNAVibExcitation* pVibExcitation =
713 (G4DNAVibExcitation*) pProcess;
714 G4VEmModel* pModel = pVibExcitation->EmModel();
715 G4DNASancheExcitationModel* pSancheExcitationMod =
716 dynamic_cast<G4DNASancheExcitationModel*>(pModel);
717 if(pSancheExcitationMod != nullptr)
718 {
719 pSancheExcitationMod->ExtendLowEnergyLimit(0.025 * eV);
720 }
721 }
722
723//===============================================================
724// Electron Solvatation
725//
727 FindProcess("e-_G4DNAElectronSolvation", "e-");
728
729 if (pProcess == nullptr)
730 {
731 pPhysicsListHelper->
733 "e-_G4DNAElectronSolvation"), G4Electron::Definition());
734 }
735
736//===============================================================
737// Define processes for molecules
738//
739 G4MoleculeTable* pMoleculeTable =
742 pMoleculeTable->GetDefintionIterator();
743 iterator.reset();
744 while (iterator())
745 {
746 G4MoleculeDefinition* pMoleculeDef = iterator.value();
747
748 if(pMoleculeDef != G4H2O::Definition())
749 {
750 G4DNABrownianTransportation* pBrownianTransport =
752 pPhysicsListHelper->
753 RegisterProcess(pBrownianTransport, pMoleculeDef);
754 }
755 else
756 {
757 pMoleculeDef->GetProcessManager()->
758 AddRestProcess(new G4DNAElectronHoleRecombination(), 2);
759 G4DNAMolecularDissociation* pDissociationProcess =
760 new G4DNAMolecularDissociation("H2O_DNAMolecularDecay");
761 pDissociationProcess->SetDisplacer(pMoleculeDef,
763 pDissociationProcess->SetVerboseLevel(1);
764
765 pMoleculeDef->GetProcessManager()->
766 AddRestProcess(pDissociationProcess, 1);
767 }
768 }
770}
void SetDisplacer(Species *, Displacer *)
G4MoleculeDefinitionIterator GetDefintionIterator()
G4ProcessManager * GetProcessManager() const
static G4PhysicsListHelper * GetPhysicsListHelper()
static G4ProcessTable * GetProcessTable()
G4VEmModel * EmModel(size_t index=0) const
G4bool RegisterProcess(G4VProcess *process, G4ParticleDefinition *particle)
void SetVerboseLevel(G4int value)
Definition: G4VProcess.hh:416

◆ ConstructReactionTable()

void G4EmDNAChemistry_option2::ConstructReactionTable ( G4DNAMolecularReactionTable pTable)
overridevirtual

Implements G4VUserChemistryList.

Definition at line 452 of file G4EmDNAChemistry_option2.cc.

454{
455//-----------------------------------
456//Get the molecular configuration
471
472 G4MolecularConfiguration* deoxyribose =
474 G4MolecularConfiguration* adenine =
476 G4MolecularConfiguration* guanine =
478 G4MolecularConfiguration* thymine =
480 G4MolecularConfiguration* cytosine =
482 G4MolecularConfiguration* histone =
484
485 G4MolecularConfiguration* damage_deoxyribose =
486 G4MoleculeTable::Instance()->GetConfiguration("Damaged_Deoxyribose");
487 G4MolecularConfiguration* damage_adenine =
488 G4MoleculeTable::Instance()->GetConfiguration("Damaged_Adenine");
489 G4MolecularConfiguration* damage_guanine =
490 G4MoleculeTable::Instance()->GetConfiguration("Damaged_Guanine");
491 G4MolecularConfiguration* damage_thymine =
492 G4MoleculeTable::Instance()->GetConfiguration("Damaged_Thymine");
493 G4MolecularConfiguration* damage_cytosine =
494 G4MoleculeTable::Instance()->GetConfiguration("Damaged_Cytosine");
495
496//------------------------------------------------------------------
497// e_aq + e_aq + 2H2O -> H2 + 2OH-
498 G4DNAMolecularReactionData* reactionData =
500 0.5e10 * (1e-3 * m3 / (mole * s)), e_aq, e_aq);
501 reactionData->AddProduct(OHm);
502 reactionData->AddProduct(OHm);
503 reactionData->AddProduct(H2);
504 theReactionTable->SetReaction(reactionData);
505//------------------------------------------------------------------
506// e_aq + *OH -> OH-
507 reactionData = new G4DNAMolecularReactionData(
508 2.95e10 * (1e-3 * m3 / (mole * s)), e_aq, OH);
509 reactionData->AddProduct(OHm);
510 theReactionTable->SetReaction(reactionData);
511//------------------------------------------------------------------
512// e_aq + H* + H2O -> H2 + OH-
513 reactionData = new G4DNAMolecularReactionData(
514 2.65e10 * (1e-3 * m3 / (mole * s)), e_aq, H);
515 reactionData->AddProduct(OHm);
516 reactionData->AddProduct(H2);
517 theReactionTable->SetReaction(reactionData);
518//------------------------------------------------------------------
519// e_aq + H3O+ -> H* + H2O
520 reactionData = new G4DNAMolecularReactionData(
521 2.11e10 * (1e-3 * m3 / (mole * s)), e_aq, H3Op);
522 reactionData->AddProduct(H);
523 theReactionTable->SetReaction(reactionData);
524
525//------------------------------------------------------------------
526// e_aq + H2O2 -> OH- + *OH
527 reactionData = new G4DNAMolecularReactionData(
528 1.41e10 * (1e-3 * m3 / (mole * s)), e_aq, H2O2);
529 reactionData->AddProduct(OHm);
530 reactionData->AddProduct(OH);
531 theReactionTable->SetReaction(reactionData);
532//------------------------------------------------------------------
533// *OH + *OH -> H2O2
534 reactionData = new G4DNAMolecularReactionData(
535 0.44e10 * (1e-3 * m3 / (mole * s)), OH, OH);
536 reactionData->AddProduct(H2O2);
537 theReactionTable->SetReaction(reactionData);
538//------------------------------------------------------------------
539// *OH + *H -> H2O
540 theReactionTable->SetReaction(
541 1.44e10 * (1e-3 * m3 / (mole * s)), OH, H);
542//------------------------------------------------------------------
543// *H + *H -> H2
544 reactionData = new G4DNAMolecularReactionData(
545 1.20e10 * (1e-3 * m3 / (mole * s)), H, H);
546 reactionData->AddProduct(H2);
547 theReactionTable->SetReaction(reactionData);
548//------------------------------------------------------------------
549// H3O+ + OH- -> 2H2O
550 theReactionTable->SetReaction(
551 1.43e11 * (1e-3 * m3 / (mole * s)), H3Op, OHm);
552//------------------------------------------------------------------
553
554// DNA additions
555
556// OH and DNA
557
558// 2-Deoxyribose + OH -> damagedDeoxyribose
559 reactionData = new G4DNAMolecularReactionData(
560 1.80e9*(1e-3*m3/(mole*s)), deoxyribose, OH);
561 reactionData->AddProduct(damage_deoxyribose);
562 theReactionTable->SetReaction(reactionData);
563
564 // adenine + OH -> ...
565 reactionData = new G4DNAMolecularReactionData(
566 6.10e9*(1e-3*m3/(mole*s)), adenine, OH);
567 reactionData->AddProduct(damage_adenine);
568 theReactionTable->SetReaction(reactionData);
569
570 // guanine + OH -> ...
571 reactionData = new G4DNAMolecularReactionData(
572 9.20e9*(1e-3*m3/(mole*s)), guanine, OH);
573 reactionData->AddProduct(damage_guanine);
574 theReactionTable->SetReaction(reactionData);
575
576 // thymine + OH -> ...
577 reactionData = new G4DNAMolecularReactionData(
578 6.40e9*(1e-3*m3/(mole*s)), thymine, OH);
579 reactionData->AddProduct(damage_thymine);
580 theReactionTable->SetReaction(reactionData);
581
582 // cytosine + OH -> ...
583 reactionData = new G4DNAMolecularReactionData(
584 6.10e9*(1e-3*m3/(mole*s)), cytosine, OH);
585 reactionData->AddProduct(damage_cytosine);
586 theReactionTable->SetReaction(reactionData);
587
588 // Hydrated e- and DNA
589
590 // Deoxyribose + Hydrated e- -> ...
591 reactionData = new G4DNAMolecularReactionData(
592 0.01e9*(1e-3*m3/(mole*s)), deoxyribose, e_aq);
593 reactionData->AddProduct(damage_deoxyribose);
594 theReactionTable->SetReaction(reactionData);
595
596 // adenine + Hydrated e- -> ...
597 reactionData = new G4DNAMolecularReactionData(
598 9e9*(1e-3*m3/(mole*s)), adenine, e_aq);
599 reactionData->AddProduct(damage_adenine);
600 theReactionTable->SetReaction(reactionData);
601
602 // guanine + Hydrated e- -> ...
603 reactionData = new G4DNAMolecularReactionData(
604 14e9*(1e-3*m3/(mole*s)), guanine, e_aq);
605 reactionData->AddProduct(damage_guanine);
606 theReactionTable->SetReaction(reactionData);
607
608 // thymine + Hydrated e- -> ...
609 reactionData = new G4DNAMolecularReactionData(
610 18e9*(1e-3*m3/(mole*s)), thymine, e_aq);
611 reactionData->AddProduct(damage_thymine);
612 theReactionTable->SetReaction(reactionData);
613
614 // cytosine + Hydrated e- -> ...
615 reactionData = new G4DNAMolecularReactionData(
616 13e9*(1e-3*m3/(mole*s)), cytosine, e_aq);
617 reactionData->AddProduct(damage_cytosine);
618 theReactionTable->SetReaction(reactionData);
619
620 // Radical H and DNA
621
622 // Deoxyribose + Radical H -> ...
623 reactionData = new G4DNAMolecularReactionData(
624 0.029e9*(1e-3*m3/(mole*s)), deoxyribose, H);
625 reactionData->AddProduct(damage_deoxyribose);
626 //eactionData->SetEffectiveReactionRadius(0);
627
628 theReactionTable->SetReaction(reactionData);
629
630 // adenine + Radical H -> ...
631 reactionData = new G4DNAMolecularReactionData(
632 0.10e9*(1e-3*m3/(mole*s)), adenine, H);
633 reactionData->AddProduct(damage_adenine);
634 theReactionTable->SetReaction(reactionData);
635
636 // thymine + Radical H -> ...
637 reactionData = new G4DNAMolecularReactionData(
638 0.57e9*(1e-3*m3/(mole*s)), thymine, H);
639 reactionData->AddProduct(damage_thymine);
640 theReactionTable->SetReaction(reactionData);
641
642 // cytosine + Radical H -> ...
643 reactionData = new G4DNAMolecularReactionData(
644 0.092e9*(1e-3*m3/(mole*s)), cytosine, H);
645 reactionData->AddProduct(damage_cytosine);
646 theReactionTable->SetReaction(reactionData);
647
648 //histone + all molecules -> modification(or "damage")
649
650 reactionData = new G4DNAMolecularReactionData(
651 0.0*(1e-3*m3/(mole*s)), histone, OH);
652 reactionData->AddProduct(histone);
653 reactionData->SetEffectiveReactionRadius(
654 2.4*nm + G4OH::Definition()->GetVanDerVaalsRadius());
655 theReactionTable->SetReaction(reactionData);
656
657 reactionData = new G4DNAMolecularReactionData(
658 0.0*(1e-3*m3/(mole*s)), histone, OHm);
659 reactionData->AddProduct(histone);
660 reactionData->SetEffectiveReactionRadius(
661 2.4*nm + G4OH::Definition()->GetVanDerVaalsRadius());
662 theReactionTable->SetReaction(reactionData);
663
664 reactionData = new G4DNAMolecularReactionData(
665 0.0*(1e-3*m3/(mole*s)), histone, e_aq);
666 reactionData->AddProduct(histone);
667 reactionData->SetEffectiveReactionRadius(
668 2.4*nm + G4Electron_aq::Definition()->GetVanDerVaalsRadius());
669 theReactionTable->SetReaction(reactionData);
670
671 reactionData = new G4DNAMolecularReactionData(
672 0.0*(1e-3*m3/(mole*s)), histone, H2);
673 reactionData->AddProduct(histone);
674 reactionData->SetEffectiveReactionRadius(
675 2.4*nm + G4H2::Definition()->GetVanDerVaalsRadius());
676 theReactionTable->SetReaction(reactionData);
677
678 reactionData = new G4DNAMolecularReactionData(
679 0.0*(1e-3*m3/(mole*s)), histone, H3Op);
680 reactionData->AddProduct(histone);
681 reactionData->SetEffectiveReactionRadius(
682 2.4*nm + G4H3O::Definition()->GetVanDerVaalsRadius());
683 theReactionTable->SetReaction(reactionData);
684
685 reactionData = new G4DNAMolecularReactionData(
686 0.0*(1e-3*m3/(mole*s)), histone, H);
687 reactionData->AddProduct(histone);
688 reactionData->SetEffectiveReactionRadius(
689 2.4*nm + G4Hydrogen::Definition()->GetVanDerVaalsRadius());
690 theReactionTable->SetReaction(reactionData);
691
692 reactionData = new G4DNAMolecularReactionData(
693 0.0*(1e-3*m3/(mole*s)), histone, H2O2);
694 reactionData->AddProduct(histone);
695 reactionData->SetEffectiveReactionRadius(
696 2.4*nm + G4H2O2::Definition()->GetVanDerVaalsRadius());
697 theReactionTable->SetReaction(reactionData);
698}
void SetEffectiveReactionRadius(G4double radius)

◆ ConstructTimeStepModel()

void G4EmDNAChemistry_option2::ConstructTimeStepModel ( G4DNAMolecularReactionTable pTable)
overridevirtual

Implements G4VUserChemistryList.

Definition at line 775 of file G4EmDNAChemistry_option2.cc.

777{
778 G4VDNAReactionModel* reactionRadiusComputer =
780 reactionTable->PrintTable(reactionRadiusComputer);
781
782 G4DNAMolecularStepByStepModel* stepByStep =
784 stepByStep->SetReactionModel(reactionRadiusComputer);
785
786 RegisterTimeStepModel(stepByStep, 0);
787}
void SetReactionModel(G4VDNAReactionModel *)
void RegisterTimeStepModel(G4VITStepModel *timeStepModel, G4double startingTime=0)

The documentation for this class was generated from the following files: