ATLAS Offline Software
Loading...
Searching...
No Matches
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
10namespace L0Muon
11{
12
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);
39 void setCharge(uint8_t charge) { m_charge = charge; }
40 void setMdtFlag(uint8_t mdtFlag) { m_mdtFlag = mdtFlag; }
41
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
64 uint16_t m_subdetectorId{0};
66 uint16_t m_sectorId{0};
68 uint16_t m_bcTag{0};
70 uint16_t m_eta{0};
72 uint16_t m_phi{0};
74 uint16_t m_pt{0};
76 uint8_t m_threshold{0};
78 uint8_t m_charge{0};
80 uint8_t m_mdtFlag{0};
81 };
82}
83
84#endif
#define M_PI
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
uint16_t bcTag() const
Definition ICandData.h:25
uint16_t m_eta
theta coordinate of the candidate
Definition ICandData.h:70
static constexpr float s_phiRange
Definition ICandData.h:54
static constexpr float s_etaRange
variables range
Definition ICandData.h:53
void setThreshold(float threshold)
Definition ICandData.h:38
uint8_t mdtFlag() const
Definition ICandData.h:28
ICandData()=default
static constexpr uint16_t s_phiBitRange
Definition ICandData.h:60
void setCharge(uint8_t charge)
Definition ICandData.h:39
uint16_t subdetectorId() const
Definition ICandData.h:23
uint16_t m_bcTag
BC tag.
Definition ICandData.h:68
float pt() const
Definition ICandData.cxx:35
uint8_t threshold() const
Definition ICandData.h:26
static constexpr float s_ptRange
Definition ICandData.h:55
uint8_t m_charge
charge ( 0=negative, 1=positive)
Definition ICandData.h:78
uint16_t m_pt
pt of the candidate
Definition ICandData.h:74
void setEta(float eta)
Set functions of the modifiable parameters.
Definition ICandData.cxx:12
float phi() const
Definition ICandData.cxx:31
void setPhi(float phi)
Definition ICandData.cxx:17
ICandData(uint16_t subdetectorId, uint16_t sectorId, uint16_t bcTag)
Definition ICandData.h:17
uint16_t m_subdetectorId
Definition ICandData.h:64
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
uint16_t m_sectorId
sector number
Definition ICandData.h:66
float eta() const
get the kinematic parameters
Definition ICandData.cxx:27
uint16_t m_phi
phi coordinate of the candidate
Definition ICandData.h:72
virtual ~ICandData()=default
uint8_t m_mdtFlag
MDT flag.
Definition ICandData.h:80
void setPt(float pt)
Definition ICandData.cxx:21
uint8_t m_threshold
threshold
Definition ICandData.h:76
static constexpr uint16_t s_ptBitRange
Definition ICandData.h:61
void setMdtFlag(uint8_t mdtFlag)
Definition ICandData.h:40
uint16_t sectorId() const
Definition ICandData.h:24
uint8_t charge() const
Definition ICandData.h:27