34 #include "DetectorConstruction.hh"
35 #include "PrimaryGeneratorAction.hh"
48 fParticle(0), fEkin(0.),
49 fNbOfTraks0(0), fNbOfTraks1(0),
50 fNbOfSteps0(0), fNbOfSteps1(0),
52 fTrueRange(0.), fTrueRange2(0.),
53 fProjRange(0.), fProjRange2(0.),
54 fTransvDev(0.), fTransvDev2(0.)
73 std::map<G4String,G4int>::iterator
it =
fProcCounter.find(procName);
86 const Run* localRun =
static_cast<const Run*
>(run);
108 std::map<G4String,G4int>::const_iterator
it;
113 G4int localCount = it->second;
138 G4cout <<
"\n ======================== run summary ======================\n";
142 << material->
GetName() <<
" (density: "
148 G4cout <<
"\n Total energy deposit: "
150 G4cout <<
" NIEL energy calculated: "
155 G4cout <<
"\n Nb tracks/event"
156 <<
" neutral: " << std::setw(wid) <<
fNbOfTraks0/dNbOfEvents
157 <<
" charged: " << std::setw(wid) <<
fNbOfTraks1/dNbOfEvents
158 <<
"\n Nb steps/event"
159 <<
" neutral: " << std::setw(wid) <<
fNbOfSteps0/dNbOfEvents
160 <<
" charged: " << std::setw(wid) <<
fNbOfSteps1/dNbOfEvents
167 std::map<G4String,G4int>::iterator
it;
170 G4int count = it->second;
171 G4String space =
" ";
if (++index%3 == 0) space =
"\n";
172 G4cout <<
" " << std::setw(20) << procName <<
"="<< std::setw(7) << count
181 if (trueRms>0.) trueRms = std::sqrt(trueRms);
else trueRms = 0.;
185 if (projRms>0.) projRms = std::sqrt(projRms);
else projRms = 0.;
189 if (trvsRms>0.) trvsRms = std::sqrt(trvsRms);
else trvsRms = 0.;
198 G4cout <<
"\n---------------------------------------------------------\n";
199 G4cout <<
" Primary particle : " ;
201 <<
" rms = " <<
G4BestUnit(trueRms,
"Length");
204 <<
" rms = " <<
G4BestUnit(projRms,
"Length");
208 G4cout <<
"\n transverse dispersion at end = "
211 G4cout <<
"\n mass true Range from simulation = "
212 <<
G4BestUnit(fTrueRange*density,
"Mass/Surface")
213 <<
"\n from PhysicsTable (csda range) = "
214 <<
G4BestUnit(rangeTable*density,
"Mass/Surface");
215 G4cout <<
"\n---------------------------------------------------------\n";