ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Simulation
G4Atlas
G4AtlasInterfaces
G4AtlasInterfaces
IUserActionTool.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2025 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
class
IG4RunTool
;
15
// Geant4 forward declarations
16
class
G4UserRunAction;
17
class
G4VUserPrimaryGeneratorAction;
18
class
G4UserEventAction;
19
class
G4UserTrackingAction;
20
class
G4UserSteppingAction;
21
class
G4UserStackingAction;
22
class
HitCollectionMap
;
23
24
namespace
G4UA
25
{
26
34
struct
G4AtlasUserActions
35
{
36
std::vector<G4UserRunAction*>
runActions
;
37
std::vector<G4UserRunAction*>
runActionsMaster
;
38
std::vector<G4VUserPrimaryGeneratorAction*>
primaryGeneratorActions
;
39
std::vector<G4UserEventAction*>
eventActions
;
40
std::vector<G4UserTrackingAction*>
trackingActions
;
41
std::vector<G4UserSteppingAction*>
steppingActions
;
42
std::vector<G4UserStackingAction*>
stackingActions
;
43
};
44
53
class
IUserActionTool
:
virtual
public
IAlgTool
54
{
55
56
public
:
57
59
virtual
StatusCode
fillUserAction
(
G4AtlasUserActions
& userActions) = 0;
60
63
// Can't use a tool handle here because of circular dependency (G4RunTool <-> UserActionTool).
64
virtual
void
G4RunTool
(
IG4RunTool
*) {}
65
66
virtual
StatusCode
BeginOfAthenaEvent
(
HitCollectionMap
&) = 0;
67
virtual
StatusCode
EndOfAthenaEvent
(
HitCollectionMap
&) = 0;
68
70
DeclareInterfaceID
(
IUserActionTool
, 1, 0);
71
72
};
// class IUserActionTool
73
74
}
// namespace G4UA
75
76
#endif
// G4ATLASINTERFACES_IUSERACTIONTOOL_H
G4UA::IUserActionTool
Abstract interface for tools that construct G4 user actions.
Definition
IUserActionTool.h:54
G4UA::IUserActionTool::EndOfAthenaEvent
virtual StatusCode EndOfAthenaEvent(HitCollectionMap &)=0
G4UA::IUserActionTool::fillUserAction
virtual StatusCode fillUserAction(G4AtlasUserActions &userActions)=0
Constructs a user action and populates the user action lists with it.
G4UA::IUserActionTool::DeclareInterfaceID
DeclareInterfaceID(IUserActionTool, 1, 0)
Declare this interface to the framework.
G4UA::IUserActionTool::G4RunTool
virtual void G4RunTool(IG4RunTool *)
Pointer to the G4RunTool instance.
Definition
IUserActionTool.h:64
G4UA::IUserActionTool::BeginOfAthenaEvent
virtual StatusCode BeginOfAthenaEvent(HitCollectionMap &)=0
HitCollectionMap
Small wrapper around hit collection map to facilitate accessing the hit collection.
Definition
HitCollectionMap.h:23
IG4RunTool
Provides an interface to interact with the Geant4 run.
Definition
IG4RunTool.h:22
G4UA
for nSW
Definition
CalibrationDefaultProcessing.h:19
G4UA::G4AtlasUserActions
Struct for passing around user actions.
Definition
IUserActionTool.h:35
G4UA::G4AtlasUserActions::runActionsMaster
std::vector< G4UserRunAction * > runActionsMaster
Definition
IUserActionTool.h:37
G4UA::G4AtlasUserActions::trackingActions
std::vector< G4UserTrackingAction * > trackingActions
Definition
IUserActionTool.h:40
G4UA::G4AtlasUserActions::stackingActions
std::vector< G4UserStackingAction * > stackingActions
Definition
IUserActionTool.h:42
G4UA::G4AtlasUserActions::primaryGeneratorActions
std::vector< G4VUserPrimaryGeneratorAction * > primaryGeneratorActions
Definition
IUserActionTool.h:38
G4UA::G4AtlasUserActions::steppingActions
std::vector< G4UserSteppingAction * > steppingActions
Definition
IUserActionTool.h:41
G4UA::G4AtlasUserActions::eventActions
std::vector< G4UserEventAction * > eventActions
Definition
IUserActionTool.h:39
G4UA::G4AtlasUserActions::runActions
std::vector< G4UserRunAction * > runActions
Definition
IUserActionTool.h:36
Generated on
for ATLAS Offline Software by
1.17.0