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 class HitCollectionMap;
22 
23 namespace G4UA
24 {
25 
34  {
35  std::vector<G4UserRunAction*> runActions;
36  std::vector<G4UserRunAction*> runActionsMaster;
37  std::vector<G4VUserPrimaryGeneratorAction*> primaryGeneratorActions;
38  std::vector<G4UserEventAction*> eventActions;
39  std::vector<G4UserTrackingAction*> trackingActions;
40  std::vector<G4UserSteppingAction*> steppingActions;
41  std::vector<G4UserStackingAction*> stackingActions;
42  };
43 
52  class IUserActionTool : virtual public IAlgTool
53  {
54 
55  public:
56 
58  virtual StatusCode fillUserAction(G4AtlasUserActions& userActions) = 0;
59 
62 
65 
66  }; // class IUserActionTool
67 
68 } // namespace G4UA
69 
70 #endif // G4ATLASINTERFACES_IUSERACTIONTOOL_H
G4UA::G4AtlasUserActions
Struct for passing around user actions.
Definition: IUserActionTool.h:34
HitCollectionMap
Small wrapper around hit collection map to facilitate accessing the hit collection.
Definition: HitCollectionMap.h:21
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:36
G4UA::G4AtlasUserActions::trackingActions
std::vector< G4UserTrackingAction * > trackingActions
Definition: IUserActionTool.h:39
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:35
G4UA::IUserActionTool::EndOfAthenaEvent
virtual StatusCode EndOfAthenaEvent(HitCollectionMap &)=0
G4UA::G4AtlasUserActions::primaryGeneratorActions
std::vector< G4VUserPrimaryGeneratorAction * > primaryGeneratorActions
Definition: IUserActionTool.h:37
G4UA::G4AtlasUserActions::stackingActions
std::vector< G4UserStackingAction * > stackingActions
Definition: IUserActionTool.h:41
G4UA::IUserActionTool::BeginOfAthenaEvent
virtual StatusCode BeginOfAthenaEvent(HitCollectionMap &)=0
G4UA::G4AtlasUserActions::eventActions
std::vector< G4UserEventAction * > eventActions
Definition: IUserActionTool.h:38
G4UA::G4AtlasUserActions::steppingActions
std::vector< G4UserSteppingAction * > steppingActions
Definition: IUserActionTool.h:40
G4UA::IUserActionTool
Abstract interface for tools that construct G4 user actions.
Definition: IUserActionTool.h:53