ATLAS Offline Software
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 
7 
8 namespace G4UA
9 {
10 
11  namespace iGeant4
12  {
13 
16  const std::string& name,
17  const IInterface* 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",
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>
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
G4UA::G4AtlasUserActions
Struct for passing around user actions.
Definition: IUserActionTool.h:32
TrackProcessorUserActionPassBackTool.h
G4UA::iGeant4::TrackProcessorUserActionPassBackTool::m_config
TrackProcessorUserActionPassBack::Config m_config
Configuration parameters.
Definition: TrackProcessorUserActionPassBackTool.h:37
G4UA
for nSW
Definition: CalibrationDefaultProcessing.h:19
G4UA::G4AtlasUserActions::trackingActions
std::vector< G4UserTrackingAction * > trackingActions
Definition: IUserActionTool.h:35
IParticleBroker.h
G4UA::iGeant4::TrackProcessorUserActionPassBack::Config::geoIDSvc
ServiceHandle< ISF::IGeoIDSvc > geoIDSvc
Definition: TrackProcessorUserActionPassBack.h:42
G4UA::iGeant4::TrackProcessorUserActionPassBack::Config::passBackEkinThreshold
double passBackEkinThreshold
properties to define which particles are returned to ISF
Definition: TrackProcessorUserActionPassBack.h:44
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
test_pyathena.parent
parent
Definition: test_pyathena.py:15
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
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::TrackProcessorUserActionPassBack::Config::particleBroker
ServiceHandle< ISF::IParticleBroker > particleBroker
Definition: TrackProcessorUserActionPassBack.h:41
G4UA::iGeant4::TrackProcessorUserActionPassBackTool::TrackProcessorUserActionPassBackTool
TrackProcessorUserActionPassBackTool(const std::string &type, const std::string &name, const IInterface *parent)
Standard constructor.
Definition: TrackProcessorUserActionPassBackTool.cxx:15
G4UA::UserActionToolBase
abstract template utility base-class for G4 user-action tools.
Definition: UserActionToolBase.h:33
python.CaloScaleNoiseConfig.action
action
Definition: CaloScaleNoiseConfig.py:77
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
DEBUG
#define DEBUG
Definition: page_access.h:11
G4UA::G4AtlasUserActions::eventActions
std::vector< G4UserEventAction * > eventActions
Definition: IUserActionTool.h:34
declareProperty
#define declareProperty(n, p, h)
Definition: BaseFakeBkgTool.cxx:15
G4UA::iGeant4::TrackProcessorUserActionPassBack
Definition: TrackProcessorUserActionPassBack.h:35
G4UA::iGeant4::TrackProcessorUserActionPassBack::Config::killBoundaryParticlesBelowThreshold
bool killBoundaryParticlesBelowThreshold
Definition: TrackProcessorUserActionPassBack.h:45
python.Constants.VERBOSE
int VERBOSE
Definition: Control/AthenaCommon/python/Constants.py:14
G4UA::G4AtlasUserActions::steppingActions
std::vector< G4UserSteppingAction * > steppingActions
Definition: IUserActionTool.h:36
G4UA::iGeant4::TrackProcessorUserActionPassBack::Config::verboseLevel
unsigned int verboseLevel
Definition: TrackProcessorUserActionPassBack.h:46
iGeant4
Definition: Geant4TruthIncident.h:35