Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/examples/extended/hadronic/Hadr10/src/Run.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/hadronic/Hadr10/src/Run.cc (Version 11.3.0) and /examples/extended/hadronic/Hadr10/src/Run.cc (Version 5.2)


  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 /// \file Run.cc                                  
 27 /// \brief Implementation of the Run class        
 28 //                                                
 29 //                                                
 30                                                   
 31 //....oooOO0OOooo........oooOO0OOooo........oo    
 32 //....oooOO0OOooo........oooOO0OOooo........oo    
 33                                                   
 34 #include "Run.hh"                                 
 35                                                   
 36 #include "G4Run.hh"                               
 37 #include "G4RunManager.hh"                        
 38 #include "G4SystemOfUnits.hh"                     
 39                                                   
 40 //....oooOO0OOooo........oooOO0OOooo........oo    
 41                                                   
 42 Run::Run()                                        
 43   : G4Run(),                                      
 44     fNumEvents(0),                                
 45     fPrimaryParticleId(0),                        
 46     fPrimaryParticleInitialKineticEnergy(0.0),    
 47     fPrimaryParticleInitialTotalEnergy(0.0),      
 48     fPrimaryParticleInitialMomentum(0.0),         
 49     fPrimaryParticleInitialBeta(0.0),             
 50     fPrimaryParticleInitialGamma(0.0),            
 51     fPrimaryParticleInitial3Momentum(G4ThreeVe    
 52     fPrimaryParticleInitialPosition(G4ThreeVec    
 53     fToleranceEPviolations(0.0),                  
 54     fToleranceDeltaDecayRadius(0.0),              
 55     fIsPreassignedDecayEnabled(true),             
 56     fIsBoostToLabEnabled(true),                   
 57     fNumDecays(0),                                
 58     fNumBadDecays(0),                             
 59     fNumUnexpectedDecays(0),                      
 60     fNumEviolations(0),                           
 61     fNumPviolations(0),                           
 62     fNum_mc_truth_rPos_deltaMax_above(0),         
 63     fNum_underestimated_mc_truth_rPos_delta_ab    
 64     fNum_overestimated_mc_truth_rPos_delta_abo    
 65     fNumLargeUnderestimates(0),                   
 66     fNumLargeOverestimates(0),                    
 67     fDecayT(0.0),                                 
 68     fSumDecayT(0.0),                              
 69     fMinDecayT(999999.9),                         
 70     fMaxDecayT(-999999.9),                        
 71     fDecayR_mc_truth(0.0),                        
 72     fDecayR(0.0),                                 
 73     fSumDecayR(0.0),                              
 74     fMinDecayR(999999.9),                         
 75     fMaxDecayR(-999999.9),                        
 76     fDecayX(0.0),                                 
 77     fSumDecayX(0.0),                              
 78     fMinDecayX(999999.9),                         
 79     fMaxDecayX(-999999.9),                        
 80     fDecayY(0.0),                                 
 81     fSumDecayY(0.0),                              
 82     fMinDecayY(999999.9),                         
 83     fMaxDecayY(-999999.9),                        
 84     fDecayZ(0.0),                                 
 85     fSumDecayZ(0.0),                              
 86     fMinDecayZ(999999.9),                         
 87     fMaxDecayZ(-999999.9),                        
 88     fDeltaDecayR(0.0),                            
 89     fSumDeltaDecayR(0.0),                         
 90     fMinDeltaDecayR(999999.9),                    
 91     fMaxDeltaDecayR(-999999.9),                   
 92     fDeflectionAngle(0.0),                        
 93     fSumDeflectionAngle(0.0),                     
 94     fMinDeflectionAngle(999999.9),                
 95     fMaxDeflectionAngle(-999999.9),               
 96     fDeltaEkin(0.0),                              
 97     fSumDeltaEkin(0.0),                           
 98     fMinDeltaEkin(999999.9),                      
 99     fMaxDeltaEkin(-999999.9),                     
100     fDecayEkin(0.0),                              
101     fSumDecayEkin(0.0),                           
102     fMinDecayEkin(999999.9),                      
103     fMaxDecayEkin(-999999.9),                     
104     fDecayPx(0.0),                                
105     fSumDecayPx(0.0),                             
106     fMinDecayPx(999999.9),                        
107     fMaxDecayPx(-999999.9),                       
108     fDecayPy(0.0),                                
109     fSumDecayPy(0.0),                             
110     fMinDecayPy(999999.9),                        
111     fMaxDecayPy(-999999.9),                       
112     fDecayPz(0.0),                                
113     fSumDecayPz(0.0),                             
114     fMinDecayPz(999999.9),                        
115     fMaxDecayPz(-999999.9),                       
116     fDecayEtotViolation(0.0),                     
117     fSumDecayEtotViolation(0.0),                  
118     fMinDecayEtotViolation(999999.9),             
119     fMaxDecayEtotViolation(-999999.9),            
120     fDecayPxViolation(0.0),                       
121     fSumDecayPxViolation(0.0),                    
122     fMinDecayPxViolation(999999.9),               
123     fMaxDecayPxViolation(-999999.9),              
124     fDecayPyViolation(0.0),                       
125     fSumDecayPyViolation(0.0),                    
126     fMinDecayPyViolation(999999.9),               
127     fMaxDecayPyViolation(-999999.9),              
128     fDecayPzViolation(0.0),                       
129     fSumDecayPzViolation(0.0),                    
130     fMinDecayPzViolation(999999.9),               
131     fMaxDecayPzViolation(-999999.9),              
132     fMaxEkin_deltaMax(0.0),                       
133     fMaxEtot_deltaMax(0.0),                       
134     fMaxP_deltaMax(0.0),                          
135     fMaxPdir_deltaMax(0.0),                       
136     fMaxMass_deltaMax1(0.0),                      
137     fMaxMass_deltaMax2(0.0),                      
138     fSumMass_deltaMax3(0.0),                      
139     fMaxMass_deltaMax3(0.0),                      
140     fMaxBeta_deltaMax1(0.0),                      
141     fMaxBeta_deltaMax2(0.0),                      
142     fMaxGamma_deltaMax1(0.0),                     
143     fMaxGamma_deltaMax2(0.0),                     
144     fMaxGamma_deltaMax3(0.0),                     
145     fMaxT_proper_deltaMax(0.0),                   
146     fMaxT_lab_deltaMax(0.0),                      
147     fSumMc_truth_rPos_deltaMax(0.0),              
148     fMaxMc_truth_rPos_deltaMax(0.0),              
149     fSumUnderestimated_mc_truth_rPos_delta(0.0    
150     fMinUnderestimated_mc_truth_rPos_delta(999    
151     fSumOverestimated_mc_truth_rPos_delta(0.0)    
152     fMaxOverestimated_mc_truth_rPos_delta(-999    
153     fSumUnderestimated_rDeltaPos(0.0),            
154     fMinUnderestimated_rDeltaPos(999999.9),       
155     fSumOverestimated_rDeltaPos(0.0),             
156     fMaxOverestimated_rDeltaPos(-999999.9),       
157     fMaxFloat_rDeltaPos_deltaMax(-999999.9)       
158 {}                                                
159                                                   
160 //....oooOO0OOooo........oooOO0OOooo........oo    
161                                                   
162 Run::~Run() {}                                    
163                                                   
164 //....oooOO0OOooo........oooOO0OOooo........oo    
165                                                   
166 void Run::RecordEvent(const G4Event* anEvent)     
167 {                                                 
168   // This method is called automatically by th    
169   // at the end of each event : in MT-mode, it    
170   // that handled that event.                     
171   G4int nEvt = anEvent->GetEventID();             
172   if (nEvt % 1000 == 0) {                         
173     G4cout << std::setprecision(6) << " Event#    
174            << " ; r[mm]=" << fDecayR              
175            << " ; deltaR[mum]=" << (fDecayR_mc    
176            << " ; deltaEkin[MeV]=" << fDeltaEk    
177            << G4endl;                             
178   }                                               
179   G4Run::RecordEvent(anEvent);                    
180 }                                                 
181                                                   
182 //....oooOO0OOooo........oooOO0OOooo........oo    
183                                                   
184 void Run::Merge(const G4Run* aRun)                
185 {                                                 
186   // This method is called automatically by th    
187   // only in the case of multithreaded mode an    
188   const Run* localRun = static_cast<const Run*    
189   fNumEvents += localRun->GetNumberOfEvent();     
190                                                   
191   fPrimaryParticleId = localRun->GetPrimaryPar    
192   fPrimaryParticleInitialKineticEnergy = local    
193   fPrimaryParticleInitialTotalEnergy = localRu    
194   fPrimaryParticleInitialMomentum = localRun->    
195   fPrimaryParticleInitialBeta = localRun->GetP    
196   fPrimaryParticleInitialGamma = localRun->Get    
197   fPrimaryParticleInitial3Momentum = localRun-    
198   fPrimaryParticleInitialPosition = localRun->    
199   fToleranceEPviolations = localRun->GetTolera    
200   fToleranceDeltaDecayRadius = localRun->GetTo    
201   fIsPreassignedDecayEnabled = localRun->GetIs    
202   fIsBoostToLabEnabled = localRun->GetIsBoostT    
203                                                   
204   fNumDecays += localRun->GetNumberDecays();      
205   fNumBadDecays += localRun->GetNumberBadDecay    
206   fNumUnexpectedDecays += localRun->GetNumberU    
207   fNumEviolations += localRun->GetNumberEviola    
208   fNumPviolations += localRun->GetNumberPviola    
209   fNum_mc_truth_rPos_deltaMax_above += localRu    
210   fNum_underestimated_mc_truth_rPos_delta_abov    
211     localRun->GetNumberUnderestimated_mc_truth    
212   fNum_overestimated_mc_truth_rPos_delta_above    
213     localRun->GetNumberOverestimated_mc_truth_    
214   fNumLargeUnderestimates += localRun->GetNumb    
215   fNumLargeOverestimates += localRun->GetNumbe    
216                                                   
217   fSumDecayT += localRun->GetSumDecayT();         
218   fMinDecayT = std::min(fMinDecayT, localRun->    
219   fMaxDecayT = std::max(fMaxDecayT, localRun->    
220   fSumDecayR += localRun->GetSumDecayR();         
221   fMinDecayR = std::min(fMinDecayR, localRun->    
222   fMaxDecayR = std::max(fMaxDecayR, localRun->    
223   fSumDecayX += localRun->GetSumDecayX();         
224   fMinDecayX = std::min(fMinDecayX, localRun->    
225   fMaxDecayX = std::max(fMaxDecayX, localRun->    
226   fSumDecayY += localRun->GetSumDecayY();         
227   fMinDecayY = std::min(fMinDecayY, localRun->    
228   fMaxDecayY = std::max(fMaxDecayY, localRun->    
229   fSumDecayZ += localRun->GetSumDecayZ();         
230   fMinDecayZ = std::min(fMinDecayZ, localRun->    
231   fMaxDecayZ = std::max(fMaxDecayZ, localRun->    
232   fSumDeltaDecayR += localRun->GetSumDeltaDeca    
233   fMinDeltaDecayR = std::min(fMinDeltaDecayR,     
234   fMaxDeltaDecayR = std::max(fMaxDeltaDecayR,     
235   fSumDeflectionAngle += localRun->GetSumDefle    
236   fMinDeflectionAngle = std::min(fMinDeflectio    
237   fMaxDeflectionAngle = std::max(fMaxDeflectio    
238   fSumDeltaEkin += localRun->GetSumDeltaEkin()    
239   fMinDeltaEkin = std::min(fMinDeltaEkin, loca    
240   fMaxDeltaEkin = std::max(fMaxDeltaEkin, loca    
241   fSumDecayEkin += localRun->GetSumDecayEkin()    
242   fMinDecayEkin = std::min(fMinDecayEkin, loca    
243   fMaxDecayEkin = std::max(fMaxDecayEkin, loca    
244   fSumDecayPx += localRun->GetSumDecayPx();       
245   fMinDecayPx = std::min(fMinDecayPx, localRun    
246   fMaxDecayPx = std::max(fMaxDecayPx, localRun    
247   fSumDecayPy += localRun->GetSumDecayPy();       
248   fMinDecayPy = std::min(fMinDecayPy, localRun    
249   fMaxDecayPy = std::max(fMaxDecayPy, localRun    
250   fSumDecayPz += localRun->GetSumDecayPz();       
251   fMinDecayPz = std::min(fMinDecayPz, localRun    
252   fMaxDecayPz = std::max(fMaxDecayPz, localRun    
253   fSumDecayEtotViolation += localRun->GetSumDe    
254   fMinDecayEtotViolation = std::min(fMinDecayE    
255   fMaxDecayEtotViolation = std::max(fMaxDecayE    
256   fSumDecayPxViolation += localRun->GetSumDeca    
257   fMinDecayPxViolation = std::min(fMinDecayPxV    
258   fMaxDecayPxViolation = std::max(fMaxDecayPxV    
259   fSumDecayPyViolation += localRun->GetSumDeca    
260   fMinDecayPyViolation = std::min(fMinDecayPyV    
261   fMaxDecayPyViolation = std::max(fMaxDecayPyV    
262   fSumDecayPzViolation += localRun->GetSumDeca    
263   fMinDecayPzViolation = std::min(fMinDecayPzV    
264   fMaxDecayPzViolation = std::max(fMaxDecayPzV    
265                                                   
266   fMaxEkin_deltaMax = std::max(fMaxEkin_deltaM    
267   fMaxEtot_deltaMax = std::max(fMaxEtot_deltaM    
268   fMaxP_deltaMax = std::max(fMaxP_deltaMax, lo    
269   fMaxPdir_deltaMax = std::max(fMaxPdir_deltaM    
270   fMaxMass_deltaMax1 = std::max(fMaxMass_delta    
271   fMaxMass_deltaMax2 = std::max(fMaxMass_delta    
272   fMaxMass_deltaMax3 = std::max(fMaxMass_delta    
273   fSumMass_deltaMax3 += localRun->GetSumMass_d    
274   fMaxBeta_deltaMax1 = std::max(fMaxBeta_delta    
275   fMaxBeta_deltaMax2 = std::max(fMaxBeta_delta    
276   fMaxGamma_deltaMax1 = std::max(fMaxGamma_del    
277   fMaxGamma_deltaMax2 = std::max(fMaxGamma_del    
278   fMaxGamma_deltaMax3 = std::max(fMaxGamma_del    
279   fMaxT_proper_deltaMax = std::max(fMaxT_prope    
280   fMaxT_lab_deltaMax = std::max(fMaxT_lab_delt    
281   fMaxMc_truth_rPos_deltaMax =                    
282     std::max(fMaxMc_truth_rPos_deltaMax, local    
283   fSumMc_truth_rPos_deltaMax += localRun->GetS    
284                                                   
285   fMinUnderestimated_mc_truth_rPos_delta = std    
286     fMinUnderestimated_mc_truth_rPos_delta, lo    
287   fSumUnderestimated_mc_truth_rPos_delta += lo    
288   fMaxOverestimated_mc_truth_rPos_delta = std:    
289     fMaxOverestimated_mc_truth_rPos_delta, loc    
290   fSumOverestimated_mc_truth_rPos_delta += loc    
291   fMinUnderestimated_rDeltaPos =                  
292     std::min(fMinUnderestimated_rDeltaPos, loc    
293   fSumUnderestimated_rDeltaPos += localRun->Ge    
294   fMaxOverestimated_rDeltaPos =                   
295     std::max(fMaxOverestimated_rDeltaPos, loca    
296   fSumOverestimated_rDeltaPos += localRun->Get    
297                                                   
298   fMaxFloat_rDeltaPos_deltaMax =                  
299     std::max(fMaxFloat_rDeltaPos_deltaMax, loc    
300                                                   
301   G4Run::Merge(aRun);                             
302 }                                                 
303                                                   
304 //....oooOO0OOooo........oooOO0OOooo........oo    
305                                                   
306 void Run::PrintInfo() const                       
307 {                                                 
308   // This method is called by RunAction::EndOf    
309   // In MT-mode, only the master thread calls     
310   const G4double femtosecond = 0.001 * CLHEP::    
311   const G4double NN = (fNumDecays > 0 ? G4doub    
312   G4cout                                          
313     << std::setprecision(6) << G4endl << G4end    
314     << " ============ Run::printInfo() =======    
315     << " primary PDG code                         
316     << " primary initial kinetic energy [GeV]     
317     << fPrimaryParticleInitialKineticEnergy /     
318     << " primary initial total energy [GeV]       
319     << G4endl                                     
320     << " primary initial momentum [GeV]           
321     << G4endl << " primary initial Lorentz bet    
322     << " primary initial Lorentz gamma            
323     << " primary initial 3 momentum [GeV]         
324     << G4endl << " primary initial position [m    
325     << G4endl << " toleranceEPviolations [eV]     
326     << G4endl                                     
327     << " toleranceDeltaDecayRadius [mum]          
328     << G4endl << " isPreassignedDecayEnabled      
329     << " isBoostToLabEnabled                      
330     << " # Events               = " << (fNumEv    
331     << " # Decays               = " << fNumDec    
332     << "   (# Bad decays        = " << fNumBad    
333     << "   (# Unexpected decays = " << fNumUne    
334     << " # E violations         = " << fNumEvi    
335     << " # P violations         = " << fNumPvi    
336     << " decay T [ns] : min=" << fMinDecayT <<    
337     << "\t max=" << fMaxDecayT << G4endl << "     
338     << "\t mean=" << fSumDecayR / NN << "\t ma    
339     << " decay X [mm] : min=" << fMinDecayX <<    
340     << "\t max=" << fMaxDecayX << G4endl << "     
341     << "\t mean=" << fSumDecayY / NN << "\t ma    
342     << " decay Z [mm] : min=" << fMinDecayZ <<    
343     << "\t max=" << fMaxDecayZ << G4endl << "     
344     << "\t mean=" << fSumDeltaDecayR / NN << "    
345     << " deflection angle [deg] : min=" << fMi    
346     << "\t mean=" << fSumDeflectionAngle / NN     
347     << " Delta Ekin [MeV] : min=" << fMinDelta    
348     << "\t max=" << fMaxDeltaEkin << G4endl       
349     << " decay Ekin [GeV] : min=" << fMinDecay    
350     << "\t mean=" << fSumDecayEkin / NN / CLHE    
351     << G4endl << " decay Px [GeV]   : min=" <<    
352     << "\t mean=" << fSumDecayPx / NN / CLHEP:    
353     << G4endl << " decay Py [GeV]   : min=" <<    
354     << "\t mean=" << fSumDecayPy / NN / CLHEP:    
355     << G4endl << " decay Pz [GeV]   : min=" <<    
356     << "\t mean=" << fSumDecayPz / NN / CLHEP:    
357     << G4endl << " decay Etot violation [MeV]     
358     << "\t mean=" << fSumDecayEtotViolation /     
359     << " decay Px violation [MeV]   : min=" <<    
360     << "\t mean=" << fSumDecayPxViolation / NN    
361     << " decay Py violation [MeV]   : min=" <<    
362     << "\t mean=" << fSumDecayPyViolation / NN    
363     << " decay Pz violation [MeV]   : min=" <<    
364     << "\t mean=" << fSumDecayPzViolation / NN    
365     << " --- Consistency checks --- " << G4end    
366     << " maxEkin_deltaMax [eV]           = " <    
367     << " maxEtot_deltaMax [eV]           = " <    
368     << " maxP_deltaMax [eV]              = " <    
369     << " maxPdir_deltaMax                = " <    
370     << " maxMass_deltaMax{1,2,3} [eV]    = " <    
371     << fMaxMass_deltaMax2 / CLHEP::eV << " , "    
372     << " (mean=" << fSumMass_deltaMax3 / NN /     
373     << " maxBeta_deltaMax{1,2}           = " <    
374     << G4endl << " maxGamma_deltaMax{1,2,3}       
375     << fMaxGamma_deltaMax2 << " , " << fMaxGam    
376     << " maxT_proper_deltaMax [fs]       = " <    
377     << " maxT_lab_deltaMax [fs]          = " <    
378     << " maxMc_truth_rPos_deltaMax [mum] = " <    
379     << " (mean=" << fSumMc_truth_rPos_deltaMax    
380     << ")\t (# above threshold = " << fNum_mc_    
381     << " --- Extra checks --- " << G4endl << "    
382     << fMinUnderestimated_mc_truth_rPos_delta     
383     << " (mean=" << fSumUnderestimated_mc_trut    
384     << ")\t (#above threshold = " << fNum_unde    
385     << " maxOverestimated_mc_truth_rPos_delta     
386     << fMaxOverestimated_mc_truth_rPos_delta /    
387     << " (mean=" << fSumOverestimated_mc_truth    
388     << ")\t (#above threshold = " << fNum_over    
389     << " minUnderestimated_rDeltaPos [mum]        
390     << fMinUnderestimated_rDeltaPos / CLHEP::m    
391     << " (mean=" << fSumUnderestimated_rDeltaP    
392     << ")\t (#above threshold = " << fNumLarge    
393     << " maxOverestimated_rDeltaPos [mum]         
394     << fMaxOverestimated_rDeltaPos / CLHEP::mi    
395     << " (mean=" << fSumOverestimated_rDeltaPo    
396     << ")\t (#above threshold = " << fNumLarge    
397     << " --- float  instead of  double --- " <    
398     << " fMaxFloat_rDeltaPos_deltaMax [mum] =     
399     << G4endl << " ===========================    
400 }                                                 
401                                                   
402 //....oooOO0OOooo........oooOO0OOooo........oo    
403                                                   
404 void Run::SetDecayT(const G4double inputValue)    
405 {                                                 
406   fDecayT = inputValue;                           
407   fSumDecayT += inputValue;                       
408   fMinDecayT = std::min(fMinDecayT, inputValue    
409   fMaxDecayT = std::max(fMaxDecayT, inputValue    
410 }                                                 
411                                                   
412 //....oooOO0OOooo........oooOO0OOooo........oo    
413                                                   
414 void Run::SetDecayR_mc_truth(const G4double in    
415 {                                                 
416   fDecayR_mc_truth = inputValue;                  
417 }                                                 
418                                                   
419 //....oooOO0OOooo........oooOO0OOooo........oo    
420                                                   
421 void Run::SetDecayR(const G4double inputValue)    
422 {                                                 
423   fDecayR = inputValue;                           
424   fSumDecayR += inputValue;                       
425   fMinDecayR = std::min(fMinDecayR, inputValue    
426   fMaxDecayR = std::max(fMaxDecayR, inputValue    
427 }                                                 
428                                                   
429 //....oooOO0OOooo........oooOO0OOooo........oo    
430                                                   
431 void Run::SetDecayX(const G4double inputValue)    
432 {                                                 
433   fDecayX = inputValue;                           
434   fSumDecayX += inputValue;                       
435   fMinDecayX = std::min(fMinDecayX, inputValue    
436   fMaxDecayX = std::max(fMaxDecayX, inputValue    
437 }                                                 
438                                                   
439 //....oooOO0OOooo........oooOO0OOooo........oo    
440                                                   
441 void Run::SetDecayY(const G4double inputValue)    
442 {                                                 
443   fDecayY = inputValue;                           
444   fSumDecayY += inputValue;                       
445   fMinDecayY = std::min(fMinDecayY, inputValue    
446   fMaxDecayY = std::max(fMaxDecayY, inputValue    
447 }                                                 
448                                                   
449 //....oooOO0OOooo........oooOO0OOooo........oo    
450                                                   
451 void Run::SetDecayZ(const G4double inputValue)    
452 {                                                 
453   fDecayZ = inputValue;                           
454   fSumDecayZ += inputValue;                       
455   fMinDecayZ = std::min(fMinDecayZ, inputValue    
456   fMaxDecayZ = std::max(fMaxDecayZ, inputValue    
457 }                                                 
458                                                   
459 //....oooOO0OOooo........oooOO0OOooo........oo    
460                                                   
461 void Run::SetDeltaDecayR(const G4double inputV    
462 {                                                 
463   fDeltaDecayR = inputValue;                      
464   fSumDeltaDecayR += inputValue;                  
465   fMinDeltaDecayR = std::min(fMinDeltaDecayR,     
466   fMaxDeltaDecayR = std::max(fMaxDeltaDecayR,     
467 }                                                 
468                                                   
469 //....oooOO0OOooo........oooOO0OOooo........oo    
470                                                   
471 void Run::SetDeflectionAngle(const G4double in    
472 {                                                 
473   fDeflectionAngle = inputValue;                  
474   fSumDeflectionAngle += inputValue;              
475   fMinDeflectionAngle = std::min(fMinDeflectio    
476   fMaxDeflectionAngle = std::max(fMaxDeflectio    
477 }                                                 
478                                                   
479 //....oooOO0OOooo........oooOO0OOooo........oo    
480                                                   
481 void Run::SetDeltaEkin(const G4double inputVal    
482 {                                                 
483   fDeltaEkin = inputValue;                        
484   fSumDeltaEkin += inputValue;                    
485   fMinDeltaEkin = std::min(fMinDeltaEkin, inpu    
486   fMaxDeltaEkin = std::max(fMaxDeltaEkin, inpu    
487 }                                                 
488                                                   
489 //....oooOO0OOooo........oooOO0OOooo........oo    
490                                                   
491 void Run::SetDecayEkin(const G4double inputVal    
492 {                                                 
493   fDecayEkin = inputValue;                        
494   fSumDecayEkin += inputValue;                    
495   fMinDecayEkin = std::min(fMinDecayEkin, inpu    
496   fMaxDecayEkin = std::max(fMaxDecayEkin, inpu    
497 }                                                 
498                                                   
499 //....oooOO0OOooo........oooOO0OOooo........oo    
500                                                   
501 void Run::SetDecayPx(const G4double inputValue    
502 {                                                 
503   fDecayPx = inputValue;                          
504   fSumDecayPx += inputValue;                      
505   fMinDecayPx = std::min(fMinDecayPx, inputVal    
506   fMaxDecayPx = std::max(fMaxDecayPx, inputVal    
507 }                                                 
508                                                   
509 //....oooOO0OOooo........oooOO0OOooo........oo    
510                                                   
511 void Run::SetDecayPy(const G4double inputValue    
512 {                                                 
513   fDecayPy = inputValue;                          
514   fSumDecayPy += inputValue;                      
515   fMinDecayPy = std::min(fMinDecayPy, inputVal    
516   fMaxDecayPy = std::max(fMaxDecayPy, inputVal    
517 }                                                 
518                                                   
519 //....oooOO0OOooo........oooOO0OOooo........oo    
520                                                   
521 void Run::SetDecayPz(const G4double inputValue    
522 {                                                 
523   fDecayPz = inputValue;                          
524   fSumDecayPz += inputValue;                      
525   fMinDecayPz = std::min(fMinDecayPz, inputVal    
526   fMaxDecayPz = std::max(fMaxDecayPz, inputVal    
527 }                                                 
528                                                   
529 //....oooOO0OOooo........oooOO0OOooo........oo    
530                                                   
531 void Run::SetDecayEtotViolation(const G4double    
532 {                                                 
533   fDecayEtotViolation = inputValue;               
534   fSumDecayEtotViolation += inputValue;           
535   fMinDecayEtotViolation = std::min(fMinDecayE    
536   fMaxDecayEtotViolation = std::max(fMaxDecayE    
537 }                                                 
538                                                   
539 //....oooOO0OOooo........oooOO0OOooo........oo    
540                                                   
541 void Run::SetDecayPxViolation(const G4double i    
542 {                                                 
543   fDecayPxViolation = inputValue;                 
544   fSumDecayPxViolation += inputValue;             
545   fMinDecayPxViolation = std::min(fMinDecayPxV    
546   fMaxDecayPxViolation = std::max(fMaxDecayPxV    
547 }                                                 
548                                                   
549 //....oooOO0OOooo........oooOO0OOooo........oo    
550                                                   
551 void Run::SetDecayPyViolation(const G4double i    
552 {                                                 
553   fDecayPyViolation = inputValue;                 
554   fSumDecayPyViolation += inputValue;             
555   fMinDecayPyViolation = std::min(fMinDecayPyV    
556   fMaxDecayPyViolation = std::max(fMaxDecayPyV    
557 }                                                 
558                                                   
559 //....oooOO0OOooo........oooOO0OOooo........oo    
560                                                   
561 void Run::SetDecayPzViolation(const G4double i    
562 {                                                 
563   fDecayPzViolation = inputValue;                 
564   fSumDecayPzViolation += inputValue;             
565   fMinDecayPzViolation = std::min(fMinDecayPzV    
566   fMaxDecayPzViolation = std::max(fMaxDecayPzV    
567 }                                                 
568                                                   
569 //....oooOO0OOooo........oooOO0OOooo........oo    
570                                                   
571 void Run::SetMaxEkin_deltaMax(const G4double i    
572 {                                                 
573   fMaxEkin_deltaMax = std::max(fMaxEkin_deltaM    
574 }                                                 
575                                                   
576 //....oooOO0OOooo........oooOO0OOooo........oo    
577                                                   
578 void Run::SetMaxEtot_deltaMax(const G4double i    
579 {                                                 
580   fMaxEtot_deltaMax = std::max(fMaxEtot_deltaM    
581 }                                                 
582                                                   
583 //....oooOO0OOooo........oooOO0OOooo........oo    
584                                                   
585 void Run::SetMaxP_deltaMax(const G4double inpu    
586 {                                                 
587   fMaxP_deltaMax = std::max(fMaxP_deltaMax, in    
588 }                                                 
589                                                   
590 //....oooOO0OOooo........oooOO0OOooo........oo    
591                                                   
592 void Run::SetMaxPdir_deltaMax(const G4double i    
593 {                                                 
594   fMaxPdir_deltaMax = std::max(fMaxPdir_deltaM    
595 }                                                 
596                                                   
597 //....oooOO0OOooo........oooOO0OOooo........oo    
598                                                   
599 void Run::SetMaxMass_deltaMax1(const G4double     
600 {                                                 
601   fMaxMass_deltaMax1 = std::max(fMaxMass_delta    
602 }                                                 
603                                                   
604 //....oooOO0OOooo........oooOO0OOooo........oo    
605                                                   
606 void Run::SetMaxMass_deltaMax2(const G4double     
607 {                                                 
608   fMaxMass_deltaMax2 = std::max(fMaxMass_delta    
609 }                                                 
610                                                   
611 //....oooOO0OOooo........oooOO0OOooo........oo    
612                                                   
613 void Run::SetMaxMass_deltaMax3(const G4double     
614 {                                                 
615   fSumMass_deltaMax3 += inputValue;               
616   fMaxMass_deltaMax3 = std::max(fMaxMass_delta    
617 }                                                 
618                                                   
619 //....oooOO0OOooo........oooOO0OOooo........oo    
620                                                   
621 void Run::SetMaxBeta_deltaMax1(const G4double     
622 {                                                 
623   fMaxBeta_deltaMax1 = std::max(fMaxBeta_delta    
624 }                                                 
625                                                   
626 //....oooOO0OOooo........oooOO0OOooo........oo    
627                                                   
628 void Run::SetMaxBeta_deltaMax2(const G4double     
629 {                                                 
630   fMaxBeta_deltaMax2 = std::max(fMaxBeta_delta    
631 }                                                 
632                                                   
633 //....oooOO0OOooo........oooOO0OOooo........oo    
634                                                   
635 void Run::SetMaxGamma_deltaMax1(const G4double    
636 {                                                 
637   fMaxGamma_deltaMax1 = std::max(fMaxGamma_del    
638 }                                                 
639                                                   
640 //....oooOO0OOooo........oooOO0OOooo........oo    
641                                                   
642 void Run::SetMaxGamma_deltaMax2(const G4double    
643 {                                                 
644   fMaxGamma_deltaMax2 = std::max(fMaxGamma_del    
645 }                                                 
646                                                   
647 //....oooOO0OOooo........oooOO0OOooo........oo    
648                                                   
649 void Run::SetMaxGamma_deltaMax3(const G4double    
650 {                                                 
651   fMaxGamma_deltaMax3 = std::max(fMaxGamma_del    
652 }                                                 
653                                                   
654 //....oooOO0OOooo........oooOO0OOooo........oo    
655                                                   
656 void Run::SetMaxT_proper_deltaMax(const G4doub    
657 {                                                 
658   fMaxT_proper_deltaMax = std::max(fMaxT_prope    
659 }                                                 
660                                                   
661 //....oooOO0OOooo........oooOO0OOooo........oo    
662                                                   
663 void Run::SetMaxT_lab_deltaMax(const G4double     
664 {                                                 
665   fMaxT_lab_deltaMax = std::max(fMaxT_lab_delt    
666 }                                                 
667                                                   
668 //....oooOO0OOooo........oooOO0OOooo........oo    
669                                                   
670 void Run::SetMaxMc_truth_rPos_deltaMax(const G    
671 {                                                 
672   fSumMc_truth_rPos_deltaMax += inputValue;       
673   fMaxMc_truth_rPos_deltaMax = std::max(fMaxMc    
674 }                                                 
675                                                   
676 //....oooOO0OOooo........oooOO0OOooo........oo    
677                                                   
678 void Run::SetMinUnderestimated_mc_truth_rPos_d    
679 {                                                 
680   fSumUnderestimated_mc_truth_rPos_delta += in    
681   fMinUnderestimated_mc_truth_rPos_delta =        
682     std::min(fMinUnderestimated_mc_truth_rPos_    
683 }                                                 
684                                                   
685 //....oooOO0OOooo........oooOO0OOooo........oo    
686                                                   
687 void Run::SetMaxOverestimated_mc_truth_rPos_de    
688 {                                                 
689   fSumOverestimated_mc_truth_rPos_delta += inp    
690   fMaxOverestimated_mc_truth_rPos_delta =         
691     std::max(fMaxOverestimated_mc_truth_rPos_d    
692 }                                                 
693                                                   
694 //....oooOO0OOooo........oooOO0OOooo........oo    
695                                                   
696 void Run::SetMinUnderestimated_rDeltaPos(const    
697 {                                                 
698   fSumUnderestimated_rDeltaPos += inputValue;     
699   fMinUnderestimated_rDeltaPos = std::min(fMin    
700 }                                                 
701                                                   
702 //....oooOO0OOooo........oooOO0OOooo........oo    
703                                                   
704 void Run::SetMaxOverestimated_rDeltaPos(const     
705 {                                                 
706   fSumOverestimated_rDeltaPos += inputValue;      
707   fMaxOverestimated_rDeltaPos = std::max(fMaxO    
708 }                                                 
709                                                   
710 //....oooOO0OOooo........oooOO0OOooo........oo    
711                                                   
712 void Run::SetMaxFloat_rDeltaPos_deltaMax(const    
713 {                                                 
714   fMaxFloat_rDeltaPos_deltaMax = std::max(fMax    
715 }                                                 
716                                                   
717 //....oooOO0OOooo........oooOO0OOooo........oo    
718