Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/examples/extended/medical/dna/UHDR/src/ChemOxygenWaterBuilder.cc

Version: [ ReleaseNotes ] [ 1.0 ] [ 1.1 ] [ 2.0 ] [ 3.0 ] [ 3.1 ] [ 3.2 ] [ 4.0 ] [ 4.0.p1 ] [ 4.0.p2 ] [ 4.1 ] [ 4.1.p1 ] [ 5.0 ] [ 5.0.p1 ] [ 5.1 ] [ 5.1.p1 ] [ 5.2 ] [ 5.2.p1 ] [ 5.2.p2 ] [ 6.0 ] [ 6.0.p1 ] [ 6.1 ] [ 6.2 ] [ 6.2.p1 ] [ 6.2.p2 ] [ 7.0 ] [ 7.0.p1 ] [ 7.1 ] [ 7.1.p1 ] [ 8.0 ] [ 8.0.p1 ] [ 8.1 ] [ 8.1.p1 ] [ 8.1.p2 ] [ 8.2 ] [ 8.2.p1 ] [ 8.3 ] [ 8.3.p1 ] [ 8.3.p2 ] [ 9.0 ] [ 9.0.p1 ] [ 9.0.p2 ] [ 9.1 ] [ 9.1.p1 ] [ 9.1.p2 ] [ 9.1.p3 ] [ 9.2 ] [ 9.2.p1 ] [ 9.2.p2 ] [ 9.2.p3 ] [ 9.2.p4 ] [ 9.3 ] [ 9.3.p1 ] [ 9.3.p2 ] [ 9.4 ] [ 9.4.p1 ] [ 9.4.p2 ] [ 9.4.p3 ] [ 9.4.p4 ] [ 9.5 ] [ 9.5.p1 ] [ 9.5.p2 ] [ 9.6 ] [ 9.6.p1 ] [ 9.6.p2 ] [ 9.6.p3 ] [ 9.6.p4 ] [ 10.0 ] [ 10.0.p1 ] [ 10.0.p2 ] [ 10.0.p3 ] [ 10.0.p4 ] [ 10.1 ] [ 10.1.p1 ] [ 10.1.p2 ] [ 10.1.p3 ] [ 10.2 ] [ 10.2.p1 ] [ 10.2.p2 ] [ 10.2.p3 ] [ 10.3 ] [ 10.3.p1 ] [ 10.3.p2 ] [ 10.3.p3 ] [ 10.4 ] [ 10.4.p1 ] [ 10.4.p2 ] [ 10.4.p3 ] [ 10.5 ] [ 10.5.p1 ] [ 10.6 ] [ 10.6.p1 ] [ 10.6.p2 ] [ 10.6.p3 ] [ 10.7 ] [ 10.7.p1 ] [ 10.7.p2 ] [ 10.7.p3 ] [ 10.7.p4 ] [ 11.0 ] [ 11.0.p1 ] [ 11.0.p2 ] [ 11.0.p3, ] [ 11.0.p4 ] [ 11.1 ] [ 11.1.1 ] [ 11.1.2 ] [ 11.1.3 ] [ 11.2 ] [ 11.2.1 ] [ 11.2.2 ] [ 11.3.0 ]

Diff markup

Differences between /examples/extended/medical/dna/UHDR/src/ChemOxygenWaterBuilder.cc (Version 11.3.0) and /examples/extended/medical/dna/UHDR/src/ChemOxygenWaterBuilder.cc (Version 1.1)


  1 //                                                  1 
  2 // *******************************************    
  3 // * License and Disclaimer                       
  4 // *                                              
  5 // * The  Geant4 software  is  copyright of th    
  6 // * the Geant4 Collaboration.  It is provided    
  7 // * conditions of the Geant4 Software License    
  8 // * LICENSE and available at  http://cern.ch/    
  9 // * include a list of copyright holders.         
 10 // *                                              
 11 // * Neither the authors of this software syst    
 12 // * institutes,nor the agencies providing fin    
 13 // * work  make  any representation or  warran    
 14 // * regarding  this  software system or assum    
 15 // * use.  Please see the license in the file     
 16 // * for the full disclaimer and the limitatio    
 17 // *                                              
 18 // * This  code  implementation is the result     
 19 // * technical work of the GEANT4 collaboratio    
 20 // * By using,  copying,  modifying or  distri    
 21 // * any work based  on the software)  you  ag    
 22 // * use  in  resulting  scientific  publicati    
 23 // * acceptance of all terms of the Geant4 Sof    
 24 // *******************************************    
 25 //                                                
 26                                                   
 27 #include "ChemOxygenWaterBuilder.hh"              
 28                                                   
 29 #include "G4DNAMolecularReactionTable.hh"         
 30 #include "G4MoleculeTable.hh"                     
 31 #include "G4SystemOfUnits.hh"                     
 32 //....oooOO0OOooo........oooOO0OOooo........oo    
 33                                                   
 34 void ChemOxygenWaterBuilder::OxygenScavengerRe    
 35 {                                                 
 36   auto table = G4MoleculeTable::Instance();       
 37   //-----------------------------------           
 38   // Get the molecular configuration              
 39   auto* e_aq = table->GetConfiguration("e_aq")    
 40   auto* H = table->GetConfiguration("H");         
 41   auto* HO2 = table->GetConfiguration("HO2°")    
 42   auto* Om = table->GetConfiguration("Om");       
 43   auto* O2 = table->GetConfiguration("O2");       
 44   auto* O2m = table->GetConfiguration("O2m");     
 45   auto* O3m = table->GetConfiguration("O3m");     
 46                                                   
 47   G4DNAMolecularReactionData* reactionData = n    
 48   // Oxygen concentration                         
 49   // e_aq + O2(B) -> O2-                          
 50   reactionData = new G4DNAMolecularReactionDat    
 51   reactionData->AddProduct(O2m);                  
 52   pReactionTable->SetReaction(reactionData);      
 53   //------------------------------------------    
 54   // H + O2(B) -> HO2                             
 55   reactionData = new G4DNAMolecularReactionDat    
 56   reactionData->AddProduct(HO2);                  
 57   pReactionTable->SetReaction(reactionData);      
 58   //------------------------------------------    
 59   // O- + O2(B) -> O3-                            
 60   reactionData = new G4DNAMolecularReactionDat    
 61   reactionData->AddProduct(O3m);                  
 62   pReactionTable->SetReaction(reactionData);      
 63   //------------------------------------------    
 64 }                                                 
 65 //....oooOO0OOooo........oooOO0OOooo........oo    
 66                                                   
 67 void ChemOxygenWaterBuilder::SecondOrderReacti    
 68   G4DNAMolecularReactionTable* pReactionTable)    
 69 {                                                 
 70   //-----------------------------------           
 71   // Get the molecular configuration              
 72   auto table = G4MoleculeTable::Instance();       
 73   auto* OH = table->GetConfiguration("°OH");     
 74   auto* OHm = table->GetConfiguration("OHm");     
 75   auto* e_aq = table->GetConfiguration("e_aq")    
 76   auto* H2 = table->GetConfiguration("H2");       
 77   auto* H3Op = table->GetConfiguration("H3Op")    
 78   auto* H = table->GetConfiguration("H");         
 79   auto* H2O2 = table->GetConfiguration("H2O2")    
 80                                                   
 81   auto* HO2 = table->GetConfiguration("HO2°")    
 82   auto* HO2m = table->GetConfiguration("HO2m")    
 83   auto* Om = table->GetConfiguration("Om");       
 84   auto* O2 = table->GetConfiguration("O2");       
 85   auto* O2m = table->GetConfiguration("O2m");     
 86   auto* O3m = table->GetConfiguration("O3m");     
 87                                                   
 88   // second order                                 
 89   G4DNAMolecularReactionData* reactionData = n    
 90   // Type I                                       
 91   //------------------------------------------    
 92   // *H + *H -> H2                                
 93   reactionData = new G4DNAMolecularReactionDat    
 94   reactionData->AddProduct(H2);                   
 95   pReactionTable->SetReaction(reactionData);      
 96   //------------------------------------------    
 97   // e_aq + H* + H2O -> H2 + OH-                  
 98   reactionData = new G4DNAMolecularReactionDat    
 99   reactionData->AddProduct(OHm);                  
100   reactionData->AddProduct(H2);                   
101   pReactionTable->SetReaction(reactionData);      
102   //------------------------------------------    
103   // e_aq + e_aq + 2H2O -> H2 + 2OH-              
104   reactionData = new G4DNAMolecularReactionDat    
105   reactionData->AddProduct(OHm);                  
106   reactionData->AddProduct(OHm);                  
107   reactionData->AddProduct(H2);                   
108   pReactionTable->SetReaction(reactionData);      
109   //------------------------------------------    
110   // H3O+ + OH- -> 2H2O                           
111   reactionData = new G4DNAMolecularReactionDat    
112   pReactionTable->SetReaction(reactionData);      
113   //------------------------------------------    
114   // *OH + *H -> H2O                              
115   reactionData = new G4DNAMolecularReactionDat    
116   pReactionTable->SetReaction(reactionData);      
117   //------------------------------------------    
118   // *OH + *OH -> H2O2                            
119   reactionData = new G4DNAMolecularReactionDat    
120   reactionData->AddProduct(H2O2);                 
121   pReactionTable->SetReaction(reactionData);      
122   //------------------------------------------    
123   // e_aq + *OH -> OH-                            
124   reactionData = new G4DNAMolecularReactionDat    
125   reactionData->AddProduct(OHm);                  
126   pReactionTable->SetReaction(reactionData);      
127   //------------------------------------------    
128   // e_aq + H2O2 -> OH- + *OH                     
129   reactionData = new G4DNAMolecularReactionDat    
130   reactionData->AddProduct(OHm);                  
131   reactionData->AddProduct(OH);                   
132   pReactionTable->SetReaction(reactionData);      
133   //------------------------------------------    
134   // e_aq + H3O+ -> H* + H2O                      
135   reactionData = new G4DNAMolecularReactionDat    
136   reactionData->AddProduct(H);                    
137   pReactionTable->SetReaction(reactionData);      
138                                                   
139   // extended                                     
140   //------------------------------------------    
141   //  H + O- -> OH-                               
142   reactionData = new G4DNAMolecularReactionDat    
143   reactionData->AddProduct(OHm);                  
144   pReactionTable->SetReaction(reactionData);      
145   //------------------------------------------    
146   // H3O+ + O3- -> OH + O2                        
147   reactionData = new G4DNAMolecularReactionDat    
148   reactionData->AddProduct(OH);                   
149   reactionData->AddProduct(O2);  // add to Sca    
150   pReactionTable->SetReaction(reactionData);      
151   //------------------------------------------    
152   // H + HO2 -> H2O2                              
153   reactionData = new G4DNAMolecularReactionDat    
154   reactionData->AddProduct(H2O2);                 
155   pReactionTable->SetReaction(reactionData);      
156   //------------------------------------------    
157   // H + O2- -> HO2-                              
158   reactionData = new G4DNAMolecularReactionDat    
159   reactionData->AddProduct(HO2m);                 
160   pReactionTable->SetReaction(reactionData);      
161   //------------------------------------------    
162   // OH + O2- -> O2 + OH-                         
163   reactionData = new G4DNAMolecularReactionDat    
164   reactionData->AddProduct(O2);  // added to S    
165   reactionData->AddProduct(OHm);                  
166   pReactionTable->SetReaction(reactionData);      
167   //------------------------------------------    
168   // e_aq + O2- -> H2O2 + OH- + OH-               
169   reactionData = new G4DNAMolecularReactionDat    
170   reactionData->AddProduct(H2O2);                 
171   reactionData->AddProduct(OHm);                  
172   reactionData->AddProduct(OHm);                  
173   pReactionTable->SetReaction(reactionData);      
174   //------------------------------------------    
175   // e_aq + HO2- -> O- + OH-                      
176   reactionData = new G4DNAMolecularReactionDat    
177   reactionData->AddProduct(Om);                   
178   reactionData->AddProduct(OHm);                  
179   pReactionTable->SetReaction(reactionData);      
180   //------------------------------------------    
181   // e_aq + O- -> OH- + OH-                       
182   reactionData = new G4DNAMolecularReactionDat    
183   reactionData->AddProduct(OHm);                  
184   reactionData->AddProduct(OHm);                  
185   pReactionTable->SetReaction(reactionData);      
186   //------------------------------------------    
187   // H3O+ + O2- -> HO2                            
188   reactionData = new G4DNAMolecularReactionDat    
189   reactionData->AddProduct(HO2);                  
190   pReactionTable->SetReaction(reactionData);      
191   //------------------------------------------    
192   // H3O+ + HO2- -> H2O2                          
193   reactionData = new G4DNAMolecularReactionDat    
194   reactionData->AddProduct(H2O2);                 
195   pReactionTable->SetReaction(reactionData);      
196   //------------------------------------------    
197   // H3O+ + O- -> OH                              
198   reactionData = new G4DNAMolecularReactionDat    
199   reactionData->AddProduct(OH);                   
200   pReactionTable->SetReaction(reactionData);      
201   //------------------------------------------    
202   // eaq + HO2 -> HO2-                            
203   reactionData = new G4DNAMolecularReactionDat    
204   reactionData->AddProduct(HO2m);                 
205   pReactionTable->SetReaction(reactionData);      
206   //------------------------------------------    
207   // OH + OH- -> O-                               
208   reactionData = new G4DNAMolecularReactionDat    
209   reactionData->AddProduct(Om);                   
210   pReactionTable->SetReaction(reactionData);      
211   //------------------------------------------    
212   // OH + HO2 -> O2                               
213   reactionData = new G4DNAMolecularReactionDat    
214   reactionData->AddProduct(O2);  // added to S    
215   pReactionTable->SetReaction(reactionData);      
216   //------------------------------------------    
217   // OH + HO2- -> HO2 + OH-                       
218   reactionData = new G4DNAMolecularReactionDat    
219   reactionData->AddProduct(HO2);                  
220   reactionData->AddProduct(OHm);                  
221   pReactionTable->SetReaction(reactionData);      
222   //------------------------------------------    
223   // OH + O- -> HO2-                              
224   reactionData = new G4DNAMolecularReactionDat    
225   reactionData->AddProduct(HO2m);                 
226   pReactionTable->SetReaction(reactionData);      
227   //------------------------------------------    
228   // OH + O3- -> O2- + HO2                        
229   reactionData = new G4DNAMolecularReactionDat    
230   reactionData->AddProduct(O2m);                  
231   reactionData->AddProduct(HO2);                  
232   pReactionTable->SetReaction(reactionData);      
233   //------------------------------------------    
234   // OH- + HO2 -> O2-                             
235   reactionData = new G4DNAMolecularReactionDat    
236                                                   
237   reactionData->AddProduct(O2m);                  
238   pReactionTable->SetReaction(reactionData);      
239   //------------------------------------------    
240   // H2O2 + OH- -> HO2-                           
241   reactionData = new G4DNAMolecularReactionDat    
242                                                   
243   reactionData->AddProduct(HO2m);                 
244   pReactionTable->SetReaction(reactionData);      
245   //------------------------------------------    
246   // H2O2 + O- -> HO2 + OH-                       
247   reactionData = new G4DNAMolecularReactionDat    
248   reactionData->AddProduct(HO2);                  
249   reactionData->AddProduct(OHm);                  
250   pReactionTable->SetReaction(reactionData);      
251   //------------------------------------------    
252   // H2 + O- -> H + OH-                           
253   reactionData = new G4DNAMolecularReactionDat    
254   reactionData->AddProduct(H);                    
255   reactionData->AddProduct(OHm);                  
256   pReactionTable->SetReaction(reactionData);      
257   //------------------------------------------    
258   // O2- + O- -> O2 + OH- + OH-                   
259   reactionData = new G4DNAMolecularReactionDat    
260   reactionData->AddProduct(O2);                   
261   reactionData->AddProduct(OHm);                  
262   reactionData->AddProduct(OHm);                  
263   pReactionTable->SetReaction(reactionData);      
264   //------------------------------------------    
265   // HO2- + O- -> O2- + OH-                       
266   reactionData = new G4DNAMolecularReactionDat    
267   reactionData->AddProduct(O2m);                  
268   reactionData->AddProduct(OHm);                  
269   pReactionTable->SetReaction(reactionData);      
270   //------------------------------------------    
271   // O- + O- -> H2O2 + OH- + OH-                  
272   reactionData = new G4DNAMolecularReactionDat    
273   reactionData->AddProduct(H2O2);                 
274   reactionData->AddProduct(OHm);                  
275   reactionData->AddProduct(OHm);                  
276   pReactionTable->SetReaction(reactionData);      
277   //------------------------------------------    
278   // O- + O3- -> O2- + O2-                        
279   reactionData = new G4DNAMolecularReactionDat    
280   reactionData->AddProduct(O2m);                  
281   reactionData->AddProduct(O2m);                  
282   pReactionTable->SetReaction(reactionData);      
283   //------------------------------------------    
284   // H + OH- -> eaq-                              
285   reactionData = new G4DNAMolecularReactionDat    
286   reactionData->AddProduct(e_aq);                 
287   pReactionTable->SetReaction(reactionData);      
288   //------------------------------------------    
289   // H + H2O2 -> OH                               
290   reactionData = new G4DNAMolecularReactionDat    
291   reactionData->AddProduct(OH);                   
292   pReactionTable->SetReaction(reactionData);      
293   //------------------------------------------    
294   // OH + H2O2 -> HO2                             
295   reactionData = new G4DNAMolecularReactionDat    
296   reactionData->AddProduct(HO2);                  
297   pReactionTable->SetReaction(reactionData);      
298   //------------------------------------------    
299   // OH + H2 -> H                                 
300   reactionData = new G4DNAMolecularReactionDat    
301   reactionData->AddProduct(H);                    
302   pReactionTable->SetReaction(reactionData);      
303   //------------------------------------------    
304   // HO2 + HO2 -> H2O2 + O2                       
305   reactionData = new G4DNAMolecularReactionDat    
306   reactionData->AddProduct(H2O2);                 
307   reactionData->AddProduct(O2);                   
308   pReactionTable->SetReaction(reactionData);      
309   //------------------------------------------    
310   // HO2 + O2- -> HO2- + O2 +                     
311   reactionData = new G4DNAMolecularReactionDat    
312   reactionData->AddProduct(HO2m);                 
313   reactionData->AddProduct(O2);                   
314   pReactionTable->SetReaction(reactionData);      
315   //------------------------------------------    
316   // hoang added. this must be rare               
317   // O2- + O2- -> H2O2 + O2 + 2 OH-               
318   reactionData = new G4DNAMolecularReactionDat    
319   reactionData->AddProduct(H2O2);                 
320   reactionData->AddProduct(O2);                   
321   reactionData->AddProduct(OHm);                  
322   reactionData->AddProduct(OHm);                  
323   pReactionTable->SetReaction(reactionData);      
324 }                                                 
325 //....oooOO0OOooo........oooOO0OOooo........oo    
326