34 #include "DetectorConstruction.hh"
36 #include "HistoManager.hh"
37 #include "PrimaryGeneratorAction.hh"
48 fParticle(0), fEkin(0.),
49 fEdeposit(0.), fEdeposit2(0.),
50 fTrackLen(0.), fTrackLen2(0.),
51 fProjRange(0.), fProjRange2(0.),
52 fNbOfSteps(0), fNbOfSteps2(0),
53 fStepSize(0.), fStepSize2(0.),
122 const Run* localRun =
static_cast<const Run*
>(run);
149 std::ios::fmtflags mode =
G4cout.flags();
150 G4cout.setf(std::ios::fixed,std::ios::floatfield);
159 G4cout <<
"\n ======================== run summary =====================\n";
161 <<
"\n The run is " <<
numberOfEvent <<
" "<< partName <<
" of "
164 << material->
GetName() <<
" (density: "
168 G4cout.setf(mode,std::ios::floatfield);
175 if (rms>0.) rms = std::sqrt(rms);
else rms = 0.;
179 <<
"\n Total Energy deposited = " <<
G4BestUnit(fEdeposit,
"Energy")
187 if (rms>0.) rms = std::sqrt(rms);
else rms = 0.;
191 <<
"\n Track length of primary track = " <<
G4BestUnit(fTrackLen,
"Length")
198 <<
" (from full dE/dx)" <<
G4endl;
205 if (rms>0.) rms = std::sqrt(rms);
else rms = 0.;
208 <<
"\n Projected range = " <<
G4BestUnit(fProjRange,
"Length")
217 rms = fNbSteps2 - fNbSteps*fNbSteps;
218 if (rms>0.) rms = std::sqrt(rms);
else rms = 0.;
221 G4cout <<
"\n Nb of steps of primary track = " << fNbSteps <<
" +- " << rms;
225 if (rms>0.) rms = std::sqrt(rms);
else rms = 0.;
229 <<
"\t Step size= " <<
G4BestUnit(fStepSize,
"Length")
240 analysisManager->
ScaleH1(ih,fac);
247 analysisManager->
ScaleH1(ih,fac);
250 G4cout.setf(mode,std::ios::floatfield);