34 #include "StackingAction.hh"
36 #include "DetectorConstruction.hh"
37 #include "RunAction.hh"
38 #include "HistoManager.hh"
40 #include "StackingMessenger.hh"
49 :fDetector(det),fStackMessenger(0)
88 if ((track->
GetParentID() == 0) || neutral)
return status;
90 Run* run =
static_cast<Run*
>(
104 if (range < 0.8*safe) status =
fKill;
110 analysisManager->FillH1(1,position);
111 analysisManager->FillH1(2,energy);
113 analysisManager->FillH1(3,std::acos(direction.
z()));
G4double GetRangeFromRestricteDEDX(G4double kinEnergy, const G4ParticleDefinition *, const G4Material *, const G4Region *r=nullptr)
static G4RunManager * GetRunManager()
G4double GetKineticEnergy() const
G4Material * GetWallMaterial()
G4ClassificationOfNewTrack
G4double GetCavityThickness()
virtual G4ClassificationOfNewTrack ClassifyNewTrack(const G4Track *)
StackingMessenger * fStackMessenger
G4double GetPDGCharge() const
G4ParticleDefinition * GetDefinition() const
const G4ParticleDefinition const G4Material *G4double range
const G4ThreeVector & GetPosition() const
G4CsvAnalysisManager G4AnalysisManager
G4Run * GetNonConstCurrentRun() const
const G4ThreeVector & GetMomentumDirection() const
void SumEsecond(G4double e)
Simple detector construction with a box volume placed in a world.
DetectorConstruction * fDetector
G4int GetParentID() const