ATLAS Offline Software
IUserActionTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef G4ATLASINTERFACES_IUSERACTIONTOOL_H
6 #define G4ATLASINTERFACES_IUSERACTIONTOOL_H
7 
8 // System includes
9 #include <vector>
10 
11 // Framework includes
12 #include "GaudiKernel/IAlgTool.h"
13 
14 // Geant4 forward declarations
15 class G4UserRunAction;
16 class G4VUserPrimaryGeneratorAction;
17 class G4UserEventAction;
18 class G4UserTrackingAction;
19 class G4UserSteppingAction;
20 class G4UserStackingAction;
21 
22 namespace G4UA
23 {
24 
33  {
34  std::vector<G4UserRunAction*> runActions;
35  std::vector<G4UserRunAction*> runActionsMaster;
36  std::vector<G4VUserPrimaryGeneratorAction*> primaryGeneratorActions;
37  std::vector<G4UserEventAction*> eventActions;
38  std::vector<G4UserTrackingAction*> trackingActions;
39  std::vector<G4UserSteppingAction*> steppingActions;
40  std::vector<G4UserStackingAction*> stackingActions;
41  };
42 
51  class IUserActionTool : virtual public IAlgTool
52  {
53 
54  public:
55 
57  virtual StatusCode fillUserAction(G4AtlasUserActions& userActions) = 0;
58 
61 
62  }; // class IUserActionTool
63 
64 } // namespace G4UA
65 
66 #endif // G4ATLASINTERFACES_IUSERACTIONTOOL_H
G4UA::G4AtlasUserActions
Struct for passing around user actions.
Definition: IUserActionTool.h:33
G4UA::IUserActionTool::DeclareInterfaceID
DeclareInterfaceID(IUserActionTool, 1, 0)
Declare this interface to the framework.
G4UA
for nSW
Definition: CalibrationDefaultProcessing.h:19
G4UA::G4AtlasUserActions::runActionsMaster
std::vector< G4UserRunAction * > runActionsMaster
Definition: IUserActionTool.h:35
G4UA::G4AtlasUserActions::trackingActions
std::vector< G4UserTrackingAction * > trackingActions
Definition: IUserActionTool.h:38
G4UA::IUserActionTool::fillUserAction
virtual StatusCode fillUserAction(G4AtlasUserActions &userActions)=0
Constructs a user action and populates the user action lists with it.
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
G4UA::G4AtlasUserActions::runActions
std::vector< G4UserRunAction * > runActions
Definition: IUserActionTool.h:34
G4UA::G4AtlasUserActions::primaryGeneratorActions
std::vector< G4VUserPrimaryGeneratorAction * > primaryGeneratorActions
Definition: IUserActionTool.h:36
G4UA::G4AtlasUserActions::stackingActions
std::vector< G4UserStackingAction * > stackingActions
Definition: IUserActionTool.h:40
G4UA::G4AtlasUserActions::eventActions
std::vector< G4UserEventAction * > eventActions
Definition: IUserActionTool.h:37
G4UA::G4AtlasUserActions::steppingActions
std::vector< G4UserSteppingAction * > steppingActions
Definition: IUserActionTool.h:39
G4UA::IUserActionTool
Abstract interface for tools that construct G4 user actions.
Definition: IUserActionTool.h:52