ATLAS Offline Software
Loading...
Searching...
No Matches
TrigT1TGCRecRoiTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef TRIGT1TGCRECROITOOL_H
6#define TRIGT1TGCRECROITOOL_H
7
11
12namespace MuonTGC_Cabling {
13 class TGCId;
14}
15class Identifier;
16
17namespace Muon{
18 class IMuonIdHelperSvc;
19}
20namespace MuonGM{
22}
23
24namespace LVL1 {
25
26 class TrigT1TGCRecRoiTool: public extends<AthAlgTool, ITrigT1MuonRecRoiTool> {
27 public:
28 TrigT1TGCRecRoiTool(const std::string& type,
29 const std::string& name,
30 const IInterface* parent);
31 virtual ~TrigT1TGCRecRoiTool();
32 virtual StatusCode initialize() override;
33
34 virtual StatusCode roiData(const unsigned int& roiWord, TrigT1MuonRecRoiData& data) const override;
35
36 virtual StatusCode RoIsize(const unsigned int& roiWord,
37 double& etaMin, double& etaMax,
38 double& phiMin, double& phiMax) const override;
39
40 virtual bool dumpRoiMap(const std::string& filename) const override;
41
42 // does not exists for TGCs
43 bool etaDimLow (const TrigT1MuonRecRoiData& , double& , double& ) const override {return false;}
44 bool etaDimHigh(const TrigT1MuonRecRoiData& , double& , double& ) const override {return false;}
45
46 private:
47
54
55 bool getSLBparameters(const unsigned int & roIWord,
57 unsigned int & sectorID,
58 unsigned int & roiNumber,
59 unsigned int & r,
60 unsigned int & phi,
61 int & wireSLBId,
62 int & block ) const;
63
64 std::unique_ptr<MuonTGC_Cabling::TGCChannelId> getWireASDOut(const MuonTGC_Cabling::TGCId& tgcId,
65 unsigned int sectorID,
66 int wireSLBId,
67 int block,
68 int phi,
69 int offset) const;
70
71 std::unique_ptr<MuonTGC_Cabling::TGCChannelId> getStripASDOut(const MuonTGC_Cabling::TGCId& tgcId,
72 unsigned int sectorID,
73 int wireSLBId,
74 int block,
75 int phi,
76 int wireOffset,
77 int stripOffset=DummyOffset) const;
78
79 void getWireInfo(double& eta, double& phi,
80 Identifier & wireId,
81 std::unique_ptr<MuonTGC_Cabling::TGCChannelId> w_asdout,
82 EdgeType edge=NonEdge) const;
83
84 void getStripInfo(double& eta, double& phi,
85 Identifier & stripId,
86 std::unique_ptr<MuonTGC_Cabling::TGCChannelId> s_asdout,
87 EdgeType edge=NonEdge) const;
88
89
90 BooleanProperty m_useRun3Config{this,"UseRun3Config",false,"use Run 3 config"};
91 BooleanProperty m_patchForRoIWord{this,"PatchForRoIWord",false,"apply a patch to RoI word"};
92 BooleanProperty m_useConditionData{this,"UseConditionData",true,"use condition data"};
93 ServiceHandle<Muon::IMuonIdHelperSvc> m_idHelperSvc {this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"};
94 SG::ReadCondHandleKey<MuonGM::MuonDetectorManager> m_DetectorManagerKey {this, "DetectorManagerKey","MuonDetectorManager","Key of input MuonDetectorManager condition data"};
95 ServiceHandle<MuonTGC_CablingSvc> m_cabling{this, "TGCCablingSvc", "MuonTGC_CablingSvc"};
96 }; // end of TrigT1TGCRecRoiTool
97} // namespace LVL1
98
99
100#endif
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
char data[hepevt_bytes_allocation_ATLAS]
Definition HepEvt.cxx:11
SG::ReadCondHandleKey< MuonGM::MuonDetectorManager > m_DetectorManagerKey
virtual StatusCode RoIsize(const unsigned int &roiWord, double &etaMin, double &etaMax, double &phiMin, double &phiMax) const override
std::unique_ptr< MuonTGC_Cabling::TGCChannelId > getWireASDOut(const MuonTGC_Cabling::TGCId &tgcId, unsigned int sectorID, int wireSLBId, int block, int phi, int offset) const
virtual bool dumpRoiMap(const std::string &filename) const override
virtual StatusCode initialize() override
ServiceHandle< MuonTGC_CablingSvc > m_cabling
std::unique_ptr< MuonTGC_Cabling::TGCChannelId > getStripASDOut(const MuonTGC_Cabling::TGCId &tgcId, unsigned int sectorID, int wireSLBId, int block, int phi, int wireOffset, int stripOffset=DummyOffset) const
void getWireInfo(double &eta, double &phi, Identifier &wireId, std::unique_ptr< MuonTGC_Cabling::TGCChannelId > w_asdout, EdgeType edge=NonEdge) const
bool etaDimHigh(const TrigT1MuonRecRoiData &, double &, double &) const override
virtual StatusCode roiData(const unsigned int &roiWord, TrigT1MuonRecRoiData &data) const override
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
bool getSLBparameters(const unsigned int &roIWord, MuonTGC_Cabling::TGCId &tgcId, unsigned int &sectorID, unsigned int &roiNumber, unsigned int &r, unsigned int &phi, int &wireSLBId, int &block) const
TrigT1TGCRecRoiTool(const std::string &type, const std::string &name, const IInterface *parent)
void getStripInfo(double &eta, double &phi, Identifier &stripId, std::unique_ptr< MuonTGC_Cabling::TGCChannelId > s_asdout, EdgeType edge=NonEdge) const
bool etaDimLow(const TrigT1MuonRecRoiData &, double &, double &) const override
The MuonDetectorManager stores the transient representation of the Muon Spectrometer geometry and pro...
Interface for Helper service that creates muon Identifiers and can be used to print Identifiers.
int r
Definition globals.cxx:22
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
Ensure that the Athena extensions are properly loaded.
Definition GeoMuonHits.h:27
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.