34 #include "DetectorConstruction.hh"
35 #include "PrimaryGeneratorAction.hh"
36 #include "HistoManager.hh"
45 fDetector(det), fParticle(0), fEkin(0.)
69 std::map<G4String,G4int>::iterator
it =
fProcCounter.find(procName);
87 ParticleData&
data = it->second;
92 if (Ekin < emin) data.fEmin = Ekin;
94 if (Ekin > emax) data.fEmax = Ekin;
122 ParticleData& data = it->second;
127 if (Ekin < emin) data.fEmin = Ekin;
129 if (Ekin > emax) data.fEmax = Ekin;
137 const Run* localRun =
static_cast<const Run*
>(run);
152 std::map<G4String,G4int>::const_iterator itp;
157 G4int localCount = itp->second;
167 std::map<G4String,ParticleData>::const_iterator itc;
172 const ParticleData& localData = itc->second;
175 = ParticleData(localData.fCount,
182 data.fCount += localData.fCount;
183 data.fEmean += localData.fEmean;
185 if (emin < data.fEmin) data.fEmin =
emin;
187 if (emax > data.fEmax) data.fEmax =
emax;
192 std::map<G4String,ParticleData>::const_iterator itn;
197 const ParticleData& localData = itn->second;
200 = ParticleData(localData.fCount,
207 data.fCount += localData.fCount;
208 data.fEmean += localData.fEmean;
210 if (emin < data.fEmin) data.fEmin =
emin;
212 if (emax > data.fEmax) data.fEmax =
emax;
232 << material->
GetName() <<
" (D = "
242 std::map<G4String,G4int>::iterator
it;
245 G4int count = it->second;
246 G4String space =
" ";
if (++index%3 == 0) space =
"\n";
247 G4cout <<
" " << std::setw(20) << procName <<
"="<< std::setw(7) << count
256 std::map<G4String,ParticleData>::iterator itc;
259 ParticleData data = itc->second;
260 G4int count = data.fCount;
265 G4cout <<
" " << std::setw(13) << name <<
": " << std::setw(7) << count
266 <<
" Emean = " << std::setw(wid) <<
G4BestUnit(eMean,
"Energy")
277 if (rmsEdep>0.) rmsEdep = std::sqrt(rmsEdep);
280 G4cout <<
"\n Mean energy deposit per event = "
281 <<
G4BestUnit(fEnergyDeposit,
"Energy") <<
"; rms = "
289 if (rmsEflow>0.) rmsEflow = std::sqrt(rmsEflow);
292 G4cout <<
" Mean energy flow per event = "
293 <<
G4BestUnit(fEnergyFlow,
"Energy") <<
"; rms = "
299 G4cout <<
"\n List of particles emerging from the container :" <<
G4endl;
301 std::map<G4String,ParticleData>::iterator itn;
304 ParticleData data = itn->second;
305 G4int count = data.fCount;
309 G4double Eflow = data.fEmean/TotNbofEvents;
311 G4cout <<
" " << std::setw(13) << name <<
": " << std::setw(7) << count
312 <<
" Emean = " << std::setw(wid) <<
G4BestUnit(eMean,
"Energy")