ATLAS Offline Software
CalibSDTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef LARG4CODE_CALIBSDTOOL_H
6 #define LARG4CODE_CALIBSDTOOL_H
7 
15 // System includes
16 #include <string>
17 #include <vector>
18 
19 // G4Atlas includes
21 
22 // Local includes
23 #include "LArG4CalibSD.h"
24 
25 // Forward declarations
27 class LArEM_ID;
28 class LArFCAL_ID;
29 class LArHEC_ID;
30 class CaloDM_ID;
31 class LArG4CalibSD;
32 
33 namespace LArG4
34 {
35 
44  {
45 
46  public:
47 
49  CalibSDTool(const std::string& type, const std::string& name,
50  const IInterface* parent);
51 
53  StatusCode initialize() override final;
54 
56  StatusCode Gather() override final;
57 
58  protected:
59 
61  virtual StatusCode initializeCalculators() { return StatusCode::SUCCESS; }
62 
64  std::unique_ptr<LArG4CalibSD>
65  makeOneSD(const std::string& name, ILArCalibCalculatorSvc* calc,
66  const std::vector<std::string>& volumes) const;
67 
68  protected:
69 
72 
74  Gaudi::Property<G4bool> m_doPID{this, "ParticleID", false};
75 
77 
80  const LArEM_ID* m_larEmID{nullptr};
81  const LArFCAL_ID* m_larFcalID{nullptr};
82  const LArHEC_ID* m_larHecID{nullptr};
83  const CaloDM_ID* m_caloDmID{nullptr};
84  const AtlasDetectorID* m_id_helper{nullptr};
86 
87  }; // class CalibSDTool
88 
89 } // namespace LArG4
90 
91 #endif
LArG4::CalibSDTool::m_larHecID
const LArHEC_ID * m_larHecID
Definition: CalibSDTool.h:82
LArG4::CalibSDTool::makeOneSD
std::unique_ptr< LArG4CalibSD > makeOneSD(const std::string &name, ILArCalibCalculatorSvc *calc, const std::vector< std::string > &volumes) const
Helper method to create one SD.
LArHEC_ID
Helper class for LArHEC offline identifiers.
Definition: LArHEC_ID.h:85
SensitiveDetectorBase
Common base class for tools that create and manage Geant4 sensitive detectors.
Definition: SensitiveDetectorBase.h:50
LArG4::CalibSDTool::m_larEmID
const LArEM_ID * m_larEmID
Definition: CalibSDTool.h:80
LArG4
Definition: LArWheelCalculatorEnums.h:8
python.CaloAddPedShiftConfig.type
type
Definition: CaloAddPedShiftConfig.py:42
LArG4CalibSD.h
LArG4::CalibSDTool::initializeCalculators
virtual StatusCode initializeCalculators()
Initialize Calculator Services.
Definition: CalibSDTool.h:61
LArG4::CalibSDTool::m_id_helper
const AtlasDetectorID * m_id_helper
Definition: CalibSDTool.h:84
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
LArG4CalibSD
A specialized SD class for saving LAr calibration hits.
Definition: LArG4CalibSD.h:38
test_pyathena.parent
parent
Definition: test_pyathena.py:15
LArG4::CalibSDTool::Gather
StatusCode Gather() override final
Calls down to all the SDs to pack their hits into one collection.
LArG4::CalibSDTool
A base class for tools that manage LArG4CalibSDs.
Definition: CalibSDTool.h:44
protected
#define protected
Definition: GenEventCnv_p1.h:26
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
LArG4::CalibSDTool::CalibSDTool
CalibSDTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor.
LArG4::CalibSDTool::initialize
StatusCode initialize() override final
Initialize the tool.
SensitiveDetectorBase.h
ILArCalibCalculatorSvc
Definition: ILArCalibCalculatorSvc.h:23
CaloDM_ID
Helper class for Calo Dead Material offline identifiers.
Definition: CaloDM_ID.h:102
LArG4::CalibSDTool::m_larFcalID
const LArFCAL_ID * m_larFcalID
Definition: CalibSDTool.h:81
LArEM_ID
Helper class for LArEM offline identifiers.
Definition: LArEM_ID.h:118
LArG4::CalibSDTool::m_caloDmID
const CaloDM_ID * m_caloDmID
Definition: CalibSDTool.h:83
LArFCAL_ID
Helper class for LArFCAL offline identifiers.
Definition: LArFCAL_ID.h:60
beamspotnt.calc
calc
Definition: bin/beamspotnt.py:1251
LArG4::CalibSDTool::m_doPID
Gaudi::Property< G4bool > m_doPID
Are we set up to run with PID hits?
Definition: CalibSDTool.h:74
AtlasDetectorID
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
Definition: AtlasDetectorID.h:57