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

Tool which manages the VolumeDebugger action. More...

#include <VolumeDebuggerTool.h>

Inheritance diagram for G4UA::VolumeDebuggerTool:
Collaboration diagram for G4UA::VolumeDebuggerTool:

Public Member Functions

 VolumeDebuggerTool (const std::string &type, const std::string &name, const IInterface *parent)
 standard tool 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< VolumeDebuggermakeAndFillAction (G4AtlasUserActions &) override final
 builds the action for a thread

Protected Attributes

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

Private Attributes

VolumeDebugger::Config m_config
 holds the configuration received from the python side

Detailed Description

Tool which manages the VolumeDebugger action.

Create the VolumeDebugger for each worker thread

Author
Andrea Di Simone

Definition at line 21 of file VolumeDebuggerTool.h.

Constructor & Destructor Documentation

◆ VolumeDebuggerTool()

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

standard tool constructor

Definition at line 10 of file VolumeDebuggerTool.cxx.

13 : UserActionToolBase<VolumeDebugger>(type, name, parent)
14 {
15 declareProperty("OutputPath", m_config.path);
16 declareProperty("TargetVolume", m_config.targetVolume);
17 declareProperty("Resolution", m_config.res);
18 declareProperty("Tolerance", m_config.tol);
19 declareProperty("Verbose", m_config.verbose);
20 declareProperty("RunGeoTest", m_config.volumeCheck);
21 declareProperty("MaxCopiesToCheck", m_config.targetMaxCopiesToCheck);
22 declareProperty("DumpGDML", m_config.dumpGDML);
23 declareProperty("DumpPhysicsRegions", m_config.dumpPhysicsRegions);
24 declareProperty("PrintGeometry", m_config.printGeo);
25 }
UserActionToolBase(const std::string &type, const std::string &name, const IInterface *parent)
VolumeDebugger::Config m_config
holds the configuration received from the python side

Member Function Documentation

◆ BeginOfAthenaEvent()

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

Calls EndOfAthenaEvent.

Definition at line 61 of file UserActionToolBase.h.

61{return StatusCode::SUCCESS;};

◆ fillUserAction()

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

◆ makeAndFillAction()

std::unique_ptr< VolumeDebugger > G4UA::VolumeDebuggerTool::makeAndFillAction ( G4AtlasUserActions & actionList)
finaloverrideprotectedvirtual

builds the action for a thread

Implements G4UA::UserActionToolBase< VolumeDebugger >.

Definition at line 28 of file VolumeDebuggerTool.cxx.

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

VolumeDebugger::Config G4UA::VolumeDebuggerTool::m_config
private

holds the configuration received from the python side

Definition at line 32 of file VolumeDebuggerTool.h.


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