ATLAS Offline Software
Loading...
Searching...
No Matches
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
14
15// System includes
16#include <string>
17#include <vector>
18
19// G4Atlas includes
21
23
24// Local includes
25#include "LArG4CalibSD.h"
26
27// Forward declarations
29class LArEM_ID;
30class LArFCAL_ID;
31class LArHEC_ID;
32class CaloDM_ID;
33class LArG4CalibSD;
34
35namespace LArG4
36{
37
48 {
49
50 public:
51
53 CalibSDTool(const std::string& type, const std::string& name,
54 const IInterface* parent);
55
57 StatusCode initialize() override final;
58
60 StatusCode initializeSD() override final;
61
63 StatusCode SetupEvent(HitCollectionMap&) override final;
64
66 StatusCode Gather(HitCollectionMap&) override final;
67
69
71 virtual StatusCode initializeCalculators() { return StatusCode::SUCCESS; }
72
75 makeOneSD(const std::string& name, ILArCalibCalculatorSvc* calc,
76 const std::vector<std::string>& volumes) const;
77
78 virtual std::string hitCollectionName() const;
79 virtual std::string deadHitCollectionName() const;
80 virtual std::string srHitCollectionName() const;
81
82 protected:
83
86
88 Gaudi::Property<G4bool> m_doPID{this, "ParticleID", false};
89
91
94 const LArEM_ID* m_larEmID{nullptr};
95 const LArFCAL_ID* m_larFcalID{nullptr};
96 const LArHEC_ID* m_larHecID{nullptr};
97 const CaloDM_ID* m_caloDmID{nullptr};
100
101 }; // class CalibSDTool
102
103} // namespace LArG4
104
105#endif
#define protected
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
Helper class for Calo Dead Material offline identifiers.
Definition CaloDM_ID.h:102
Small wrapper around hit collection map to facilitate accessing the hit collection.
Helper class for LArEM offline identifiers.
Definition LArEM_ID.h:111
Helper class for LArFCAL offline identifiers.
Definition LArFCAL_ID.h:49
A specialized SD class for saving LAr calibration hits.
virtual StatusCode initializeCalculators()
Initialize Calculator Services.
Definition CalibSDTool.h:71
StatusCode Gather(HitCollectionMap &) override final
Finalize and record event-owned hit collections.
CalibSDTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor.
LArG4CalibSD * makeOneSD(const std::string &name, ILArCalibCalculatorSvc *calc, const std::vector< std::string > &volumes) const
Helper method to create one SD.
const LArEM_ID * m_larEmID
Definition CalibSDTool.h:94
virtual std::string srHitCollectionName() const
StatusCode SetupEvent(HitCollectionMap &) override final
Create event-owned hit collections.
Gaudi::Property< G4bool > m_doPID
Are we set up to run with PID hits?
Definition CalibSDTool.h:88
virtual std::string deadHitCollectionName() const
StatusCode initialize() override final
Initialize the tool.
const LArHEC_ID * m_larHecID
Definition CalibSDTool.h:96
const LArFCAL_ID * m_larFcalID
Definition CalibSDTool.h:95
StatusCode initializeSD() override final
Create and register all SDs for the current thread.
const AtlasDetectorID * m_id_helper
Definition CalibSDTool.h:98
virtual std::string hitCollectionName() const
const CaloDM_ID * m_caloDmID
Definition CalibSDTool.h:97
Helper class for LArHEC offline identifiers.
Definition LArHEC_ID.h:76
SensitiveDetectorBase(const std::string &type, const std::string &name, const IInterface *parent)
Standard constructor.