ATLAS Offline Software
Loading...
Searching...
No Matches
G4UA::iGeant4::TrackProcessorUserActionPassBackTool Class Reference

Tool which manages the TrackProcessorUserActionPassBack. More...

#include <TrackProcessorUserActionPassBackTool.h>

Inheritance diagram for G4UA::iGeant4::TrackProcessorUserActionPassBackTool:
Collaboration diagram for G4UA::iGeant4::TrackProcessorUserActionPassBackTool:

Public Member Functions

 TrackProcessorUserActionPassBackTool (const std::string &type, const std::string &name, const IInterface *parent)
 Standard constructor.
virtual StatusCode fillUserAction (G4AtlasUserActions &actionLists) override final
 Fill the user action lists.
StatusCode BeginOfAthenaEvent (HitCollectionMap &) override
 Calls BeginOfAthenaEvent.
StatusCode EndOfAthenaEvent (HitCollectionMap &) override
 Calls EndOfAthenaEvent.

Protected Member Functions

virtual std::unique_ptr< TrackProcessorUserActionPassBackmakeAndFillAction (G4AtlasUserActions &) override final
 Create an action for this thread.

Protected Attributes

ThreadSpecificUserAction< TrackProcessorUserActionPassBackm_actions
 Thread-specific storage of the user action.

Private Attributes

TrackProcessorUserActionPassBack::Config m_config
 Configuration parameters.

Detailed Description

Tool which manages the TrackProcessorUserActionPassBack.

Author
Andrea Di Simone

Definition at line 22 of file TrackProcessorUserActionPassBackTool.h.

Constructor & Destructor Documentation

◆ TrackProcessorUserActionPassBackTool()

G4UA::iGeant4::TrackProcessorUserActionPassBackTool::TrackProcessorUserActionPassBackTool ( const std::string & type,
const std::string & name,
const IInterface * parent )

Standard constructor.

Definition at line 14 of file TrackProcessorUserActionPassBackTool.cxx.

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 }
UserActionToolBase(const std::string &type, const std::string &name, const IInterface *parent)
TrackProcessorUserActionPassBack::Config m_config
Configuration parameters.

Member Function Documentation

◆ BeginOfAthenaEvent()

StatusCode G4UA::UserActionToolBase< TrackProcessorUserActionPassBack >::BeginOfAthenaEvent ( HitCollectionMap & )
inlineoverrideinherited

Calls BeginOfAthenaEvent.

Definition at line 59 of file UserActionToolBase.h.

59{return StatusCode::SUCCESS;};
abstract template utility base-class for G4 user-action tools.

◆ EndOfAthenaEvent()

StatusCode G4UA::UserActionToolBase< TrackProcessorUserActionPassBack >::EndOfAthenaEvent ( HitCollectionMap & )
inlineoverrideinherited

Calls EndOfAthenaEvent.

Definition at line 61 of file UserActionToolBase.h.

61{return StatusCode::SUCCESS;};

◆ fillUserAction()

virtual StatusCode G4UA::UserActionToolBase< TrackProcessorUserActionPassBack >::fillUserAction ( G4AtlasUserActions & actionLists)
inlinefinaloverridevirtualinherited

Fill the user action lists.

Definition at line 47 of file UserActionToolBase.h.

48 {
50 if(myAction == nullptr) {
51 ATH_MSG_ERROR( "Failed to construct user action in " << name() );
53 }
56 }
#define ATH_MSG_ERROR(x)
virtual std::unique_ptr< TrackProcessorUserActionPassBack > makeAndFillAction(G4AtlasUserActions &actionLists)=0

◆ makeAndFillAction()

std::unique_ptr< TrackProcessorUserActionPassBack > G4UA::iGeant4::TrackProcessorUserActionPassBackTool::makeAndFillAction ( G4AtlasUserActions & actionList)
finaloverrideprotectedvirtual

Create an action for this thread.

Implements G4UA::UserActionToolBase< TrackProcessorUserActionPassBack >.

Definition at line 32 of file TrackProcessorUserActionPassBackTool.cxx.

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 }
#define ATH_MSG_DEBUG(x)

Member Data Documentation

◆ m_actions

Thread-specific storage of the user action.

Definition at line 70 of file UserActionToolBase.h.

◆ m_config

TrackProcessorUserActionPassBack::Config G4UA::iGeant4::TrackProcessorUserActionPassBackTool::m_config
private

Configuration parameters.

Definition at line 37 of file TrackProcessorUserActionPassBackTool.h.


The documentation for this class was generated from the following files: