34 #include "SteppingAction.hh"
35 #include "DetectorConstruction.hh"
36 #include "TrackingAction.hh"
37 #include "HistoManager.hh"
49 :fDetector(det), fTrackAction(TrAct),
74 Run* run =
static_cast<Run*
>(
93 if (volume == fCavity) {
106 if (volume == fWall) {run->
StepInWall (steplen);
id = 9;}
108 analysisManager->FillH1(
id,steplen);
118 if (volume == fWall)
return;
128 analysisManager->FillH1(4,vertex.
z());
130 analysisManager->FillH1(5,ekin1);
136 analysisManager->FillH1(6,std::acos(-fDirectionIn*normal));
137 analysisManager->FillH1(7,std::acos(-directionOut*normal));
144 fTrackSegm += steplen;
147 analysisManager->FillH1(8,fTrackSegm);
155 analysisManager->FillH1(8,fTrackSegm);
void AddTrakCavity(G4double dt)
G4ParticleDefinition * GetDefinition() const
G4VPhysicalVolume * GetWall()
void CountProcesses(G4String procName)
virtual G4VSolid * GetSolid(G4int depth=0) const
CLHEP::Hep3Vector G4ThreeVector
void StepInCavity(G4double s)
G4double GetStepLength() const
G4StepStatus GetStepStatus() const
void UserSteppingAction(const G4Step *)
static double normal(HepRandomEngine *eptr)
G4StepPoint * GetPreStepPoint() const
const G4ThreeVector & GetMomentumDirection() const
G4int GetCurrentStepNumber() const
const G4ThreeVector & GetPosition() const
virtual G4ThreeVector SurfaceNormal(const G4ThreeVector &p) const =0
const G4String & GetProcessName() const
const G4ThreeVector & GetVertexPosition() const
G4double GetTotalEnergyDeposit() const
G4VPhysicalVolume * GetCavity()
static G4RunManager * GetRunManager()
const G4VProcess * GetProcessDefinedStep() const
void StepInWall(G4double s)
virtual G4VPhysicalVolume * GetVolume(G4int depth=0) const
void FlowInCavity(G4int k, G4double e)
G4StepPoint * GetPostStepPoint() const
Detector construction class to define materials and geometry.
void AddEdepCavity(G4double de)
G4double GetKineticEnergy() const
G4Track * GetTrack() const
G4CsvAnalysisManager G4AnalysisManager
G4Run * GetNonConstCurrentRun() const
const G4TouchableHandle & GetTouchableHandle() const