ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Simulation
G4Utilities
G4UserActions
src
HIPLArVolumeAcceptTool.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#include "
HIPLArVolumeAcceptTool.h
"
6
7
namespace
G4UA
8
{
9
10
//---------------------------------------------------------------------------
11
HIPLArVolumeAcceptTool::HIPLArVolumeAcceptTool
(
const
std::string&
type
,
12
const
std::string& name,
13
const
IInterface* parent)
14
:
UserActionToolBase
<
HIPLArVolumeAccept
>(
type
, name, parent)
15
{
16
}
17
18
//---------------------------------------------------------------------------
19
std::unique_ptr<HIPLArVolumeAccept>
20
HIPLArVolumeAcceptTool::makeAndFillAction
(
G4AtlasUserActions
& actionList)
21
{
22
ATH_MSG_DEBUG
(
"Making a HIPLArVolumeAccept action"
);
23
auto
action = std::make_unique<HIPLArVolumeAccept>();
24
actionList.
eventActions
.push_back( action.get() );
25
actionList.
steppingActions
.push_back( action.get() );
26
return
action;
27
}
28
29
//---------------------------------------------------------------------------
30
StatusCode
HIPLArVolumeAcceptTool::finalize
()
31
{
32
// Accumulate the results across threads
33
HIPLArVolumeAccept::Report
report;
34
m_actions
.accumulate(report, &
HIPLArVolumeAccept::getReport
,
35
&
HIPLArVolumeAccept::Report::merge
);
36
37
ATH_MSG_INFO
(
"#########################################"
);
38
ATH_MSG_INFO
(
"## ##"
);
39
ATH_MSG_INFO
(
"## HIPLArVolumeAccept - EndOfRun ##"
);
40
ATH_MSG_INFO
(
"## ##"
);
41
ATH_MSG_INFO
(
"#########################################"
);
42
ATH_MSG_INFO
(report.HIPevts <<
" events were processed by HIPLArVolumeAccept"
);
43
ATH_MSG_INFO
(report.HIPevts_failed<<
" events were killed because they had no HIP in EMB or EMEC"
);
44
double
HIPfraction=1.*(report.HIPevts-report.HIPevts_failed)/report.HIPevts;
45
ATH_MSG_INFO
(
"HIP Acceptance: "
<<HIPfraction);
46
47
return
StatusCode::SUCCESS;
48
}
49
50
}
// namespace G4UA
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition
AthMsgStreamMacros.h:31
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition
AthMsgStreamMacros.h:29
HIPLArVolumeAcceptTool.h
G4UA::HIPLArVolumeAcceptTool::makeAndFillAction
virtual std::unique_ptr< HIPLArVolumeAccept > makeAndFillAction(G4AtlasUserActions &) override final
Create the action for the current thread.
Definition
HIPLArVolumeAcceptTool.cxx:20
G4UA::HIPLArVolumeAcceptTool::HIPLArVolumeAcceptTool
HIPLArVolumeAcceptTool(const std::string &type, const std::string &name, const IInterface *parent)
Standard constructor.
Definition
HIPLArVolumeAcceptTool.cxx:11
G4UA::HIPLArVolumeAcceptTool::finalize
virtual StatusCode finalize() override
Finalize the tool.
Definition
HIPLArVolumeAcceptTool.cxx:30
G4UA::HIPLArVolumeAccept
NEEDS DOCUMENTATION.
Definition
HIPLArVolumeAccept.h:22
G4UA::HIPLArVolumeAccept::getReport
const Report & getReport() const
Definition
HIPLArVolumeAccept.h:37
G4UA::UserActionToolBase< HIPLArVolumeAccept >::m_actions
ThreadSpecificUserAction< HIPLArVolumeAccept > m_actions
Definition
UserActionToolBase.h:70
G4UA::UserActionToolBase< HIPLArVolumeAccept >::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::G4AtlasUserActions::steppingActions
std::vector< G4UserSteppingAction * > steppingActions
Definition
IUserActionTool.h:41
G4UA::G4AtlasUserActions::eventActions
std::vector< G4UserEventAction * > eventActions
Definition
IUserActionTool.h:39
G4UA::HIPLArVolumeAccept::Report
Report class for merging per-thread results.
Definition
HIPLArVolumeAccept.h:28
G4UA::HIPLArVolumeAccept::Report::merge
void merge(const Report &rep)
Definition
HIPLArVolumeAccept.h:31
type
Generated on
for ATLAS Offline Software by
1.17.0