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)
91 if ((track->
GetParentID() == 0) || neutral)
return status;
94 Run* run =
static_cast<Run*
>(
108 if (range < 0.8*safe) status =
fKill;
114 analysisManager->FillH1(1,position);
115 analysisManager->FillH1(2,energy);
117 analysisManager->FillH1(3,std::acos(direction.z()));
G4ParticleDefinition * GetDefinition() const
G4int GetParentID() const
DetectorConstruction * fDetector
CLHEP::Hep3Vector G4ThreeVector
void sumEsecond(G4double e)
G4Material * GetWallMaterial()
const G4ThreeVector & GetPosition() const
G4double GetKineticEnergy() const
virtual G4ClassificationOfNewTrack ClassifyNewTrack(const G4Track *)
G4double GetRangeFromRestricteDEDX(G4double kinEnergy, const G4ParticleDefinition *, const G4Material *, const G4Region *r=0)
StackingMessenger * fStackMessenger
ExG4HbookAnalysisManager G4AnalysisManager
G4double GetCavityThickness()
static G4RunManager * GetRunManager()
const G4ThreeVector & GetMomentumDirection() const
G4ClassificationOfNewTrack
G4double energy(const ThreeVector &p, const G4double m)
Detector construction class to demonstrate various ways of placement.
G4double GetPDGCharge() const
G4Run * GetNonConstCurrentRun() const