34 #include "RunAction.hh"
35 #include "PhysicsList.hh"
37 #include "PrimaryGeneratorAction.hh"
38 #include "HistoManager.hh"
80 if (
isMaster) G4Random::showEngineStatus();
93 if ( analysisManager->IsActive() ) {
94 analysisManager->OpenFile();
103 if (analysisManager->GetH1Activation(ih)) {
104 stepMax = analysisManager->GetH1Width(ih)
105 *analysisManager->GetH1Unit(ih);
113 if (width == 0.) width = 1.;
117 for (
G4int i=1; i<= nbOfAbsor; i++) {
122 if (analysisManager->GetH1Activation(ih))
123 stepMax =
std::min(stepMax, width*newCsdaRange);
128 G4double newXfrontNorm = xfrontNorm + thickness/csdaRange;
144 if ( analysisManager->IsActive() ) {
145 analysisManager->Write();
146 analysisManager->CloseFile();
150 if (
isMaster) G4Random::showEngineStatus();
void SetPrimary(G4ParticleDefinition *particle, G4double energy)
void EndOfRunAction(const G4Run *)
virtual G4Run * GenerateRun()
G4double GetPDGCharge() const
G4ParticleGun * GetParticleGun()
G4double GetCsdaRange(G4int i)
G4Material * GetAbsorMaterial(G4int i)
G4StepLimiter * GetStepMaxProcess()
HistoManager * fHistoManager
void BeginOfRunAction(const G4Run *)
void SetXfrontNorm(G4int i, G4double value)
The primary generator action class with particle gun.
G4CsvAnalysisManager G4AnalysisManager
DetectorConstruction * fDetector
G4double GetParticleEnergy() const
G4double GetCSDARange(G4double kinEnergy, const G4ParticleDefinition *, const G4Material *, const G4Region *r=nullptr)
PrimaryGeneratorAction * fPrimary
G4double GetXfrontNorm(G4int i)
G4double GetAbsorThickness(G4int i)
G4ParticleDefinition * GetParticleDefinition() const
void SetCsdaRange(G4int i, G4double value)
Simple detector construction with a box volume placed in a world.
T min(const T t1, const T t2)
brief Return the smallest of the two arguments