Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/examples/advanced/dna/dsbandrepair/src/G4EmDNAChemistry_option3_Extended.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/advanced/dna/dsbandrepair/src/G4EmDNAChemistry_option3_Extended.cc (Version 11.3.0) and /examples/advanced/dna/dsbandrepair/src/G4EmDNAChemistry_option3_Extended.cc (Version 9.6.p1)


  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 /// \file G4EmDNAChemistry_option3_Extended.cc    
 28 /// \brief Implementation of the G4EmDNAChemis    
 29                                                   
 30 #include "G4EmDNAChemistry_option3_Extended.hh    
 31                                                   
 32 #include "G4DNAMolecule.hh"                       
 33 #include "G4MoleculeTable.hh"                     
 34                                                   
 35 // particles                                      
 36 #include "G4H2O.hh"                               
 37 #include "G4H2.hh"                                
 38 #include "G4Hydrogen.hh"                          
 39 #include "G4OH.hh"                                
 40 #include "G4H3O.hh"                               
 41 #include "G4Electron_aq.hh"                       
 42                                                   
 43 #include "G4H2O2.hh"                              
 44 #include "G4O2.hh"                                
 45 #include "G4HO2.hh"                               
 46                                                   
 47 #include "G4PhysicalConstants.hh"                 
 48 #include "G4SystemOfUnits.hh"                     
 49 #include "G4DNAIndependentReactionTimeModel.hh    
 50 #include "G4DNAMolecularReactionTable.hh"         
 51                                                   
 52 #include "G4ChemicalMoleculeFinder.hh"            
 53 // factory                                        
 54 #include "G4PhysicsConstructorFactory.hh"         
 55                                                   
 56 G4_DECLARE_PHYSCONSTR_FACTORY(G4EmDNAChemistry    
 57                                                   
 58 void G4EmDNAChemistry_option3_Extended::Constr    
 59 {                                                 
 60     ConstructMolecule(); //from G4EmDNAChemist    
 61     //dna molecules                               
 62     G4Deoxyribose::Definition();                  
 63     G4Phosphate::Definition();                    
 64     G4Adenine::Definition();                      
 65     G4Guanine::Definition();                      
 66     G4Thymine::Definition();                      
 67     G4Cytosine::Definition();                     
 68     G4Histone::Definition();                      
 69     //damaged molecules                           
 70     G4DamagedDeoxyribose::Definition();           
 71     G4DamagedAdenine::Definition();               
 72     G4DamagedGuanine::Definition();               
 73     G4DamagedThymine::Definition();               
 74     G4DamagedCytosine::Definition();              
 75     G4ModifiedHistone::Definition();              
 76     //________________DNA_____________________    
 77     auto table = G4MoleculeTable::Instance();     
 78     table->CreateConfiguration("Deoxyribose",G    
 79     table->CreateConfiguration("Phosphate",G4P    
 80     table->CreateConfiguration("Adenine",G4Ade    
 81     table->CreateConfiguration("Thymine",G4Thy    
 82     table->CreateConfiguration("Guanine",G4Gua    
 83     table->CreateConfiguration("Cytosine",G4Cy    
 84     table->CreateConfiguration("Histone",G4His    
 85                                                   
 86     //damaged DNAElement Configuration            
 87                                                   
 88     table->CreateConfiguration("Damaged_Deoxyr    
 89     G4DamagedDeoxyribose::Definition());          
 90     table->CreateConfiguration("Damaged_Adenin    
 91     G4DamagedAdenine::Definition());              
 92     table->CreateConfiguration("Damaged_Thymin    
 93     G4DamagedThymine::Definition());              
 94     table->CreateConfiguration("Damaged_Guanin    
 95     G4DamagedGuanine::Definition());              
 96     table->CreateConfiguration("Damaged_Cytosi    
 97     G4DamagedCytosine::Definition());             
 98 }                                                 
 99                                                   
100 //....oooOO0OOooo........oooOO0OOooo........oo    
101                                                   
102 void G4EmDNAChemistry_option3_Extended::Constr    
103     G4DNAMolecularReactionTable* theReactionTa    
104 {                                                 
105     G4EmDNAChemistry_option3::ConstructReactio    
106                                                   
107     //Get the molecular configuration             
108     auto table = G4MoleculeTable::Instance();     
109     G4MolecularConfiguration* OH = table->GetC    
110     G4MolecularConfiguration* OHm = table->Get    
111     G4MolecularConfiguration* e_aq = table->Ge    
112     G4MolecularConfiguration* H2 = table->GetC    
113     G4MolecularConfiguration* H3Op = table->Ge    
114     G4MolecularConfiguration* H = table->GetCo    
115     G4MolecularConfiguration* H2O2 = table->Ge    
116                                                   
117     // DNA additions--------------------------    
118     G4MolecularConfiguration* deoxyribose = ta    
119     G4MolecularConfiguration* adenine = table-    
120     G4MolecularConfiguration* guanine = table-    
121     G4MolecularConfiguration* thymine = table-    
122     G4MolecularConfiguration* cytosine = table    
123     G4MolecularConfiguration* histone = table-    
124                                                   
125     G4MolecularConfiguration* damage_deoxyribo    
126     G4MolecularConfiguration* damage_adenine =    
127     G4MolecularConfiguration* damage_guanine =    
128     G4MolecularConfiguration* damage_thymine =    
129     G4MolecularConfiguration* damage_cytosine     
130                                                   
131                                                   
132     // OH and DNA                                 
133                                                   
134     // 2-Deoxyribose + OH -> damagedDeoxyribos    
135     G4DNAMolecularReactionData* reactionData =    
136     1.80e9*(1e-3*m3/(mole*s)), deoxyribose, OH    
137     reactionData->AddProduct(damage_deoxyribos    
138     reactionData->SetReactionType(1);             
139     theReactionTable->SetReaction(reactionData    
140                                                   
141     // adenine + OH -> ...                        
142     reactionData = new G4DNAMolecularReactionD    
143     6.10e9*(1e-3*m3/(mole*s)), adenine, OH);      
144     reactionData->AddProduct(damage_adenine);     
145     reactionData->SetReactionType(1);             
146     theReactionTable->SetReaction(reactionData    
147                                                   
148     // guanine + OH -> ...                        
149     reactionData = new G4DNAMolecularReactionD    
150     9.20e9*(1e-3*m3/(mole*s)), guanine, OH);      
151     reactionData->AddProduct(damage_guanine);     
152     reactionData->SetReactionType(1);             
153     theReactionTable->SetReaction(reactionData    
154                                                   
155     // thymine + OH -> ...                        
156     reactionData = new G4DNAMolecularReactionD    
157     6.40e9*(1e-3*m3/(mole*s)), thymine, OH);      
158     reactionData->AddProduct(damage_thymine);     
159     reactionData->SetReactionType(1);             
160     theReactionTable->SetReaction(reactionData    
161                                                   
162     // cytosine + OH -> ...                       
163     reactionData = new G4DNAMolecularReactionD    
164     6.10e9*(1e-3*m3/(mole*s)), cytosine, OH);     
165     reactionData->AddProduct(damage_cytosine);    
166     reactionData->SetReactionType(1);             
167     theReactionTable->SetReaction(reactionData    
168                                                   
169     // Hydrated e- and DNA                        
170                                                   
171     // Deoxyribose + Hydrated e-  -> ...          
172     reactionData = new G4DNAMolecularReactionD    
173     0.01e9*(1e-3*m3/(mole*s)), deoxyribose, e_    
174     reactionData->AddProduct(damage_deoxyribos    
175     reactionData->SetReactionType(1);             
176     theReactionTable->SetReaction(reactionData    
177                                                   
178     // adenine + Hydrated e- -> ...               
179     reactionData = new G4DNAMolecularReactionD    
180     9e9*(1e-3*m3/(mole*s)), adenine, e_aq);       
181     reactionData->AddProduct(damage_adenine);     
182     reactionData->SetReactionType(1);             
183     theReactionTable->SetReaction(reactionData    
184                                                   
185     // guanine + Hydrated e- -> ...               
186     reactionData = new G4DNAMolecularReactionD    
187     14e9*(1e-3*m3/(mole*s)), guanine, e_aq);      
188     reactionData->AddProduct(damage_guanine);     
189     reactionData->SetReactionType(1);             
190     theReactionTable->SetReaction(reactionData    
191                                                   
192     // thymine + Hydrated e- -> ...               
193     reactionData = new G4DNAMolecularReactionD    
194     18e9*(1e-3*m3/(mole*s)), thymine, e_aq);      
195     reactionData->AddProduct(damage_thymine);     
196     reactionData->SetReactionType(1);             
197     theReactionTable->SetReaction(reactionData    
198                                                   
199     // cytosine + Hydrated e- -> ...              
200     reactionData = new G4DNAMolecularReactionD    
201     13e9*(1e-3*m3/(mole*s)), cytosine, e_aq);     
202     reactionData->AddProduct(damage_cytosine);    
203     reactionData->SetReactionType(1);             
204     theReactionTable->SetReaction(reactionData    
205                                                   
206     // Radical H and DNA                          
207                                                   
208     // Deoxyribose + Radical H -> ...             
209     reactionData = new G4DNAMolecularReactionD    
210     0.029e9*(1e-3*m3/(mole*s)), deoxyribose, H    
211     reactionData->AddProduct(damage_deoxyribos    
212     reactionData->SetReactionType(1);             
213     theReactionTable->SetReaction(reactionData    
214                                                   
215     // adenine + Radical H -> ...                 
216     reactionData = new G4DNAMolecularReactionD    
217     0.10e9*(1e-3*m3/(mole*s)), adenine, H);       
218     reactionData->AddProduct(damage_adenine);     
219     reactionData->SetReactionType(1);             
220     theReactionTable->SetReaction(reactionData    
221                                                   
222     // thymine + Radical H -> ...                 
223     reactionData = new G4DNAMolecularReactionD    
224     0.57e9*(1e-3*m3/(mole*s)), thymine, H);       
225     reactionData->AddProduct(damage_thymine);     
226     reactionData->SetReactionType(1);             
227     theReactionTable->SetReaction(reactionData    
228                                                   
229     // cytosine + Radical H -> ...                
230     reactionData = new G4DNAMolecularReactionD    
231     0.092e9*(1e-3*m3/(mole*s)), cytosine, H);     
232     reactionData->AddProduct(damage_cytosine);    
233     reactionData->SetReactionType(1);             
234     theReactionTable->SetReaction(reactionData    
235                                                   
236     //histone + all molecules -> modification(    
237                                                   
238     reactionData = new G4DNAMolecularReactionD    
239     0.0*(1e-3*m3/(mole*s)), histone, OH);         
240     reactionData->AddProduct(histone);            
241     reactionData->SetEffectiveReactionRadius(     
242     2.4*nm + G4OH::Definition()->GetVanDerVaal    
243     reactionData->SetReactionType(1);             
244     theReactionTable->SetReaction(reactionData    
245                                                   
246     reactionData = new G4DNAMolecularReactionD    
247     0.0*(1e-3*m3/(mole*s)), histone, OHm);        
248     reactionData->AddProduct(histone);            
249     reactionData->SetEffectiveReactionRadius(     
250     2.4*nm + G4OH::Definition()->GetVanDerVaal    
251     reactionData->SetReactionType(1);             
252     theReactionTable->SetReaction(reactionData    
253                                                   
254     reactionData = new G4DNAMolecularReactionD    
255     0.0*(1e-3*m3/(mole*s)), histone, e_aq);       
256     reactionData->AddProduct(histone);            
257     reactionData->SetEffectiveReactionRadius(     
258     2.4*nm + G4Electron_aq::Definition()->GetV    
259     reactionData->SetReactionType(1);             
260     theReactionTable->SetReaction(reactionData    
261                                                   
262     reactionData = new G4DNAMolecularReactionD    
263     0.0*(1e-3*m3/(mole*s)), histone, H2);         
264     reactionData->AddProduct(histone);            
265     reactionData->SetEffectiveReactionRadius(     
266     2.4*nm + G4H2::Definition()->GetVanDerVaal    
267     reactionData->SetReactionType(1);             
268     theReactionTable->SetReaction(reactionData    
269                                                   
270     reactionData = new G4DNAMolecularReactionD    
271     0.0*(1e-3*m3/(mole*s)), histone, H3Op);       
272     reactionData->AddProduct(histone);            
273     reactionData->SetEffectiveReactionRadius(     
274     2.4*nm + G4H3O::Definition()->GetVanDerVaa    
275     reactionData->SetReactionType(1);             
276     theReactionTable->SetReaction(reactionData    
277                                                   
278     reactionData = new G4DNAMolecularReactionD    
279     0.0*(1e-3*m3/(mole*s)), histone, H);          
280     reactionData->AddProduct(histone);            
281     reactionData->SetEffectiveReactionRadius(     
282     2.4*nm + G4Hydrogen::Definition()->GetVanD    
283     reactionData->SetReactionType(1);             
284     theReactionTable->SetReaction(reactionData    
285                                                   
286     reactionData = new G4DNAMolecularReactionD    
287     0.0*(1e-3*m3/(mole*s)), histone, H2O2);       
288     reactionData->AddProduct(histone);            
289     reactionData->SetEffectiveReactionRadius(     
290     2.4*nm + G4H2O2::Definition()->GetVanDerVa    
291     reactionData->SetReactionType(1);             
292     theReactionTable->SetReaction(reactionData    
293 }                                                 
294                                                   
295