ATLAS Offline Software
Loading...
Searching...
No Matches
ITrigT1MuonRecRoiTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef ITRIGT1MUONRECROITOOL_H
6#define ITRIGT1MUONRECROITOOL_H
7
8#include "GaudiKernel/IAlgTool.h"
10
11namespace LVL1 {
12
13 class ITrigT1MuonRecRoiTool: public virtual IAlgTool {
14 public:
15
17
18 virtual ~ITrigT1MuonRecRoiTool()=default;
19
21
23 virtual StatusCode roiData(const unsigned int& roiWord, TrigT1MuonRecRoiData& data) const = 0;
24
26 virtual StatusCode RoIsize(const unsigned int& roiWord,
27 double& etaMin, double& etaMax,
28 double& phiMin, double& phiMax) const = 0;
29
31 virtual bool dumpRoiMap(const std::string& filename) const = 0;
32
33 unsigned int getBitMaskValue( const unsigned int * uintValue,
34 const unsigned int mask ) const;
35
39 void updateBitMask( const RoiWordFormat );
40
44 MuonTriggerSystem getSystem( const unsigned int& roiWord ) const;
45
46 unsigned int IsRun3Mask() const {return m_IsRun3Mask;}
47 unsigned int IsVetoedMask() const {return m_IsVetoedMask;}
48 unsigned int ChargeMask() const {return m_ChargeMask;}
49 unsigned int IsFirstCandMask() const {return m_IsFirstCandMask;}
50 unsigned int SectorAddressMask() const {return m_SectorAddressMask;}
51 unsigned int BarrelSectorIDMask() const {return m_BarrelSectorIDMask;}
52 unsigned int EndcapSectorIDMask() const {return m_EndcapSectorIDMask;}
53 unsigned int ForwardSectorIDMask() const {return m_ForwardSectorIDMask;}
54 unsigned int SysIDMask() const {return m_SysIDMask;}
55 unsigned int SubSysIDMask() const {return m_SubSysIDMask;}
56 unsigned int ThresholdMask() const {return m_ThresholdMask;}
57 unsigned int BarrelRoIMask() const {return m_BarrelRoIMask;}
58 unsigned int EndcapRoIMask() const {return m_EndcapRoIMask;}
59 unsigned int ForwardRoIMask() const {return m_ForwardRoIMask;}
60 unsigned int EndcapRMask() const {return m_EndcapRMask;}
61 unsigned int EndcapPhiMask() const {return m_EndcapPhiMask;}
62 unsigned int ForwardRMask() const {return m_ForwardRMask;}
63 unsigned int ForwardPhiMask() const {return m_ForwardPhiMask;}
64 unsigned int OverflowPerRoIMask() const {return m_OverflowPerRoIMask;}
65 unsigned int OverflowPerSectorMask() const {return m_OverflowPerSectorMask;}
66 unsigned int BW2Or3Mask() const {return m_BW2Or3Mask;}
67 unsigned int InnerCoinMask() const {return m_InnerCoinMask;}
68 unsigned int GoodMFMask() const {return m_GoodMFMask;}
69
70 // etaDimLow and etaDimHigh only exist for RPCs, but without this, one cannot use the interface in MuFastDataPreparator
71 virtual bool etaDimLow (const TrigT1MuonRecRoiData& data, double& etaMin, double& etaMax) const = 0;
72 virtual bool etaDimHigh(const TrigT1MuonRecRoiData& data, double& etaMin, double& etaMax) const = 0;
73
74 private:
75
76 unsigned int m_IsRun3Mask{0};
77 unsigned int m_IsVetoedMask{0};
78 unsigned int m_ChargeMask{0};
79 unsigned int m_IsFirstCandMask{0};
80 unsigned int m_SectorAddressMask{0};
81 unsigned int m_BarrelSectorIDMask{0};
82 unsigned int m_EndcapSectorIDMask{0};
83 unsigned int m_ForwardSectorIDMask{0};
84 unsigned int m_SysIDMask{0};
85 unsigned int m_SubSysIDMask{0};
86 unsigned int m_ThresholdMask{0};
87 unsigned int m_BarrelRoIMask{0};
88 unsigned int m_EndcapRoIMask{0};
89 unsigned int m_ForwardRoIMask{0};
90 unsigned int m_EndcapRMask{0};
91 unsigned int m_EndcapPhiMask{0};
92 unsigned int m_ForwardRMask{0};
93 unsigned int m_ForwardPhiMask{0};
94 unsigned int m_OverflowPerRoIMask{0};
95 unsigned int m_OverflowPerSectorMask{0};
96 unsigned int m_BW2Or3Mask{0};
97 unsigned int m_InnerCoinMask{0};
98 unsigned int m_GoodMFMask{0};
99
100 }; // end of ITrigT1MuonRecRoiTool
101
102} // namespace LVL1
103
104#endif
char data[hepevt_bytes_allocation_ATLAS]
Definition HepEvt.cxx:11
virtual bool etaDimHigh(const TrigT1MuonRecRoiData &data, double &etaMin, double &etaMax) const =0
virtual StatusCode roiData(const unsigned int &roiWord, TrigT1MuonRecRoiData &data) const =0
pure virtual function to return eta and phi coord of RoI
DeclareInterfaceID(ITrigT1MuonRecRoiTool, 1, 0)
unsigned int ForwardSectorIDMask() const
virtual bool etaDimLow(const TrigT1MuonRecRoiData &data, double &etaMin, double &etaMax) const =0
unsigned int OverflowPerRoIMask() const
unsigned int OverflowPerSectorMask() const
virtual StatusCode RoIsize(const unsigned int &roiWord, double &etaMin, double &etaMax, double &phiMin, double &phiMax) const =0
pure virtual function returns roi size
unsigned int BarrelSectorIDMask() const
unsigned int ForwardRoIMask() const
unsigned int ForwardPhiMask() const
unsigned int getBitMaskValue(const unsigned int *uintValue, const unsigned int mask) const
unsigned int IsFirstCandMask() const
void updateBitMask(const RoiWordFormat)
virtual bool dumpRoiMap(const std::string &filename) const =0
pure virtual function for dumping roi mapping
virtual ~ITrigT1MuonRecRoiTool()=default
MuonTriggerSystem getSystem(const unsigned int &roiWord) const
unsigned int SectorAddressMask() const
unsigned int EndcapSectorIDMask() const
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...