ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Simulation
G4Utilities
G4UserActions
src
TestActionTool.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 G4USERACTIONS_TESTACTIONTOOL_H
6
#define G4USERACTIONS_TESTACTIONTOOL_H
7
8
// Framework includes
9
#include "
AthenaBaseComps/AthAlgTool.h
"
10
11
// Geant4 includes
12
#include "G4UserRunAction.hh"
13
#include "G4UserEventAction.hh"
14
#include "G4UserSteppingAction.hh"
15
16
// G4Atlas includes
17
#include "
G4AtlasInterfaces/IUserActionTool.h
"
18
#include "
G4AtlasTools/UserActionToolBase.h
"
19
20
21
namespace
G4UA
22
{
23
27
class
TestAction
:
public
G4UserRunAction,
28
public
G4UserEventAction,
29
public
G4UserSteppingAction
30
{
31
32
public
:
33
35
struct
Report
36
{
37
int
numEvent
= 0;
38
int
numStep
= 0;
39
void
merge
(
const
Report
& other) {
40
numEvent
+= other.numEvent;
41
numStep
+= other.numStep;
42
}
43
};
44
46
TestAction
();
47
49
virtual
void
BeginOfRunAction
(
const
G4Run*)
override
final
;
50
52
virtual
void
EndOfRunAction
(
const
G4Run*)
override
final
;
53
55
virtual
void
BeginOfEventAction
(
const
G4Event*)
override
final
;
56
58
virtual
void
EndOfEventAction
(
const
G4Event*)
override
final
;
59
61
virtual
void
UserSteppingAction
(
const
G4Step* step)
override
final
;
62
64
inline
const
Report
&
getReport
()
const
65
{
return
m_report
; }
66
67
private
:
68
70
Report
m_report
;
71
72
};
// class TestAction
73
74
78
class
TestActionTool
:
public
UserActionToolBase
<TestAction>
79
{
80
81
public
:
82
84
TestActionTool
(
const
std::string&
type
,
const
std::string& name,
85
const
IInterface* parent);
86
88
virtual
StatusCode
initialize
()
override
final
;
89
91
virtual
StatusCode
finalize
()
override
final
;
92
93
protected
:
94
96
virtual
std::unique_ptr<TestAction>
97
makeAndFillAction
(
G4AtlasUserActions
& actions)
override
final
;
98
99
};
// class TestActionTool
100
101
}
// namespace G4UA
102
103
#endif
// G4USERACTIONS_TESTACTIONTOOL_H
AthAlgTool.h
IUserActionTool.h
UserActionToolBase.h
G4UA::TestActionTool::initialize
virtual StatusCode initialize() override final
Initialize the tool.
Definition
TestActionTool.cxx:77
G4UA::TestActionTool::TestActionTool
TestActionTool(const std::string &type, const std::string &name, const IInterface *parent)
Standard constructor.
Definition
TestActionTool.cxx:67
G4UA::TestActionTool::finalize
virtual StatusCode finalize() override final
Finalize the tool.
Definition
TestActionTool.cxx:86
G4UA::TestActionTool::makeAndFillAction
virtual std::unique_ptr< TestAction > makeAndFillAction(G4AtlasUserActions &actions) override final
Fill user action.
Definition
TestActionTool.cxx:105
G4UA::TestAction::getReport
const Report & getReport() const
Get the results report.
Definition
TestActionTool.h:64
G4UA::TestAction::BeginOfRunAction
virtual void BeginOfRunAction(const G4Run *) override final
Executes before the run.
Definition
TestActionTool.cxx:23
G4UA::TestAction::EndOfEventAction
virtual void EndOfEventAction(const G4Event *) override final
Executes at end of G4 event.
Definition
TestActionTool.cxx:51
G4UA::TestAction::TestAction
TestAction()
Constructor.
Definition
TestActionTool.cxx:17
G4UA::TestAction::UserSteppingAction
virtual void UserSteppingAction(const G4Step *step) override final
Stepping action method.
Definition
TestActionTool.cxx:59
G4UA::TestAction::EndOfRunAction
virtual void EndOfRunAction(const G4Run *) override final
Exeuctes after the run.
Definition
TestActionTool.cxx:31
G4UA::TestAction::BeginOfEventAction
virtual void BeginOfEventAction(const G4Event *) override final
Executes at beginning of G4 event.
Definition
TestActionTool.cxx:42
G4UA::TestAction::m_report
Report m_report
Results report.
Definition
TestActionTool.h:70
G4UA::UserActionToolBase< TestAction >::UserActionToolBase
UserActionToolBase(const std::string &type, const std::string &name, const IInterface *parent)
Definition
UserActionToolBase.h:40
G4UA
for nSW
Definition
CalibrationDefaultProcessing.h:19
G4UA::G4AtlasUserActions
Struct for passing around user actions.
Definition
IUserActionTool.h:35
G4UA::TestAction::Report
Results to be accumulated across threads at end of job.
Definition
TestActionTool.h:36
G4UA::TestAction::Report::merge
void merge(const Report &other)
Definition
TestActionTool.h:39
G4UA::TestAction::Report::numStep
int numStep
Definition
TestActionTool.h:38
G4UA::TestAction::Report::numEvent
int numEvent
Definition
TestActionTool.h:37
type
Generated on
for ATLAS Offline Software by
1.17.0