ATLAS Offline Software
IUserActionSvc.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 
6 #ifndef G4ATLASINTERFACES_G4UA__IUSERACTIONSVC_H
7 #define G4ATLASINTERFACES_G4UA__IUSERACTIONSVC_H
8 
9 // Framework includes
10 #include "GaudiKernel/IService.h"
11 #include "GaudiKernel/ToolHandle.h"
12 
13 
14 #include <vector>
15 #include "G4UserSteppingAction.hh"
17 
18 class HitCollectionMap;
19 
20 namespace G4UA
21 {
22 
28  class IUserActionSvc : virtual public IService
29  {
30 
31  public:
32 
35 
38 
39  // For ISF, get UserActions that could have stored secondary particles
40  virtual StatusCode getSecondaryActions( std::vector< G4UserSteppingAction* >& actions ) = 0;
41 
47  virtual StatusCode addActionTool(const ToolHandle<IUserActionTool>& service_tool) = 0;
48 
51 
52 
55 
56  }; // class IUserActionSvc
57 
58 } // namespace G4UA
59 
60 #endif
HitCollectionMap
Small wrapper around hit collection map to facilitate accessing the hit collection.
Definition: HitCollectionMap.h:21
G4UA::IUserActionSvc::BeginOfAthenaEvent
virtual StatusCode BeginOfAthenaEvent(HitCollectionMap &)=0
G4UA::IUserActionSvc
Abstract interface for the UserActionSvc.
Definition: IUserActionSvc.h:29
G4UA
for nSW
Definition: CalibrationDefaultProcessing.h:19
G4UA::IUserActionSvc::addActionTool
virtual StatusCode addActionTool(const ToolHandle< IUserActionTool > &service_tool)=0
In very rare cases, the IUserActionSvc needs to call tools of which it cannot be owner during its ini...
G4UA::IUserActionSvc::DeclareInterfaceID
DeclareInterfaceID(G4UA::IUserActionSvc, 1, 0)
Creates the InterfaceID and interfaceID() method.
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
G4UA::IUserActionSvc::initializeActions
virtual StatusCode initializeActions()=0
Initialize all the user actions for the current thread.
G4UA::IUserActionSvc::EndOfAthenaEvent
virtual StatusCode EndOfAthenaEvent(HitCollectionMap &)=0
IUserActionTool.h
G4UA::IUserActionSvc::getSecondaryActions
virtual StatusCode getSecondaryActions(std::vector< G4UserSteppingAction * > &actions)=0
G4UA::IUserActionSvc::initializeActionsMaster
virtual StatusCode initializeActionsMaster()=0
Initialize run actions on the main Geant4 thread.