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

Tool which manages the AthenaTrackingAction. More...

#include <AthenaTrackingActionTool.h>

Inheritance diagram for G4UA::AthenaTrackingActionTool:
Collaboration diagram for G4UA::AthenaTrackingActionTool:

Public Member Functions

 AthenaTrackingActionTool (const std::string &type, const std::string &name, const IInterface *parent)
 Standard constructor.
virtual StatusCode initialize () override
 Initialize the tool (just for debugging printout)
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< AthenaTrackingActionmakeAndFillAction (G4AtlasUserActions &actionLists) override final
 Setup the user action for current thread.

Protected Attributes

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

Private Attributes

int m_secondarySavingLevel
 The saving level for secondaries.
int m_subDetVolLevel
 The level in the G4 volume hierarchy at which can we find the sub-detector name.

Detailed Description

Tool which manages the AthenaTrackingAction.

Author
Steve Farrell Steve.nosp@m.n.Fa.nosp@m.rrell.nosp@m.@cer.nosp@m.n.ch

Definition at line 23 of file AthenaTrackingActionTool.h.

Constructor & Destructor Documentation

◆ AthenaTrackingActionTool()

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

Standard constructor.

Definition at line 13 of file AthenaTrackingActionTool.cxx.

19 {
20 declareProperty("SecondarySavingLevel", m_secondarySavingLevel,
21 "Three valid options: 1 - Primaries; 2 - StoredSecondaries(default); 3 - All");
22 declareProperty("SubDetVolumeLevel", m_subDetVolLevel,
23 "The level in the G4 volume hierarchy at which can we find the sub-detector name");
24 }
int m_secondarySavingLevel
The saving level for secondaries.
int m_subDetVolLevel
The level in the G4 volume hierarchy at which can we find the sub-detector name.
UserActionToolBase(const std::string &type, const std::string &name, const IInterface *parent)

Member Function Documentation

◆ BeginOfAthenaEvent()

StatusCode G4UA::UserActionToolBase< AthenaTrackingAction >::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< AthenaTrackingAction >::EndOfAthenaEvent ( HitCollectionMap & )
inlineoverrideinherited

Calls EndOfAthenaEvent.

Definition at line 61 of file UserActionToolBase.h.

61{return StatusCode::SUCCESS;};

◆ fillUserAction()

virtual StatusCode G4UA::UserActionToolBase< AthenaTrackingAction >::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< AthenaTrackingAction > makeAndFillAction(G4AtlasUserActions &actionLists)=0

◆ initialize()

StatusCode G4UA::AthenaTrackingActionTool::initialize ( )
overridevirtual

Initialize the tool (just for debugging printout)

Definition at line 29 of file AthenaTrackingActionTool.cxx.

30 {
31 ATH_MSG_DEBUG( "Initializing " << name() );
32 return StatusCode::SUCCESS;
33 }
#define ATH_MSG_DEBUG(x)

◆ makeAndFillAction()

std::unique_ptr< AthenaTrackingAction > G4UA::AthenaTrackingActionTool::makeAndFillAction ( G4AtlasUserActions & actionLists)
finaloverrideprotectedvirtual

Setup the user action for current thread.

Implements G4UA::UserActionToolBase< AthenaTrackingAction >.

Definition at line 39 of file AthenaTrackingActionTool.cxx.

40 {
41 ATH_MSG_DEBUG("Constructing an AthenaTrackingAction");
42 // Create and configure the action plugin.
43 auto action = std::make_unique<AthenaTrackingAction>(
45 actionLists.trackingActions.push_back( action.get() );
46 return action;
47 }
MsgStream & msg
Definition testRead.cxx:32

Member Data Documentation

◆ m_actions

Thread-specific storage of the user action.

Definition at line 70 of file UserActionToolBase.h.

◆ m_secondarySavingLevel

int G4UA::AthenaTrackingActionTool::m_secondarySavingLevel
private

The saving level for secondaries.

Definition at line 44 of file AthenaTrackingActionTool.h.

◆ m_subDetVolLevel

int G4UA::AthenaTrackingActionTool::m_subDetVolLevel
private

The level in the G4 volume hierarchy at which can we find the sub-detector name.

Definition at line 46 of file AthenaTrackingActionTool.h.


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