7 #include "G4FastTrack.hh"
8 #include "G4FastStep.hh"
10 #include "G4Electron.hh"
11 #include "G4Positron.hh"
13 #include "G4Neutron.hh"
14 #include "G4MuonPlus.hh"
15 #include "G4MuonMinus.hh"
16 #include "G4PionPlus.hh"
17 #include "G4PionMinus.hh"
20 : G4VFastSimulationModel(
name),
21 m_highEnergy(highEnergy),
22 m_lowEnergy(lowEnergy),
31 if ( &
particleType == G4Electron::ElectronDefinition() ||
47 if ( fabs( fastTrack.GetPrimaryTrack()->GetPosition().z() ) <
m_zcutoff ){
49 if ( fastTrack.GetPrimaryTrack()->GetKineticEnergy() <
m_lowEnergy &&
50 (fastTrack.GetPrimaryTrack()->GetDefinition() == G4Electron::Definition() ||
51 fastTrack.GetPrimaryTrack()->GetDefinition() == G4Positron::Definition() ) )
59 if ( fastTrack.GetPrimaryTrack()->GetKineticEnergy() >
m_highEnergy ||
60 fastTrack.GetPrimaryTrack()->GetDefinition() == G4MuonPlus::Definition() ||
61 fastTrack.GetPrimaryTrack()->GetDefinition() == G4MuonMinus::Definition() )
70 fastStep.KillPrimaryTrack();
71 fastStep.SetPrimaryTrackPathLength(0.0);