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 namespace G4UA
18 {
19 
25  class IUserActionSvc : virtual public IService
26  {
27 
28  public:
29 
32 
33  // For ISF, get UserActions that could have stored secondary particles
34  virtual StatusCode getSecondaryActions( std::vector< G4UserSteppingAction* >& actions ) = 0;
35 
41  virtual StatusCode addActionTool(const ToolHandle<IUserActionTool>& service_tool) = 0;
42 
43 
46 
47  }; // class IUserActionSvc
48 
49 } // namespace G4UA
50 
51 #endif
G4UA::IUserActionSvc
Abstract interface for the UserActionSvc.
Definition: IUserActionSvc.h:26
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.
IUserActionTool.h
G4UA::IUserActionSvc::getSecondaryActions
virtual StatusCode getSecondaryActions(std::vector< G4UserSteppingAction * > &actions)=0