ATLAS Offline Software
Loading...
Searching...
No Matches
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
StatusCode BeginOfAthenaEvent (HitCollectionMap &) override final
 !< Base class method to initialize all the fast simulation models
StatusCode EndOfAthenaEvent (HitCollectionMap &) override final
 !< Base class method that calls BeginOfAthenaEvent for all fast simulation models.

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.

Detailed Description

Definition at line 17 of file FastSimulationMasterTool.h.

Constructor & Destructor Documentation

◆ FastSimulationMasterTool()

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

Definition at line 14 of file FastSimulationMasterTool.cxx.

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

◆ ~FastSimulationMasterTool()

virtual FastSimulationMasterTool::~FastSimulationMasterTool ( )
inlinevirtual

Definition at line 21 of file FastSimulationMasterTool.h.

21{}

Member Function Documentation

◆ BeginOfAthenaEvent()

StatusCode FastSimulationMasterTool::BeginOfAthenaEvent ( HitCollectionMap & hcm)
finaloverride

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

Definition at line 35 of file FastSimulationMasterTool.cxx.

35 {
36 // Method that gets called at the beginning of every *athena* event
37 for (auto& ifs : m_FastSimList){
38 CHECK(ifs->BeginOfAthenaEvent(hcm));
39 }
40 return StatusCode::SUCCESS;
41}
#define CHECK(...)
Evaluate an expression and check for errors.
ToolHandleArray< IFastSimulation > m_FastSimList
!< Base class method that calls EndOfAthenaEvent for all fast simulation models.

◆ EndOfAthenaEvent()

StatusCode FastSimulationMasterTool::EndOfAthenaEvent ( HitCollectionMap & hcm)
finaloverride

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

Definition at line 43 of file FastSimulationMasterTool.cxx.

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

◆ initializeFastSims()

StatusCode FastSimulationMasterTool::initializeFastSims ( )
finaloverride

Definition at line 19 of file FastSimulationMasterTool.cxx.

19 {
20 ATH_MSG_VERBOSE( name() << "::initializeFastSims()" );
21 // Loop through list of fast simulations and retrieve them
22 // This forces a call to initialize() for each of them
23 ATH_MSG_INFO( "Initializing list of " << m_FastSimList.size() << " fast simulation tools in " << name() );
24 CHECK( m_FastSimList.retrieve() );
25
26 // Initialize the FastSim processes. Each process will attach
27 // itself to the relevant region at construction
28 for (auto& ifs : m_FastSimList){
29 CHECK(ifs->initializeFastSim());
30 }
31
32 return StatusCode::SUCCESS;
33}
#define ATH_MSG_INFO(x)
#define ATH_MSG_VERBOSE(x)

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.

29{this, "FastSimulations", {}, "Tool handle array of fast simulation tools"};

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