ATLAS Offline Software
FastCaloSimTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef G4FASTSIMULATION_FASTCALOSIMTOOL_H
6 #define G4FASTSIMULATION_FASTCALOSIMTOOL_H
7 
8 /* Fast simulation base include */
10 /* FastCaloSim parametrization service include */
12 /* FastCaloSim calorimeter transportation include */
14 /* FastCaloSim calorimeter extrapolation include */
16 /* Geant4 transportation tool */
18 /* Random generator service include */
20 
21 class G4VFastSimulationModel;
22 
24 {
25  public:
26 
27  FastCaloSimTool(const std::string& type, const std::string& name, const IInterface *parent);
29 
31  virtual StatusCode BeginOfAthenaEvent() override final;
33  virtual StatusCode EndOfAthenaEvent() override final;
34 
35 protected:
39  virtual G4VFastSimulationModel* makeFastSimModel() override final;
40 
41  private:
42 
43  // FastCaloSim service
44  ServiceHandle<ISF::IFastCaloSimParamSvc> m_FastCaloSimSvc{this, "ISF_FastCaloSimV2ParamSvc", "ISF_FastCaloSimV2ParamSvc"};
45  // FastCaloSim transportation tool
46  PublicToolHandle<IFastCaloSimCaloTransportation> m_FastCaloSimCaloTransportation{this, "FastCaloSimCaloTransportation", "FastCaloSimCaloTransportation", ""};
47  // FastCaloSim extrapolation tool
48  PublicToolHandle<IFastCaloSimCaloExtrapolation> m_FastCaloSimCaloExtrapolation{this, "FastCaloSimCaloExtrapolation", "FastCaloSimCaloExtrapolation", ""};
49  // Geant4 transportation tool
50  PublicToolHandle<IG4CaloTransportTool> m_G4CaloTransportTool{this, "G4CaloTransportTool", "G4CaloTransportTool", ""};
51  // Random generator service
52  ServiceHandle<IAthRNGSvc> m_rndmGenSvc{this, "RandomSvc", "AthRNGSvc", ""};
53  // Random generator engine name
54  Gaudi::Property<std::string> m_randomEngineName{this, "RandomStream", ""};
55  // Name of associated CaloCellContainerSD
56  Gaudi::Property<std::string> m_CaloCellContainerSDName{this, "CaloCellContainerSDName", "", "Name of the associated CaloCellContainerSD"};
57  // Flag to enable G4 transportation
58  Gaudi::Property<bool> m_doG4Transport{this, "doG4Transport", false, "Flag to enable G4 transportation"};
59 };
60 
61 #endif //G4FASTSIMULATION_FASTCALOSIMTOOL_H
FastSimulationBase.h
IFastCaloSimCaloExtrapolation.h
IFastCaloSimParamSvc.h
FastSimulationBase
Definition: FastSimulationBase.h:26
FastCaloSimTool::m_FastCaloSimSvc
ServiceHandle< ISF::IFastCaloSimParamSvc > m_FastCaloSimSvc
Definition: FastCaloSimTool.h:44
FastCaloSimTool::m_FastCaloSimCaloExtrapolation
PublicToolHandle< IFastCaloSimCaloExtrapolation > m_FastCaloSimCaloExtrapolation
Definition: FastCaloSimTool.h:48
protected
#define protected
Definition: DetDescrConditionsDict_dict_fixes.cxx:14
FastCaloSimTool::m_G4CaloTransportTool
PublicToolHandle< IG4CaloTransportTool > m_G4CaloTransportTool
Definition: FastCaloSimTool.h:50
FastCaloSimTool::m_rndmGenSvc
ServiceHandle< IAthRNGSvc > m_rndmGenSvc
Definition: FastCaloSimTool.h:52
FastCaloSimTool::EndOfAthenaEvent
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.
Definition: FastCaloSimTool.cxx:36
FastCaloSimTool::FastCaloSimTool
FastCaloSimTool(const std::string &type, const std::string &name, const IInterface *parent)
Default constructor.
Definition: FastCaloSimTool.cxx:11
IFastCaloSimCaloTransportation.h
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
test_pyathena.parent
parent
Definition: test_pyathena.py:15
FastCaloSimTool::makeFastSimModel
virtual G4VFastSimulationModel * makeFastSimModel() override final
Method to make the actual fast simulation model itself, which will be owned by the tool.
Definition: FastCaloSimTool.cxx:58
FastCaloSimTool::~FastCaloSimTool
~FastCaloSimTool()
Definition: FastCaloSimTool.h:28
FastCaloSimTool::m_doG4Transport
Gaudi::Property< bool > m_doG4Transport
Definition: FastCaloSimTool.h:58
FastCaloSimTool::BeginOfAthenaEvent
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.
Definition: FastCaloSimTool.cxx:16
private
#define private
Definition: DetDescrConditionsDict_dict_fixes.cxx:13
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
IG4CaloTransportTool.h
FastCaloSimTool::m_CaloCellContainerSDName
Gaudi::Property< std::string > m_CaloCellContainerSDName
Definition: FastCaloSimTool.h:56
FastCaloSimTool::m_randomEngineName
Gaudi::Property< std::string > m_randomEngineName
Definition: FastCaloSimTool.h:54
ISF
ISFParticleOrderedQueue.
Definition: PrimaryParticleInformation.h:13
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
FastCaloSimTool
Definition: FastCaloSimTool.h:24
FastCaloSimTool::m_FastCaloSimCaloTransportation
PublicToolHandle< IFastCaloSimCaloTransportation > m_FastCaloSimCaloTransportation
Definition: FastCaloSimTool.h:46
IAthRNGSvc.h
ServiceHandle
Definition: ClusterMakerTool.h:37