Determines the applicability of the fast sim model to this particular track.
58{
59
60 #ifdef FATRASG4_DEBUG
61 G4cout<<"[FatrasG4::ModelTrigger] Got particle with " <<"\n"
62 <<" pdg=" <<fastTrack.GetPrimaryTrack() -> GetDefinition()->GetPDGEncoding() <<"\n"
63 <<" Ekin="<<fastTrack.GetPrimaryTrack() -> GetKineticEnergy() <<"\n"
64 <<" p=" <<fastTrack.GetPrimaryTrack() -> GetMomentum().mag() <<"\n"
65 <<" x=" <<fastTrack.GetPrimaryTrack() -> GetPosition().x() <<"\n"
66 <<" y=" <<fastTrack.GetPrimaryTrack() -> GetPosition().y() <<"\n"
67 <<" z=" <<fastTrack.GetPrimaryTrack() -> GetPosition().z() <<"\n"
68 <<" r=" <<fastTrack.GetPrimaryTrack() -> GetPosition().perp() <<"\n"
69 <<" eta=" <<fastTrack.GetPrimaryTrack() -> GetMomentum().eta() <<"\n"
70 <<" phi=" <<fastTrack.GetPrimaryTrack() -> GetMomentum().phi() <<"\n"
71 <<G4endl;
72 #endif
73
74 const G4ParticleDefinition * G4Particle = fastTrack.GetPrimaryTrack() -> GetDefinition();
75
76
77 bool isPhoton = G4Particle == G4Gamma::Definition();
78 bool isElectron = G4Particle == G4Electron::Definition();
79 bool isPositron = G4Particle == G4Positron::Definition();
80
81
83 #ifdef FATRASG4_DEBUG
84 G4cout<<"[FatrasG4::ModelTrigger] Photons, electrons or positron. Model triggered."<<G4endl;
85 #endif
86 return true;
87 }
88 else return false;
89
90}