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

#include <FastCaloSimTool.h>

Inheritance diagram for FastCaloSimTool:
Collaboration diagram for FastCaloSimTool:

Public Member Functions

 FastCaloSimTool (const std::string &type, const std::string &name, const IInterface *parent)
 Default constructor. More...
 
StatusCode initializeFastSim () override
 Construct and setup the fast simulation model. More...
 
virtual StatusCode BeginOfAthenaEvent () override
 Begin of an athena event - do anything that needs to be done at the beginning of each athena event. More...
 
virtual StatusCode EndOfAthenaEvent () override
 End of an athena event - do any tidying up required at the end of each athena event. More...
 

Protected Member Functions

virtual G4VFastSimulationModel * makeFastSimModel () override final
 Method to make the actual fast simulation model itself, which will be owned by the tool. More...
 
G4Region * getRegion () const
 

Protected Attributes

Gaudi::Property< std::string > m_regionName {this, "RegionName", ""}
 The region to which this fast sim is assigned. More...
 
Gaudi::Property< bool > m_noRegions {this, "NoRegions", false}
 This Fast Simulation has no regions associated with it. More...
 

Private Attributes

ServiceHandle< ISF::IFastCaloSimParamSvcm_FastCaloSimSvc {this, "ISF_FastCaloSimV2ParamSvc", "ISF_FastCaloSimV2ParamSvc"}
 
PublicToolHandle< IFastCaloSimCaloTransportationm_FastCaloSimCaloTransportation {this, "FastCaloSimCaloTransportation", "FastCaloSimCaloTransportation", ""}
 
PublicToolHandle< IFastCaloSimCaloExtrapolationm_FastCaloSimCaloExtrapolation {this, "FastCaloSimCaloExtrapolation", "FastCaloSimCaloExtrapolation", ""}
 
PublicToolHandle< IG4CaloTransportToolm_G4CaloTransportTool {this, "G4CaloTransportTool", "G4CaloTransportTool", ""}
 
PublicToolHandle< IPunchThroughSimWrapperm_PunchThroughSimWrapper {this, "PunchThroughSimWrapper", "PunchThroughSimWrapper", ""}
 
Gaudi::Property< std::string > m_CaloCellContainerSDName {this, "CaloCellContainerSDName", "", "Name of the associated CaloCellContainerSD"}
 
Gaudi::Property< bool > m_doG4Transport {this, "doG4Transport", false, "Flag to enable G4 transportation"}
 
Gaudi::Property< bool > m_doPunchThrough {this, "doPunchThrough", true, "Run punchthrough simulation for particle entering Calo-MS boundary"}
 

Detailed Description

Definition at line 23 of file FastCaloSimTool.h.

Constructor & Destructor Documentation

◆ FastCaloSimTool()

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

Default constructor.

Definition at line 9 of file FastCaloSimTool.cxx.

11 {
12 }

Member Function Documentation

◆ BeginOfAthenaEvent()

virtual StatusCode FastSimulationBase::BeginOfAthenaEvent ( )
inlineoverridevirtualinherited

Begin of an athena event - do anything that needs to be done at the beginning of each athena event.

Definition at line 42 of file FastSimulationBase.h.

42 { return StatusCode::SUCCESS; }

◆ EndOfAthenaEvent()

virtual StatusCode FastSimulationBase::EndOfAthenaEvent ( )
inlineoverridevirtualinherited

End of an athena event - do any tidying up required at the end of each athena event.

Definition at line 45 of file FastSimulationBase.h.

45 { return StatusCode::SUCCESS; }

◆ getRegion()

G4Region * FastSimulationBase::getRegion ( ) const
protectedinherited

Definition at line 17 of file FastSimulationBase.cxx.

18 {
19  if (m_regionName.value().empty()) {
20  return nullptr;
21  }
22  return G4RegionStore::GetInstance()->GetRegion(m_regionName.value());
23 }

◆ initializeFastSim()

StatusCode FastSimulationBase::initializeFastSim ( )
overrideinherited

Construct and setup the fast simulation model.

This method invokes the makeFastSimModel of the derived concrete tool type. It is the derived class's responsibility to assign the fast simulation model to the correct regions. The fast simulation model is registered for deletion. In multi-threaded jobs, this method is called once on each geant4 worker thread during detector construction (ConstructSDandField).

Definition at line 27 of file FastSimulationBase.cxx.

27  {
28  ATH_MSG_VERBOSE( name() << "::initializeFastSim()" );
29 
30  // Instantiate the FastSimModel for this geant4 thread and register it for deletion
31  G4AutoDelete::Register(makeFastSimModel());
32 
33  return StatusCode::SUCCESS;
34 }

◆ makeFastSimModel()

G4VFastSimulationModel * FastCaloSimTool::makeFastSimModel ( )
finaloverrideprotectedvirtual

Method to make the actual fast simulation model itself, which will be owned by the tool.

Must be implemented in all concrete base classes.

Definition at line 14 of file FastCaloSimTool.cxx.

15 {
16  ATH_MSG_DEBUG("Initializing Fast Sim Model");
17 
18  // Create the FastCaloSim fast simulation model
20 }

Member Data Documentation

◆ m_CaloCellContainerSDName

Gaudi::Property<std::string> FastCaloSimTool::m_CaloCellContainerSDName {this, "CaloCellContainerSDName", "", "Name of the associated CaloCellContainerSD"}
private

Definition at line 49 of file FastCaloSimTool.h.

◆ m_doG4Transport

Gaudi::Property<bool> FastCaloSimTool::m_doG4Transport {this, "doG4Transport", false, "Flag to enable G4 transportation"}
private

Definition at line 51 of file FastCaloSimTool.h.

◆ m_doPunchThrough

Gaudi::Property<bool> FastCaloSimTool::m_doPunchThrough {this, "doPunchThrough", true, "Run punchthrough simulation for particle entering Calo-MS boundary"}
private

Definition at line 53 of file FastCaloSimTool.h.

◆ m_FastCaloSimCaloExtrapolation

PublicToolHandle<IFastCaloSimCaloExtrapolation> FastCaloSimTool::m_FastCaloSimCaloExtrapolation {this, "FastCaloSimCaloExtrapolation", "FastCaloSimCaloExtrapolation", ""}
private

Definition at line 42 of file FastCaloSimTool.h.

◆ m_FastCaloSimCaloTransportation

PublicToolHandle<IFastCaloSimCaloTransportation> FastCaloSimTool::m_FastCaloSimCaloTransportation {this, "FastCaloSimCaloTransportation", "FastCaloSimCaloTransportation", ""}
private

Definition at line 40 of file FastCaloSimTool.h.

◆ m_FastCaloSimSvc

ServiceHandle<ISF::IFastCaloSimParamSvc> FastCaloSimTool::m_FastCaloSimSvc {this, "ISF_FastCaloSimV2ParamSvc", "ISF_FastCaloSimV2ParamSvc"}
private

Definition at line 38 of file FastCaloSimTool.h.

◆ m_G4CaloTransportTool

PublicToolHandle<IG4CaloTransportTool> FastCaloSimTool::m_G4CaloTransportTool {this, "G4CaloTransportTool", "G4CaloTransportTool", ""}
private

Definition at line 44 of file FastCaloSimTool.h.

◆ m_noRegions

Gaudi::Property<bool> FastSimulationBase::m_noRegions {this, "NoRegions", false}
protectedinherited

This Fast Simulation has no regions associated with it.

Definition at line 54 of file FastSimulationBase.h.

◆ m_PunchThroughSimWrapper

PublicToolHandle<IPunchThroughSimWrapper> FastCaloSimTool::m_PunchThroughSimWrapper {this, "PunchThroughSimWrapper", "PunchThroughSimWrapper", ""}
private

Definition at line 46 of file FastCaloSimTool.h.

◆ m_regionName

Gaudi::Property<std::string> FastSimulationBase::m_regionName {this, "RegionName", ""}
protectedinherited

The region to which this fast sim is assigned.

Definition at line 52 of file FastSimulationBase.h.


The documentation for this class was generated from the following files:
FastCaloSimTool::m_doPunchThrough
Gaudi::Property< bool > m_doPunchThrough
Definition: FastCaloSimTool.h:53
FastSimulationBase::m_regionName
Gaudi::Property< std::string > m_regionName
The region to which this fast sim is assigned.
Definition: FastSimulationBase.h:52
FastCaloSimTool::m_FastCaloSimSvc
ServiceHandle< ISF::IFastCaloSimParamSvc > m_FastCaloSimSvc
Definition: FastCaloSimTool.h:38
ATH_MSG_VERBOSE
#define ATH_MSG_VERBOSE(x)
Definition: AthMsgStreamMacros.h:28
FastCaloSimTool::m_FastCaloSimCaloExtrapolation
PublicToolHandle< IFastCaloSimCaloExtrapolation > m_FastCaloSimCaloExtrapolation
Definition: FastCaloSimTool.h:42
python.CaloAddPedShiftConfig.type
type
Definition: CaloAddPedShiftConfig.py:42
FastCaloSimTool::m_G4CaloTransportTool
PublicToolHandle< IG4CaloTransportTool > m_G4CaloTransportTool
Definition: FastCaloSimTool.h:44
FastCaloSimTool::m_PunchThroughSimWrapper
PublicToolHandle< IPunchThroughSimWrapper > m_PunchThroughSimWrapper
Definition: FastCaloSimTool.h:46
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
FastSimulationBase::FastSimulationBase
FastSimulationBase(const std::string &type, const std::string &name, const IInterface *parent)
Definition: FastSimulationBase.cxx:12
test_pyathena.parent
parent
Definition: test_pyathena.py:15
FastCaloSimTool::m_doG4Transport
Gaudi::Property< bool > m_doG4Transport
Definition: FastCaloSimTool.h:51
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
FastCaloSimTool::m_CaloCellContainerSDName
Gaudi::Property< std::string > m_CaloCellContainerSDName
Definition: FastCaloSimTool.h:49
FastSimulationBase::getRegion
G4Region * getRegion() const
Definition: FastSimulationBase.cxx:17
ISF::FastCaloSim
@ FastCaloSim
Definition: SimulationFlavor.h:24
FastCaloSimTool::m_FastCaloSimCaloTransportation
PublicToolHandle< IFastCaloSimCaloTransportation > m_FastCaloSimCaloTransportation
Definition: FastCaloSimTool.h:40