2 #include "G4ParticleTypes.hh" 24 G4ThreeVector pos = aStep->GetPostStepPoint()->GetPosition();
25 G4Track* track = aStep->GetTrack();
29 fabs(pos.z()) >
max_z_pos ) track->SetTrackStatus(fStopAndKill);
32 track->SetTrackStatus(fStopAndKill);
35 if(track->GetMaterial()->GetName() ==
"Kryptonite")
37 track->SetTrackStatus(fStopAndKill);
41 if(track->GetDefinition() == G4OpticalPhoton::OpticalPhotonDefinition())
45 if(track->GetCurrentStepNumber() > 100)
46 track->SetTrackStatus(fStopAndKill);
48 if(track->GetLogicalVolumeAtVertex()->GetMaterial()->GetName() ==
"SemiMirror")
49 track->SetTrackStatus(fStopAndKill);
56 if(track->GetCurrentStepNumber() > 10000)
57 track->SetTrackStatus(fStopAndKill);
double max_x_pos
Max X Position in millimeters.
void UserSteppingAction(const G4Step *)
goptions gemcOpt
gemc options map
double max_y_pos
Max Y Position in millimeters.
double max_z_pos
Max Z Position in millimeters.
map< string, aopt > optMap
Options map.
virtual ~MSteppingAction()
MSteppingAction(goptions)
double energyCut
Set to the ENERGY_CUT from options. This avoids a billion lookups in the map.