File indexing completed on 2026-05-19 07:40: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
0029 #include "ChemPureWaterBuilder.hh"
0030
0031 #include "G4DNAMolecularReactionTable.hh"
0032 #include "G4MoleculeTable.hh"
0033 #include "G4SystemOfUnits.hh"
0034
0035
0036 void ChemPureWaterBuilder::WaterScavengerReaction(G4DNAMolecularReactionTable* pReactionTable)
0037 {
0038
0039 auto table = G4MoleculeTable::Instance();
0040
0041 G4MolecularConfiguration* OH = table->GetConfiguration("°OH");
0042 G4MolecularConfiguration* OHm = table->GetConfiguration("OHm");
0043 G4MolecularConfiguration* H3Op = table->GetConfiguration("H3Op");
0044 G4MolecularConfiguration* e_aq = table->GetConfiguration("e_aq");
0045 G4MolecularConfiguration* H = table->GetConfiguration("H");
0046 G4MolecularConfiguration* H2O2 = table->GetConfiguration("H2O2");
0047 G4MolecularConfiguration* HO2 = table->GetConfiguration("HO2°");
0048 G4MolecularConfiguration* HO2m = table->GetConfiguration("HO2m");
0049 G4MolecularConfiguration* Om = table->GetConfiguration("Om");
0050 G4MolecularConfiguration* O2 = table->GetConfiguration("O2");
0051 G4MolecularConfiguration* O2m = table->GetConfiguration("O2m");
0052 G4MolecularConfiguration* O3m = table->GetConfiguration("O3m");
0053 G4MolecularConfiguration* H2O = table->GetConfiguration("H2O");
0054 G4MolecularConfiguration* H3OpB = table->GetConfiguration("H3Op(B)");
0055 G4MolecularConfiguration* OHmB = table->GetConfiguration("OHm(B)");
0056
0057
0058
0059
0060 auto reactionData = new G4DNAMolecularReactionData(7.58e5 / s, HO2, H2O);
0061 reactionData->AddProduct(H3OpB);
0062 reactionData->AddProduct(O2m);
0063 reactionData->SetReactionType(6);
0064 pReactionTable->SetReaction(reactionData);
0065
0066
0067
0068 reactionData = new G4DNAMolecularReactionData(4.78e10 * (1e-3 * m3 / (mole * s)), O2m,
0069 H3OpB);
0070 reactionData->AddProduct(HO2);
0071 reactionData->SetReactionType(6);
0072 pReactionTable->SetReaction(reactionData);
0073
0074
0075
0076
0077 reactionData = new G4DNAMolecularReactionData(6.32 / s, H, H2O);
0078 reactionData->AddProduct(e_aq);
0079 reactionData->AddProduct(H3OpB);
0080 pReactionTable->SetReaction(reactionData);
0081
0082
0083 reactionData = new G4DNAMolecularReactionData(2.25e10 * (1e-3 * m3 / (mole * s)), e_aq, H3OpB);
0084 reactionData->AddProduct(H);
0085 pReactionTable->SetReaction(reactionData);
0086
0087
0088
0089
0090 reactionData = new G4DNAMolecularReactionData(1.57e1 * 55.3 / s, e_aq, H2O);
0091 reactionData->AddProduct(H);
0092 reactionData->AddProduct(OHmB);
0093 pReactionTable->SetReaction(reactionData);
0094
0095
0096 reactionData = new G4DNAMolecularReactionData(2.49e7 * (1e-3 * m3 / (mole * s)), H,
0097 OHmB);
0098 reactionData->AddProduct(e_aq);
0099 pReactionTable->SetReaction(reactionData);
0100
0101
0102
0103
0104 reactionData = new G4DNAMolecularReactionData(0.15 * 55.3 / s, O2m, H2O);
0105 reactionData->AddProduct(HO2);
0106 reactionData->AddProduct(OHmB);
0107 pReactionTable->SetReaction(reactionData);
0108
0109
0110 reactionData = new G4DNAMolecularReactionData(1.27e10 * (1e-3 * m3 / (mole * s)), HO2, OHmB);
0111 reactionData->AddProduct(O2m);
0112 pReactionTable->SetReaction(reactionData);
0113
0114
0115
0116 reactionData = new G4DNAMolecularReactionData(1.36e6 * 55.3 / s, HO2m, H2O);
0117 reactionData->AddProduct(H2O2);
0118 reactionData->AddProduct(OHmB);
0119 reactionData->SetReactionType(7);
0120 pReactionTable->SetReaction(reactionData);
0121
0122
0123 reactionData = new G4DNAMolecularReactionData(1.27e10 * (1e-3 * m3 / (mole * s)), H2O2, OHmB);
0124 reactionData->AddProduct(HO2m);
0125 reactionData->SetReactionType(7);
0126 pReactionTable->SetReaction(reactionData);
0127
0128
0129
0130 reactionData = new G4DNAMolecularReactionData(1.8e6 * 55.3 / s, Om, H2O);
0131 reactionData->AddProduct(OH);
0132 reactionData->AddProduct(OHmB);
0133 reactionData->SetReactionType(8);
0134 pReactionTable->SetReaction(reactionData);
0135
0136
0137 reactionData = new G4DNAMolecularReactionData(1.27e10 * (1e-3 * m3 / (mole * s)), OH, OHmB);
0138 reactionData->AddProduct(Om);
0139 reactionData->SetReactionType(8);
0140 pReactionTable->SetReaction(reactionData);
0141
0142
0143
0144 reactionData = new G4DNAMolecularReactionData(7.86e-2 / s, H2O2, H2O);
0145 reactionData->AddProduct(HO2m);
0146 reactionData->AddProduct(H3OpB);
0147 pReactionTable->SetReaction(reactionData);
0148
0149
0150
0151 reactionData = new G4DNAMolecularReactionData(4.78e10 * (1e-3 * m3 / (mole * s)), HO2m,
0152 H3OpB);
0153 reactionData->AddProduct(H2O2);
0154 pReactionTable->SetReaction(reactionData);
0155
0156
0157
0158
0159 reactionData = new G4DNAMolecularReactionData(9.56e10 * (1e-3 * m3 / (mole * s)), Om,
0160 H3OpB);
0161 reactionData->AddProduct(OH);
0162 pReactionTable->SetReaction(reactionData);
0163
0164
0165
0166 reactionData = new G4DNAMolecularReactionData(0.060176635 / s, OH,
0167 H2O);
0168 reactionData->AddProduct(Om);
0169 reactionData->AddProduct(H3OpB);
0170 pReactionTable->SetReaction(reactionData);
0171
0172
0173
0174
0175 reactionData = new G4DNAMolecularReactionData(1.13e11 * (1e-3 * m3 / (mole * s)), OHm,
0176 H3OpB);
0177 pReactionTable->SetReaction(reactionData);
0178
0179
0180
0181 reactionData = new G4DNAMolecularReactionData(9.0e10 * (1e-3 * m3 / (mole * s)), O3m,
0182 H3OpB);
0183 reactionData->AddProduct(OH);
0184 reactionData->AddProduct(O2);
0185 pReactionTable->SetReaction(reactionData);
0186
0187
0188
0189 reactionData = new G4DNAMolecularReactionData(1.13e11 * (1e-3 * m3 / (mole * s)), H3Op,
0190 OHmB);
0191 pReactionTable->SetReaction(reactionData);
0192
0193
0194
0195 reactionData = new G4DNAMolecularReactionData(2.66e3 / s, O3m, H2O);
0196 reactionData->AddProduct(Om);
0197 reactionData->AddProduct(O2);
0198 pReactionTable->SetReaction(reactionData);
0199
0200
0201
0202
0203
0204
0205
0206
0207 }
0208
0209