ATLAS Offline Software
RPCCandData.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 #ifndef L0MuonInterface_RPCCANDDATA_H
5 #define L0MuonInterface_RPCCANDDATA_H
6 
8 
9 namespace L0Muon
10 {
11 
12  class RPCCandData : public ICandData
13  {
14  public:
15  // default constructor
16  RPCCandData() = default;
17  ~RPCCandData() = default;
18 
21  enum class Quality
22  {
23  Q_UNDEFINED = 0,
24  Q_BEST,
25  Q_LOW
26  };
27 
28  Quality quality() const { return m_quality; }
29  float zPos(int index) const;
30  uint8_t coinType() const;
31 
33  void setZPos(float zPos, int index);
35 
37  static constexpr float s_zPosRange = 12500.0;
39  static constexpr uint8_t s_coinTypeRange = 6;
41  static constexpr uint16_t s_zPosBitRange = 0xfff;
43  static constexpr uint8_t s_coinTypeBitRange = 0x7;
44 
45  private:
46 
50  uint16_t m_zPos[4]{0, 0, 0, 0};
53 
54  };
55 
56 } // namespace L0Muon
57 
58 #endif // L0MuonInterface_RPCCANDDATA_H
L0Muon::RPCCandData::RPCCandData
RPCCandData()=default
L0Muon::ICandData::subdetectorId
uint16_t subdetectorId() const
Definition: ICandData.h:23
xAOD::uint8_t
uint8_t
Definition: Muon_v1.cxx:558
L0Muon::RPCCandData::s_coinTypeBitRange
static constexpr uint8_t s_coinTypeBitRange
3 bits for the coincidence type
Definition: RPCCandData.h:43
index
Definition: index.py:1
L0Muon::RPCCandData::s_coinTypeRange
static constexpr uint8_t s_coinTypeRange
range of the coincidence type value
Definition: RPCCandData.h:39
L0Muon::RPCCandData::Quality::Q_BEST
@ Q_BEST
L0Muon::ICandData::sectorId
uint16_t sectorId() const
Definition: ICandData.h:24
L0Muon::RPCCandData::quality
Quality quality() const
Definition: RPCCandData.h:28
L0Muon::RPCCandData::s_zPosBitRange
static constexpr uint16_t s_zPosBitRange
12 bits for z position
Definition: RPCCandData.h:41
L0Muon::ICandData
Definition: ICandData.h:14
L0Muon::RPCCandData::setCoinType
void setCoinType(uint8_t coinType)
Definition: RPCCandData.cxx:30
L0Muon
Definition: L0MuonSmearingAlg.cxx:13
L0Muon::RPCCandData::setZPos
void setZPos(float zPos, int index)
Definition: RPCCandData.cxx:21
ICandData.h
xAOD::uint16_t
setWord1 uint16_t
Definition: eFexEMRoI_v1.cxx:93
L0Muon::RPCCandData::Quality::Q_LOW
@ Q_LOW
L0Muon::RPCCandData::m_quality
Quality m_quality
quality of the candidate
Definition: RPCCandData.h:48
L0Muon::RPCCandData::Quality
Quality
quality of the candidate
Definition: RPCCandData.h:22
L0Muon::RPCCandData
Definition: RPCCandData.h:13
L0Muon::ICandData::bcTag
uint16_t bcTag() const
Definition: ICandData.h:25
L0Muon::RPCCandData::~RPCCandData
~RPCCandData()=default
L0Muon::RPCCandData::setQuality
void setQuality(Quality quality)
Definition: RPCCandData.h:32
L0Muon::RPCCandData::s_zPosRange
static constexpr float s_zPosRange
range of the RPC hits z positions
Definition: RPCCandData.h:37
L0Muon::RPCCandData::m_zPos
uint16_t m_zPos[4]
Z positions of the RPC hits.
Definition: RPCCandData.h:50
L0Muon::RPCCandData::coinType
uint8_t coinType() const
Definition: RPCCandData.cxx:44
L0Muon::RPCCandData::zPos
float zPos(int index) const
Definition: RPCCandData.cxx:36
L0Muon::RPCCandData::m_coinType
uint8_t m_coinType
coincidence type
Definition: RPCCandData.h:52
L0Muon::RPCCandData::Quality::Q_UNDEFINED
@ Q_UNDEFINED