ATLAS Offline Software
Public Member Functions | Public Attributes | Static Public Attributes | Private Attributes | List of all members
MdtCablingData Struct Reference

#include <MdtCablingData.h>

Inheritance diagram for MdtCablingData:
Collaboration diagram for MdtCablingData:

Public Member Functions

 MdtCablingData ()=default
 
bool operator== (const MdtCablingData &other) const
 Equality operator. More...
 
bool operator!= (const MdtCablingData &other) const
 
bool operator< (const MdtCablingData &other) const
 
bool operator== (const MdtCablingOffData &other) const
 Multilayer inside the MDT station. More...
 
bool operator!= (const MdtCablingOffData &other) const
 
bool operator< (const MdtCablingOffData &other) const
 
bool operator! () const
 
bool operator== (const MdtCablingOnData &other) const
 
bool operator!= (const MdtCablingOnData &other) const
 
bool operator< (const MdtCablingOnData &other) const
 
bool operator! () const
 

Public Attributes

int layer {-99}
 
int tube {-99}
 Layer inside the multilayer. More...
 
uint8_t mezzanine_type {0}
 Tube number in the layer. More...
 
uint8_t tdcId {0xFF}
 Mezzanine type. More...
 
uint8_t channelId
 Identifier of the corresponding tdc. More...
 
int tubes_per_layer {legacy_tube_block_size}
 Helper constants to extract tube,layer, multilayer information. More...
 
int layer_block {legacy_layer_block_size}
 
int8_t & stationIndex
 
int8_t & eta {m_cache.cache[1]}
 Station of the chamber (i.e, BIL,BIS,etc.) More...
 
int8_t & phi {m_cache.cache[2]}
 Eta of the MDT station. More...
 
int8_t & multilayer {m_cache.cache[3]}
 Phi sector of the MDT station. More...
 
uint8_t & mrod {m_cache.cache[0]}
 
uint8_t & csm {m_cache.cache[1]}
 MROD number. More...
 
uint8_t & subdetectorId {m_cache.cache[2]}
 CSM number. More...
 
int hash {0}
 
int8_t cache [4]
 
int hash {0}
 
uint8_t cache [4]
 

Static Public Attributes

static constexpr int legacy_tube_block_size = 100
 Identifier of the corresponding channel on the tdc. More...
 
static constexpr int legacy_layer_block_size = 10
 

Private Attributes

union {
   int   hash {0}
 
   int8_t   cache [4]
 
m_cache
 

Detailed Description

Definition at line 82 of file MdtCablingData.h.

Constructor & Destructor Documentation

◆ MdtCablingData()

MdtCablingData::MdtCablingData ( )
default

Member Function Documentation

◆ operator!() [1/2]

bool MdtCablingOffData::operator! ( ) const
inlineinherited

Definition at line 42 of file MdtCablingData.h.

42 { return !m_cache.hash; }

◆ operator!() [2/2]

bool MdtCablingOnData::operator! ( ) const
inlineinherited

Definition at line 74 of file MdtCablingData.h.

74 { return !m_cache.hash; }

◆ operator!=() [1/3]

bool MdtCablingData::operator!= ( const MdtCablingData other) const
inline

Definition at line 115 of file MdtCablingData.h.

115  {
116  return !((*this) == other);
117  }

◆ operator!=() [2/3]

bool MdtCablingOffData::operator!= ( const MdtCablingOffData other) const
inlineinherited

Definition at line 36 of file MdtCablingData.h.

36  {
37  return m_cache.hash != other.m_cache.hash;
38  }

◆ operator!=() [3/3]

bool MdtCablingOnData::operator!= ( const MdtCablingOnData other) const
inlineinherited

Definition at line 68 of file MdtCablingData.h.

68  {
69  return m_cache.hash != other.m_cache.hash;
70  }

◆ operator<() [1/3]

bool MdtCablingData::operator< ( const MdtCablingData other) const
inline

Definition at line 118 of file MdtCablingData.h.

118  {
119  if (this->MdtCablingOffData::operator!=(other))
120  return this->MdtCablingOffData::operator<(other);
121  if (this->MdtCablingOnData::operator!=(other))
122  return this->MdtCablingOnData::operator<(other);
123  if (tdcId != other.tdcId)
124  return tdcId < other.tdcId;
125  return channelId < other.channelId;
126  }

◆ operator<() [2/3]

bool MdtCablingOffData::operator< ( const MdtCablingOffData other) const
inlineinherited

Definition at line 39 of file MdtCablingData.h.

39  {
40  return m_cache.hash < other.m_cache.hash;
41  }

◆ operator<() [3/3]

bool MdtCablingOnData::operator< ( const MdtCablingOnData other) const
inlineinherited

Definition at line 71 of file MdtCablingData.h.

71  {
72  return m_cache.hash < other.m_cache.hash;
73  }

◆ operator==() [1/3]

bool MdtCablingData::operator== ( const MdtCablingData other) const
inline

Equality operator.

Definition at line 109 of file MdtCablingData.h.

109  {
110  return this->MdtCablingOffData::operator==(other) &&
111  this->MdtCablingOnData::operator==(other) &&
112  tdcId == other.tdcId && layer == other.layer &&
113  tube == other.tube && channelId == other.channelId;
114  }

◆ operator==() [2/3]

bool MdtCablingOffData::operator== ( const MdtCablingOffData other) const
inlineinherited

Multilayer inside the MDT station.

Equality operator

Definition at line 33 of file MdtCablingData.h.

33  {
34  return m_cache.hash == other.m_cache.hash;
35  }

◆ operator==() [3/3]

bool MdtCablingOnData::operator== ( const MdtCablingOnData other) const
inlineinherited

Definition at line 65 of file MdtCablingData.h.

65  {
66  return m_cache.hash == other.m_cache.hash;
67  }

Member Data Documentation

◆ cache [1/2]

int8_t MdtCablingOffData::cache[4]
inherited

Definition at line 47 of file MdtCablingData.h.

◆ cache [2/2]

uint8_t MdtCablingOnData::cache[4]
inherited

Definition at line 79 of file MdtCablingData.h.

◆ channelId

uint8_t MdtCablingData::channelId
Initial value:
{
0xff}

Identifier of the corresponding tdc.

Definition at line 92 of file MdtCablingData.h.

◆ csm

uint8_t& MdtCablingOnData::csm {m_cache.cache[1]}
inherited

MROD number.

Definition at line 53 of file MdtCablingData.h.

◆ eta

int8_t& MdtCablingOffData::eta {m_cache.cache[1]}
inherited

Station of the chamber (i.e, BIL,BIS,etc.)

Definition at line 28 of file MdtCablingData.h.

◆ hash [1/2]

int MdtCablingOffData::hash {0}
inherited

Definition at line 46 of file MdtCablingData.h.

◆ hash [2/2]

int MdtCablingOnData::hash {0}
inherited

Definition at line 78 of file MdtCablingData.h.

◆ layer

int MdtCablingData::layer {-99}

Definition at line 85 of file MdtCablingData.h.

◆ layer_block

int MdtCablingData::layer_block {legacy_layer_block_size}

Definition at line 106 of file MdtCablingData.h.

◆ legacy_layer_block_size

constexpr int MdtCablingData::legacy_layer_block_size = 10
staticconstexpr

Definition at line 102 of file MdtCablingData.h.

◆ legacy_tube_block_size

constexpr int MdtCablingData::legacy_tube_block_size = 100
staticconstexpr

Identifier of the corresponding channel on the tdc.

In the Muon spectrometer layouts, before Run 2, no chamber had more than 100 tubes per multilayer. Hence, the the tube layer and multilayer information is encoded into a 4 digit long number MLTT where M represents the multilayer number, L the layer number and TT is the tube numbering per each multilayer

Definition at line 101 of file MdtCablingData.h.

◆ m_cache

union { ... } MdtCablingOffData::m_cache

◆ mezzanine_type

uint8_t MdtCablingData::mezzanine_type {0}

Tube number in the layer.

Definition at line 88 of file MdtCablingData.h.

◆ mrod

uint8_t& MdtCablingOnData::mrod {m_cache.cache[0]}
inherited

Definition at line 52 of file MdtCablingData.h.

◆ multilayer

int8_t& MdtCablingOffData::multilayer {m_cache.cache[3]}
inherited

Phi sector of the MDT station.

Definition at line 30 of file MdtCablingData.h.

◆ phi

int8_t& MdtCablingOffData::phi {m_cache.cache[2]}
inherited

Eta of the MDT station.

Definition at line 29 of file MdtCablingData.h.

◆ stationIndex

int8_t& MdtCablingOffData::stationIndex
inherited
Initial value:
{
m_cache.cache[0]}

Definition at line 26 of file MdtCablingData.h.

◆ subdetectorId

uint8_t& MdtCablingOnData::subdetectorId {m_cache.cache[2]}
inherited

CSM number.

Definition at line 54 of file MdtCablingData.h.

◆ tdcId

uint8_t MdtCablingData::tdcId {0xFF}

Mezzanine type.

the 0xff used to convert the full station)

Definition at line 90 of file MdtCablingData.h.

◆ tube

int MdtCablingData::tube {-99}

Layer inside the multilayer.

Definition at line 86 of file MdtCablingData.h.

◆ tubes_per_layer

int MdtCablingData::tubes_per_layer {legacy_tube_block_size}

Helper constants to extract tube,layer, multilayer information.

Definition at line 105 of file MdtCablingData.h.


The documentation for this struct was generated from the following file:
MdtCablingOnData::operator<
bool operator<(const MdtCablingOnData &other) const
Definition: MdtCablingData.h:71
MdtCablingData::tube
int tube
Layer inside the multilayer.
Definition: MdtCablingData.h:86
MdtCablingOnData::operator==
bool operator==(const MdtCablingOnData &other) const
Definition: MdtCablingData.h:65
MdtCablingOffData::operator<
bool operator<(const MdtCablingOffData &other) const
Definition: MdtCablingData.h:39
MdtCablingOffData::operator==
bool operator==(const MdtCablingOffData &other) const
Multilayer inside the MDT station.
Definition: MdtCablingData.h:33
MdtCablingOffData::m_cache
union MdtCablingOffData::@165 m_cache
MdtCablingData::tdcId
uint8_t tdcId
Mezzanine type.
Definition: MdtCablingData.h:90
MdtCablingData::layer
int layer
Definition: MdtCablingData.h:85
MdtCablingData::channelId
uint8_t channelId
Identifier of the corresponding tdc.
Definition: MdtCablingData.h:92
InDetDD::other
@ other
Definition: InDetDD_Defs.h:16
MdtCablingOnData::m_cache
union MdtCablingOnData::@166 m_cache