Geant4 Cross Reference |
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