ATLAS Offline Software
Loading...
Searching...
No Matches
FCS_StepInfoSDTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef ISF_FASTCALOSIMSD_FCS_STEPINFOSDTOOL_H
6#define ISF_FASTCALOSIMSD_FCS_STEPINFOSDTOOL_H
7
12
13// System includes
14#include <string>
15#include <vector>
16
17// G4Atlas includes
19
20// Local includes
21#include "FCS_StepInfoSD.h"
22
23// Forward declarations
25class LArEM_ID;
26class LArFCAL_ID;
27class LArHEC_ID;
28class TileID;
29class ITileCalculator;
30
31namespace FCS_Param {
32
41
42 public:
44 FCS_StepInfoSDTool(const std::string& type, const std::string& name,
45 const IInterface* parent);
46
48 StatusCode initialize() override final;
49
51 StatusCode Gather() override final;
52
53 private:
55 G4VSensitiveDetector* makeSD() const override final;
56
58 virtual StatusCode initializeCalculators();
59
62 const std::string& name, ILArCalculatorSvc* calc,
63 const std::vector<std::string>& volumes) const;
64
67 const std::string& name, ITileCalculator* calc,
68 const std::vector<std::string>& volumes) const;
69
71 std::string m_hitCollName;
72
75 std::vector<std::string> m_stacVolumes;
76 std::vector<std::string> m_presBarVolumes;
77 std::vector<std::string> m_posIWVolumes;
78 std::vector<std::string> m_negIWVolumes;
79 std::vector<std::string> m_posOWVolumes;
80 std::vector<std::string> m_negOWVolumes;
81 std::vector<std::string> m_presECVolumes;
82 std::vector<std::string> m_pBOBVolumes;
83 std::vector<std::string> m_nBOBVolumes;
84 std::vector<std::string> m_fcal1Volumes;
85 std::vector<std::string> m_fcal2Volumes;
86 std::vector<std::string> m_fcal3Volumes;
87 std::vector<std::string> m_sliceVolumes;
88 std::vector<std::string> m_tileVolumes;
90
92 m_bpsmodcalc; // LArG4::BarrelPresampler::CalibrationCalculator
94 m_embcalc; // LArG4::Barrel::CalibrationCalculator
95 ServiceHandle<ILArCalculatorSvc> m_emepiwcalc; // LArG4::EC::CalibrationCalculator(LArWheelCalculator::InnerAbsorberWheel,
96 // 1)
97 ServiceHandle<ILArCalculatorSvc> m_emeniwcalc; // LArG4::EC::CalibrationCalculator(LArWheelCalculator::InnerAbsorberWheel,
98 // -1)
99 ServiceHandle<ILArCalculatorSvc> m_emepowcalc; // LArG4::EC::CalibrationCalculator(LArWheelCalculator::OuterAbsorberWheel,
100 // 1)
101 ServiceHandle<ILArCalculatorSvc> m_emenowcalc; // LArG4::EC::CalibrationCalculator(LArWheelCalculator::OuterAbsorberWheel,
102 // -1)
104 m_emepscalc; // LArG4::EC::PresamplerCalibrationCalculator
105 ServiceHandle<ILArCalculatorSvc> m_emepobarcalc; // LArG4::EC::CalibrationCalculator(LArWheelCalculator::BackOuterBarretteWheelCalib,
106 // 1)
107 ServiceHandle<ILArCalculatorSvc> m_emenobarcalc; // LArG4::EC::CalibrationCalculator(LArWheelCalculator::BackOuterBarretteWheelCalib,
108 // 1)
110 m_heccalc; // LArG4::HEC::LArHECCalibrationWheelCalculator(LArG4::HEC::kWheelActive)
115
124
125}; // class FCS_StepInfoSDTool
126
127} // namespace FCS_Param
128
129#endif
std::vector< std::string > m_tileVolumes
std::string m_hitCollName
Hit collection name.
FCS_StepInfoSD * makeOneTileSD(const std::string &name, ITileCalculator *calc, const std::vector< std::string > &volumes) const
Helper method to create one SD.
ServiceHandle< ILArCalculatorSvc > m_emepobarcalc
std::vector< std::string > m_fcal3Volumes
std::vector< std::string > m_posOWVolumes
ServiceHandle< ILArCalculatorSvc > m_fcal2calc
std::vector< std::string > m_presECVolumes
std::vector< std::string > m_nBOBVolumes
std::vector< std::string > m_stacVolumes
G4VSensitiveDetector * makeSD() const override final
Create the SD wrapper for current worker thread.
ServiceHandle< ILArCalculatorSvc > m_bpsmodcalc
ServiceHandle< ILArCalculatorSvc > m_emepowcalc
ServiceHandle< ILArCalculatorSvc > m_emepscalc
ServiceHandle< ILArCalculatorSvc > m_fcal3calc
FCS_StepInfoSD * makeOneLArSD(const std::string &name, ILArCalculatorSvc *calc, const std::vector< std::string > &volumes) const
Helper method to create one SD.
std::vector< std::string > m_pBOBVolumes
ServiceHandle< ILArCalculatorSvc > m_emenowcalc
StatusCode Gather() override final
Calls down to all the SDs to pack their hits into one collection.
ServiceHandle< ILArCalculatorSvc > m_emepiwcalc
FCS_StepInfoSDTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor.
std::vector< std::string > m_sliceVolumes
ServiceHandle< ITileCalculator > m_tileCalculator
std::vector< std::string > m_fcal1Volumes
ServiceHandle< ILArCalculatorSvc > m_emeniwcalc
virtual StatusCode initializeCalculators()
Initialize Calculator Services.
std::vector< std::string > m_fcal2Volumes
std::vector< std::string > m_presBarVolumes
std::vector< std::string > m_negIWVolumes
std::vector< std::string > m_negOWVolumes
ServiceHandle< ILArCalculatorSvc > m_fcal1calc
ServiceHandle< ILArCalculatorSvc > m_embcalc
StatusCode initialize() override final
Initialize the tool.
ServiceHandle< ILArCalculatorSvc > m_emenobarcalc
std::vector< std::string > m_posIWVolumes
ServiceHandle< ILArCalculatorSvc > m_heccalc
Common sensitive detector class for LAr systems.
Helper class for LArEM offline identifiers.
Definition LArEM_ID.h:111
Helper class for LArFCAL offline identifiers.
Definition LArFCAL_ID.h:49
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.
Helper class for TileCal offline identifiers.
Definition TileID.h:67