34 #include "DetectorConstruction.hh"
35 #include "PrimaryGeneratorAction.hh"
49 fParticle(0), fEkin(0.)
68 std::map<G4String,G4int>::iterator
it =
fProcCounter.find(procName);
81 const Run* localRun =
static_cast<const Run*
>(run);
88 std::map<G4String,G4int>::const_iterator
it;
93 G4int localCount = it->second;
119 G4cout <<
"\n ======================== run summary ======================\n";
123 << material->
GetName() <<
" (density: "
127 G4int totalCount = 0;
129 G4cout <<
"\n Process calls frequency --->";
130 std::map<G4String,G4int>::iterator
it;
133 G4int count = it->second;
135 G4cout <<
"\t" << procName <<
" = " << count;
136 if (procName ==
"Transportation") survive = count;
140 if (totalCount == 0) {
G4cout.precision(dfprec);
return;};
143 G4cout <<
"\n Nb of incident particles unaltered after "
145 << material->
GetName() <<
" : " << survive
146 <<
" over " << totalCount <<
" incident particles."
147 <<
" Ratio = " << 100*ratio <<
" %" <<
G4endl;
149 if (ratio == 0.)
return;
153 G4double CrossSection = - std::log(ratio)/tickness;
154 G4double massicCS = CrossSection/density;
156 G4cout <<
" ---> CrossSection per volume:\t" << CrossSection*
cm <<
" cm^-1 "
157 <<
"\tCrossSection per mass: " <<
G4BestUnit(massicCS,
"Surface/Mass")
162 G4cout <<
"\n Verification from G4EmCalculator: \n";
169 procName,material)/density;
173 procName,material)/density;
175 if (procName !=
"Transportation")
176 G4cout <<
"\t" << procName <<
"= "
183 G4double Ratio = std::exp(-sumc*density*tickness);
184 G4cout <<
"\tExpected ratio of transmitted particles= "
185 << 100*Ratio <<
" %" <<
G4endl;