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

A Tool to manage TestActionEHist Create the TestActionEHist for each worker thread. More...

#include <TestActionEHistTool.h>

Inheritance diagram for G4UA::TestActionEHistTool:
Collaboration diagram for G4UA::TestActionEHistTool:

Public Member Functions

 TestActionEHistTool (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< TestActionEHistmakeAndFillAction (G4AtlasUserActions &) override final
 Create action for this thread.

Protected Attributes

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

Private Attributes

TestActionEHist::Config m_config
 holds the configuration details received from python

Detailed Description

A Tool to manage TestActionEHist Create the TestActionEHist for each worker thread.

Note that since this is using ROOT access DIRECTLY, it is aonly tested and working with 1 thread. Operation with more than 1 thread will be disabled from the python side

Author
Andrea Di Simone

Definition at line 22 of file TestActionEHistTool.h.

Constructor & Destructor Documentation

◆ TestActionEHistTool()

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

Standard constructor.

Definition at line 10 of file TestActionEHistTool.cxx.

13 : UserActionToolBase<TestActionEHist>(type, name, parent)
14 {
15 declareProperty("ROOTFileName",m_config.name);
16 declareProperty("CaloDepth",m_config.dCALO);
17 declareProperty("BeamPipeDepth",m_config.dBeam);
18 declareProperty("InDetDepth",m_config.dIDET);
19 declareProperty("MuonDepth",m_config.dMUON);
20 declareProperty("MaxHists",m_config.maxhists);
21 declareProperty("DetailDepth",m_config.dDetail);
22 }
TestActionEHist::Config m_config
holds the configuration details received from python
UserActionToolBase(const std::string &type, const std::string &name, const IInterface *parent)

Member Function Documentation

◆ BeginOfAthenaEvent()

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

Calls EndOfAthenaEvent.

Definition at line 61 of file UserActionToolBase.h.

61{return StatusCode::SUCCESS;};

◆ fillUserAction()

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

◆ makeAndFillAction()

std::unique_ptr< TestActionEHist > G4UA::TestActionEHistTool::makeAndFillAction ( G4AtlasUserActions & actionList)
finaloverrideprotectedvirtual

Create action for this thread.

Implements G4UA::UserActionToolBase< TestActionEHist >.

Definition at line 25 of file TestActionEHistTool.cxx.

26 {
27 ATH_MSG_DEBUG("Constructing a TestActionEHist");
28 auto action = std::make_unique<TestActionEHist>(m_config);
29 actionList.runActions.push_back( action.get() );
30 actionList.trackingActions.push_back( action.get() );
31 actionList.steppingActions.push_back( action.get() );
32 return action;
33 }
#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

TestActionEHist::Config G4UA::TestActionEHistTool::m_config
private

holds the configuration details received from python

Definition at line 41 of file TestActionEHistTool.h.


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