File indexing completed on 2025-04-10 08:06:46
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028 #include "EmDNAChemistry.hh"
0029
0030 #include "G4DNAChemistryManager.hh"
0031 #include "G4DNAElectronHoleRecombination.hh"
0032 #include "G4DNAElectronSolvation.hh"
0033 #include "G4DNAIRT.hh"
0034 #include "G4DNAMolecularDissociation.hh"
0035 #include "G4DNAMolecularIRTModel.hh"
0036 #include "G4DNAMolecularReactionTable.hh"
0037 #include "G4DNASancheExcitationModel.hh"
0038 #include "G4DNAUeharaScreenedRutherfordElasticModel.hh"
0039 #include "G4DNAVibExcitation.hh"
0040 #include "G4DNAWaterDissociationDisplacer.hh"
0041 #include "G4DNAWaterExcitationStructure.hh"
0042 #include "G4PhysicalConstants.hh"
0043 #include "G4ProcessManager.hh"
0044 #include "G4SystemOfUnits.hh"
0045 #include "G4VDNAReactionModel.hh"
0046
0047 #include "G4Electron.hh"
0048 #include "G4Electron_aq.hh"
0049 #include "G4FakeMolecule.hh"
0050 #include "G4H2.hh"
0051 #include "G4H2O.hh"
0052 #include "G4H2O2.hh"
0053 #include "G4H3O.hh"
0054 #include "G4HO2.hh"
0055 #include "G4Hydrogen.hh"
0056 #include "G4MoleculeTable.hh"
0057 #include "G4O2.hh"
0058 #include "G4O3.hh"
0059 #include "G4OH.hh"
0060 #include "G4Oxygen.hh"
0061 #include "G4PhysicsListHelper.hh"
0062
0063 #include "G4MolecularConfiguration.hh"
0064 #include "G4ProcessTable.hh"
0065
0066
0067 #include "G4PhysicsConstructorFactory.hh"
0068 namespace scavenger
0069 {
0070
0071 G4_DECLARE_PHYSCONSTR_FACTORY(EmDNAChemistry);
0072
0073
0074
0075 EmDNAChemistry::EmDNAChemistry()
0076 : G4VUserChemistryList(true),
0077 G4UImessenger(),
0078 fpParserDir(new G4UIdirectory("/chem/reactionTable/")),
0079 fpReactionTableNameCmd(new G4UIcmdWithAString("/chem/reactionTable/name", this))
0080 {
0081 G4DNAChemistryManager::Instance()->SetChemistryList(this);
0082 fpParserDir->SetGuidance("Chemistry control");
0083 fpReactionTableNameCmd->SetGuidance("Name of the chemical reaction table");
0084 }
0085
0086
0087
0088 void EmDNAChemistry::SetNewValue(G4UIcommand* command, G4String newValue)
0089 {
0090 if (command == fpReactionTableNameCmd.get()) {
0091 fReactionTableName = newValue;
0092 }
0093 }
0094
0095
0096
0097 void EmDNAChemistry::ConstructMolecule()
0098 {
0099
0100 G4H2O::Definition();
0101 G4Hydrogen::Definition();
0102 G4H3O::Definition();
0103 G4OH::Definition();
0104 G4Electron_aq::Definition();
0105 G4H2O2::Definition();
0106 G4H2::Definition();
0107 G4Oxygen::Definition();
0108 G4HO2::Definition();
0109 G4O2::Definition();
0110 G4O3::Definition();
0111
0112 auto G4NO2 = new G4MoleculeDefinition("NO_2",
0113 46.0055 * g / Avogadro * c_squared,
0114 1.7e-9 * (m * m / s),
0115 0,
0116 0,
0117 0.35 * nm);
0118
0119 auto G4NO3 = new G4MoleculeDefinition("NO_3",
0120 62.0049 * g / Avogadro * c_squared,
0121 1.7e-9 * (m * m / s),
0122 0,
0123 0,
0124 0.35 * nm);
0125
0126
0127
0128 G4MoleculeTable::Instance()->CreateConfiguration("H3Op", G4H3O::Definition());
0129 G4MoleculeTable::Instance()->GetConfiguration("H3Op")->SetDiffusionCoefficient(9.46e-9
0130 * (m2 / s));
0131 G4MoleculeTable::Instance()->GetConfiguration("H3Op")->SetVanDerVaalsRadius(0.25 * nm);
0132
0133 G4MoleculeTable::Instance()->CreateConfiguration("OH", G4OH::Definition());
0134 G4MoleculeTable::Instance()->GetConfiguration("OH")->SetDiffusionCoefficient(2.2e-9 * (m2 / s));
0135 G4MoleculeTable::Instance()->GetConfiguration("OH")->SetVanDerVaalsRadius(0.22 * nm);
0136
0137 G4MolecularConfiguration* OHm = G4MoleculeTable::Instance()->CreateConfiguration(
0138 "OHm",
0139
0140 G4OH::Definition(),
0141 -1,
0142 5.3e-9 * (m2 / s));
0143 OHm->SetMass(17.0079 * g / Avogadro * c_squared);
0144 OHm->SetVanDerVaalsRadius(0.33 * nm);
0145
0146 G4MoleculeTable::Instance()->CreateConfiguration("e_aq", G4Electron_aq::Definition());
0147 G4MoleculeTable::Instance()->GetConfiguration("e_aq")->SetVanDerVaalsRadius(0.50 * nm);
0148
0149 G4MoleculeTable::Instance()->CreateConfiguration("H", G4Hydrogen::Definition());
0150 G4MoleculeTable::Instance()->GetConfiguration("H")->SetVanDerVaalsRadius(0.19 * nm);
0151
0152 G4MoleculeTable::Instance()->CreateConfiguration("H2", G4H2::Definition());
0153 G4MoleculeTable::Instance()->GetConfiguration("H2")->SetDiffusionCoefficient(4.8e-9 * (m2 / s));
0154 G4MoleculeTable::Instance()->GetConfiguration("H2")->SetVanDerVaalsRadius(0.14 * nm);
0155
0156 G4MoleculeTable::Instance()->CreateConfiguration("H2O2", G4H2O2::Definition());
0157 G4MoleculeTable::Instance()->GetConfiguration("H2O2")->SetDiffusionCoefficient(2.3e-9 * (m2 / s));
0158 G4MoleculeTable::Instance()->GetConfiguration("H2O2")->SetVanDerVaalsRadius(0.21 * nm);
0159
0160
0161
0162 G4MoleculeTable::Instance()->CreateConfiguration("HO2", G4HO2::Definition());
0163 G4MoleculeTable::Instance()->GetConfiguration("HO2")->SetVanDerVaalsRadius(0.21 * nm);
0164
0165 auto HO2m = G4MoleculeTable::Instance()->CreateConfiguration(
0166 "HO2m",
0167
0168 G4HO2::Definition(),
0169 -1,
0170 1.4e-9 * (m2 / s));
0171 HO2m->SetMass(33.00396 * g / Avogadro * c_squared);
0172 HO2m->SetVanDerVaalsRadius(0.25 * nm);
0173
0174
0175 G4MoleculeTable::Instance()->CreateConfiguration("Oxy", G4Oxygen::Definition());
0176 G4MoleculeTable::Instance()->GetConfiguration("Oxy")->SetVanDerVaalsRadius(0.20 * nm);
0177
0178 G4MolecularConfiguration* Om =
0179 G4MoleculeTable::Instance()->CreateConfiguration("Om",
0180
0181 G4Oxygen::Definition(),
0182 -1,
0183 2.0e-9 * (m2 / s));
0184 Om->SetMass(15.99829 * g / Avogadro * c_squared);
0185 Om->SetVanDerVaalsRadius(0.25 * nm);
0186
0187 G4MoleculeTable::Instance()->CreateConfiguration("O2", G4O2::Definition());
0188 G4MoleculeTable::Instance()->GetConfiguration("O2")->SetVanDerVaalsRadius(0.17 * nm);
0189
0190 auto O2m = G4MoleculeTable::Instance()->CreateConfiguration(
0191 "O2m",
0192
0193 G4O2::Definition(),
0194 -1,
0195 1.75e-9 * (m2 / s));
0196 O2m->SetMass(31.99602 * g / Avogadro * c_squared);
0197 O2m->SetVanDerVaalsRadius(0.22 * nm);
0198
0199 G4MoleculeTable::Instance()->CreateConfiguration("O3", G4O3::Definition());
0200 G4MoleculeTable::Instance()->GetConfiguration("O3")->SetVanDerVaalsRadius(0.20 * nm);
0201
0202 auto O3m = G4MoleculeTable::Instance()->CreateConfiguration(
0203 "O3m",
0204
0205 G4O3::Definition(),
0206 -1,
0207 2.0e-9 * (m2 / s));
0208 O3m->SetMass(47.99375 * g / Avogadro * c_squared);
0209 O3m->SetVanDerVaalsRadius(0.20 * nm);
0210
0211 G4MoleculeTable::Instance()->CreateConfiguration("H2O(B)",
0212
0213 G4H2O::Definition(),
0214 0,
0215 0 * (m2 / s));
0216
0217 G4MoleculeTable::Instance()->CreateConfiguration("H3Op(B)",
0218
0219 G4H3O::Definition(),
0220 1,
0221 0 * (m2 / s));
0222
0223 G4MoleculeTable::Instance()->CreateConfiguration("OHm(B)",
0224
0225 G4OH::Definition(),
0226 -1,
0227 0 * (m2 / s));
0228
0229 G4MoleculeTable::Instance()->CreateConfiguration("O2(B)",
0230
0231 G4O2::Definition(),
0232 0,
0233 0 * (m2 / s));
0234
0235 G4MoleculeTable::Instance()->CreateConfiguration("NO2m(B)",
0236
0237 G4NO2,
0238 -1,
0239 0 * (m2 / s));
0240
0241 G4MoleculeTable::Instance()->CreateConfiguration("NO3m(B)",
0242
0243 G4NO3,
0244 -1,
0245 0 * (m2 / s));
0246
0247
0248 G4MoleculeTable::Instance()->CreateConfiguration("NoneM", G4FakeMolecule::Definition());
0249 }
0250
0251
0252
0253 void EmDNAChemistry::ConstructDissociationChannels()
0254 {
0255
0256
0257 auto OH = G4MoleculeTable::Instance()->GetConfiguration("OH");
0258 auto OHm = G4MoleculeTable::Instance()->GetConfiguration("OHm");
0259 auto e_aq = G4MoleculeTable::Instance()->GetConfiguration("e_aq");
0260 auto H2 = G4MoleculeTable::Instance()->GetConfiguration("H2");
0261 auto H3O = G4MoleculeTable::Instance()->GetConfiguration("H3Op");
0262 auto H = G4MoleculeTable::Instance()->GetConfiguration("H");
0263
0264
0265
0266 auto* water = G4H2O::Definition();
0267 G4MolecularDissociationChannel* decCh1;
0268 G4MolecularDissociationChannel* decCh2;
0269
0270 auto occ = new G4ElectronOccupancy(*(water->GetGroundStateElectronOccupancy()));
0271
0272
0273
0274
0275 G4DNAWaterExcitationStructure waterExcitation;
0276
0277
0278
0279 decCh1 = new G4MolecularDissociationChannel("A^1B_1_Relaxation");
0280 decCh2 = new G4MolecularDissociationChannel("A^1B_1_DissociativeDecay");
0281
0282 decCh1->SetEnergy(waterExcitation.ExcitationEnergy(0));
0283 decCh1->SetProbability(0.35);
0284 decCh1->SetDisplacementType(G4DNAWaterDissociationDisplacer::NoDisplacement);
0285
0286 decCh2->AddProduct(OH);
0287 decCh2->AddProduct(H);
0288 decCh2->SetProbability(0.65);
0289 decCh2->SetDisplacementType(G4DNAWaterDissociationDisplacer::A1B1_DissociationDecay);
0290
0291
0292 occ->RemoveElectron(4, 1);
0293 occ->AddElectron(5, 1);
0294
0295 water->NewConfigurationWithElectronOccupancy("A^1B_1", *occ);
0296 water->AddDecayChannel("A^1B_1", decCh1);
0297 water->AddDecayChannel("A^1B_1", decCh2);
0298
0299
0300
0301 decCh1 = new G4MolecularDissociationChannel("B^1A_1_Relaxation_Channel");
0302 decCh2 = new G4MolecularDissociationChannel("B^1A_1_DissociativeDecay");
0303 auto decCh3 = new G4MolecularDissociationChannel("B^1A_1_AutoIonisation_Channel");
0304
0305
0306 decCh1->SetEnergy(waterExcitation.ExcitationEnergy(1));
0307 decCh1->SetProbability(0.3);
0308
0309
0310 decCh2->AddProduct(H2);
0311 decCh2->AddProduct(OH);
0312 decCh2->AddProduct(OH);
0313 decCh2->SetProbability(0.15);
0314 decCh2->SetDisplacementType(G4DNAWaterDissociationDisplacer::B1A1_DissociationDecay);
0315
0316
0317 decCh3->AddProduct(OH);
0318 decCh3->AddProduct(H3O);
0319 decCh3->AddProduct(e_aq);
0320 decCh3->SetProbability(0.55);
0321 decCh3->SetDisplacementType(G4DNAWaterDissociationDisplacer::AutoIonisation);
0322
0323 *occ = *(water->GetGroundStateElectronOccupancy());
0324 occ->RemoveElectron(3);
0325 occ->AddElectron(5, 1);
0326
0327 water->NewConfigurationWithElectronOccupancy("B^1A_1", *occ);
0328 water->AddDecayChannel("B^1A_1", decCh1);
0329 water->AddDecayChannel("B^1A_1", decCh2);
0330 water->AddDecayChannel("B^1A_1", decCh3);
0331
0332
0333
0334 decCh1 = new G4MolecularDissociationChannel("Excitation3rdLayer_AutoIonisation_Channel");
0335 decCh2 = new G4MolecularDissociationChannel("Excitation3rdLayer_Relaxation_Channel");
0336
0337
0338 decCh1->AddProduct(OH);
0339 decCh1->AddProduct(H3O);
0340 decCh1->AddProduct(e_aq);
0341
0342 decCh1->SetProbability(0.5);
0343 decCh1->SetDisplacementType(G4DNAWaterDissociationDisplacer::AutoIonisation);
0344
0345
0346 decCh2->SetEnergy(waterExcitation.ExcitationEnergy(2));
0347 decCh2->SetProbability(0.5);
0348
0349
0350 *occ = *(water->GetGroundStateElectronOccupancy());
0351 occ->RemoveElectron(2, 1);
0352 occ->AddElectron(5, 1);
0353
0354
0355 water->NewConfigurationWithElectronOccupancy("Excitation3rdLayer", *occ);
0356 water->AddDecayChannel("Excitation3rdLayer", decCh1);
0357 water->AddDecayChannel("Excitation3rdLayer", decCh2);
0358
0359
0360
0361 decCh1 = new G4MolecularDissociationChannel("Excitation2ndLayer_AutoIonisation_Channel");
0362 decCh2 = new G4MolecularDissociationChannel("Excitation2ndLayer_Relaxation_Channel");
0363
0364
0365 decCh1->AddProduct(OH);
0366 decCh1->AddProduct(H3O);
0367 decCh1->AddProduct(e_aq);
0368
0369 decCh1->SetProbability(0.5);
0370 decCh1->SetDisplacementType(G4DNAWaterDissociationDisplacer::AutoIonisation);
0371
0372
0373 decCh2->SetEnergy(waterExcitation.ExcitationEnergy(3));
0374 decCh2->SetProbability(0.5);
0375
0376 *occ = *(water->GetGroundStateElectronOccupancy());
0377 occ->RemoveElectron(1, 1);
0378 occ->AddElectron(5, 1);
0379
0380 water->NewConfigurationWithElectronOccupancy("Excitation2ndLayer", *occ);
0381 water->AddDecayChannel("Excitation2ndLayer", decCh1);
0382 water->AddDecayChannel("Excitation2ndLayer", decCh2);
0383
0384
0385
0386 decCh1 = new G4MolecularDissociationChannel("Excitation1stLayer_AutoIonisation_Channel");
0387 decCh2 = new G4MolecularDissociationChannel("Excitation1stLayer_Relaxation_Channel");
0388
0389 *occ = *(water->GetGroundStateElectronOccupancy());
0390 occ->RemoveElectron(0, 1);
0391 occ->AddElectron(5, 1);
0392
0393
0394 decCh1->AddProduct(OH);
0395 decCh1->AddProduct(H3O);
0396 decCh1->AddProduct(e_aq);
0397 decCh1->SetProbability(0.5);
0398 decCh1->SetDisplacementType(G4DNAWaterDissociationDisplacer::AutoIonisation);
0399
0400
0401 decCh2->SetEnergy(waterExcitation.ExcitationEnergy(4));
0402 decCh2->SetProbability(0.5);
0403
0404 water->NewConfigurationWithElectronOccupancy("Excitation1stLayer", *occ);
0405 water->AddDecayChannel("Excitation1stLayer", decCh1);
0406 water->AddDecayChannel("Excitation1stLayer", decCh2);
0407
0408
0409
0410
0411
0412
0413
0414 decCh1 = new G4MolecularDissociationChannel("Ionisation_Channel");
0415
0416
0417 decCh1->AddProduct(H3O);
0418 decCh1->AddProduct(OH);
0419 decCh1->SetProbability(1);
0420 decCh1->SetDisplacementType(G4DNAWaterDissociationDisplacer::Ionisation_DissociationDecay);
0421
0422 *occ = *(water->GetGroundStateElectronOccupancy());
0423 occ->RemoveElectron(4, 1);
0424
0425 water->NewConfigurationWithElectronOccupancy("Ionisation5", *occ);
0426 water->AddDecayChannel("Ionisation5", decCh1);
0427
0428 *occ = *(water->GetGroundStateElectronOccupancy());
0429 occ->RemoveElectron(3, 1);
0430 water->NewConfigurationWithElectronOccupancy("Ionisation4", *occ);
0431 water->AddDecayChannel("Ionisation4", new G4MolecularDissociationChannel(*decCh1));
0432
0433 *occ = *(water->GetGroundStateElectronOccupancy());
0434 occ->RemoveElectron(2, 1);
0435 water->NewConfigurationWithElectronOccupancy("Ionisation3", *occ);
0436 water->AddDecayChannel("Ionisation3", new G4MolecularDissociationChannel(*decCh1));
0437
0438 *occ = *(water->GetGroundStateElectronOccupancy());
0439 occ->RemoveElectron(1, 1);
0440 water->NewConfigurationWithElectronOccupancy("Ionisation2", *occ);
0441 water->AddDecayChannel("Ionisation2", new G4MolecularDissociationChannel(*decCh1));
0442
0443 *occ = *(water->GetGroundStateElectronOccupancy());
0444 occ->RemoveElectron(0, 1);
0445 water->NewConfigurationWithElectronOccupancy("Ionisation1", *occ);
0446 water->AddDecayChannel("Ionisation1", new G4MolecularDissociationChannel(*decCh1));
0447
0448
0449
0450
0451 decCh1 = new G4MolecularDissociationChannel("DissociativeAttachment");
0452
0453
0454 decCh1->AddProduct(H2);
0455 decCh1->AddProduct(OHm);
0456 decCh1->AddProduct(OH);
0457 decCh1->SetProbability(1);
0458 decCh1->SetDisplacementType(G4DNAWaterDissociationDisplacer::DissociativeAttachment);
0459
0460 *occ = *(water->GetGroundStateElectronOccupancy());
0461 occ->AddElectron(5, 1);
0462 water->NewConfigurationWithElectronOccupancy("DissociativeAttachment", *occ);
0463 water->AddDecayChannel("DissociativeAttachment", decCh1);
0464
0465
0466
0467
0468 decCh1 = new G4MolecularDissociationChannel("H2Ovib_DissociationDecay1");
0469 decCh2 = new G4MolecularDissociationChannel("H2Ovib_DissociationDecay2");
0470 decCh3 = new G4MolecularDissociationChannel("H2Ovib_DissociationDecay3");
0471
0472
0473 decCh1->AddProduct(H2);
0474 decCh1->AddProduct(OH);
0475 decCh1->AddProduct(OH);
0476 decCh1->SetProbability(0.15);
0477 decCh1->SetDisplacementType(G4DNAWaterDissociationDisplacer::B1A1_DissociationDecay);
0478
0479
0480 decCh2->AddProduct(OH);
0481 decCh2->AddProduct(H);
0482 decCh2->SetProbability(0.55);
0483 decCh2->SetDisplacementType(G4DNAWaterDissociationDisplacer::A1B1_DissociationDecay);
0484
0485
0486 decCh3->SetProbability(0.30);
0487
0488 const auto pH2Ovib = G4H2O::Definition()->NewConfiguration("H2Ovib");
0489 assert(pH2Ovib != nullptr);
0490
0491 water->AddDecayChannel(pH2Ovib, decCh1);
0492 water->AddDecayChannel(pH2Ovib, decCh2);
0493 water->AddDecayChannel(pH2Ovib, decCh3);
0494
0495 delete occ;
0496 }
0497
0498
0499
0500 void EmDNAChemistry::ConstructReactionTable(G4DNAMolecularReactionTable* theReactionTable)
0501 {
0502
0503 ParserChemReaction parser;
0504 parser.ReadReactionFile(fReactionTableName);
0505
0506 auto ListReactant1 = parser.GetListReactant1();
0507 auto ListReactant2 = parser.GetListReactant2();
0508 auto ListProduct = parser.GetListProduct();
0509 auto ListRate = parser.GetListRate();
0510
0511 const G4int Ntype = 5;
0512 for (size_t i = 0; i < Ntype; i++) {
0513 for (size_t j = 0; j < ListReactant1[i].size(); j++) {
0514 G4MolecularConfiguration* Reactant1 =
0515 G4MoleculeTable::Instance()->GetConfiguration(ListReactant1[i][j]);
0516 G4MolecularConfiguration* Reactant2 =
0517 G4MoleculeTable::Instance()->GetConfiguration(ListReactant2[i][j]);
0518
0519 auto pReactionData = new G4DNAMolecularReactionData(ListRate[i][j], Reactant1, Reactant2);
0520
0521 for (size_t k = 0; k < ListProduct[i][j].size(); k++) {
0522 G4MolecularConfiguration* Product =
0523 G4MoleculeTable::Instance()->GetConfiguration(ListProduct[i][j][k]);
0524 pReactionData->AddProduct(Product);
0525 }
0526
0527 if (i == 1 || i == 3) {
0528 pReactionData->SetReactionType(1);
0529 }
0530
0531 theReactionTable->SetReaction(pReactionData);
0532 }
0533 }
0534 }
0535
0536
0537
0538 void EmDNAChemistry::ConstructProcess()
0539 {
0540 auto ph = G4PhysicsListHelper::GetPhysicsListHelper();
0541 G4VProcess* process =
0542 G4ProcessTable::GetProcessTable()->FindProcess("e-_G4DNAVibExcitation", "e-");
0543 if (process) {
0544 auto vibExcitation = (G4DNAVibExcitation*)process;
0545 G4VEmModel* model = vibExcitation->EmModel();
0546 auto sancheExcitationMod = dynamic_cast<G4DNASancheExcitationModel*>(model);
0547 if (sancheExcitationMod) {
0548 sancheExcitationMod->ExtendLowEnergyLimit(0.025 * eV);
0549 }
0550 }
0551 process = G4ProcessTable::GetProcessTable()->FindProcess("e-_G4DNAElectronSolvation", "e-");
0552
0553 if (process == nullptr) {
0554 ph->RegisterProcess(new G4DNAElectronSolvation("e-_G4DNAElectronSolvation"),
0555 G4Electron::Definition());
0556 }
0557 auto* theMoleculeTable = G4MoleculeTable::Instance();
0558 G4MoleculeDefinitionIterator iterator = theMoleculeTable->GetDefintionIterator();
0559 iterator.reset();
0560 while (iterator()) {
0561 G4MoleculeDefinition* moleculeDef = iterator.value();
0562 if (moleculeDef == G4H2O::Definition()) {
0563 moleculeDef->GetProcessManager()->AddRestProcess(new G4DNAElectronHoleRecombination(), 2);
0564
0565 auto dissociationProcess = new G4DNAMolecularDissociation("H2O_DNAMolecularDecay");
0566 dissociationProcess->SetDisplacer(moleculeDef, new G4DNAWaterDissociationDisplacer);
0567
0568 moleculeDef->GetProcessManager()->AddRestProcess(dissociationProcess, 1);
0569 }
0570 }
0571 G4DNAChemistryManager::Instance()->Initialize();
0572 }
0573
0574
0575
0576 void EmDNAChemistry::ConstructTimeStepModel(G4DNAMolecularReactionTable*
0577 )
0578 {
0579 auto irt = new G4DNAMolecularIRTModel();
0580 RegisterTimeStepModel(irt, 0);
0581 }
0582
0583
0584
0585 }