15 #ifndef artg4tk_services_ActionHolder_service_hh 16 #define artg4tk_services_ActionHolder_service_hh 23 class ProducesCollector;
40 class EventActionBase;
41 class TrackingActionBase;
42 class SteppingActionBase;
43 class StackingActionBase;
44 class PrimaryGeneratorActionBase;
70 currentArtEvent_ = &
e;
75 return (*currentArtEvent_);
87 return (*currentArtRun_);
93 void beginOfEventAction(
const G4Event*);
94 void endOfEventAction(
const G4Event*);
97 void preUserTrackingAction(
const G4Track*);
98 void postUserTrackingAction(
const G4Track*);
101 void userSteppingAction(
const G4Step*);
104 bool killNewTrack(
const G4Track*);
107 void generatePrimaries(G4Event*);
111 std::map<std::string, RunActionBase*> runActionsMap_{};
112 std::map<std::string, EventActionBase*> eventActionsMap_{};
113 std::map<std::string, TrackingActionBase*> trackingActionsMap_{};
114 std::map<std::string, SteppingActionBase*> steppingActionsMap_{};
115 std::map<std::string, StackingActionBase*> stackingActionsMap_{};
116 std::map<std::string, PrimaryGeneratorActionBase*> primaryGeneratorActionsMap_{};
125 std::map<std::string, ActionBase*> allActionsMap_{};
128 template <
typename A>
129 void doRegisterAction(A*
const action, std::map<std::string, A*>& actionMap);
void setCurrArtRun(art::Run &r)
art::Event & getCurrArtEvent()
#define DECLARE_ART_SERVICE(svc, scope)
void setCurrArtEvent(art::Event &e)
art::Run & getCurrArtRun()