ATLAS Offline Software
Public Member Functions | Private Attributes | List of all members
FastSimulationMasterTool Class Reference

#include <FastSimulationMasterTool.h>

Inheritance diagram for FastSimulationMasterTool:
Collaboration diagram for FastSimulationMasterTool:

Public Member Functions

 FastSimulationMasterTool (const std::string &type, const std::string &name, const IInterface *parent)
 
virtual ~FastSimulationMasterTool ()
 
StatusCode initializeFastSims () override final
 
bool HasFastSimulationModels () const override final
 !< Base class method to initialize all the fast simulation models More...
 
StatusCode BeginOfAthenaEvent () override final
 !< Base class method to check if we have any fast simulation models More...
 
StatusCode EndOfAthenaEvent () override final
 !< Base class method that calls BeginOfAthenaEvent for all fast simulation models. More...
 

Private Attributes

ToolHandleArray< IFastSimulationm_FastSimList {this, "FastSimulations", {}, "Tool handle array of fast simulation tools"}
 !< Base class method that calls EndOfAthenaEvent for all fast simulation models. More...
 

Detailed Description

Definition at line 16 of file FastSimulationMasterTool.h.

Constructor & Destructor Documentation

◆ FastSimulationMasterTool()

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

Definition at line 13 of file FastSimulationMasterTool.cxx.

14  : base_class(type,name,parent)
15 {
16 }

◆ ~FastSimulationMasterTool()

virtual FastSimulationMasterTool::~FastSimulationMasterTool ( )
inlinevirtual

Definition at line 20 of file FastSimulationMasterTool.h.

20 {}

Member Function Documentation

◆ BeginOfAthenaEvent()

StatusCode FastSimulationMasterTool::BeginOfAthenaEvent ( )
finaloverride

!< Base class method to check if we have any fast simulation models

Definition at line 37 of file FastSimulationMasterTool.cxx.

37  {
38  // Method that gets called at the beginning of every *athena* event
39  for (auto& ifs : m_FastSimList){
40  CHECK(ifs->BeginOfAthenaEvent());
41  }
42  return StatusCode::SUCCESS;
43 }

◆ EndOfAthenaEvent()

StatusCode FastSimulationMasterTool::EndOfAthenaEvent ( )
finaloverride

!< Base class method that calls BeginOfAthenaEvent for all fast simulation models.

Definition at line 45 of file FastSimulationMasterTool.cxx.

45  {
46  // Method that gets called at the end of every *athena* event
47  for (auto& ifs : m_FastSimList){
48  CHECK(ifs->EndOfAthenaEvent());
49  }
50  return StatusCode::SUCCESS;
51 }

◆ HasFastSimulationModels()

bool FastSimulationMasterTool::HasFastSimulationModels ( ) const
finaloverride

!< Base class method to initialize all the fast simulation models

Definition at line 33 of file FastSimulationMasterTool.cxx.

33  {
34  return !m_FastSimList.empty();
35 }

◆ initializeFastSims()

StatusCode FastSimulationMasterTool::initializeFastSims ( )
finaloverride

Definition at line 18 of file FastSimulationMasterTool.cxx.

18  {
19  ATH_MSG_VERBOSE( name() << "::initializeFastSims()" );
20  // Loop through list of fast simulations and retrieve them
21  // This forces a call to initialize() for each of them
22  ATH_MSG_INFO( "Initializing list of " << m_FastSimList.size() << " fast simulation tools in " << name() );
23  CHECK( m_FastSimList.retrieve() );
24 
25  // Initialize the SDs
26  for (auto& ifs : m_FastSimList){
27  CHECK(ifs->initializeFastSim());
28  }
29 
30  return StatusCode::SUCCESS;
31 }

Member Data Documentation

◆ m_FastSimList

ToolHandleArray<IFastSimulation> FastSimulationMasterTool::m_FastSimList {this, "FastSimulations", {}, "Tool handle array of fast simulation tools"}
private

!< Base class method that calls EndOfAthenaEvent for all fast simulation models.

Definition at line 29 of file FastSimulationMasterTool.h.


The documentation for this class was generated from the following files:
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
ATH_MSG_VERBOSE
#define ATH_MSG_VERBOSE(x)
Definition: AthMsgStreamMacros.h:28
python.CaloAddPedShiftConfig.type
type
Definition: CaloAddPedShiftConfig.py:42
FastSimulationMasterTool::m_FastSimList
ToolHandleArray< IFastSimulation > m_FastSimList
!< Base class method that calls EndOfAthenaEvent for all fast simulation models.
Definition: FastSimulationMasterTool.h:29
test_pyathena.parent
parent
Definition: test_pyathena.py:15
CHECK
#define CHECK(...)
Evaluate an expression and check for errors.
Definition: Control/AthenaKernel/AthenaKernel/errorcheck.h:422
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240