ATLAS Offline Software
Loading...
Searching...
No Matches
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}
uint32_t get_bits(uint32_t word, uint32_t mask, uint8_t position)

◆ ~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: