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

#include <G4EmDNAChemistry_option3.hh>

+ Inheritance diagram for G4EmDNAChemistry_option3:

Public Member Functions

 G4EmDNAChemistry_option3 ()
 
 ~G4EmDNAChemistry_option3 () override=default
 
void ConstructParticle () override
 
void ConstructMolecule () override
 
void ConstructProcess () override
 
void ConstructDissociationChannels () override
 
void ConstructReactionTable (G4DNAMolecularReactionTable *reactionTable) override
 
void ConstructTimeStepModel (G4DNAMolecularReactionTable *reactionTable) override
 
void SetTimeStepModel (const TimeStepModel &model)
 
- Public Member Functions inherited from G4VUserChemistryList
 G4VUserChemistryList (G4bool flag=true)
 
virtual ~G4VUserChemistryList ()
 
bool IsPhysicsConstructor ()
 
void ThisIsAPhysicsConstructor (G4bool flag=true)
 
void BuildPhysicsTable ()
 
- Public Member Functions inherited from G4VPhysicsConstructor
 G4VPhysicsConstructor (const G4String &="")
 
 G4VPhysicsConstructor (const G4String &name, G4int physics_type)
 
virtual ~G4VPhysicsConstructor ()
 
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 43 of file G4EmDNAChemistry_option3.hh.

Constructor & Destructor Documentation

◆ G4EmDNAChemistry_option3()

G4EmDNAChemistry_option3::G4EmDNAChemistry_option3 ( )

Definition at line 77 of file G4EmDNAChemistry_option3.cc.

77 :
79{
81}
static G4DNAChemistryManager * Instance()
void SetChemistryList(G4VUserChemistryList &)
G4VUserChemistryList(G4bool flag=true)

◆ ~G4EmDNAChemistry_option3()

G4EmDNAChemistry_option3::~G4EmDNAChemistry_option3 ( )
overridedefault

Member Function Documentation

◆ ConstructDissociationChannels()

void G4EmDNAChemistry_option3::ConstructDissociationChannels ( )
overridevirtual

◆ ConstructMolecule()

void G4EmDNAChemistry_option3::ConstructMolecule ( )
overridevirtual

◆ ConstructParticle()

void G4EmDNAChemistry_option3::ConstructParticle ( )
inlineoverridevirtual

Implements G4VPhysicsConstructor.

Definition at line 52 of file G4EmDNAChemistry_option3.hh.

53 {
55 }

◆ ConstructProcess()

void G4EmDNAChemistry_option3::ConstructProcess ( )
overridevirtual

Reimplemented from G4VUserChemistryList.

Definition at line 799 of file G4EmDNAChemistry_option3.cc.

800{
802
803 //===============================================================
804 // Extend vibrational to low energy
805 // Anyway, solvation of electrons is taken into account from 7.4 eV
806 // So below this threshold, for now, no accurate modeling is done
807 //
808 G4VProcess* process =
810 FindProcess("e-_G4DNAVibExcitation", "e-");
811
812 if (process)
813 {
814 G4DNAVibExcitation* vibExcitation = (G4DNAVibExcitation*) process;
815 G4VEmModel* model = vibExcitation->EmModel();
816 G4DNASancheExcitationModel* sancheExcitationMod =
817 dynamic_cast<G4DNASancheExcitationModel*>(model);
818 if(sancheExcitationMod)
819 {
820 sancheExcitationMod->ExtendLowEnergyLimit(0.025 * eV);
821 }
822 }
823
824 //===============================================================
825 // *** Electron Solvatation ***
826 //
827 process =
829 FindProcess("e-_G4DNAElectronSolvation", "e-");
830
831 if (process == 0)
832 {
833 ph->RegisterProcess(
834 new G4DNAElectronSolvation("e-_G4DNAElectronSolvation"),
836 }
837
838
839 //===============================================================
840 // Define processes for molecules
841 //
842 G4MoleculeTable* theMoleculeTable = G4MoleculeTable::Instance();
844 theMoleculeTable->GetDefintionIterator();
845 iterator.reset();
846 while (iterator())
847 {
848 G4MoleculeDefinition* moleculeDef = iterator.value();
849
850 if (moleculeDef != G4H2O::Definition())
851 {
852 if(fTimeStepModel != fIRT)
853 {
854 auto* brown = new G4DNABrownianTransportation();
855 ph->RegisterProcess(brown, moleculeDef);
856 }
857 }
858 else
859 {
860 moleculeDef->GetProcessManager()
862 auto* dissociationProcess =
863 new G4DNAMolecularDissociation("H2O_DNAMolecularDecay");
864 dissociationProcess->SetDisplacer(
865 moleculeDef, new G4DNAWaterDissociationDisplacer);
866 dissociationProcess->SetVerboseLevel(3);
867
868 moleculeDef->GetProcessManager()
869 ->AddRestProcess(dissociationProcess, 1);
870 }
871 /*
872 * Warning : end of particles and processes are needed by
873 * EM Physics builders
874 */
875 }
876
878}
static G4Electron * Definition()
Definition G4Electron.cc:45
static G4H2O * Definition()
Definition G4H2O.cc:42
G4MoleculeDefinitionIterator GetDefintionIterator()
static G4MoleculeTable * Instance()
G4ProcessManager * GetProcessManager() const
G4bool RegisterProcess(G4VProcess *process, G4ParticleDefinition *particle)
static G4PhysicsListHelper * GetPhysicsListHelper()
G4int AddRestProcess(G4VProcess *aProcess, G4int ord=ordDefault)
static G4ProcessTable * GetProcessTable()
G4VEmModel * EmModel(size_t index=0) const

◆ ConstructReactionTable()

void G4EmDNAChemistry_option3::ConstructReactionTable ( G4DNAMolecularReactionTable * reactionTable)
overridevirtual

Implements G4VUserChemistryList.

Definition at line 99 of file G4EmDNAChemistry_option3.cc.

101{
102 //-----------------------------------
103 //Get the molecular configuration
134
141
144
145 // Type I //
146 //------------------------------------------------------------------
147 // *H + *H -> H2
149 0.503e10 * (1e-3 * m3 / (mole * s)), H, H);
150 reactionData->AddProduct(H2);
151 theReactionTable->SetReaction(reactionData);
152 //------------------------------------------------------------------
153 // e_aq + H* + H2O -> H2 + OH-
154 reactionData = new G4DNAMolecularReactionData(
155 2.50e10 * (1e-3 * m3 / (mole * s)), e_aq, H);
156 reactionData->AddProduct(OHm);
157 reactionData->AddProduct(H2);
158 theReactionTable->SetReaction(reactionData);
159
160 // H + O(3p) -> OH
161 reactionData = new G4DNAMolecularReactionData(
162 2.02e10 * (1e-3 * m3 / (mole * s)), H, O);
163 reactionData->AddProduct(OH);
164 theReactionTable->SetReaction(reactionData);
165 //------------------------------------------------------------------
166 // H + O- -> OH-
167 reactionData = new G4DNAMolecularReactionData(
168 2.00e10 * (1e-3 * m3 / (mole * s)), H, Om);
169 reactionData->AddProduct(OHm);
170 theReactionTable->SetReaction(reactionData);
171 //------------------------------------------------------------------
172 // OH + O(3p) -> HO2
173 reactionData = new G4DNAMolecularReactionData(
174 2.02e10 * (1e-3 * m3 / (mole * s)), OH, O);
175 reactionData->AddProduct(HO2);
176 theReactionTable->SetReaction(reactionData);
177 //------------------------------------------------------------------
178 // HO2 + O(3p) -> O2
179 reactionData = new G4DNAMolecularReactionData(
180 2.02e10 * (1e-3 * m3 / (mole * s)), HO2, O);
181 reactionData->AddProduct(O2);
182 reactionData->AddProduct(OH);
183 theReactionTable->SetReaction(reactionData);
184 //------------------------------------------------------------------
185 // O(3p) + O(3p) -> O2
186 reactionData = new G4DNAMolecularReactionData(
187 2.20e10 * (1e-3 * m3 / (mole * s)), O, O);
188 reactionData->AddProduct(O2);
189 theReactionTable->SetReaction(reactionData);
190
191 // Type III //
192 //------------------------------------------------------------------
193 // e_aq + e_aq + 2H2O -> H2 + 2OH-
194 reactionData = new G4DNAMolecularReactionData(
195 0.636e10 * (1e-3 * m3 / (mole * s)), e_aq, e_aq);
196 reactionData->AddProduct(OHm);
197 reactionData->AddProduct(OHm);
198 reactionData->AddProduct(H2);
199 theReactionTable->SetReaction(reactionData);
200 //------------------------------------------------------------------
201 // H3O+ + OH- -> 2H2O
202 reactionData = new G4DNAMolecularReactionData(
203 1.13e11 * (1e-3 * m3 / (mole * s)), H3Op, OHm);
204 theReactionTable->SetReaction(reactionData);
205 //------------------------------------------------------------------
206 // H3O+ + O3- -> OH + O2
207 reactionData = new G4DNAMolecularReactionData(
208 9.0e10 * (1e-3 * m3 / (mole * s)), H3Op, O3m);
209 reactionData->AddProduct(OH);
210 reactionData->AddProduct(O2);
211 theReactionTable->SetReaction(reactionData);
212
213 // Type II //
214
215 //------------------------------------------------------------------
216 // *OH + *H -> H2O
217 reactionData = new G4DNAMolecularReactionData(
218 1.55e10 * (1e-3 * m3 / (mole * s)), OH, H);
219 if(fTimeStepModel != fSBS)
220 {
221 reactionData->SetReactionType(1);
222 }
223 theReactionTable->SetReaction(reactionData);
224 //------------------------------------------------------------------
225 // H + H2O2 -> OH
226 reactionData = new G4DNAMolecularReactionData(
227 3.50e7 * (1e-3 * m3 / (mole * s)), H, H2O2);
228 reactionData->AddProduct(OH);
229 if(fTimeStepModel != fSBS)
230 {
231 reactionData->SetReactionType(1);
232 }
233 theReactionTable->SetReaction(reactionData);
234 //------------------------------------------------------------------
235 // H + OH- -> eaq-
236 reactionData = new G4DNAMolecularReactionData(
237 2.51e7 * (1e-3 * m3 / (mole * s)), H, OHm);
238 reactionData->AddProduct(e_aq);
239 if(fTimeStepModel != fSBS)
240 {
241 reactionData->SetReactionType(1);
242 }
243 theReactionTable->SetReaction(reactionData);
244 //------------------------------------------------------------------
245 // H + O2 -> HO2
246 reactionData = new G4DNAMolecularReactionData(
247 2.10e10 * (1e-3 * m3 / (mole * s)), H, O2);
248 reactionData->AddProduct(HO2);
249 if(fTimeStepModel != fSBS)
250 {
251 reactionData->SetReactionType(1);
252 }
253 theReactionTable->SetReaction(reactionData);
254 //------------------------------------------------------------------
255 // H + HO2 -> H2O2
256 reactionData = new G4DNAMolecularReactionData(
257 1.00e10 * (1e-3 * m3 / (mole * s)), H, HO2);
258 reactionData->AddProduct(H2O2);
259 if(fTimeStepModel != fSBS)
260 {
261 reactionData->SetReactionType(1);
262 }
263 theReactionTable->SetReaction(reactionData);
264 //------------------------------------------------------------------
265 // H + O2- -> HO2-
266 reactionData = new G4DNAMolecularReactionData(
267 1.00e10 * (1e-3 * m3 / (mole * s)), H, O2m);
268 reactionData->AddProduct(HO2m);
269 if(fTimeStepModel != fSBS)
270 {
271 reactionData->SetReactionType(1);
272 }
273 theReactionTable->SetReaction(reactionData);
274 //------------------------------------------------------------------
275 // *OH + *OH -> H2O2
276 reactionData = new G4DNAMolecularReactionData(
277 0.55e10 * (1e-3 * m3 / (mole * s)), OH, OH);
278 reactionData->AddProduct(H2O2);
279 if(fTimeStepModel != fSBS)
280 {
281 reactionData->SetReactionType(1);
282 }
283
284 theReactionTable->SetReaction(reactionData);
285 //------------------------------------------------------------------
286 // OH + H2O2 -> HO2
287 reactionData = new G4DNAMolecularReactionData(
288 2.88e7 * (1e-3 * m3 / (mole * s)), OH, H2O2);
289 reactionData->AddProduct(HO2);
290 if(fTimeStepModel != fSBS)
291 {
292 reactionData->SetReactionType(1);
293 }
294 theReactionTable->SetReaction(reactionData);
295 //------------------------------------------------------------------
296 // OH + H2 -> H
297 reactionData = new G4DNAMolecularReactionData(
298 3.28e7 * (1e-3 * m3 / (mole * s)), OH, H2);
299 reactionData->AddProduct(H);
300 if(fTimeStepModel != fSBS)
301 {
302 reactionData->SetReactionType(1);
303 }
304 theReactionTable->SetReaction(reactionData);
305 //------------------------------------------------------------------
306 // e_aq + *OH -> OH-
307 reactionData = new G4DNAMolecularReactionData(
308 2.95e10 * (1e-3 * m3 / (mole * s)), e_aq, OH);
309 reactionData->AddProduct(OHm);
310 if(fTimeStepModel != fSBS)
311 {
312 reactionData->SetReactionType(1);
313 }
314 theReactionTable->SetReaction(reactionData);
315 //------------------------------------------------------------------
316 // OH + OH- -> O-
317 reactionData = new G4DNAMolecularReactionData(
318 6.30e9 * (1e-3 * m3 / (mole * s)), OH, OHm);
319 reactionData->AddProduct(Om);
320 if(fTimeStepModel != fSBS)
321 {
322 reactionData->SetReactionType(1);
323 }
324 theReactionTable->SetReaction(reactionData);
325 //------------------------------------------------------------------
326 // OH + HO2 -> O2
327 reactionData = new G4DNAMolecularReactionData(
328 7.90e9 * (1e-3 * m3 / (mole * s)), OH, HO2);
329 reactionData->AddProduct(O2);
330 if(fTimeStepModel != fSBS)
331 {
332 reactionData->SetReactionType(1);
333 }
334 theReactionTable->SetReaction(reactionData);
335 //------------------------------------------------------------------
336 // OH + O2- -> O2 + OH-
337 reactionData = new G4DNAMolecularReactionData(
338 1.07e10 * (1e-3 * m3 / (mole * s)), OH, O2m);
339 reactionData->AddProduct(O2);
340 reactionData->AddProduct(OHm);
341 if(fTimeStepModel != fSBS)
342 {
343 reactionData->SetReactionType(1);
344 }
345 theReactionTable->SetReaction(reactionData);
346 //------------------------------------------------------------------
347 // OH + HO2- -> HO2 + OH-
348 reactionData = new G4DNAMolecularReactionData(
349 8.32e9 * (1e-3 * m3 / (mole * s)), OH, HO2m);
350 reactionData->AddProduct(HO2);
351 reactionData->AddProduct(OHm);
352 if(fTimeStepModel != fSBS)
353 {
354 reactionData->SetReactionType(1);
355 }
356 theReactionTable->SetReaction(reactionData);
357 //------------------------------------------------------------------
358 // OH + O- -> HO2-
359 reactionData = new G4DNAMolecularReactionData(
360 1.00e9 * (1e-3 * m3 / (mole * s)), OH, Om);
361 reactionData->AddProduct(HO2m);
362 if(fTimeStepModel != fSBS)
363 {
364 reactionData->SetReactionType(1);
365 }
366 theReactionTable->SetReaction(reactionData);
367 //------------------------------------------------------------------
368 // OH + O3- -> O2- + HO2
369 reactionData = new G4DNAMolecularReactionData(
370 8.50e9 * (1e-3 * m3 / (mole * s)), OH, O3m);
371 reactionData->AddProduct(O2m);
372 reactionData->AddProduct(HO2);
373 if(fTimeStepModel != fSBS)
374 {
375 reactionData->SetReactionType(1);
376 }
377 theReactionTable->SetReaction(reactionData);
378 //------------------------------------------------------------------
379 // e_aq + H2O2 -> OH- + *OH
380 reactionData = new G4DNAMolecularReactionData(
381 1.10e10 * (1e-3 * m3 / (mole * s)), e_aq, H2O2);
382 reactionData->AddProduct(OHm);
383 reactionData->AddProduct(OH);
384 if(fTimeStepModel != fSBS)
385 {
386 reactionData->SetReactionType(1);
387 }
388 theReactionTable->SetReaction(reactionData);
389 //------------------------------------------------------------------
390 // H2O2 + OH- -> HO2-
391 reactionData = new G4DNAMolecularReactionData(
392 4.71e8 * (1e-3 * m3 / (mole * s)), H2O2, OHm);
393 reactionData->AddProduct(HO2m);
394 if(fTimeStepModel != fSBS)
395 {
396 reactionData->SetReactionType(1);
397 }
398 theReactionTable->SetReaction(reactionData);
399 //------------------------------------------------------------------
400 // H2O2 + O(3p) -> HO2 + OH
401 reactionData = new G4DNAMolecularReactionData(
402 1.60e9 * (1e-3 * m3 / (mole * s)), H2O2, O);
403 reactionData->AddProduct(HO2);
404 reactionData->AddProduct(OH);
405 if(fTimeStepModel != fSBS)
406 {
407 reactionData->SetReactionType(1);
408 }
409 theReactionTable->SetReaction(reactionData);
410 //------------------------------------------------------------------
411 // H2O2 + O- -> HO2 + OH-
412 reactionData = new G4DNAMolecularReactionData(
413 5.55e8 * (1e-3 * m3 / (mole * s)), H2O2, Om);
414 reactionData->AddProduct(HO2);
415 reactionData->AddProduct(OHm);
416 if(fTimeStepModel != fSBS)
417 {
418 reactionData->SetReactionType(1);
419 }
420 theReactionTable->SetReaction(reactionData);
421 //------------------------------------------------------------------
422 // H2 + O(3p) -> H + OH
423 reactionData = new G4DNAMolecularReactionData(
424 4.77e3 * (1e-3 * m3 / (mole * s)), H2, O);
425 reactionData->AddProduct(H);
426 reactionData->AddProduct(OH);
427 if(fTimeStepModel != fSBS)
428 {
429 reactionData->SetReactionType(1);
430 }
431 theReactionTable->SetReaction(reactionData);
432 //------------------------------------------------------------------
433 // H2 + O- -> H + OH-
434 reactionData = new G4DNAMolecularReactionData(
435 1.21e8 * (1e-3 * m3 / (mole * s)), H2, Om);
436 reactionData->AddProduct(H);
437 reactionData->AddProduct(OHm);
438 if(fTimeStepModel != fSBS)
439 {
440 reactionData->SetReactionType(1);
441 }
442 theReactionTable->SetReaction(reactionData);
443 //------------------------------------------------------------------
444 // eaq- + O2 -> O2-
445 reactionData = new G4DNAMolecularReactionData(
446 1.74e10 * (1e-3 * m3 / (mole * s)), e_aq, O2);
447 reactionData->AddProduct(O2m);
448 if(fTimeStepModel != fSBS)
449 {
450 reactionData->SetReactionType(1);
451 }
452 theReactionTable->SetReaction(reactionData);
453 //------------------------------------------------------------------
454 // eaq + HO2 -> HO2-
455 reactionData = new G4DNAMolecularReactionData(
456 1.29e10 * (1e-3 * m3 / (mole * s)), e_aq, HO2);
457 reactionData->AddProduct(HO2m);
458 if(fTimeStepModel != fSBS)
459 {
460 reactionData->SetReactionType(1);
461 }
462 theReactionTable->SetReaction(reactionData);
463 //------------------------------------------------------------------
464 // OH- + HO2 -> O2-
465 reactionData = new G4DNAMolecularReactionData(
466 6.30e9 * (1e-3 * m3 / (mole * s)), OHm, HO2);
467 reactionData->AddProduct(O2m);
468 if(fTimeStepModel != fSBS)
469 {
470 reactionData->SetReactionType(1);
471 }
472 theReactionTable->SetReaction(reactionData);
473 //------------------------------------------------------------------
474 // OH- + O(3p) -> HO2-
475 reactionData = new G4DNAMolecularReactionData(
476 4.20e8 * (1e-3 * m3 / (mole * s)), OHm, O);
477 reactionData->AddProduct(HO2m);
478 if(fTimeStepModel != fSBS)
479 {
480 reactionData->SetReactionType(1);
481 }
482 theReactionTable->SetReaction(reactionData);
483 //------------------------------------------------------------------
484 // O2 + O(3p) -> O3
485 reactionData = new G4DNAMolecularReactionData(
486 4.00e9 * (1e-3 * m3 / (mole * s)), O2, O);
487 reactionData->AddProduct(O3);
488 if(fTimeStepModel != fSBS)
489 {
490 reactionData->SetReactionType(1);
491 }
492 theReactionTable->SetReaction(reactionData);
493 //------------------------------------------------------------------
494 // O2 + O- -> O3-
495 reactionData = new G4DNAMolecularReactionData(
496 3.70e9 * (1e-3 * m3 / (mole * s)), O2, Om);
497 reactionData->AddProduct(O3m);
498 if(fTimeStepModel != fSBS)
499 {
500 reactionData->SetReactionType(1);
501 }
502 theReactionTable->SetReaction(reactionData);
503 //------------------------------------------------------------------
504 // HO2 + HO2 -> H2O2 + O2
505 reactionData = new G4DNAMolecularReactionData(
506 9.80e5 * (1e-3 * m3 / (mole * s)), HO2, HO2);
507 reactionData->AddProduct(H2O2);
508 reactionData->AddProduct(O2);
509 if(fTimeStepModel != fSBS)
510 {
511 reactionData->SetReactionType(1);
512 }
513 theReactionTable->SetReaction(reactionData);
514 //------------------------------------------------------------------
515 // HO2 + O2- -> HO2- + O2
516 reactionData = new G4DNAMolecularReactionData(
517 9.70e7 * (1e-3 * m3 / (mole * s)), HO2, O2m);
518 reactionData->AddProduct(HO2m);
519 reactionData->AddProduct(O2);
520 if(fTimeStepModel != fSBS)
521 {
522 reactionData->SetReactionType(1);
523 }
524 theReactionTable->SetReaction(reactionData);
525 //------------------------------------------------------------------
526 // HO2- + O(3p) -> O2- + OH
527 reactionData = new G4DNAMolecularReactionData(
528 5.30e9 * (1e-3 * m3 / (mole * s)), HO2m, O);
529 reactionData->AddProduct(O2m);
530 reactionData->AddProduct(OH);
531 if(fTimeStepModel != fSBS)
532 {
533 reactionData->SetReactionType(1);
534 }
535 theReactionTable->SetReaction(reactionData);
536
537 // Type IV //
538 //------------------------------------------------------------------
539 // e_aq + H3O+ -> H* + H2O
540 reactionData = new G4DNAMolecularReactionData(
541 2.11e10 * (1e-3 * m3 / (mole * s)), e_aq, H3Op);
542 reactionData->AddProduct(H);
543 if(fTimeStepModel != fSBS)
544 {
545 reactionData->SetReactionType(1);
546 }
547 theReactionTable->SetReaction(reactionData);
548 //------------------------------------------------------------------
549 // e_aq + O2- -> H2O2 + OH- + OH-
550 reactionData = new G4DNAMolecularReactionData(
551 1.29e10 * (1e-3 * m3 / (mole * s)), e_aq, O2m);
552 reactionData->AddProduct(H2O2);
553 reactionData->AddProduct(OHm);
554 reactionData->AddProduct(OHm);
555 if(fTimeStepModel != fSBS)
556 {
557 reactionData->SetReactionType(1);
558 }
559 theReactionTable->SetReaction(reactionData);
560 //------------------------------------------------------------------
561 // e_aq + HO2- -> O- + OH-
562 reactionData = new G4DNAMolecularReactionData(
563 3.51e9 * (1e-3 * m3 / (mole * s)), e_aq, HO2m);
564 reactionData->AddProduct(Om);
565 reactionData->AddProduct(OHm);
566 if(fTimeStepModel != fSBS)
567 {
568 reactionData->SetReactionType(1);
569 }
570 theReactionTable->SetReaction(reactionData);
571 //------------------------------------------------------------------
572 // e_aq + O- -> OH- + OH-
573 reactionData = new G4DNAMolecularReactionData(
574 2.31e10 * (1e-3 * m3 / (mole * s)), e_aq, Om);
575 reactionData->AddProduct(OHm);
576 reactionData->AddProduct(OHm);
577 if(fTimeStepModel != fSBS)
578 {
579 reactionData->SetReactionType(1);
580 }
581 theReactionTable->SetReaction(reactionData);
582 //------------------------------------------------------------------
583 // H3O+ + O2- -> HO2
584 reactionData = new G4DNAMolecularReactionData(
585 4.78e10 * (1e-3 * m3 / (mole * s)), H3Op, O2m);
586 reactionData->AddProduct(HO2);
587 if(fTimeStepModel != fSBS)
588 {
589 reactionData->SetReactionType(1);
590 }
591 theReactionTable->SetReaction(reactionData);
592 //------------------------------------------------------------------
593 // H3O+ + HO2- -> H2O2
594 reactionData = new G4DNAMolecularReactionData(
595 5.00e10 * (1e-3 * m3 / (mole * s)), H3Op, HO2m);
596 reactionData->AddProduct(H2O2);
597 if(fTimeStepModel != fSBS)
598 {
599 reactionData->SetReactionType(1);
600 }
601 theReactionTable->SetReaction(reactionData);
602 //------------------------------------------------------------------
603 // H3O+ + O- -> OH
604 reactionData = new G4DNAMolecularReactionData(
605 4.78e10 * (1e-3 * m3 / (mole * s)), H3Op, Om);
606 reactionData->AddProduct(OH);
607 if(fTimeStepModel != fSBS)
608 {
609 reactionData->SetReactionType(1);
610 }
611 theReactionTable->SetReaction(reactionData);
612 //------------------------------------------------------------------
613 // O2- + O- -> O2 + OH- + OH-
614 reactionData = new G4DNAMolecularReactionData(
615 6.00e8 * (1e-3 * m3 / (mole * s)), O2m, Om);
616 reactionData->AddProduct(O2);
617 reactionData->AddProduct(OHm);
618 reactionData->AddProduct(OHm);
619 if(fTimeStepModel != fSBS)
620 {
621 reactionData->SetReactionType(1);
622 }
623 theReactionTable->SetReaction(reactionData);
624 //------------------------------------------------------------------
625 // HO2- + O- -> O2- + OH-
626 reactionData = new G4DNAMolecularReactionData(
627 3.50e8 * (1e-3 * m3 / (mole * s)), HO2m, Om);
628 reactionData->AddProduct(O2m);
629 reactionData->AddProduct(OHm);
630 if(fTimeStepModel != fSBS)
631 {
632 reactionData->SetReactionType(1);
633 }
634 theReactionTable->SetReaction(reactionData);
635 //------------------------------------------------------------------
636 // O- + O- -> H2O2 + OH- + OH-
637 reactionData = new G4DNAMolecularReactionData(
638 1.00e8 * (1e-3 * m3 / (mole * s)), Om, Om);
639 reactionData->AddProduct(H2O2);
640 reactionData->AddProduct(OHm);
641 reactionData->AddProduct(OHm);
642 if(fTimeStepModel != fSBS)
643 {
644 reactionData->SetReactionType(1);
645 }
646 theReactionTable->SetReaction(reactionData);
647 //------------------------------------------------------------------
648 // O- + O3- -> O2- + O2-
649 reactionData = new G4DNAMolecularReactionData(
650 7.00e8 * (1e-3 * m3 / (mole * s)), Om, O3m);
651 reactionData->AddProduct(O2m);
652 reactionData->AddProduct(O2m);
653 if(fTimeStepModel != fSBS)
654 {
655 reactionData->SetReactionType(1);
656 }
657 theReactionTable->SetReaction(reactionData);
658
659 // Type VI
660 // First order reaction
661 //------------------------------------------------------------------
662 // O3- -> O- + O2
663 reactionData = new G4DNAMolecularReactionData(
664 2.66e3 / s, O3m,None);
665 reactionData->AddProduct(H3Op);
666 reactionData->AddProduct(O2m);
667 theReactionTable->SetReaction(reactionData);
668
669 // Scavenging reactions
670
671 //------------------------------------------------------------------
672 // HO2 + H2O -> H3O+ + O2-
673 reactionData = new G4DNAMolecularReactionData(
674 7.15e5 / s, HO2,H2OB);
675 reactionData->AddProduct(H3Op);
676 reactionData->AddProduct(O2m);
677 theReactionTable->SetReaction(reactionData);
678 //------------------------------------------------------------------
679 // H + H2O -> eaq- + H3O+ 5.94 / s
680 reactionData = new G4DNAMolecularReactionData(
681 5.94e0 / s, H,H2OB);
682 reactionData->AddProduct(e_aq);
683 reactionData->AddProduct(H3Op);
684 theReactionTable->SetReaction(reactionData);
685 //------------------------------------------------------------------
686 // eaq- + H2O -> H + OH- 15.8 / s
687 reactionData = new G4DNAMolecularReactionData(
688 1.58e1 / s, e_aq,H2OB);
689 reactionData->AddProduct(H);
690 reactionData->AddProduct(OHm);
691 theReactionTable->SetReaction(reactionData);
692 //------------------------------------------------------------------
693 // O2- + H2O -> HO2 + OH- 0.15 / s
694 reactionData = new G4DNAMolecularReactionData(
695 1.50e-1 / s, O2m,H2OB);
696 reactionData->AddProduct(HO2);
697 reactionData->AddProduct(OHm);
698 theReactionTable->SetReaction(reactionData);
699 //------------------------------------------------------------------
700 // HO2- + H2O -> H2O2 + OH- 1.36e6 / s
701 reactionData = new G4DNAMolecularReactionData(
702 1.36e6 / s, HO2m,H2OB);
703 reactionData->AddProduct(H2O2);
704 reactionData->AddProduct(OHm);
705 theReactionTable->SetReaction(reactionData);
706 //------------------------------------------------------------------
707 // O(3p) + H2O -> OH + OH 1.90e3 / s
708 reactionData = new G4DNAMolecularReactionData(
709 1.00e3 / s, O,H2OB);
710 reactionData->AddProduct(OH);
711 reactionData->AddProduct(OH);
712 theReactionTable->SetReaction(reactionData);
713 //------------------------------------------------------------------
714 // O- + H2O -> OH + OH- 1.36e6 / s
715 reactionData = new G4DNAMolecularReactionData(
716 1.36e6 / s, Om,H2OB);
717 reactionData->AddProduct(OH);
718 reactionData->AddProduct(OHm);
719 theReactionTable->SetReaction(reactionData);
720 //------------------------------------------------------------------
721 // eaq- + H3O+(B) -> H + H2O 2.09e3 / s
722 reactionData = new G4DNAMolecularReactionData(
723 2.09e3 / s, e_aq,H3OpB);
724 reactionData->AddProduct(H);
725 theReactionTable->SetReaction(reactionData);
726 //------------------------------------------------------------------
727 // O2- + H3O+(B) -> HO2 + H2O 4.73e3 / s
728 reactionData = new G4DNAMolecularReactionData(
729 4.73e3 / s, O2m,H3OpB);
730 reactionData->AddProduct(HO2);
731 theReactionTable->SetReaction(reactionData);
732 //------------------------------------------------------------------
733 // OH- + H3O+(B) -> 2H2O 1.11e4 / s
734 reactionData = new G4DNAMolecularReactionData(
735 1.12e4 / s, OHm,H3OpB);
736 theReactionTable->SetReaction(reactionData);
737
738 //------------------------------------------------------------------
739 // H3O+ + OH-(B) -> 2H2O 1.11e4 / s
740 // opposite description of OH- + H3O+(B) -> 2H2O
741 reactionData = new G4DNAMolecularReactionData(
742 1.12e4 / s, H3Op,OHmB);
743 theReactionTable->SetReaction(reactionData);
744 //------------------------------------------------------------------
745 // HO2- + H3O+(B) -> H2O2 + H2O 4.98e3 / s
746 reactionData = new G4DNAMolecularReactionData(
747 4.95e3 / s, HO2m,H3OpB);
748 reactionData->AddProduct(H2O2);
749 theReactionTable->SetReaction(reactionData);
750 //------------------------------------------------------------------
751 // O- + H3O+(B) -> OH + H2O 4.73e3 / s
752 reactionData = new G4DNAMolecularReactionData(
753 4.73e3 / s, Om,H3OpB);
754 reactionData->AddProduct(OH);
755 theReactionTable->SetReaction(reactionData);
756 //------------------------------------------------------------------
757 // O3- + H3O+(B) -> OH + O2 + H2O 8.91e3 / s
758 reactionData = new G4DNAMolecularReactionData(
759 8.91e3 / s, O3m,H3OpB);
760 reactionData->AddProduct(OH);
761 reactionData->AddProduct(O2);
762 theReactionTable->SetReaction(reactionData);
763 //------------------------------------------------------------------
764 // H + OH-(B) -> H2O + eaq- 2.49e3 / s
765 reactionData = new G4DNAMolecularReactionData(
766 2.48e0 / s, H,OHmB);
767 reactionData->AddProduct(e_aq);
768 theReactionTable->SetReaction(reactionData);
769 //------------------------------------------------------------------
770 // OH + OH-(B) -> O- + H2O 6.24e2 / s
771 reactionData = new G4DNAMolecularReactionData(
772 6.24e2 / s, OH,OHmB);
773 reactionData->AddProduct(Om);
774 theReactionTable->SetReaction(reactionData);
775 //------------------------------------------------------------------
776 // H2O2 + OH-(B) -> HO2- + H2O 4.66e2 / s
777 reactionData = new G4DNAMolecularReactionData(
778 4.66e1 / s, H2O2,OHmB);
779 reactionData->AddProduct(HO2m);
780 theReactionTable->SetReaction(reactionData);
781 //------------------------------------------------------------------
782 // HO2 + OH-(B) -> O2- + H2O 6.24e2 / s
783 reactionData = new G4DNAMolecularReactionData(
784 6.24e2 / s, HO2,OHmB);
785 reactionData->AddProduct(O2m);
786 theReactionTable->SetReaction(reactionData);
787 //------------------------------------------------------------------
788 // O(3p) + OH-(B) -> HO2- 4.16e1 / s
789 reactionData = new G4DNAMolecularReactionData(
790 4.16e1 / s, O,OHmB);
791 reactionData->AddProduct(HO2m);
792 theReactionTable->SetReaction(reactionData);
793 //------------------------------------------------------------------
794
795}
G4MolecularConfiguration * GetConfiguration(const G4String &, bool mustExist=true)

◆ ConstructTimeStepModel()

void G4EmDNAChemistry_option3::ConstructTimeStepModel ( G4DNAMolecularReactionTable * reactionTable)
overridevirtual

Implements G4VUserChemistryList.

Definition at line 882 of file G4EmDNAChemistry_option3.cc.

884{
885 if(fTimeStepModel == fIRT)
886 {
888 }else if(fTimeStepModel == fSBS)
889 {
891 }else if(fTimeStepModel == fIRT_syn)
892 {
894 }
895
896}
void RegisterTimeStepModel(G4VITStepModel *timeStepModel, G4double startingTime=0)

◆ SetTimeStepModel()

void G4EmDNAChemistry_option3::SetTimeStepModel ( const TimeStepModel & model)
inline

Definition at line 62 of file G4EmDNAChemistry_option3.hh.

63 {
64 fTimeStepModel = model;
65 }

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