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 11.0.p1)


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