ATLAS Offline Software
Public Member Functions | Protected Member Functions | Protected Attributes | Private Attributes | List of all members
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 More...
 
virtual StatusCode fillUserAction (G4AtlasUserActions &actionLists) override final
 Fill the user action lists. More...
 

Protected Member Functions

virtual std::unique_ptr< VolumeDebuggermakeAndFillAction (G4AtlasUserActions &) override final
 builds the action for a thread More...
 

Protected Attributes

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

Private Attributes

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

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  }

Member Function Documentation

◆ fillUserAction()

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

Fill the user action lists.

Definition at line 45 of file UserActionToolBase.h.

46  {
47  auto myAction = makeAndFillAction(actionLists);
48  if(myAction == nullptr) {
49  ATH_MSG_ERROR( "Failed to construct user action in " << name() );
50  return StatusCode::FAILURE;
51  }
52  m_actions.set( std::move(myAction) );
53  return StatusCode::SUCCESS;
54  }

◆ 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  }

Member Data Documentation

◆ m_actions

Thread-specific storage of the user action.

Definition at line 63 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:
G4UA::VolumeDebugger::Config::dumpGDML
bool dumpGDML
Definition: VolumeDebugger.h:50
G4UA::ThreadSpecificUserAction::set
void set(std::unique_ptr< ActionType > action)
Assign the object of the current thread.
Definition: ThreadSpecificUserAction.h:61
G4UA::VolumeDebugger::Config::res
int res
Definition: VolumeDebugger.h:45
G4UA::VolumeDebugger::Config::tol
float tol
Definition: VolumeDebugger.h:47
G4UA::VolumeDebugger::Config::printGeo
bool printGeo
Definition: VolumeDebugger.h:52
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
G4UA::VolumeDebugger::Config::dumpPhysicsRegions
bool dumpPhysicsRegions
Definition: VolumeDebugger.h:51
G4UA::VolumeDebugger::Config::volumeCheck
bool volumeCheck
Definition: VolumeDebugger.h:48
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
G4UA::UserActionToolBase< VolumeDebugger >::m_actions
ThreadSpecificUserAction< VolumeDebugger > m_actions
Thread-specific storage of the user action.
Definition: UserActionToolBase.h:63
test_pyathena.parent
parent
Definition: test_pyathena.py:15
G4UA::VolumeDebugger::Config::targetVolume
std::string targetVolume
Definition: VolumeDebugger.h:44
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
G4UA::VolumeDebuggerTool::m_config
VolumeDebugger::Config m_config
holds the configuration received from the python side
Definition: VolumeDebuggerTool.h:32
G4UA::UserActionToolBase< VolumeDebugger >::makeAndFillAction
virtual std::unique_ptr< VolumeDebugger > makeAndFillAction(G4AtlasUserActions &actionLists)=0
Make the action and push onto the lists.
python.CaloScaleNoiseConfig.action
action
Definition: CaloScaleNoiseConfig.py:77
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
G4UA::VolumeDebugger::Config::targetMaxCopiesToCheck
double targetMaxCopiesToCheck
Definition: VolumeDebugger.h:49
G4UA::VolumeDebugger::Config::path
std::string path
Definition: VolumeDebugger.h:43
G4UA::VolumeDebugger::Config::verbose
bool verbose
Definition: VolumeDebugger.h:46