ATLAS Offline Software
|
#include <FastCaloSimTool.h>
Public Member Functions | |
FastCaloSimTool (const std::string &type, const std::string &name, const IInterface *parent) | |
Default constructor. More... | |
~FastCaloSimTool () | |
virtual StatusCode | BeginOfAthenaEvent () override final |
Begin of an athena event - do any thing that needs to be done at the beginning of each athena event. More... | |
virtual StatusCode | EndOfAthenaEvent () override final |
End of an athena event - do any thing that needs to be done at the end of each athena event. More... | |
StatusCode | initializeFastSim () override |
Construct and setup the fast simulation model. 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... | |
G4VFastSimulationModel * | getFastSimModel () |
Retrieve the current Fast Simulation Model. More... | |
Protected Attributes | |
Gaudi::Property< std::vector< std::string > > | m_regionNames {this, "RegionNames", {}} |
All the regions 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 Member Functions | |
void | setFastSimModel (G4VFastSimulationModel *) |
Set the current model. In hive, this gets assigned as the thread-local model. More... | |
void | deleteFastSimModel () |
Delete the current model. More... | |
Private Attributes | |
ServiceHandle< ISF::IFastCaloSimParamSvc > | m_FastCaloSimSvc {this, "ISF_FastCaloSimV2ParamSvc", "ISF_FastCaloSimV2ParamSvc"} |
PublicToolHandle< IFastCaloSimCaloTransportation > | m_FastCaloSimCaloTransportation {this, "FastCaloSimCaloTransportation", "FastCaloSimCaloTransportation", ""} |
PublicToolHandle< IFastCaloSimCaloExtrapolation > | m_FastCaloSimCaloExtrapolation {this, "FastCaloSimCaloExtrapolation", "FastCaloSimCaloExtrapolation", ""} |
PublicToolHandle< IG4CaloTransportTool > | m_G4CaloTransportTool {this, "G4CaloTransportTool", "G4CaloTransportTool", ""} |
ServiceHandle< IAthRNGSvc > | m_rndmGenSvc {this, "RandomSvc", "AthRNGSvc", ""} |
Gaudi::Property< std::string > | m_randomEngineName {this, "RandomStream", ""} |
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_doPhotons {this, "doPhotons", true, "Flag to enable FCS simulation for photons"} |
Optional flags that allow to further limit the usage of fast simulation beyond the default configuration Note: For fast simulation jobs, default values should be used. More... | |
Gaudi::Property< bool > | m_doElectrons {this, "doElectrons", true, "Flag to enable FCS simulation for electrons and positrons"} |
Gaudi::Property< bool > | m_doHadrons {this, "doHadrons", true, "Flag to enable FCS simulation for pions and other hadrons"} |
Gaudi::Property< float > | m_AbsEtaMin {this, "AbsEtaMin", 0, "Abs(Eta) lower bound for FastCaloSim"} |
Gaudi::Property< float > | m_AbsEtaMax {this, "AbsEtaMax", 10, "Abs(Eta) upper bound for FastCaloSim"} |
Gaudi::Property< float > | m_EkinMin {this, "EkinMin", 0, "Kinetic energy lower bound for FastCaloSim"} |
Gaudi::Property< float > | m_EkinMax {this, "EkinMax", std::numeric_limits<float>::max(), "Kinetic energy upper bound for FastCaloSim"} |
Gaudi::Property< bool > | m_doEMECFCS {this, "doEMECFCS", false, "Run FCS in EMEC region while G4 in the rest region"} |
G4VFastSimulationModel * | m_FastSimModel {} |
The Fast Simulation Model to which this thing corresponds. More... | |
Definition at line 23 of file FastCaloSimTool.h.
FastCaloSimTool::FastCaloSimTool | ( | const std::string & | type, |
const std::string & | name, | ||
const IInterface * | parent | ||
) |
Default constructor.
Definition at line 11 of file FastCaloSimTool.cxx.
|
inline |
Definition at line 28 of file FastCaloSimTool.h.
|
finaloverridevirtual |
Begin of an athena event - do any thing that needs to be done at the beginning of each athena event.
Reimplemented from FastSimulationBase.
Definition at line 16 of file FastCaloSimTool.cxx.
|
privateinherited |
|
finaloverridevirtual |
End of an athena event - do any thing that needs to be done at the end of each athena event.
Reimplemented from FastSimulationBase.
Definition at line 36 of file FastCaloSimTool.cxx.
|
protectedinherited |
Retrieve the current Fast Simulation Model.
In MT, this means the thread-local Fast Simulation Model. Otherwise, it is simply the single Fast Simulation Model.
Definition at line 73 of file FastSimulationBase.cxx.
|
overrideinherited |
Construct and setup the fast simulation model.
This method invokes the makeFastSimModel of the derived concrete tool type and assigns the configured regions. Errors are reported if regions are missing. In multi-threading jobs, this method is called once per worker thread.
Definition at line 23 of file FastSimulationBase.cxx.
|
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 58 of file FastCaloSimTool.cxx.
|
privateinherited |
Set the current model. In hive, this gets assigned as the thread-local model.
Definition at line 87 of file FastSimulationBase.cxx.
|
private |
Definition at line 66 of file FastCaloSimTool.h.
|
private |
Definition at line 65 of file FastCaloSimTool.h.
|
private |
Definition at line 56 of file FastCaloSimTool.h.
|
private |
Definition at line 63 of file FastCaloSimTool.h.
|
private |
Definition at line 69 of file FastCaloSimTool.h.
|
private |
Definition at line 58 of file FastCaloSimTool.h.
|
private |
Definition at line 64 of file FastCaloSimTool.h.
|
private |
Optional flags that allow to further limit the usage of fast simulation beyond the default configuration Note: For fast simulation jobs, default values should be used.
They are only useful in special cases where you want to further limit the usage of fast sim, e.g. if we want to replace certain parts of full simulation
Definition at line 62 of file FastCaloSimTool.h.
|
private |
Definition at line 68 of file FastCaloSimTool.h.
|
private |
Definition at line 67 of file FastCaloSimTool.h.
|
private |
Definition at line 48 of file FastCaloSimTool.h.
|
private |
Definition at line 46 of file FastCaloSimTool.h.
|
private |
Definition at line 44 of file FastCaloSimTool.h.
|
privateinherited |
The Fast Simulation Model to which this thing corresponds.
Definition at line 74 of file FastSimulationBase.h.
|
private |
Definition at line 50 of file FastCaloSimTool.h.
|
protectedinherited |
This Fast Simulation has no regions associated with it.
Definition at line 55 of file FastSimulationBase.h.
|
private |
Definition at line 54 of file FastCaloSimTool.h.
|
protectedinherited |
All the regions to which this fast sim is assigned.
Definition at line 53 of file FastSimulationBase.h.
|
private |
Definition at line 52 of file FastCaloSimTool.h.