34 #include "DetectorConstruction.hh"
36 #include "EventAction.hh"
37 #include "HistoManager.hh"
38 #include "PrimaryGeneratorAction.hh"
51 fParticle(0), fEkin(0.),
52 fTrackLen(0.), fTrackLen2(0.),
53 fProjRange(0.), fProjRange2(0.),
54 fNbOfSteps(0), fNbOfSteps2(0),
55 fStepSize(0.), fStepSize2(0.)
164 const Run* localRun =
static_cast<const Run*
>(run);
181 for (
G4int i=1; i<=nbOfAbsor; ++i) {
187 min = localRun->
fEmin[i]; max = localRun->
fEmax[i];
208 std::ios::fmtflags mode =
G4cout.flags();
209 G4cout.setf(std::ios::fixed,std::ios::floatfield);
217 G4cout <<
"\n ======================== run summary =====================\n";
219 <<
"\n The run is " <<
numberOfEvent <<
" "<< partName <<
" of "
221 <<
" through " << nbOfAbsor <<
" absorbers: \n";
222 for (
G4int i=1; i<= nbOfAbsor; i++) {
226 G4cout << std::setw(5) << i
227 << std::setw(10) <<
G4BestUnit(thickness,
"Length") <<
" of "
228 << material->
GetName() <<
" (density: "
233 G4cout.setf(mode,std::ios::floatfield);
241 for (
G4int i=1; i<= nbOfAbsor; i++) {
245 <<
"\n Edep in absorber " << i <<
" = "
266 if (rms>0.) rms = std::sqrt(rms);
else rms = 0.;
270 <<
"\n Track length of primary track = " <<
G4BestUnit(fTrackLen,
"Length")
276 if (NbOfAbsor == 1) {
279 <<
" (from full dE/dx)" <<
G4endl;
286 if (rms>0.) rms = std::sqrt(rms);
else rms = 0.;
289 <<
"\n Projected range = " <<
G4BestUnit(fProjRange,
"Length")
298 rms = fNbSteps2 - fNbSteps*fNbSteps;
299 if (rms>0.) rms = std::sqrt(rms);
else rms = 0.;
302 G4cout <<
"\n Nb of steps of primary track = " << fNbSteps <<
" +- " << rms;
306 if (rms>0.) rms = std::sqrt(rms);
else rms = 0.;
310 <<
"\t Step size= " <<
G4BestUnit(fStepSize,
"Length")
322 <<
"\n absorbed = " << absorbed <<
" %"
323 <<
" transmit = " << transmit <<
" %"
324 <<
" reflected = " << reflected <<
" %" <<
G4endl;
333 analysisManager->
ScaleH1(ih,fac);
338 analysisManager->
ScaleH1(ih,fac);
341 G4cout.setf(mode,std::ios::floatfield);