ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Simulation
ISF
ISF_Geant4
ISF_Geant4Tools
src
TrackProcessorUserActionPassBackTool.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#include "
TrackProcessorUserActionPassBackTool.h
"
6
#include "
ISF_Interfaces/IParticleBroker.h
"
7
8
namespace
G4UA
9
{
10
11
namespace
iGeant4
12
{
13
14
TrackProcessorUserActionPassBackTool::
15
TrackProcessorUserActionPassBackTool
(
const
std::string&
type
,
16
const
std::string& name,
17
const
IInterface* parent)
18
:
UserActionToolBase
<
TrackProcessorUserActionPassBack
>(
type
, name, parent)
19
{
20
declareProperty(
"ParticleBroker"
,
m_config
.particleBroker,
"ISF Particle Broker Svc"
);
21
declareProperty(
"GeoIDSvc"
,
m_config
.geoIDSvc ,
"ISF GeoID Svc"
);
22
23
declareProperty(
"PassBackEkinThreshold"
,
24
m_config
.passBackEkinThreshold=0.05,
//TODO: should we add units here (MeV)?
25
"Ekin cut-off for particles returned to ISF"
);
26
declareProperty(
"KillBoundaryParticlesBelowThreshold"
,
27
m_config
.killBoundaryParticlesBelowThreshold=
false
,
28
"Kill particles at boundary which are below Ekin cut-off rather than continue their simulation in G4"
);
29
}
30
31
std::unique_ptr<TrackProcessorUserActionPassBack>
32
TrackProcessorUserActionPassBackTool::
33
makeAndFillAction
(
G4AtlasUserActions
& actionList)
34
{
35
ATH_MSG_DEBUG
(
"Constructing a TrackProcessorUserActionPassBack"
);
36
if
(msgLvl(MSG::VERBOSE)) {
m_config
.verboseLevel = 10; }
37
else
if
(msgLvl(MSG::DEBUG)) {
m_config
.verboseLevel = 5; }
38
auto
action = std::make_unique<TrackProcessorUserActionPassBack>(
m_config
);
39
actionList.
eventActions
.push_back( action.get() );
40
actionList.
trackingActions
.push_back( action.get() );
41
actionList.
steppingActions
.push_back( action.get() );
42
return
action;
43
}
44
45
}
// iGeant4
46
47
}
// namespace G4UA
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition
AthMsgStreamMacros.h:29
IParticleBroker.h
TrackProcessorUserActionPassBackTool.h
G4UA::UserActionToolBase< TrackProcessorUserActionPassBack >::UserActionToolBase
UserActionToolBase(const std::string &type, const std::string &name, const IInterface *parent)
Definition
UserActionToolBase.h:40
G4UA::iGeant4::TrackProcessorUserActionPassBackTool::makeAndFillAction
virtual std::unique_ptr< TrackProcessorUserActionPassBack > makeAndFillAction(G4AtlasUserActions &) override final
Create an action for this thread.
Definition
TrackProcessorUserActionPassBackTool.cxx:33
G4UA::iGeant4::TrackProcessorUserActionPassBackTool::m_config
TrackProcessorUserActionPassBack::Config m_config
Configuration parameters.
Definition
TrackProcessorUserActionPassBackTool.h:37
G4UA::iGeant4::TrackProcessorUserActionPassBackTool::TrackProcessorUserActionPassBackTool
TrackProcessorUserActionPassBackTool(const std::string &type, const std::string &name, const IInterface *parent)
Standard constructor.
Definition
TrackProcessorUserActionPassBackTool.cxx:15
G4UA::iGeant4::TrackProcessorUserActionPassBack
Definition
TrackProcessorUserActionPassBack.h:35
G4UA::iGeant4
Definition
MCTruthUserAction.cxx:36
G4UA
for nSW
Definition
CalibrationDefaultProcessing.h:19
G4UA::G4AtlasUserActions
Struct for passing around user actions.
Definition
IUserActionTool.h:35
G4UA::G4AtlasUserActions::trackingActions
std::vector< G4UserTrackingAction * > trackingActions
Definition
IUserActionTool.h:40
G4UA::G4AtlasUserActions::steppingActions
std::vector< G4UserSteppingAction * > steppingActions
Definition
IUserActionTool.h:41
G4UA::G4AtlasUserActions::eventActions
std::vector< G4UserEventAction * > eventActions
Definition
IUserActionTool.h:39
type
Generated on
for ATLAS Offline Software by
1.17.0