ATLAS Offline Software
Loading...
Searching...
No Matches
L0Muon::RPCCandData Class Reference

#include <RPCCandData.h>

Inheritance diagram for L0Muon::RPCCandData:
Collaboration diagram for L0Muon::RPCCandData:

Public Types

enum class  Quality { Q_UNDEFINED = 0 , Q_BEST , Q_LOW }
 quality of the candidate More...
enum class  BC_ID {
  BC_UNDEFINED = 0 , BC_PREVIOUS , BC_CURRENT , BC_NEXT ,
  BC_NEXTNEXT
}

Public Member Functions

 RPCCandData ()=default
 ~RPCCandData ()=default
 RPCCandData (uint16_t subdetectorId, uint16_t sectorId, uint16_t bcTag)
Quality quality () const
float zPos (int index) const
uint8_t coinType () const
void setQuality (Quality quality)
void setZPos (float zPos, int index)
void setCoinType (uint8_t coinType)
uint16_t subdetectorId () const
uint16_t sectorId () const
uint16_t bcTag () const
uint8_t threshold () const
uint8_t charge () const
uint8_t mdtFlag () const
float eta () const
 get the kinematic parameters
float phi () const
float pt () const
void setEta (float eta)
 Set functions of the modifiable parameters.
void setPhi (float phi)
void setPt (float pt)
void setThreshold (float threshold)
void setCharge (uint8_t charge)
void setMdtFlag (uint8_t mdtFlag)

Static Public Attributes

static constexpr float s_zPosRange = 12500.0
 range of the RPC hits z positions
static constexpr uint8_t s_coinTypeRange = 6
 range of the coincidence type value
static constexpr uint16_t s_zPosBitRange = 0xfff
 12 bits for z position
static constexpr uint8_t s_coinTypeBitRange = 0x7
 3 bits for the coincidence type

Private Attributes

Quality m_quality {0}
 quality of the candidate
std::array< uint16_t, 4 > m_zPos {0, 0, 0, 0}
 Z positions of the RPC hits.
uint8_t m_coinType {0}
 coincidence type
uint16_t m_subdetectorId {0}
uint16_t m_sectorId {0}
 sector number
uint16_t m_bcTag {0}
 BC tag.
uint16_t m_eta {0}
 theta coordinate of the candidate
uint16_t m_phi {0}
 phi coordinate of the candidate
uint16_t m_pt {0}
 pt of the candidate
uint8_t m_threshold {0}
 threshold
uint8_t m_charge {0}
 charge ( 0=negative, 1=positive)
uint8_t m_mdtFlag {0}
 MDT flag.

Static Private Attributes

static constexpr float s_etaRange = 2.7
 variables range
static constexpr float s_phiRange = 2.0 * M_PI
static constexpr float s_ptRange = 1000.0
static constexpr uint16_t s_etaBitRange = 0x3fff
 variables bit size 14 bits for eta, 9 bits for phi, 8 bits for pt
static constexpr uint16_t s_phiBitRange = 0x1ff
static constexpr uint16_t s_ptBitRange = 0xff

Detailed Description

Member Enumeration Documentation

◆ BC_ID

enum class L0Muon::ICandData::BC_ID
stronginherited
Enumerator
BC_UNDEFINED 
BC_PREVIOUS 
BC_CURRENT 
BC_NEXT 
BC_NEXTNEXT 

Definition at line 42 of file Trigger/TrigT1/Muon/L0MuonInterface/L0MuonInterface/ICandData.h.

43 {
44 BC_UNDEFINED = 0,
45 BC_PREVIOUS,
46 BC_CURRENT,
47 BC_NEXT,
48 BC_NEXTNEXT
49 };

◆ Quality

enum class L0Muon::RPCCandData::Quality
strong

quality of the candidate

Enumerator
Q_UNDEFINED 
Q_BEST 
Q_LOW 

Definition at line 22 of file Trigger/TrigT1/Muon/L0MuonInterface/L0MuonInterface/RPCCandData.h.

23 {
24 Q_UNDEFINED = 0,
25 Q_BEST,
26 Q_LOW
27 };

Constructor & Destructor Documentation

◆ RPCCandData() [1/2]

L0Muon::RPCCandData::RPCCandData ( )
default

◆ ~RPCCandData()

L0Muon::RPCCandData::~RPCCandData ( )
default

◆ RPCCandData() [2/2]

L0Muon::RPCCandData::RPCCandData ( uint16_t subdetectorId,
uint16_t sectorId,
uint16_t bcTag )

Definition at line 11 of file RPCCandData.cxx.

13
14 {
15 // Initialize the z positions and coincidence type
16 for (int i = 0; i < 4; ++i)
17 {
18 m_zPos[i] = 0xffff;
19 }
20 m_coinType = 0;
21 }
ICandData()=default
std::array< uint16_t, 4 > m_zPos
Z positions of the RPC hits.

Member Function Documentation

◆ bcTag()

uint16_t L0Muon::ICandData::bcTag ( ) const
inlineinherited

◆ charge()

uint8_t L0Muon::ICandData::charge ( ) const
inlineinherited

◆ coinType()

uint8_t L0Muon::RPCCandData::coinType ( ) const

Definition at line 54 of file RPCCandData.cxx.

55 {
56 return static_cast<uint8_t>(m_coinType / s_coinTypeRange * static_cast<float>(s_coinTypeBitRange));
57 }
static constexpr uint8_t s_coinTypeRange
range of the coincidence type value
static constexpr uint8_t s_coinTypeBitRange
3 bits for the coincidence type

◆ eta()

float L0Muon::ICandData::eta ( ) const
inherited

get the kinematic parameters

Definition at line 28 of file ICandData.cxx.

29 {
30 return (static_cast<float>(m_eta) / static_cast<float>(s_etaBitRange)) * (2.0f * s_etaRange) - s_etaRange;
31
32 }
static constexpr uint16_t s_etaBitRange
variables bit size 14 bits for eta, 9 bits for phi, 8 bits for pt

◆ mdtFlag()

uint8_t L0Muon::ICandData::mdtFlag ( ) const
inlineinherited

◆ phi()

float L0Muon::ICandData::phi ( ) const
inherited

Definition at line 33 of file ICandData.cxx.

34 {
35 return static_cast<float> (m_phi) / static_cast<float>(s_phiBitRange) * s_phiRange-M_PI;
36
37 }
#define M_PI

◆ pt()

float L0Muon::ICandData::pt ( ) const
inherited

Definition at line 38 of file ICandData.cxx.

◆ quality()

Quality L0Muon::RPCCandData::quality ( ) const
inline

◆ sectorId()

uint16_t L0Muon::ICandData::sectorId ( ) const
inlineinherited

◆ setCharge()

void L0Muon::ICandData::setCharge ( uint8_t charge)
inlineinherited

◆ setCoinType()

void L0Muon::RPCCandData::setCoinType ( uint8_t coinType)

convert the coincidence type to binary

Definition at line 35 of file RPCCandData.cxx.

36 {
38 m_coinType = static_cast<uint8_t>(coinType / s_coinTypeRange * static_cast<float>(s_coinTypeBitRange));
39 }
uint8_t coinType() const

◆ setEta()

void L0Muon::ICandData::setEta ( float eta)
inherited

Set functions of the modifiable parameters.

set the kinematic parameters using the granularity of the binary representation

convert eta to binary, taking into account the range from -s_etaRange to +s_etaRange)

Definition at line 12 of file ICandData.cxx.

13 {
15 const float etaClamped = std::max(-s_etaRange, std::min(eta, s_etaRange));
16 m_eta = static_cast<uint16_t>(std::lround((etaClamped + s_etaRange) / (2.0f * s_etaRange) *static_cast<float>(s_etaBitRange)));
17 }
float eta() const
get the kinematic parameters
Definition ICandData.cxx:28
setWord1 uint16_t

◆ setMdtFlag()

void L0Muon::ICandData::setMdtFlag ( uint8_t mdtFlag)
inlineinherited

◆ setPhi()

void L0Muon::ICandData::setPhi ( float phi)
inherited

Definition at line 18 of file ICandData.cxx.

19 {
20 m_phi = static_cast<uint16_t>(((phi+M_PI)/s_phiRange)*static_cast<float>(s_phiBitRange));
21 }
float phi() const
Definition ICandData.cxx:33

◆ setPt()

void L0Muon::ICandData::setPt ( float pt)
inherited

Definition at line 22 of file ICandData.cxx.

23 {
24 m_pt = static_cast<uint16_t>(std::round(pt/s_ptRange)*static_cast<float>(s_ptBitRange));
25 }
float pt() const
Definition ICandData.cxx:38

◆ setQuality()

void L0Muon::RPCCandData::setQuality ( Quality quality)
inline

◆ setThreshold()

void L0Muon::ICandData::setThreshold ( float threshold)
inlineinherited

◆ setZPos()

void L0Muon::RPCCandData::setZPos ( float zPos,
int index )

convert z position to binary

Definition at line 23 of file RPCCandData.cxx.

24 {
25 if (index < 0 || index > 3)
26 {
27 return;
28 }
30
31 m_zPos[index] = static_cast<uint16_t>(std::round((zPos + s_zPosRange) / (2.0f * s_zPosRange) * static_cast<float>(s_zPosBitRange)));
32
33
34 }
static constexpr float s_zPosRange
range of the RPC hits z positions
static constexpr uint16_t s_zPosBitRange
12 bits for z position
float zPos(int index) const
str index
Definition DeMoScan.py:362

◆ subdetectorId()

uint16_t L0Muon::ICandData::subdetectorId ( ) const
inlineinherited

◆ threshold()

uint8_t L0Muon::ICandData::threshold ( ) const
inlineinherited

◆ zPos()

float L0Muon::RPCCandData::zPos ( int index) const

Definition at line 42 of file RPCCandData.cxx.

43{
44 if (index < 0 || index > 3) {
45 return 0.0;
46 }
47
48 if (m_zPos[index] == 0xffff) {
49 return -999.f;
50 }
51 return static_cast<float>(m_zPos[index]) / static_cast<float>(s_zPosBitRange) * 2.0f * s_zPosRange - s_zPosRange;
52}

Member Data Documentation

◆ m_bcTag

uint16_t L0Muon::ICandData::m_bcTag {0}
privateinherited

BC tag.

Definition at line 68 of file Trigger/TrigT1/Muon/L0MuonInterface/L0MuonInterface/ICandData.h.

68{0};

◆ m_charge

uint8_t L0Muon::ICandData::m_charge {0}
privateinherited

charge ( 0=negative, 1=positive)

Definition at line 78 of file Trigger/TrigT1/Muon/L0MuonInterface/L0MuonInterface/ICandData.h.

78{0};

◆ m_coinType

uint8_t L0Muon::RPCCandData::m_coinType {0}
private

coincidence type

Definition at line 53 of file Trigger/TrigT1/Muon/L0MuonInterface/L0MuonInterface/RPCCandData.h.

53{0};

◆ m_eta

uint16_t L0Muon::ICandData::m_eta {0}
privateinherited

theta coordinate of the candidate

Definition at line 70 of file Trigger/TrigT1/Muon/L0MuonInterface/L0MuonInterface/ICandData.h.

70{0};

◆ m_mdtFlag

uint8_t L0Muon::ICandData::m_mdtFlag {0}
privateinherited

MDT flag.

Definition at line 80 of file Trigger/TrigT1/Muon/L0MuonInterface/L0MuonInterface/ICandData.h.

80{0};

◆ m_phi

uint16_t L0Muon::ICandData::m_phi {0}
privateinherited

phi coordinate of the candidate

Definition at line 72 of file Trigger/TrigT1/Muon/L0MuonInterface/L0MuonInterface/ICandData.h.

72{0};

◆ m_pt

uint16_t L0Muon::ICandData::m_pt {0}
privateinherited

pt of the candidate

Definition at line 74 of file Trigger/TrigT1/Muon/L0MuonInterface/L0MuonInterface/ICandData.h.

74{0};

◆ m_quality

Quality L0Muon::RPCCandData::m_quality {0}
private

quality of the candidate

Definition at line 48 of file Trigger/TrigT1/Muon/L0MuonInterface/L0MuonInterface/RPCCandData.h.

48{0};

◆ m_sectorId

uint16_t L0Muon::ICandData::m_sectorId {0}
privateinherited

sector number

Definition at line 66 of file Trigger/TrigT1/Muon/L0MuonInterface/L0MuonInterface/ICandData.h.

66{0};

◆ m_subdetectorId

uint16_t L0Muon::ICandData::m_subdetectorId {0}
privateinherited

◆ m_threshold

uint8_t L0Muon::ICandData::m_threshold {0}
privateinherited

threshold

Definition at line 76 of file Trigger/TrigT1/Muon/L0MuonInterface/L0MuonInterface/ICandData.h.

76{0};

◆ m_zPos

std::array<uint16_t,4> L0Muon::RPCCandData::m_zPos {0, 0, 0, 0}
private

Z positions of the RPC hits.

Definition at line 50 of file Trigger/TrigT1/Muon/L0MuonInterface/L0MuonInterface/RPCCandData.h.

50{0, 0, 0, 0};

◆ s_coinTypeBitRange

uint8_t L0Muon::RPCCandData::s_coinTypeBitRange = 0x7
staticconstexpr

3 bits for the coincidence type

Definition at line 43 of file Trigger/TrigT1/Muon/L0MuonInterface/L0MuonInterface/RPCCandData.h.

◆ s_coinTypeRange

uint8_t L0Muon::RPCCandData::s_coinTypeRange = 6
staticconstexpr

range of the coincidence type value

Definition at line 39 of file Trigger/TrigT1/Muon/L0MuonInterface/L0MuonInterface/RPCCandData.h.

◆ s_etaBitRange

uint16_t L0Muon::ICandData::s_etaBitRange = 0x3fff
staticconstexprprivateinherited

variables bit size 14 bits for eta, 9 bits for phi, 8 bits for pt

Definition at line 59 of file Trigger/TrigT1/Muon/L0MuonInterface/L0MuonInterface/ICandData.h.

◆ s_etaRange

float L0Muon::ICandData::s_etaRange = 2.7
staticconstexprprivateinherited

variables range

Definition at line 53 of file Trigger/TrigT1/Muon/L0MuonInterface/L0MuonInterface/ICandData.h.

◆ s_phiBitRange

uint16_t L0Muon::ICandData::s_phiBitRange = 0x1ff
staticconstexprprivateinherited

◆ s_phiRange

float L0Muon::ICandData::s_phiRange = 2.0 * M_PI
staticconstexprprivateinherited

◆ s_ptBitRange

uint16_t L0Muon::ICandData::s_ptBitRange = 0xff
staticconstexprprivateinherited

◆ s_ptRange

float L0Muon::ICandData::s_ptRange = 1000.0
staticconstexprprivateinherited

◆ s_zPosBitRange

uint16_t L0Muon::RPCCandData::s_zPosBitRange = 0xfff
staticconstexpr

12 bits for z position

Definition at line 41 of file Trigger/TrigT1/Muon/L0MuonInterface/L0MuonInterface/RPCCandData.h.

◆ s_zPosRange

float L0Muon::RPCCandData::s_zPosRange = 12500.0
staticconstexpr

range of the RPC hits z positions

Definition at line 37 of file Trigger/TrigT1/Muon/L0MuonInterface/L0MuonInterface/RPCCandData.h.


The documentation for this class was generated from the following files: