Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/processes/electromagnetic/utils/src/G4EmLowEParameters.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 /processes/electromagnetic/utils/src/G4EmLowEParameters.cc (Version 11.3.0) and /processes/electromagnetic/utils/src/G4EmLowEParameters.cc (Version 5.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 //                                                
 28 // GEANT4 Class file                              
 29 //                                                
 30 //                                                
 31 // File name:     G4EmLowEParameters              
 32 //                                                
 33 // Author:        Vladimir Ivanchenko             
 34 //                                                
 35 // Creation date: 07.05.2019                      
 36 //                                                
 37 // -------------------------------------------    
 38 //                                                
 39 //....oooOO0OOooo........oooOO0OOooo........oo    
 40 //....oooOO0OOooo........oooOO0OOooo........oo    
 41                                                   
 42 #include "G4EmLowEParameters.hh"                  
 43 #include "G4PhysicalConstants.hh"                 
 44 #include "G4UnitsTable.hh"                        
 45 #include "G4SystemOfUnits.hh"                     
 46 #include "G4VAtomDeexcitation.hh"                 
 47 #include "G4EmLowEParametersMessenger.hh"         
 48 #include "G4RegionStore.hh"                       
 49 #include "G4Region.hh"                            
 50                                                   
 51 //....oooOO0OOooo........oooOO0OOooo........oo    
 52                                                   
 53 G4EmLowEParameters::G4EmLowEParameters()          
 54 {                                                 
 55   theMessenger = new G4EmLowEParametersMesseng    
 56   Initialise();                                   
 57 }                                                 
 58                                                   
 59 //....oooOO0OOooo........oooOO0OOooo........oo    
 60                                                   
 61 G4EmLowEParameters::~G4EmLowEParameters()         
 62 {                                                 
 63   delete theMessenger;                            
 64 }                                                 
 65                                                   
 66 //....oooOO0OOooo........oooOO0OOooo........oo    
 67                                                   
 68 void G4EmLowEParameters::Initialise()             
 69 {                                                 
 70   fluo = false;                                   
 71   auger = false;                                  
 72   pixe = false;                                   
 73   deexIgnoreCut = false;                          
 74                                                   
 75   dnaFast = false;                                
 76   dnaStationary = false;                          
 77   dnaMsc = false;                                 
 78   dnaElectronSolvation = fMeesungnoen2002eSolv    
 79   fTimeStepModel = G4ChemTimeStepModel::Unknow    
 80                                                   
 81   fFluoDirectory = fluoDefault;                   
 82   namePIXE = "Empirical";                         
 83   nameElectronPIXE = "Livermore";                 
 84   livDataDir = "epics_2017";                      
 85 }                                                 
 86                                                   
 87 //....oooOO0OOooo........oooOO0OOooo........oo    
 88                                                   
 89 void G4EmLowEParameters::SetFluo(G4bool val)      
 90 {                                                 
 91   fluo = val;                                     
 92 }                                                 
 93                                                   
 94 G4bool G4EmLowEParameters::Fluo() const           
 95 {                                                 
 96   return fluo;                                    
 97 }                                                 
 98                                                   
 99 G4EmFluoDirectory G4EmLowEParameters::FluoDire    
100 {                                                 
101   return fFluoDirectory;                          
102 }                                                 
103                                                   
104 void G4EmLowEParameters::SetFluoDirectory(G4Em    
105 {                                                 
106   fFluoDirectory = fluoDefault;                   
107   if(fluoBearden == val) { fFluoDirectory = fl    
108   else if(fluoANSTO == val) { fFluoDirectory =    
109   else if(fluoXDB_EADL == val) { fFluoDirector    
110 }                                                 
111                                                   
112 void G4EmLowEParameters::SetBeardenFluoDir(G4b    
113 {                                                 
114   fFluoDirectory = val ? fluoBearden : fluoDef    
115 }                                                 
116                                                   
117 void G4EmLowEParameters::SetANSTOFluoDir(G4boo    
118 {                                                 
119   fFluoDirectory = val ? fluoANSTO : fluoDefau    
120 }                                                 
121                                                   
122 void G4EmLowEParameters::SetXDB_EADLFluoDir(G4    
123 {                                                 
124   fFluoDirectory = val ? fluoXDB_EADL : fluoDe    
125 }                                                 
126                                                   
127 void G4EmLowEParameters::SetAuger(G4bool val)     
128 {                                                 
129   auger = val;                                    
130   if(val) { fluo = true; }                        
131 }                                                 
132                                                   
133 G4bool G4EmLowEParameters::Auger() const          
134 {                                                 
135   return auger;                                   
136 }                                                 
137                                                   
138 void G4EmLowEParameters::SetPixe(G4bool val)      
139 {                                                 
140   pixe = val;                                     
141   if(val) { fluo = true; }                        
142 }                                                 
143                                                   
144 G4bool G4EmLowEParameters::Pixe() const           
145 {                                                 
146   return pixe;                                    
147 }                                                 
148                                                   
149 void G4EmLowEParameters::SetDeexcitationIgnore    
150 {                                                 
151   deexIgnoreCut = val;                            
152 }                                                 
153                                                   
154 G4bool G4EmLowEParameters::DeexcitationIgnoreC    
155 {                                                 
156   return deexIgnoreCut;                           
157 }                                                 
158                                                   
159 void G4EmLowEParameters::SetDNAFast(G4bool val    
160 {                                                 
161   dnaFast = val;                                  
162 }                                                 
163                                                   
164 G4bool G4EmLowEParameters::DNAFast() const        
165 {                                                 
166   return dnaFast;                                 
167 }                                                 
168                                                   
169 void G4EmLowEParameters::SetDNAStationary(G4bo    
170 {                                                 
171   dnaStationary = val;                            
172 }                                                 
173                                                   
174 G4bool G4EmLowEParameters::DNAStationary() con    
175 {                                                 
176   return dnaStationary;                           
177 }                                                 
178                                                   
179 void G4EmLowEParameters::SetDNAElectronMsc(G4b    
180 {                                                 
181   dnaMsc = val;                                   
182 }                                                 
183                                                   
184 G4bool G4EmLowEParameters::DNAElectronMsc() co    
185 {                                                 
186   return dnaMsc;                                  
187 }                                                 
188                                                   
189 void G4EmLowEParameters::SetDNAeSolvationSubTy    
190 {                                                 
191   dnaElectronSolvation = val;                     
192 }                                                 
193                                                   
194 G4DNAModelSubType G4EmLowEParameters::DNAeSolv    
195 {                                                 
196   return dnaElectronSolvation;                    
197 }                                                 
198                                                   
199 void G4EmLowEParameters::SetChemTimeStepModel(    
200 {                                                 
201   fTimeStepModel = val;                           
202 }                                                 
203                                                   
204 G4ChemTimeStepModel G4EmLowEParameters::GetChe    
205 {                                                 
206   return fTimeStepModel;                          
207 }                                                 
208                                                   
209 void G4EmLowEParameters::SetPIXECrossSectionMo    
210 {                                                 
211   namePIXE = sss;                                 
212 }                                                 
213                                                   
214 const G4String& G4EmLowEParameters::PIXECrossS    
215 {                                                 
216   return namePIXE;                                
217 }                                                 
218                                                   
219 void G4EmLowEParameters::SetPIXEElectronCrossS    
220 {                                                 
221   nameElectronPIXE = sss;                         
222 }                                                 
223                                                   
224 const G4String& G4EmLowEParameters::PIXEElectr    
225 {                                                 
226   return nameElectronPIXE;                        
227 }                                                 
228                                                   
229 void G4EmLowEParameters::SetLivermoreDataDir(c    
230 {                                                 
231   livDataDir = sss;                               
232 }                                                 
233                                                   
234 const G4String& G4EmLowEParameters::LivermoreD    
235 {                                                 
236   return livDataDir;                              
237 }                                                 
238                                                   
239 void G4EmLowEParameters::PrintWarning(G4Except    
240 {                                                 
241   G4Exception("G4EmLowEParameters", "em0044",     
242 }                                                 
243                                                   
244 G4String G4EmLowEParameters::CheckRegion(const    
245 {                                                 
246   G4String r = reg;                               
247   if(r == "" || r == "world" || r == "World")     
248     r = "DefaultRegionForTheWorld";               
249   }                                               
250   return r;                                       
251 }                                                 
252                                                   
253 void G4EmLowEParameters::AddMicroElec(const G4    
254 {                                                 
255   G4String r = CheckRegion(region);               
256   std::size_t nreg =  m_regnamesME.size();        
257   for(std::size_t i=0; i<nreg; ++i) {             
258     if(r == m_regnamesME[i]) { return; }          
259   }                                               
260   m_regnamesME.push_back(std::move(r));           
261 }                                                 
262                                                   
263 const std::vector<G4String>& G4EmLowEParameter    
264 {                                                 
265   return m_regnamesME;                            
266 }                                                 
267                                                   
268 void G4EmLowEParameters::AddDNA(const G4String    
269 {                                                 
270   G4String r = CheckRegion(region);               
271   std::size_t nreg =  m_regnamesDNA.size();       
272   for(std::size_t i=0; i<nreg; ++i) {             
273     if(r == m_regnamesDNA[i]) { return; }         
274   }                                               
275   m_regnamesDNA.push_back(std::move(r));          
276   m_typesDNA.push_back(type);                     
277 }                                                 
278                                                   
279 const std::vector<G4String>& G4EmLowEParameter    
280 {                                                 
281   return m_regnamesDNA;                           
282 }                                                 
283                                                   
284 const std::vector<G4String>& G4EmLowEParameter    
285 {                                                 
286   return m_typesDNA;                              
287 }                                                 
288                                                   
289 void                                              
290 G4EmLowEParameters::SetDeexActiveRegion(const     
291                                         G4bool    
292 {                                                 
293   if(fdeex) { fluo = true; }                      
294   G4String r = CheckRegion(region);               
295   std::size_t nreg =  m_regnamesDeex.size();      
296   if(0 == nreg && r != "DefaultRegionForTheWor    
297     m_regnamesDeex.push_back("DefaultRegionFor    
298     m_fluo.push_back(false);                      
299     m_auger.push_back(false);                     
300     m_pixe.push_back(false);                      
301     nreg = 1;                                     
302   }                                               
303   for(std::size_t i=0; i<nreg; ++i) {             
304     if(r == m_regnamesDeex[i]) {                  
305       m_fluo[i] = fdeex;                          
306       m_auger[i]= fauger;                         
307       m_pixe[i] = fpixe;                          
308       return;                                     
309     }                                             
310   }                                               
311   m_regnamesDeex.push_back(std::move(r));         
312   m_fluo.push_back(fdeex);                        
313   m_auger.push_back(fauger);                      
314   m_pixe.push_back(fpixe);                        
315 }                                                 
316                                                   
317 void G4EmLowEParameters::DefineRegParamForDeex    
318 {                                                 
319   std::size_t n = m_regnamesDeex.size();          
320   for(std::size_t i=0; i<n; ++i) {                
321     ptr->SetDeexcitationActiveRegion(m_regname    
322              m_fluo[i], m_auger[i], m_pixe[i])    
323   }                                               
324 }                                                 
325                                                   
326 //....oooOO0OOooo........oooOO0OOooo........oo    
327