6#ifndef G4ATLASSERVICES__G4UA_USERACTIONSVC_H
7#define G4ATLASSERVICES__G4UA_USERACTIONSVC_H
11#include "GaudiKernel/ToolHandle.h"
41 UserActionSvc(
const std::string& name, ISvcLocator* pSvcLocator);
52 StatusCode
getSecondaryActions( std::vector< G4UserSteppingAction* >& actions )
override final;
54 StatusCode
addActionTool(
const ToolHandle<IUserActionTool>& service_tool)
override final;
A thread-local storage wrapper for the user actions.
ToolHandleArray< IUserActionTool > m_userActionTools
User action tools.
StatusCode addActionTool(const ToolHandle< IUserActionTool > &service_tool) override final
ThreadActionHolder< G4AtlasEventAction > m_eventActions
Thread-local event action.
StatusCode initializeActions() override final
Initialize the user actions for the current thread.
StatusCode initializeActionsMaster() override final
Initialize the user run actions for the main thread.
StatusCode getSecondaryActions(std::vector< G4UserSteppingAction * > &actions) override final
ThreadActionHolder< G4AtlasSteppingAction > m_steppingActions
Thread-local stepping action.
StatusCode initialize() override
Initialize the service.
void G4RunTool(IG4RunTool *) override final
StatusCode EndOfAthenaEvent(HitCollectionMap &) override final
Calls EndOfAthenaEvent on each UserAction tool.
UserActionSvc(const std::string &name, ISvcLocator *pSvcLocator)
Standard constructor.
ThreadActionHolder< G4AtlasPrimaryGeneratorAction > m_primaryGeneratorActions
Thread-local primary generator action.
ThreadActionHolder< G4AtlasTrackingAction > m_trackingActions
Thread-local tracking action.
ThreadActionHolder< G4AtlasStackingAction > m_stackingActions
Thread-local stacking action.
StatusCode BeginOfAthenaEvent(HitCollectionMap &) override final
Calls BeginOfAthenaEvent on each UserAction tool.
ThreadActionHolder< G4AtlasRunAction > m_runActions
Thread-local run action.
Small wrapper around hit collection map to facilitate accessing the hit collection.