35 #include "RunAction.hh"
36 #include "HistoManager.hh"
37 #include "PrimaryGeneratorAction.hh"
50 fHistoManager(0), fPrimary(kin)
75 if ( analysisManager->IsActive() ) {
76 analysisManager->OpenFile();
137 if (nbEvents == 0) {
return; }
144 G4cout <<
"\n ======================== run summary ======================";
145 G4cout <<
"\n The run was " << nbEvents <<
" " << partName <<
" of "
147 G4cout <<
"\n ===========================================================\n";
157 std::map<G4String,G4int>::iterator it;
160 G4int count = it->second;
164 G4cout <<
" " << std::setw(13) << name <<
": " << std::setw(7) << count
165 <<
" Emean = " << std::setw(wid) <<
G4BestUnit(eMean,
"Energy")
178 G4cout <<
"\n Ekin Total (Q): mean = "
179 << std::setw(wid) <<
G4BestUnit(Ebmean,
"Energy")
184 G4cout <<
"\n Momentum balance (excluding gamma desexcitation): mean = "
185 << std::setw(wid) <<
G4BestUnit(Pbmean,
"Energy")
195 G4double halfLife = Tmean*std::log(2.);
197 G4cout <<
"\n Total time of life : mean = "
198 << std::setw(wid) <<
G4BestUnit(Tmean,
"Time")
200 << std::setw(wid) <<
G4BestUnit(halfLife,
"Time")
210 G4double nAtoms_perUnitOfMass = Avogadro/molMass;
211 G4double Activity_perUnitOfMass = 0.0;
213 { Activity_perUnitOfMass = nAtoms_perUnitOfMass/pTimeMean; }
215 G4cout <<
"\n Activity of " << partName <<
" = "
216 << std::setw(wid) << Activity_perUnitOfMass*
g/
becquerel
217 <<
" Bq/g (" << Activity_perUnitOfMass*
g/
curie
234 analysisManager->ScaleH1(1,factor);
235 analysisManager->ScaleH1(2,factor);
236 analysisManager->ScaleH1(3,factor);
237 analysisManager->ScaleH1(4,factor);
238 analysisManager->ScaleH1(5,factor);
239 if ( analysisManager->IsActive() ) {
240 analysisManager->Write();
241 analysisManager->CloseFile();
void BeginOfRunAction(const G4Run *)
#define G4BestUnit(a, b)
#define G4_USE_G4BESTUNIT_FOR_VERBOSE 1
void SetRandomNumberStore(G4bool flag)
const G4String & GetParticleName() const
HistoManager * fHistoManager
void PrimaryTiming(G4double)
G4GLOB_DLL std::ostream G4cout
G4int GetNumberOfEvent() const
void EndOfRunAction(const G4Run *)
static const double becquerel
ExG4HbookAnalysisManager G4AnalysisManager
G4int GetAtomicMass() const
static const double curie
static G4RunManager * GetRunManager()
std::map< G4String, G4double > fEmean
G4ParticleGun * GetParticleGun()
void ParticleCount(G4String, G4double)
G4ParticleDefinition * GetParticleDefinition() const
void EventTiming(G4double)
std::map< G4String, G4int > fParticleCount
G4double GetParticleEnergy() const
PrimaryGeneratorAction * fPrimary