34 #include "DetectorConstruction.hh"
36 #include "EventAction.hh"
37 #include "HistoManager.hh"
38 #include "PrimaryGeneratorAction.hh"
51 fParticle(0), fEkin(0.)
78 std::map<G4String,G4int>::iterator
it =
fProcCounter.find(procName);
101 if (Ekin < emin) data.
fEmin = Ekin;
103 if (Ekin > emax) data.
fEmax = Ekin;
140 const Run* localRun =
static_cast<const Run*
>(run);
149 for (
G4int i=1; i<=nbOfAbsor; ++i) {
153 min = localRun->
fEmin[i]; max = localRun->
fEmax[i];
168 std::map<G4String,G4int>::const_iterator itp;
173 G4int localCount = itp->second;
183 for (
G4int k=0;
k<=nbOfAbsor; ++
k) {
184 std::map<G4String,ParticleData>::const_iterator itc;
189 const ParticleData& localData = itc->second;
192 = ParticleData(localData.fCount,
199 data.fCount += localData.fCount;
200 data.fEmean += localData.fEmean;
202 if (emin < data.fEmin) data.fEmin =
emin;
204 if (emax > data.fEmax) data.fEmax =
emax;
224 G4cout <<
"\n ======================== run summary =====================\n";
226 <<
"\n The run is " <<
numberOfEvent <<
" "<< partName <<
" of "
228 <<
" through " << nbOfAbsor <<
" absorbers: \n";
229 for (
G4int i=1; i<= nbOfAbsor; i++) {
233 G4cout << std::setw(5) << i
234 << std::setw(10) <<
G4BestUnit(thickness,
"Length") <<
" of "
235 << material->
GetName() <<
" (density: "
247 std::map<G4String,G4int>::iterator
it;
250 G4int count = it->second;
251 G4String space =
" ";
if (++index%3 == 0) space =
"\n";
252 G4cout <<
" " << std::setw(20) << procName <<
"="<< std::setw(7) << count
259 for (
G4int i=1; i<= nbOfAbsor; i++) {
263 <<
"\n Edep in absorber " << i <<
" = "
282 for (
G4int k=1;
k<= nbOfAbsor;
k++) {
283 G4cout <<
"\n List of generated particles in absorber " <<
k <<
":" <<
G4endl;
285 std::map<G4String,ParticleData>::iterator itc;
289 ParticleData
data = itc->second;
290 G4int count = data.fCount;
295 G4cout <<
" " << std::setw(13) << name <<
": " << std::setw(7) << count
296 <<
" Emean = " << std::setw(wid) <<
G4BestUnit(eMean,
"Energy")
304 G4cout <<
"\n List of particles emerging from absorbers :" <<
G4endl;
306 std::map<G4String,ParticleData>::iterator itc;
310 ParticleData
data = itc->second;
311 G4int count = data.fCount;
316 G4cout <<
" " << std::setw(13) << name <<
": " << std::setw(7) << count
317 <<
" Emean = " << std::setw(wid) <<
G4BestUnit(eMean,
"Energy")
332 <<
"\n Nb of events with primary absorbed = " << absorbed <<
" %,"
333 <<
" transmit = " << transmit <<
" %,"
334 <<
" reflected = " << reflected <<
" %" <<
G4endl;
343 analysisManager->
ScaleH1(ih,fac);