ATLAS Offline Software
EMECSDTool.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 LARG4SD_EMECSDTOOL_H
6 #define LARG4SD_EMECSDTOOL_H
7 
8 // System includes
9 #include <string>
10 #include <vector>
11 
12 // Project includes
13 #include "LArG4Code/SimpleSDTool.h"
15 
16 namespace LArG4
17 {
18 
24  class EMECSDTool : public SimpleSDTool
25  {
26  public:
27 
29  EMECSDTool(const std::string& type, const std::string& name,
30  const IInterface* parent);
31 
32  private:
35 
37  G4VSensitiveDetector* makeSD() const override final;
38 
41  Gaudi::Property<std::vector<std::string>> m_posIWVolumes{this, "PosIWVolumes"};
42  Gaudi::Property<std::vector<std::string>> m_negIWVolumes{this, "NegIWVolumes"};
43  Gaudi::Property<std::vector<std::string>> m_posOWVolumes{this, "PosOWVolumes"};
44  Gaudi::Property<std::vector<std::string>> m_negOWVolumes{this, "NegOWVolumes"};
45  Gaudi::Property<std::vector<std::string>> m_presVolumes{this, "PresVolumes"};
46  Gaudi::Property<std::vector<std::string>> m_posBOBVolumes{this, "PosBOBarretteVolumes"};
47  Gaudi::Property<std::vector<std::string>> m_negBOBVolumes{this, "NegBOBarretteVolumes"};
49 
50  ServiceHandle<ILArCalculatorSvc> m_emepiwcalc{this, "EMECPosIWCalculator"
51  , "EMECPosInnerWheelCalculator"}; //EnergyCalculator(LArG4::InnerAbsorberWheel, LArG4::EMEC_ECOR_ROPT, 1)
52  ServiceHandle<ILArCalculatorSvc> m_emeniwcalc{this, "EMECNegIWCalculator"
53  , "EMECNegInnerWheelCalculator"}; //EC::EnergyCalculator(LArWheelCalculator::InnerAbsorberWheel, LArG4::EMEC_ECOR_ROPT, -1),
54  ServiceHandle<ILArCalculatorSvc> m_emepowcalc{this, "EMECPosOWCalculator"
55  , "EMECPosOuterWheelCalculator"}; //EC::EnergyCalculator(LArWheelCalculator::OuterAbsorberWheel, EC::EnergyCalculator::EMEC_ECOR_ROPT, 1),
56  ServiceHandle<ILArCalculatorSvc> m_emenowcalc{this, "EMECNegOWCalculator"
57  , "EMECNegOuterWheelCalculator"}; //EC::EnergyCalculator(LArWheelCalculator::OuterAbsorberWheel, EC::EnergyCalculator::EMEC_ECOR_ROPT, -1),
59  , "EMECPresamplerCalculator"}; //LArEndcapPresamplerCalculator::GetCalculator()
60  ServiceHandle<ILArCalculatorSvc> m_emepobarcalc{this, "EMECPosBOBCalculator"
61  , "EMECPosBackOuterBarretteCalculator"}; //EC::EnergyCalculator(LArWheelCalculator::BackOuterBarretteWheel) / Pos
62  ServiceHandle<ILArCalculatorSvc> m_emenobarcalc{this, "EMECNegBOBCalculator"
63  , "EMECNegBackOuterBarretteCalculator"}; //EC::EnergyCalculator(LArWheelCalculator::BackOuterBarretteWheel) / Neg
64  }; // class EMECSDTool
65 } // namespace LArG4
66 #endif
LArG4::EMECSDTool::m_negBOBVolumes
Gaudi::Property< std::vector< std::string > > m_negBOBVolumes
Definition: EMECSDTool.h:47
LArG4::EMECSDTool::m_negIWVolumes
Gaudi::Property< std::vector< std::string > > m_negIWVolumes
Definition: EMECSDTool.h:42
LArG4::EMECSDTool::makeSD
G4VSensitiveDetector * makeSD() const override final
Create the SD wrapper for current worker thread.
LArG4::EMECSDTool::m_emepscalc
ServiceHandle< ILArCalculatorSvc > m_emepscalc
Definition: EMECSDTool.h:58
LArG4::EMECSDTool::m_negOWVolumes
Gaudi::Property< std::vector< std::string > > m_negOWVolumes
Definition: EMECSDTool.h:44
LArG4::EMECSDTool::m_emepowcalc
ServiceHandle< ILArCalculatorSvc > m_emepowcalc
Definition: EMECSDTool.h:54
LArG4::EMECSDTool::m_emenobarcalc
ServiceHandle< ILArCalculatorSvc > m_emenobarcalc
Definition: EMECSDTool.h:62
LArG4::EMECSDTool::initializeCalculators
StatusCode initializeCalculators() override final
Initialize Calculator Services.
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:560
Property
Support class for PropertyMgr.
Definition: Property.h:23
LArG4
Definition: LArWheelCalculatorEnums.h:8
LArG4::EMECSDTool::EMECSDTool
EMECSDTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor.
python.CaloAddPedShiftConfig.type
type
Definition: CaloAddPedShiftConfig.py:42
LArG4::EMECSDTool::m_posIWVolumes
Gaudi::Property< std::vector< std::string > > m_posIWVolumes
Definition: EMECSDTool.h:41
LArG4::EMECSDTool::m_posBOBVolumes
Gaudi::Property< std::vector< std::string > > m_posBOBVolumes
Definition: EMECSDTool.h:46
LArG4::SimpleSDTool
A base class for tools that manage LArG4SimpleSDs.
Definition: SimpleSDTool.h:46
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
vector
Definition: MultiHisto.h:13
test_pyathena.parent
parent
Definition: test_pyathena.py:15
LArG4::EMECSDTool::m_emeniwcalc
ServiceHandle< ILArCalculatorSvc > m_emeniwcalc
Definition: EMECSDTool.h:52
LArG4::EMECSDTool::m_emepobarcalc
ServiceHandle< ILArCalculatorSvc > m_emepobarcalc
Definition: EMECSDTool.h:60
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
LArG4::EMECSDTool::m_emepiwcalc
ServiceHandle< ILArCalculatorSvc > m_emepiwcalc
Definition: EMECSDTool.h:50
ILArCalculatorSvc.h
LArG4::EMECSDTool::m_emenowcalc
ServiceHandle< ILArCalculatorSvc > m_emenowcalc
Definition: EMECSDTool.h:56
Gaudi
=============================================================================
Definition: CaloGPUClusterAndCellDataMonitorOptions.h:273
LArG4::EMECSDTool
SD tool which manages EM endcap sensitive detectors.
Definition: EMECSDTool.h:25
LArG4::EMECSDTool::m_presVolumes
Gaudi::Property< std::vector< std::string > > m_presVolumes
Definition: EMECSDTool.h:45
LArG4::EMECSDTool::m_posOWVolumes
Gaudi::Property< std::vector< std::string > > m_posOWVolumes
Definition: EMECSDTool.h:43
SimpleSDTool.h
Defines the SimpleSDTool class.
ServiceHandle< ILArCalculatorSvc >