38 const auto localRun =
static_cast<const WLSRun*
>(run);
41 fNTIR2 += localRun->fNTIR2;
72 if(numberOfEvent == 0)
74 auto TotNbofEvents = G4double(numberOfEvent);
80 rmsTIR = std::sqrt(rmsTIR);
88 rmsExiting = std::sqrt(rmsExiting);
95 if(rmsEscapedEnd > 0.)
96 rmsEscapedEnd = std::sqrt(rmsEscapedEnd);
103 if(rmsEscapedMid > 0.)
104 rmsEscapedMid = std::sqrt(rmsEscapedMid);
112 rmsBounce = std::sqrt(rmsBounce);
119 if(rmsWLSBounce > 0.)
120 rmsWLSBounce = std::sqrt(rmsWLSBounce);
127 if(rmsClad1Bounce > 0.)
128 rmsClad1Bounce = std::sqrt(rmsClad1Bounce);
135 if(rmsClad2Bounce > 0.)
136 rmsClad2Bounce = std::sqrt(rmsClad2Bounce);
143 if(rmsReflected > 0.)
144 rmsReflected = std::sqrt(rmsReflected);
152 rmsEscaped = std::sqrt(rmsEscaped);
160 rmsMirror = std::sqrt(rmsMirror);
167 if(rmsDetectorHits > 0.)
168 rmsDetectorHits = std::sqrt(rmsDetectorHits);
170 rmsDetectorHits = 0.;
172 G4int prec = G4cout.precision(3);
173 G4cout <<
"\n ======================== run summary =====================\n";
174 G4cout <<
"Average number per event:" << G4endl;
175 G4cout <<
" TIR: " <<
fNTIR <<
" +- " << rmsTIR << G4endl
176 <<
" Exiting: " <<
fNExiting <<
" +- " << rmsExiting << G4endl
177 <<
" Escaped Mid: " <<
fEscapedMid <<
" +- " << rmsEscapedMid
178 << G4endl <<
" Escaped End: " <<
fEscapedEnd <<
" +- "
179 << rmsEscapedEnd << G4endl <<
" Bounced: " <<
fBounce <<
" +- "
180 << rmsBounce << G4endl <<
" WLS Bounce: " <<
fWLSBounce <<
" +- "
181 << rmsWLSBounce << G4endl <<
" Clad1 Bounce: " <<
fClad1Bounce
182 <<
" +- " << rmsClad1Bounce << G4endl
183 <<
" Clad2 Bounce: " <<
fClad2Bounce <<
" +- " << rmsClad2Bounce
184 << G4endl <<
" Reflected: " <<
fReflected <<
" +- " << rmsReflected
185 << G4endl <<
" Escaped: " <<
fEscaped <<
" +- " << rmsEscaped
186 << G4endl <<
" Mirror: " <<
fMirror <<
" +- " << rmsMirror
188 << rmsDetectorHits << G4endl;
191 G4cout.precision(prec);