15 #include "G4TrackingManager.hh"
16 #include "G4GenericMessenger.hh"
18 #include "G4Electron.hh"
19 #include "G4Positron.hh"
23 messenger =
new G4GenericMessenger(
this,
"/eAST/trajectory/",
"eAST trajectory commands");
24 auto& mkeCmd =
messenger->DeclarePropertyWithUnit(
"minimumKE",
"MeV",
25 lowELimit,
"minimum kinetic energy for recording as a trajectory");
26 mkeCmd.SetStates(G4State_Idle);
37 if((trackingActions!=
nullptr) && !(trackingActions->empty()))
39 for(
auto ua : *trackingActions)
40 { ua.second->PreUserTrackingAction(trk); }
45 if(trk->GetParentID() > 0)
47 auto partDef = trk->GetDefinition();
48 if( partDef == G4Gamma::Definition() || partDef == G4Electron::Definition()
49 || partDef == G4Positron::Definition() )
52 { fpTrackingManager->SetStoreTrajectory(0); }
60 if((trackingActions!=
nullptr) && !(trackingActions->empty()))
62 for(
auto ua : *trackingActions)
63 { ua.second->PostUserTrackingAction(trk); }