ATLAS Offline Software
Public Member Functions | Private Attributes | List of all members
Muon::nsw::NSWResourceId Class Reference

#include <NSWResourceId.h>

Collaboration diagram for Muon::nsw::NSWResourceId:

Public Member Functions

 NSWResourceId (uint32_t logical_id)
 
virtual ~NSWResourceId ()
 
uint8_t elink () const
 
uint8_t radius () const
 
uint8_t layer () const
 
uint8_t sector () const
 
uint8_t resourceType () const
 
uint8_t dataType () const
 
uint8_t version () const
 
uint8_t detId () const
 
uint8_t group () const
 
uint8_t eta () const
 
uint8_t technology () const
 
bool pre_version () const
 
bool is_large_station () const
 
int8_t station_eta () const
 
uint8_t station_phi () const
 
uint8_t multi_layer () const
 
uint8_t gas_gap () const
 

Private Attributes

uint8_t m_Elink
 
uint8_t m_Radius
 
uint8_t m_Layer
 
uint8_t m_Sector
 
uint8_t m_ResourceType
 
uint8_t m_DataType
 
uint8_t m_Version
 
uint8_t m_DetId
 
uint8_t m_Eta
 
uint8_t m_Tech
 
bool m_pre_version
 

Detailed Description

Definition at line 41 of file NSWResourceId.h.

Constructor & Destructor Documentation

◆ NSWResourceId()

Muon::nsw::NSWResourceId::NSWResourceId ( uint32_t  logical_id)
inlineexplicit

Definition at line 132 of file NSWResourceId.h.

133 {
135 
136  if (m_DetId == 0) // pre-versioned logical ID data format
137  {
138  m_pre_version = true;
139  m_Version = 0;
148  m_DetId = eformat::MUON_STGC_ENDCAP_A_SIDE + m_Eta - 2 * m_Tech;
149  }
150  else
151  {
152  m_pre_version = false;
160  }
161 }

◆ ~NSWResourceId()

virtual Muon::nsw::NSWResourceId::~NSWResourceId ( )
inlinevirtual

Definition at line 62 of file NSWResourceId.h.

62 {};

Member Function Documentation

◆ dataType()

uint8_t Muon::nsw::NSWResourceId::dataType ( ) const
inline

Definition at line 69 of file NSWResourceId.h.

69 {return m_DataType;};

◆ detId()

uint8_t Muon::nsw::NSWResourceId::detId ( ) const
inline

Definition at line 71 of file NSWResourceId.h.

71 {return m_DetId;};

◆ elink()

uint8_t Muon::nsw::NSWResourceId::elink ( ) const
inline

Definition at line 64 of file NSWResourceId.h.

64 {return m_Elink;};

◆ eta()

uint8_t Muon::nsw::NSWResourceId::eta ( ) const
inline

Definition at line 76 of file NSWResourceId.h.

76 {return m_Eta;};

◆ gas_gap()

uint8_t Muon::nsw::NSWResourceId::gas_gap ( ) const
inline

Definition at line 126 of file NSWResourceId.h.

127 {
128  // 1 to 4
129  return (m_Layer + 1 - 4 * (m_Layer / 4));
130 }

◆ group()

uint8_t Muon::nsw::NSWResourceId::group ( ) const
inline

Definition at line 75 of file NSWResourceId.h.

75 {return m_Elink;};

◆ is_large_station()

bool Muon::nsw::NSWResourceId::is_large_station ( ) const
inline

Definition at line 93 of file NSWResourceId.h.

94 {
95  // counting from 0, even sectors are large
96  return ((m_Sector % 2) == 0);
97 }

◆ layer()

uint8_t Muon::nsw::NSWResourceId::layer ( ) const
inline

Definition at line 66 of file NSWResourceId.h.

66 {return m_Layer;};

◆ multi_layer()

uint8_t Muon::nsw::NSWResourceId::multi_layer ( ) const
inline

Definition at line 120 of file NSWResourceId.h.

121 {
122  // 1 = IP; 2 = HO
123  return (m_Layer / 4 + 1);
124 }

◆ pre_version()

bool Muon::nsw::NSWResourceId::pre_version ( ) const
inline

Definition at line 79 of file NSWResourceId.h.

79 {return m_pre_version;};

◆ radius()

uint8_t Muon::nsw::NSWResourceId::radius ( ) const
inline

Definition at line 65 of file NSWResourceId.h.

65 {return m_Radius;};

◆ resourceType()

uint8_t Muon::nsw::NSWResourceId::resourceType ( ) const
inline

Definition at line 68 of file NSWResourceId.h.

68 {return m_ResourceType;};

◆ sector()

uint8_t Muon::nsw::NSWResourceId::sector ( ) const
inline

Definition at line 67 of file NSWResourceId.h.

67 {return m_Sector;};

◆ station_eta()

int8_t Muon::nsw::NSWResourceId::station_eta ( ) const
inline

Definition at line 99 of file NSWResourceId.h.

100 {
101  int8_t mod_eta;
102  // Odd identifiers are on side A
103  int8_t side_sign = (m_DetId % 2) == 0 ? -1 : 1;
104 
105  // MM identifiers are less than STGC identifiers
106  if (m_DetId < eformat::MUON_STGC_ENDCAP_A_SIDE)
107  mod_eta = m_Radius < 10 ? 1 : 2;
108  else
109  mod_eta = m_Radius + 1;
110 
111  return (side_sign * mod_eta);
112 }

◆ station_phi()

uint8_t Muon::nsw::NSWResourceId::station_phi ( ) const
inline

Definition at line 114 of file NSWResourceId.h.

115 {
116  // Becomes 1 to 8
117  return (m_Sector / 2 + 1);
118 }

◆ technology()

uint8_t Muon::nsw::NSWResourceId::technology ( ) const
inline

Definition at line 77 of file NSWResourceId.h.

77 {return m_Tech;}

◆ version()

uint8_t Muon::nsw::NSWResourceId::version ( ) const
inline

Definition at line 70 of file NSWResourceId.h.

70 {return m_Version;};

Member Data Documentation

◆ m_DataType

uint8_t Muon::nsw::NSWResourceId::m_DataType
private

Definition at line 49 of file NSWResourceId.h.

◆ m_DetId

uint8_t Muon::nsw::NSWResourceId::m_DetId
private

Definition at line 51 of file NSWResourceId.h.

◆ m_Elink

uint8_t Muon::nsw::NSWResourceId::m_Elink
private

Definition at line 44 of file NSWResourceId.h.

◆ m_Eta

uint8_t Muon::nsw::NSWResourceId::m_Eta
private

Definition at line 55 of file NSWResourceId.h.

◆ m_Layer

uint8_t Muon::nsw::NSWResourceId::m_Layer
private

Definition at line 46 of file NSWResourceId.h.

◆ m_pre_version

bool Muon::nsw::NSWResourceId::m_pre_version
private

Definition at line 58 of file NSWResourceId.h.

◆ m_Radius

uint8_t Muon::nsw::NSWResourceId::m_Radius
private

Definition at line 45 of file NSWResourceId.h.

◆ m_ResourceType

uint8_t Muon::nsw::NSWResourceId::m_ResourceType
private

Definition at line 48 of file NSWResourceId.h.

◆ m_Sector

uint8_t Muon::nsw::NSWResourceId::m_Sector
private

Definition at line 47 of file NSWResourceId.h.

◆ m_Tech

uint8_t Muon::nsw::NSWResourceId::m_Tech
private

Definition at line 56 of file NSWResourceId.h.

◆ m_Version

uint8_t Muon::nsw::NSWResourceId::m_Version
private

Definition at line 50 of file NSWResourceId.h.


The documentation for this class was generated from the following file:
Muon::nsw::bitMaskDataType
@ bitMaskDataType
Definition: NSWDecodeBitmaps.h:140
Muon::nsw::NSWResourceId::m_DataType
uint8_t m_DataType
Definition: NSWResourceId.h:49
Muon::nsw::bitMaskResType
@ bitMaskResType
Definition: NSWDecodeBitmaps.h:139
Muon::nsw::bitPosElink
@ bitPosElink
Definition: NSWDecodeBitmaps.h:155
Muon::nsw::NSWResourceId::m_Elink
uint8_t m_Elink
Definition: NSWResourceId.h:44
Muon::nsw::NSWResourceId::m_pre_version
bool m_pre_version
Definition: NSWResourceId.h:58
Muon::nsw::bitPosLayer
@ bitPosLayer
Definition: NSWDecodeBitmaps.h:157
Muon::nsw::NSWResourceId::m_Layer
uint8_t m_Layer
Definition: NSWResourceId.h:46
Muon::nsw::bitPosVersion
@ bitPosVersion
Definition: NSWDecodeBitmaps.h:162
Muon::nsw::bitMaskObsDataType
@ bitMaskObsDataType
Definition: NSWDecodeBitmaps.h:150
Muon::nsw::NSWResourceId::m_DetId
uint8_t m_DetId
Definition: NSWResourceId.h:51
Muon::nsw::bitMaskDetId
@ bitMaskDetId
Definition: NSWDecodeBitmaps.h:143
Muon::nsw::bitMaskRadius
@ bitMaskRadius
Definition: NSWDecodeBitmaps.h:136
Muon::nsw::helper::get_bits
uint32_t get_bits(uint32_t word, uint32_t mask, uint8_t position)
Definition: NSWDecodeHelper.h:177
Muon::nsw::NSWResourceId::m_Sector
uint8_t m_Sector
Definition: NSWResourceId.h:47
Muon::nsw::bitPosSector
@ bitPosSector
Definition: NSWDecodeBitmaps.h:158
Muon::nsw::bitPosObsDataType
@ bitPosObsDataType
Definition: NSWDecodeBitmaps.h:170
Muon::nsw::NSWResourceId::m_Radius
uint8_t m_Radius
Definition: NSWResourceId.h:45
Muon::nsw::NSWResourceId::m_Version
uint8_t m_Version
Definition: NSWResourceId.h:50
Muon::nsw::bitPosObsEta
@ bitPosObsEta
Definition: NSWDecodeBitmaps.h:167
Muon::nsw::bitPosResType
@ bitPosResType
Definition: NSWDecodeBitmaps.h:159
Muon::nsw::bitMaskLayer
@ bitMaskLayer
Definition: NSWDecodeBitmaps.h:137
Muon::nsw::NSWResourceId::m_ResourceType
uint8_t m_ResourceType
Definition: NSWResourceId.h:48
Muon::nsw::NSWResourceId::m_Eta
uint8_t m_Eta
Definition: NSWResourceId.h:55
Muon::nsw::bitMaskObsResType
@ bitMaskObsResType
Definition: NSWDecodeBitmaps.h:148
Muon::nsw::bitMaskSector
@ bitMaskSector
Definition: NSWDecodeBitmaps.h:138
Muon::nsw::bitPosDetId
@ bitPosDetId
Definition: NSWDecodeBitmaps.h:163
Muon::nsw::bitMaskElink
@ bitMaskElink
Definition: NSWDecodeBitmaps.h:135
Muon::nsw::bitMaskObsTech
@ bitMaskObsTech
Definition: NSWDecodeBitmaps.h:149
Muon::nsw::bitPosRadius
@ bitPosRadius
Definition: NSWDecodeBitmaps.h:156
Muon::nsw::bitMaskObsEta
@ bitMaskObsEta
Definition: NSWDecodeBitmaps.h:147
Muon::nsw::bitPosObsResType
@ bitPosObsResType
Definition: NSWDecodeBitmaps.h:168
Muon::nsw::bitPosObsTech
@ bitPosObsTech
Definition: NSWDecodeBitmaps.h:169
Muon::nsw::bitMaskVersion
@ bitMaskVersion
Definition: NSWDecodeBitmaps.h:142
Muon::nsw::NSWResourceId::m_Tech
uint8_t m_Tech
Definition: NSWResourceId.h:56
Muon::nsw::bitPosDataType
@ bitPosDataType
Definition: NSWDecodeBitmaps.h:160