34 #include "RunAction.hh"
35 #include "DetectorConstruction.hh"
36 #include "PrimaryGeneratorAction.hh"
37 #include "HistoManager.hh"
52 :
G4UserRunAction(),fDetector(det), fPrimary(kin), fRun(0), fHistoManager(0)
69 fRun =
new Run(fDetector);
79 G4Random::showEngineStatus();
92 if ( analysisManager->IsActive() ) {
93 analysisManager->OpenFile();
102 if (TotNbofEvents == 0)
return;
113 G4double binWidth = analysisManager->GetH1Width(ih);
114 G4double unit = analysisManager->GetH1Unit(ih);
115 G4double fac = unit/(TotNbofEvents*binWidth);
116 analysisManager->ScaleH1(ih,fac);
119 binWidth = analysisManager->GetH1Width(ih);
120 unit = analysisManager->GetH1Unit(ih);
121 fac = unit/(TotNbofEvents*binWidth);
122 analysisManager->ScaleH1(ih,fac);
125 analysisManager->ScaleH1(ih,1./TotNbofEvents);
128 if ( analysisManager->IsActive() ) {
129 analysisManager->Write();
130 analysisManager->CloseFile();
134 G4Random::showEngineStatus();
void BeginOfRunAction(const G4Run *)
virtual G4Run * GenerateRun()
double precision function energy(A, Z)
void PrintSummary() const
G4int GetNumberOfEvent() const
void EndOfRunAction(const G4Run *)
ExG4HbookAnalysisManager G4AnalysisManager
G4ParticleGun * GetParticleGun()
G4ParticleDefinition * GetParticleDefinition() const
void SetPrimary(G4ParticleDefinition *particle, G4double energy)
G4double GetParticleEnergy() const