34 #include "RunAction.hh"
35 #include "DetectorConstruction.hh"
36 #include "PhysicsList.hh"
38 #include "PrimaryGeneratorAction.hh"
40 #include "HistoManager.hh"
52 fDetector(det),fPhysics(phys),fPrimary(kin),fRun(0),fHistoManager(0)
79 if (
isMaster) G4Random::showEngineStatus();
84 if ( analysisManager->IsActive() ) {
85 analysisManager->OpenFile();
105 csdaRange = emCalculator.
GetCSDARange(energy,particle,material);
113 if (analysisManager->GetH1Activation(ih))
114 stepMax = analysisManager->GetH1Width(ih)*analysisManager->GetH1Unit(ih);
116 if (analysisManager->GetH1Activation(ih)) {
118 stepMax =
std::min(stepMax, width*csdaRange);
134 if ( analysisManager->IsActive() ) {
135 analysisManager->Write();
136 analysisManager->CloseFile();
140 if (
isMaster) G4Random::showEngineStatus();
PrimaryGeneratorAction class.
G4StepLimiter * GetStepMaxProcess()
void BeginOfRunAction(const G4Run *)
void SetCsdaRange(G4int i, G4double value)
virtual G4Run * GenerateRun()
DetectorConstruction * fDetector
HistoManager * fHistoManager
G4Material * GetAbsorMaterial(G4int i)
G4double GetCSDARange(G4double kinEnergy, const G4ParticleDefinition *, const G4Material *, const G4Region *r=0)
void EndOfRunAction(const G4Run *)
ExG4HbookAnalysisManager G4AnalysisManager
G4ParticleGun * GetParticleGun()
G4double energy(const ThreeVector &p, const G4double m)
T min(const T t1, const T t2)
brief Return the smallest of the two arguments
G4ParticleDefinition * GetParticleDefinition() const
Detector construction class to demonstrate various ways of placement.
void SetPrimary(G4ParticleDefinition *particle, G4double energy)
G4double GetPDGCharge() const
G4double GetParticleEnergy() const
PrimaryGeneratorAction * fPrimary