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