ATLAS Offline Software
ICandData.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_ICANDDATA_H
5 #define L0MuonInterface_ICANDDATA_H
6 
7 #include <cstdint>
8 #include <cmath>
9 
10 namespace L0Muon
11 {
12 
13  class ICandData
14  {
15  public:
16  // default constructor
19 
20  ICandData() = default;
21  virtual ~ICandData() = default;
22 
23  uint16_t subdetectorId() const { return m_subdetectorId; };
24  uint16_t sectorId() const { return m_sectorId; };
25  uint16_t bcTag() const { return m_bcTag; };
26  uint8_t threshold() const { return m_threshold; };
27  uint8_t charge() const { return m_charge; };
28  uint8_t mdtFlag() const { return m_mdtFlag; };
30  float eta() const;
31  float phi() const;
32  float pt() const;
33 
35  void setEta(float eta);
36  void setPhi(float phi);
37  void setPt(float pt);
41 
42  enum class BC_ID
43  {
44  BC_UNDEFINED = 0,
46  BC_CURRENT,
47  BC_NEXT,
49  };
50 
51  private:
53  static constexpr float s_etaRange = 2.7;
54  static constexpr float s_phiRange = 2.0 * M_PI;
55  static constexpr float s_ptRange = 1000.0;
56 
59  static constexpr uint16_t s_etaBitRange = 0x3fff;
60  static constexpr uint16_t s_phiBitRange = 0x1ff;
61  static constexpr uint16_t s_ptBitRange = 0xff;
62 
63  // number of the subdetector
81  };
82 }
83 
84 #endif
L0Muon::ICandData::m_threshold
uint8_t m_threshold
threshold
Definition: ICandData.h:76
L0Muon::ICandData::m_charge
uint8_t m_charge
charge ( 0=negative, 1=positive)
Definition: ICandData.h:78
L0Muon::ICandData::subdetectorId
uint16_t subdetectorId() const
Definition: ICandData.h:23
L0Muon::ICandData::eta
float eta() const
get the kinematic parameters
Definition: ICandData.cxx:27
L0Muon::ICandData::BC_ID::BC_UNDEFINED
@ BC_UNDEFINED
L0Muon::ICandData::threshold
uint8_t threshold() const
Definition: ICandData.h:26
L0Muon::ICandData::s_phiRange
static constexpr float s_phiRange
Definition: ICandData.h:54
L0Muon::ICandData::setMdtFlag
void setMdtFlag(uint8_t mdtFlag)
Definition: ICandData.h:40
xAOD::uint8_t
uint8_t
Definition: Muon_v1.cxx:558
L0Muon::ICandData::setThreshold
void setThreshold(float threshold)
Definition: ICandData.h:38
L0Muon::ICandData::m_bcTag
uint16_t m_bcTag
BC tag.
Definition: ICandData.h:68
L0Muon::ICandData::s_ptRange
static constexpr float s_ptRange
Definition: ICandData.h:55
L0Muon::ICandData::s_ptBitRange
static constexpr uint16_t s_ptBitRange
Definition: ICandData.h:61
L0Muon::ICandData::ICandData
ICandData()=default
M_PI
#define M_PI
Definition: ActiveFraction.h:11
L0Muon::ICandData::s_etaBitRange
static constexpr uint16_t s_etaBitRange
variables bit size 14 bits for eta, 9 bits for phi, 8 bits for pt
Definition: ICandData.h:59
L0Muon::ICandData::charge
uint8_t charge() const
Definition: ICandData.h:27
L0Muon::ICandData::sectorId
uint16_t sectorId() const
Definition: ICandData.h:24
L0Muon::ICandData::BC_ID::BC_PREVIOUS
@ BC_PREVIOUS
L0Muon::ICandData
Definition: ICandData.h:14
L0Muon
Definition: L0MuonSmearingAlg.cxx:13
L0Muon::ICandData::m_pt
uint16_t m_pt
pt of the candidate
Definition: ICandData.h:74
L0Muon::ICandData::s_etaRange
static constexpr float s_etaRange
variables range
Definition: ICandData.h:53
L0Muon::ICandData::BC_ID::BC_NEXT
@ BC_NEXT
L0Muon::ICandData::setPt
void setPt(float pt)
Definition: ICandData.cxx:21
xAOD::uint16_t
setWord1 uint16_t
Definition: eFexEMRoI_v1.cxx:93
L0Muon::ICandData::mdtFlag
uint8_t mdtFlag() const
Definition: ICandData.h:28
L0Muon::ICandData::BC_ID::BC_NEXTNEXT
@ BC_NEXTNEXT
L0Muon::ICandData::m_phi
uint16_t m_phi
phi coordinate of the candidate
Definition: ICandData.h:72
L0Muon::ICandData::setCharge
void setCharge(uint8_t charge)
Definition: ICandData.h:39
L0Muon::ICandData::m_subdetectorId
uint16_t m_subdetectorId
Definition: ICandData.h:64
L0Muon::ICandData::setEta
void setEta(float eta)
Set functions of the modifiable parameters.
Definition: ICandData.cxx:12
L0Muon::ICandData::BC_ID::BC_CURRENT
@ BC_CURRENT
L0Muon::ICandData::BC_ID
BC_ID
Definition: ICandData.h:43
L0Muon::ICandData::phi
float phi() const
Definition: ICandData.cxx:31
L0Muon::ICandData::bcTag
uint16_t bcTag() const
Definition: ICandData.h:25
L0Muon::ICandData::pt
float pt() const
Definition: ICandData.cxx:35
threshold
Definition: chainparser.cxx:74
L0Muon::ICandData::m_mdtFlag
uint8_t m_mdtFlag
MDT flag.
Definition: ICandData.h:80
L0Muon::ICandData::s_phiBitRange
static constexpr uint16_t s_phiBitRange
Definition: ICandData.h:60
L0Muon::ICandData::m_eta
uint16_t m_eta
theta coordinate of the candidate
Definition: ICandData.h:70
L0Muon::ICandData::~ICandData
virtual ~ICandData()=default
L0Muon::ICandData::setPhi
void setPhi(float phi)
Definition: ICandData.cxx:17
L0Muon::ICandData::m_sectorId
uint16_t m_sectorId
sector number
Definition: ICandData.h:66
L0Muon::ICandData::ICandData
ICandData(uint16_t subdetectorId, uint16_t sectorId, uint16_t bcTag)
Definition: ICandData.h:17