47 fSteppingMessenger(0),
65 G4Track* theTrack = theStep->GetTrack();
75 if (theTrack->GetParentID()==0) {
78 = theStep->GetPreStepPoint()->GetPhysicalVolume()->GetLogicalVolume();
80 theTrack->SetTrackStatus(fStopAndKill);
88 G4StepPoint* thePrePoint = theStep->GetPreStepPoint();
93 G4StepPoint* thePostPoint = theStep->GetPostStepPoint();
107 GetDynamicParticle()->GetMomentumDirection();
112 theTrack->SetTrackStatus(fStopAndKill);
124 if ( theTrack-> GetMomentumDirection().z()>0.0 &&
125 theTrack->GetVertexMomentumDirection().z()<0.0 )
133 if (theTrack->GetTrackStatus() == fAlive) {
return; }
135 if (thePostPoint->GetProcessDefinedStep() != 0) {
136 if (thePostPoint->GetProcessDefinedStep()->GetProcessName() !=
"Decay")
Definition of the F04SteppingAction class.
virtual void UserSteppingAction(const G4Step *)
G4LogicalVolume * fTestPlaneVolume
Definition of the F04SteppingActionMessenger class.
G4LogicalVolume * fTargetVolume
G4LogicalVolume * GetVolume(const G4String &name, G4bool verbose=true) const
static G4LogicalVolumeStore * GetInstance()
F04SteppingActionMessenger * fSteppingMessenger
G4LogicalVolume * GetLogicalVolume() const
virtual ~F04SteppingAction()