ATLAS Offline Software
Loading...
Searching...
No Matches
ActiveSDTool.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_ACTIVESDTOOL_H
6#define LARG4SD_ACTIVESDTOOL_H
7
8// System includes
9#include <string>
10#include <vector>
11
12// Project includes
15
16namespace LArG4
17{
18
25 {
26 public:
28 ActiveSDTool(const std::string& type, const std::string& name,
29 const IInterface* parent);
30
31 private:
33 StatusCode initializeCalculators() override final;
34
35 std::string hitCollectionName() const override final;
36 std::string deadHitCollectionName() const override final;
37 std::string srHitCollectionName() const override final;
38
40 G4VSensitiveDetector* makeSD() const override final;
41
43 Gaudi::Property<std::string> m_hitCollName{this, "HitCollectionName", "LArCalibrationHitActive"};
44
47 Gaudi::Property<std::vector<std::string>> m_stacVolumes{this, "StacVolumes"};
48 Gaudi::Property<std::vector<std::string>> m_presBarVolumes{this, "PresamplerVolumes"};
49 Gaudi::Property<std::vector<std::string>> m_posIWVolumes{this, "PosIWVolumes"};
50 Gaudi::Property<std::vector<std::string>> m_negIWVolumes{this, "NegIWVolumes"};
51 Gaudi::Property<std::vector<std::string>> m_posOWVolumes{this, "PosOWVolumes"};
52 Gaudi::Property<std::vector<std::string>> m_negOWVolumes{this, "NegOWVolumes"};
53 Gaudi::Property<std::vector<std::string>> m_presECVolumes{this, "PresVolumes"};
54 Gaudi::Property<std::vector<std::string>> m_pBOBVolumes{this, "PosBOBarretteVolumes"};
55 Gaudi::Property<std::vector<std::string>> m_nBOBVolumes{this, "NegBOBarretteVolumes"};
56 Gaudi::Property<std::vector<std::string>> m_fcal1Volumes{this, "FCAL1Volumes"};
57 Gaudi::Property<std::vector<std::string>> m_fcal2Volumes{this, "FCAL2Volumes"};
58 Gaudi::Property<std::vector<std::string>> m_fcal3Volumes{this, "FCAL3Volumes"};
59 Gaudi::Property<std::vector<std::string>> m_sliceVolumes{this, "SliceVolumes"};
61
62 ServiceHandle<ILArCalibCalculatorSvc> m_bpsmodcalc{this, "EMBPSCalibrationCalculator"
63 , "BarrelPresamplerCalibrationCalculator"}; //LArG4::BarrelPresampler::CalibrationCalculator
64 ServiceHandle<ILArCalibCalculatorSvc> m_embcalc{this, "EMBCalibrationCalculator"
65 , "BarrelCalibrationCalculator"}; //LArG4::Barrel::CalibrationCalculator
66 ServiceHandle<ILArCalibCalculatorSvc> m_emepiwcalc{this, "EMECPosIWCalibrationCalculator"
67 , "EMECPosInnerWheelCalibrationCalculator"}; //LArG4::EC::CalibrationCalculator(LArWheelCalculator::InnerAbsorberWheel, 1)
68 ServiceHandle<ILArCalibCalculatorSvc> m_emeniwcalc{this, "EMECNegIWCalibrationCalculator"
69 , "EMECNegInnerWheelCalibrationCalculator"}; //LArG4::EC::CalibrationCalculator(LArWheelCalculator::InnerAbsorberWheel, -1)
70 ServiceHandle<ILArCalibCalculatorSvc> m_emepowcalc{this, "EMECPosOWCalibrationCalculator"
71 , "EMECPosOuterWheelCalibrationCalculator"}; //LArG4::EC::CalibrationCalculator(LArWheelCalculator::OuterAbsorberWheel, 1)
72 ServiceHandle<ILArCalibCalculatorSvc> m_emenowcalc{this, "EMECNegOWCalibrationCalculator"
73 , "EMECNegOuterWheelCalibrationCalculator"}; //LArG4::EC::CalibrationCalculator(LArWheelCalculator::OuterAbsorberWheel, -1)
74 ServiceHandle<ILArCalibCalculatorSvc> m_emepscalc{this, "EMECPSCalibrationCalculator"
75 , "EMECPresamplerCalibrationCalculator"}; //LArG4::EC::PresamplerCalibrationCalculator
76 ServiceHandle<ILArCalibCalculatorSvc> m_emepobarcalc{this, "EMECPosBOBCalibrationCalculator"
77 , "EMECPosBackOuterBarretteCalibrationCalculator"}; //LArG4::EC::CalibrationCalculator(LArWheelCalculator::BackOuterBarretteWheelCalib, 1)
78 ServiceHandle<ILArCalibCalculatorSvc> m_emenobarcalc{this, "EMECNegBOBCalibrationCalculator"
79 , "EMECNegBackOuterBarretteCalibrationCalculator"}; //LArG4::EC::CalibrationCalculator(LArWheelCalculator::BackOuterBarretteWheelCalib, 1)
81 , "HECCalibrationWheelActiveCalculator"}; //LArG4::HEC::LArHECCalibrationWheelCalculator(LArG4::HEC::kWheelActive)
82 ServiceHandle<ILArCalibCalculatorSvc> m_fcal1calc{this, "FCAL1CalibCalculator", "FCAL1CalibCalculator"};
83 ServiceHandle<ILArCalibCalculatorSvc> m_fcal2calc{this, "FCAL2CalibCalculator", "FCAL2CalibCalculator"};
84 ServiceHandle<ILArCalibCalculatorSvc> m_fcal3calc{this, "FCAL3CalibCalculator", "FCAL3CalibCalculator"};
85 }; // class ActiveSDTool
86} // namespace LArG4
87#endif
Defines the CalibSDTool class.
Gaudi::Property< std::vector< std::string > > m_fcal2Volumes
ServiceHandle< ILArCalibCalculatorSvc > m_emepscalc
ServiceHandle< ILArCalibCalculatorSvc > m_emepowcalc
std::string srHitCollectionName() const override final
std::string hitCollectionName() const override final
StatusCode initializeCalculators() override final
Initialize Calculator Services.
ActiveSDTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor.
Gaudi::Property< std::vector< std::string > > m_fcal1Volumes
Gaudi::Property< std::vector< std::string > > m_posOWVolumes
Gaudi::Property< std::vector< std::string > > m_nBOBVolumes
Gaudi::Property< std::vector< std::string > > m_negOWVolumes
ServiceHandle< ILArCalibCalculatorSvc > m_bpsmodcalc
ServiceHandle< ILArCalibCalculatorSvc > m_fcal3calc
ServiceHandle< ILArCalibCalculatorSvc > m_fcal2calc
Gaudi::Property< std::vector< std::string > > m_presECVolumes
ServiceHandle< ILArCalibCalculatorSvc > m_emenobarcalc
ServiceHandle< ILArCalibCalculatorSvc > m_embcalc
ServiceHandle< ILArCalibCalculatorSvc > m_heccalc
ServiceHandle< ILArCalibCalculatorSvc > m_emepiwcalc
std::string deadHitCollectionName() const override final
Gaudi::Property< std::vector< std::string > > m_stacVolumes
Gaudi::Property< std::vector< std::string > > m_posIWVolumes
G4VSensitiveDetector * makeSD() const override final
Create the SDs for current worker thread.
Gaudi::Property< std::vector< std::string > > m_negIWVolumes
ServiceHandle< ILArCalibCalculatorSvc > m_emepobarcalc
Gaudi::Property< std::vector< std::string > > m_pBOBVolumes
Gaudi::Property< std::vector< std::string > > m_fcal3Volumes
ServiceHandle< ILArCalibCalculatorSvc > m_emenowcalc
ServiceHandle< ILArCalibCalculatorSvc > m_emeniwcalc
ServiceHandle< ILArCalibCalculatorSvc > m_fcal1calc
Gaudi::Property< std::vector< std::string > > m_presBarVolumes
Gaudi::Property< std::vector< std::string > > m_sliceVolumes
Gaudi::Property< std::string > m_hitCollName
Hit collection name.
CalibSDTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor.
Support class for PropertyMgr.
Definition Property.h:23
=============================================================================
STL namespace.