Warning, file /geant4/examples/advanced/dna/dsbandrepair/src/G4EmDNAChemistry_option3_Extended.cc was not indexed
or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
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
0029
0030 #include "G4EmDNAChemistry_option3_Extended.hh"
0031
0032 #include "G4DNAMolecule.hh"
0033 #include "G4MoleculeTable.hh"
0034
0035
0036 #include "G4H2O.hh"
0037 #include "G4H2.hh"
0038 #include "G4Hydrogen.hh"
0039 #include "G4OH.hh"
0040 #include "G4H3O.hh"
0041 #include "G4Electron_aq.hh"
0042
0043 #include "G4H2O2.hh"
0044 #include "G4O2.hh"
0045 #include "G4HO2.hh"
0046
0047 #include "G4PhysicalConstants.hh"
0048 #include "G4SystemOfUnits.hh"
0049 #include "G4DNAIndependentReactionTimeModel.hh"
0050 #include "G4DNAMolecularReactionTable.hh"
0051
0052 #include "G4ChemicalMoleculeFinder.hh"
0053
0054 #include "G4PhysicsConstructorFactory.hh"
0055
0056 G4_DECLARE_PHYSCONSTR_FACTORY(G4EmDNAChemistry_option3_Extended);
0057
0058 void G4EmDNAChemistry_option3_Extended::ConstructParticle()
0059 {
0060 ConstructMolecule();
0061
0062 G4Deoxyribose::Definition();
0063 G4Phosphate::Definition();
0064 G4Adenine::Definition();
0065 G4Guanine::Definition();
0066 G4Thymine::Definition();
0067 G4Cytosine::Definition();
0068 G4Histone::Definition();
0069
0070 G4DamagedDeoxyribose::Definition();
0071 G4DamagedAdenine::Definition();
0072 G4DamagedGuanine::Definition();
0073 G4DamagedThymine::Definition();
0074 G4DamagedCytosine::Definition();
0075 G4ModifiedHistone::Definition();
0076
0077 auto table = G4MoleculeTable::Instance();
0078 table->CreateConfiguration("Deoxyribose",G4Deoxyribose::Definition());
0079 table->CreateConfiguration("Phosphate",G4Phosphate::Definition());
0080 table->CreateConfiguration("Adenine",G4Adenine::Definition());
0081 table->CreateConfiguration("Thymine",G4Thymine::Definition());
0082 table->CreateConfiguration("Guanine",G4Guanine::Definition());
0083 table->CreateConfiguration("Cytosine",G4Cytosine::Definition());
0084 table->CreateConfiguration("Histone",G4Histone::Definition());
0085
0086
0087
0088 table->CreateConfiguration("Damaged_Deoxyribose",
0089 G4DamagedDeoxyribose::Definition());
0090 table->CreateConfiguration("Damaged_Adenine",
0091 G4DamagedAdenine::Definition());
0092 table->CreateConfiguration("Damaged_Thymine",
0093 G4DamagedThymine::Definition());
0094 table->CreateConfiguration("Damaged_Guanine",
0095 G4DamagedGuanine::Definition());
0096 table->CreateConfiguration("Damaged_Cytosine",
0097 G4DamagedCytosine::Definition());
0098 }
0099
0100
0101
0102 void G4EmDNAChemistry_option3_Extended::ConstructReactionTable(
0103 G4DNAMolecularReactionTable* theReactionTable)
0104 {
0105 G4EmDNAChemistry_option3::ConstructReactionTable(theReactionTable);
0106
0107
0108 auto table = G4MoleculeTable::Instance();
0109 G4MolecularConfiguration* OH = table->GetConfiguration("°OH");
0110 G4MolecularConfiguration* OHm = table->GetConfiguration("OHm");
0111 G4MolecularConfiguration* e_aq = table->GetConfiguration("e_aq");
0112 G4MolecularConfiguration* H2 = table->GetConfiguration("H2");
0113 G4MolecularConfiguration* H3Op = table->GetConfiguration("H3Op");
0114 G4MolecularConfiguration* H = table->GetConfiguration("H");
0115 G4MolecularConfiguration* H2O2 = table->GetConfiguration("H2O2");
0116
0117
0118 G4MolecularConfiguration* deoxyribose = table->GetConfiguration("Deoxyribose");
0119 G4MolecularConfiguration* adenine = table->GetConfiguration("Adenine");
0120 G4MolecularConfiguration* guanine = table->GetConfiguration("Guanine");
0121 G4MolecularConfiguration* thymine = table->GetConfiguration("Thymine");
0122 G4MolecularConfiguration* cytosine = table->GetConfiguration("Cytosine");
0123 G4MolecularConfiguration* histone = table->GetConfiguration("Histone");
0124
0125 G4MolecularConfiguration* damage_deoxyribose = table->GetConfiguration("Damaged_Deoxyribose");
0126 G4MolecularConfiguration* damage_adenine = table->GetConfiguration("Damaged_Adenine");
0127 G4MolecularConfiguration* damage_guanine = table->GetConfiguration("Damaged_Guanine");
0128 G4MolecularConfiguration* damage_thymine = table->GetConfiguration("Damaged_Thymine");
0129 G4MolecularConfiguration* damage_cytosine = table->GetConfiguration("Damaged_Cytosine");
0130
0131
0132
0133
0134
0135 G4DNAMolecularReactionData* reactionData = new G4DNAMolecularReactionData(
0136 1.80e9*(1e-3*m3/(mole*s)), deoxyribose, OH);
0137 reactionData->AddProduct(damage_deoxyribose);
0138 reactionData->SetReactionType(1);
0139 theReactionTable->SetReaction(reactionData);
0140
0141
0142 reactionData = new G4DNAMolecularReactionData(
0143 6.10e9*(1e-3*m3/(mole*s)), adenine, OH);
0144 reactionData->AddProduct(damage_adenine);
0145 reactionData->SetReactionType(1);
0146 theReactionTable->SetReaction(reactionData);
0147
0148
0149 reactionData = new G4DNAMolecularReactionData(
0150 9.20e9*(1e-3*m3/(mole*s)), guanine, OH);
0151 reactionData->AddProduct(damage_guanine);
0152 reactionData->SetReactionType(1);
0153 theReactionTable->SetReaction(reactionData);
0154
0155
0156 reactionData = new G4DNAMolecularReactionData(
0157 6.40e9*(1e-3*m3/(mole*s)), thymine, OH);
0158 reactionData->AddProduct(damage_thymine);
0159 reactionData->SetReactionType(1);
0160 theReactionTable->SetReaction(reactionData);
0161
0162
0163 reactionData = new G4DNAMolecularReactionData(
0164 6.10e9*(1e-3*m3/(mole*s)), cytosine, OH);
0165 reactionData->AddProduct(damage_cytosine);
0166 reactionData->SetReactionType(1);
0167 theReactionTable->SetReaction(reactionData);
0168
0169
0170
0171
0172 reactionData = new G4DNAMolecularReactionData(
0173 0.01e9*(1e-3*m3/(mole*s)), deoxyribose, e_aq);
0174 reactionData->AddProduct(damage_deoxyribose);
0175 reactionData->SetReactionType(1);
0176 theReactionTable->SetReaction(reactionData);
0177
0178
0179 reactionData = new G4DNAMolecularReactionData(
0180 9e9*(1e-3*m3/(mole*s)), adenine, e_aq);
0181 reactionData->AddProduct(damage_adenine);
0182 reactionData->SetReactionType(1);
0183 theReactionTable->SetReaction(reactionData);
0184
0185
0186 reactionData = new G4DNAMolecularReactionData(
0187 14e9*(1e-3*m3/(mole*s)), guanine, e_aq);
0188 reactionData->AddProduct(damage_guanine);
0189 reactionData->SetReactionType(1);
0190 theReactionTable->SetReaction(reactionData);
0191
0192
0193 reactionData = new G4DNAMolecularReactionData(
0194 18e9*(1e-3*m3/(mole*s)), thymine, e_aq);
0195 reactionData->AddProduct(damage_thymine);
0196 reactionData->SetReactionType(1);
0197 theReactionTable->SetReaction(reactionData);
0198
0199
0200 reactionData = new G4DNAMolecularReactionData(
0201 13e9*(1e-3*m3/(mole*s)), cytosine, e_aq);
0202 reactionData->AddProduct(damage_cytosine);
0203 reactionData->SetReactionType(1);
0204 theReactionTable->SetReaction(reactionData);
0205
0206
0207
0208
0209 reactionData = new G4DNAMolecularReactionData(
0210 0.029e9*(1e-3*m3/(mole*s)), deoxyribose, H);
0211 reactionData->AddProduct(damage_deoxyribose);
0212 reactionData->SetReactionType(1);
0213 theReactionTable->SetReaction(reactionData);
0214
0215
0216 reactionData = new G4DNAMolecularReactionData(
0217 0.10e9*(1e-3*m3/(mole*s)), adenine, H);
0218 reactionData->AddProduct(damage_adenine);
0219 reactionData->SetReactionType(1);
0220 theReactionTable->SetReaction(reactionData);
0221
0222
0223 reactionData = new G4DNAMolecularReactionData(
0224 0.57e9*(1e-3*m3/(mole*s)), thymine, H);
0225 reactionData->AddProduct(damage_thymine);
0226 reactionData->SetReactionType(1);
0227 theReactionTable->SetReaction(reactionData);
0228
0229
0230 reactionData = new G4DNAMolecularReactionData(
0231 0.092e9*(1e-3*m3/(mole*s)), cytosine, H);
0232 reactionData->AddProduct(damage_cytosine);
0233 reactionData->SetReactionType(1);
0234 theReactionTable->SetReaction(reactionData);
0235
0236
0237
0238 reactionData = new G4DNAMolecularReactionData(
0239 0.0*(1e-3*m3/(mole*s)), histone, OH);
0240 reactionData->AddProduct(histone);
0241 reactionData->SetEffectiveReactionRadius(
0242 2.4*nm + G4OH::Definition()->GetVanDerVaalsRadius());
0243 reactionData->SetReactionType(1);
0244 theReactionTable->SetReaction(reactionData);
0245
0246 reactionData = new G4DNAMolecularReactionData(
0247 0.0*(1e-3*m3/(mole*s)), histone, OHm);
0248 reactionData->AddProduct(histone);
0249 reactionData->SetEffectiveReactionRadius(
0250 2.4*nm + G4OH::Definition()->GetVanDerVaalsRadius());
0251 reactionData->SetReactionType(1);
0252 theReactionTable->SetReaction(reactionData);
0253
0254 reactionData = new G4DNAMolecularReactionData(
0255 0.0*(1e-3*m3/(mole*s)), histone, e_aq);
0256 reactionData->AddProduct(histone);
0257 reactionData->SetEffectiveReactionRadius(
0258 2.4*nm + G4Electron_aq::Definition()->GetVanDerVaalsRadius());
0259 reactionData->SetReactionType(1);
0260 theReactionTable->SetReaction(reactionData);
0261
0262 reactionData = new G4DNAMolecularReactionData(
0263 0.0*(1e-3*m3/(mole*s)), histone, H2);
0264 reactionData->AddProduct(histone);
0265 reactionData->SetEffectiveReactionRadius(
0266 2.4*nm + G4H2::Definition()->GetVanDerVaalsRadius());
0267 reactionData->SetReactionType(1);
0268 theReactionTable->SetReaction(reactionData);
0269
0270 reactionData = new G4DNAMolecularReactionData(
0271 0.0*(1e-3*m3/(mole*s)), histone, H3Op);
0272 reactionData->AddProduct(histone);
0273 reactionData->SetEffectiveReactionRadius(
0274 2.4*nm + G4H3O::Definition()->GetVanDerVaalsRadius());
0275 reactionData->SetReactionType(1);
0276 theReactionTable->SetReaction(reactionData);
0277
0278 reactionData = new G4DNAMolecularReactionData(
0279 0.0*(1e-3*m3/(mole*s)), histone, H);
0280 reactionData->AddProduct(histone);
0281 reactionData->SetEffectiveReactionRadius(
0282 2.4*nm + G4Hydrogen::Definition()->GetVanDerVaalsRadius());
0283 reactionData->SetReactionType(1);
0284 theReactionTable->SetReaction(reactionData);
0285
0286 reactionData = new G4DNAMolecularReactionData(
0287 0.0*(1e-3*m3/(mole*s)), histone, H2O2);
0288 reactionData->AddProduct(histone);
0289 reactionData->SetEffectiveReactionRadius(
0290 2.4*nm + G4H2O2::Definition()->GetVanDerVaalsRadius());
0291 reactionData->SetReactionType(1);
0292 theReactionTable->SetReaction(reactionData);
0293 }
0294