ATLAS Offline Software
Namespaces | Classes | Enumerations | Functions | Variables
Muon::nsw Namespace Reference

Namespaces

 Constants
 
 helper
 
 MMART
 
 MMTPL1A
 
 MMTPMON
 
 MMTRIG
 
 STGTPL1A
 
 STGTPPad
 
 STGTPSegments
 

Classes

class  MapperMMG
 
class  MapperSTG
 
class  MMARTPacket
 
class  MMTrigPacket
 
class  NSWCommonDecoder
 
class  NSWElink
 
class  NSWPadTriggerL1a
 
class  NSWResourceId
 
class  NSWTriggerCommonDecoder
 
class  NSWTriggerElink
 
class  NSWTriggerException
 
class  NSWTriggerMML1AElink
 
class  NSWTriggerMMMonElink
 
class  NSWTriggerSTGL1AElink
 
class  STGTPPadPacket
 
class  STGTPSegmentPacket
 
class  VMMChannel
 

Enumerations

enum  EMaskRawData {
  eMaskFlxLENGTH = 0x0000ffff, eMaskFlxSTATUS = 0xffff0000, eMaskFlxELINKID = 0xffffffff, eMaskSRocNullL1ID = 0x00ff0000,
  eMaskSRocNullID = 0x3f000000, eMaskSRocL1ID = 0x0000ffff, eMaskSRocBCID = 0x0fff0000, eMaskSRocORBIT = 0x30000000,
  eMaskSRocNULL = 0x40000000, eMaskSRocNOTDC = 0x80000000, eMaskVmmHitTDC = 0x000000ff, eMaskVmmHitADC = 0x0003ff00,
  eMaskVmmHitCHANNEL = 0x00fc0000, eMaskVmmHitVMMID = 0x07000000, eMaskVmmHitRELBCID = 0x38000000, eMaskVmmHitN = 0x40000000,
  eMaskVmmHitP = 0x80000000, eMaskTrailCHECKSUM = 0x000000ff, eMaskTrailLENGTH = 0x0003ff00, eMaskTrailL0ID = 0x003c0000,
  eMaskTrailFLAGMISS = 0x3fc00000, eMaskTrailTO = 0x40000000, eMaskTrailEXTENDED = 0x80000000
}
 
enum  BitMaskRawData {
  bitMaskFlxLENGTH = 0xffff, bitMaskFlxSTATUS = 0xffff, bitMaskFlxELINKID = 0xffffffff, bitMaskSRocNullL1ID = 0xff,
  bitMaskSRocNullID = 0x3f, bitMaskSRocL1ID = 0xffff, bitMaskSRocBCID = 0xfff, bitMaskSRocORBIT = 0x3,
  bitMaskSRocNULL = 0x1, bitMaskSRocNOTDC = 0x1, bitMaskVmmHitTDC = 0xff, bitMaskVmmHitADC = 0x3ff,
  bitMaskVmmHitCHANNEL = 0x3f, bitMaskVmmHitVMMID = 0x7, bitMaskVmmHitRELBCID = 0x7, bitMaskVmmHitN = 0x1,
  bitMaskVmmHitP = 0x1, bitMaskTrailCHECKSUM = 0xff, bitMaskTrailLENGTH = 0x3ff, bitMaskTrailL0ID = 0xf,
  bitMaskTrailFLAGMISS = 0xff, bitMaskTrailTO = 0x1, bitMaskTrailEXTENDED = 0x1
}
 
enum  BitPosRawData {
  bitPosFlxLENGTH = 0, bitPosFlxSTATUS = 16, bitPosFlxELINKID = 0, bitPosSRocNullL1ID = 16,
  bitPosSRocNullID = 24, bitPosSRocL1ID = 0, bitPosSRocBCID = 16, bitPosSRocORBIT = 28,
  bitPosSRocNULL = 30, bitPosSRocNOTDC = 31, bitPosVmmHitTDC = 0, bitPosVmmHitADC = 8,
  bitPosVmmHitCHANNEL = 18, bitPosVmmHitVMMID = 24, bitPosVmmHitRELBCID = 27, bitPosVmmHitN = 30,
  bitPosVmmHitP = 31, bitPosTrailCHECKSUM = 0, bitPosTrailLENGTH = 8, bitPosTrailL0ID = 18,
  bitPosTrailFLAGMISS = 22, bitPosTrailTO = 30, bitPosTrailEXTENDED = 31
}
 
enum  EMaskDetectorResource {
  eMaskElink = 0x00000007, eMaskRadius = 0x00000078, eMaskLayer = 0x00000380, eMaskSector = 0x00003c00,
  eMaskResType = 0x0001c000, eMaskDataType = 0x000e0000, eMaskRESERVED = 0x00100000, eMaskVersion = 0x00e00000,
  eMaskDetId = 0xff000000, eMaskObsEta = 0x00004000, eMaskObsResType = 0x00078000, eMaskObsTech = 0x00080000,
  eMaskObsDataType = 0x00700000
}
 
enum  BitMaskDetectorResource {
  bitMaskElink = 0x7, bitMaskRadius = 0xf, bitMaskLayer = 0x7, bitMaskSector = 0xf,
  bitMaskResType = 0x7, bitMaskDataType = 0x7, bitMaskRESERVED = 0x1, bitMaskVersion = 0x7,
  bitMaskDetId = 0xff, bitMaskObsEta = 0x1, bitMaskObsResType = 0xf, bitMaskObsTech = 0x1,
  bitMaskObsDataType = 0x7
}
 
enum  BitPosDetectorResource {
  bitPosElink = 0, bitPosRadius = 3, bitPosLayer = 7, bitPosSector = 10,
  bitPosResType = 14, bitPosDataType = 17, bitPosRESERVED = 20, bitPosVersion = 21,
  bitPosDetId = 24, bitPosObsEta = 14, bitPosObsResType = 15, bitPosObsTech = 19,
  bitPosObsDataType = 20
}
 
enum  channel_type { OFFLINE_CHANNEL_TYPE_PAD = 0, OFFLINE_CHANNEL_TYPE_STRIP = 1, OFFLINE_CHANNEL_TYPE_WIRE = 2 }
 
enum  vmm_channels { VMM_per_MMFE8 = 8, VMM_per_sFEB = 3, VMM_per_pFEB = 3, VMM_channels = 64 }
 
enum  NSWResourceTypes {
  NSW_RESOURCE_PAD = 0, NSW_RESOURCE_STRIP = 1, NSW_RESOURCE_TRIG_PROC = 2, NSW_RESOURCE_PAD_TRIG = 3,
  NSW_RESOURCE_L1DDC = 4, NSW_RESOURCE_ADDC = 5, NSW_RESOURCE_ROUTER = 6, NSW_RESOURCE_RIM_L1DDC = 7
}
 
enum  NSWDataTypes {
  NSW_DATA_L1A = 0, NSW_DATA_MONITOR = 1, NSW_DATA_TO_SCA = 2, NSW_DATA_FROM_SCA = 3,
  NSW_DATA_TTC = 4, NSW_DATA_L1A_INFO = 5, NSW_DATA_EXT = 6, NSW_DATA_EXC = 7
}
 
enum  NSWTriggerExceptions {
  not_assigned = -999, unknown = -1, incomplete = 0, too_short = 1,
  flx_status = 2, flx_short = 3, mmmon_inv_id = 4, mml1a_inv_id = 5,
  mml1a_art_sz = 6, mml1a_trg_sz = 7
}
 

Functions

 ERS_DECLARE_ISSUE_BASE (MuonNSWCommonDecoder, NSWElinkFelixHeaderException, MuonNSWCommonDecoder::NSWElinkException, ""<< name,,((std::string) name)) ERS_DECLARE_ISSUE_BASE(MuonNSWCommonDecoder
 
template<typename T >
std::string format (const std::string &str, const T &arg)
 
template<typename T , typename... Args>
std::string format (const std::string &str, const T &arg, const Args &... args)
 
template<typename Target , typename Source >
Target bit_slice (const std::span< const Source > words, const std::size_t start, const std::size_t end)
 Decode bits from data of words. More...
 
template<typename Target , typename Source >
constexpr Target decode_and_advance (const std::span< const Source > words, std::size_t &start, const std::size_t size)
 Decode bits from data of words and advance the read pointer. More...
 
template<typename Target , typename Source >
constexpr Target decode_at_loc (const std::span< const Source > words, std::size_t &start, const int offset, const std::size_t size)
 Decode bits from data of words at read pointer + offset and NOT advance the read pointer. More...
 
template<class T >
constexpr int8_t max_bit (const T &number)
 Returns the most left hand bit which is set in a number. More...
 
template<class T >
constexpr int8_t min_bit (const T &number)
 Returns the most right hand bit which is set in a number. More...
 
template<class Out >
constexpr Out fill_bitmask (const uint8_t first_bit, const uint8_t num_bits)
 

Variables

 NSWElinkROCHeaderException
 

Enumeration Type Documentation

◆ BitMaskDetectorResource

Enumerator
bitMaskElink 
bitMaskRadius 
bitMaskLayer 
bitMaskSector 
bitMaskResType 
bitMaskDataType 
bitMaskRESERVED 
bitMaskVersion 
bitMaskDetId 
bitMaskObsEta 
bitMaskObsResType 
bitMaskObsTech 
bitMaskObsDataType 

Definition at line 133 of file NSWDecodeBitmaps.h.

134  {
135  bitMaskElink = 0x7,
136  bitMaskRadius = 0xf,
137  bitMaskLayer = 0x7,
138  bitMaskSector = 0xf,
139  bitMaskResType = 0x7,
140  bitMaskDataType = 0x7,
141  bitMaskRESERVED = 0x1,
142  bitMaskVersion = 0x7,
143  bitMaskDetId = 0xff,
144 
145  // For pre-versioned format used during commissioning
146 
147  bitMaskObsEta = 0x1,
148  bitMaskObsResType = 0xf,
149  bitMaskObsTech = 0x1,
150  bitMaskObsDataType = 0x7
151  };

◆ BitMaskRawData

Enumerator
bitMaskFlxLENGTH 
bitMaskFlxSTATUS 
bitMaskFlxELINKID 
bitMaskSRocNullL1ID 
bitMaskSRocNullID 
bitMaskSRocL1ID 
bitMaskSRocBCID 
bitMaskSRocORBIT 
bitMaskSRocNULL 
bitMaskSRocNOTDC 
bitMaskVmmHitTDC 
bitMaskVmmHitADC 
bitMaskVmmHitCHANNEL 
bitMaskVmmHitVMMID 
bitMaskVmmHitRELBCID 
bitMaskVmmHitN 
bitMaskVmmHitP 
bitMaskTrailCHECKSUM 
bitMaskTrailLENGTH 
bitMaskTrailL0ID 
bitMaskTrailFLAGMISS 
bitMaskTrailTO 
bitMaskTrailEXTENDED 

Definition at line 45 of file NSWDecodeBitmaps.h.

46  {
47  // Felix Header (2 words)
48  bitMaskFlxLENGTH = 0xffff,
49  bitMaskFlxSTATUS = 0xffff,
50  bitMaskFlxELINKID = 0xffffffff,
51 
52  // sROC Header (1 word)
53  bitMaskSRocNullL1ID = 0xff,
54  bitMaskSRocNullID = 0x3f,
55  bitMaskSRocL1ID = 0xffff,
56  bitMaskSRocBCID = 0xfff,
57  bitMaskSRocORBIT = 0x3,
58  bitMaskSRocNULL = 0x1,
59  bitMaskSRocNOTDC = 0x1,
60 
61  // VMM Hit Data
62  bitMaskVmmHitTDC = 0xff,
63  bitMaskVmmHitADC = 0x3ff,
64  bitMaskVmmHitCHANNEL = 0x3f,
65  bitMaskVmmHitVMMID = 0x7,
67  bitMaskVmmHitN = 0x1, // neighbor
68  bitMaskVmmHitP = 0x1, // parity bit
69 
70  // ROC Trailer (1 word)
71  bitMaskTrailCHECKSUM = 0xff,
72  bitMaskTrailLENGTH = 0x3ff,
73  bitMaskTrailL0ID = 0xf,
74  bitMaskTrailFLAGMISS = 0xff,
75  bitMaskTrailTO = 0x1, // true if VMMs ignored due to timeouts
76  bitMaskTrailEXTENDED = 0x1 // "extended-trailer" bit, not used
77  };

◆ BitPosDetectorResource

Enumerator
bitPosElink 
bitPosRadius 
bitPosLayer 
bitPosSector 
bitPosResType 
bitPosDataType 
bitPosRESERVED 
bitPosVersion 
bitPosDetId 
bitPosObsEta 
bitPosObsResType 
bitPosObsTech 
bitPosObsDataType 

Definition at line 153 of file NSWDecodeBitmaps.h.

154  {
155  bitPosElink = 0,
156  bitPosRadius = 3,
157  bitPosLayer = 7,
158  bitPosSector = 10,
159  bitPosResType = 14,
160  bitPosDataType = 17,
161  bitPosRESERVED = 20,
162  bitPosVersion = 21,
163  bitPosDetId = 24,
164 
165  // For pre-versioned format used during commissioning
166 
167  bitPosObsEta = 14,
168  bitPosObsResType = 15,
169  bitPosObsTech = 19,
170  bitPosObsDataType = 20
171  };

◆ BitPosRawData

Enumerator
bitPosFlxLENGTH 
bitPosFlxSTATUS 
bitPosFlxELINKID 
bitPosSRocNullL1ID 
bitPosSRocNullID 
bitPosSRocL1ID 
bitPosSRocBCID 
bitPosSRocORBIT 
bitPosSRocNULL 
bitPosSRocNOTDC 
bitPosVmmHitTDC 
bitPosVmmHitADC 
bitPosVmmHitCHANNEL 
bitPosVmmHitVMMID 
bitPosVmmHitRELBCID 
bitPosVmmHitN 
bitPosVmmHitP 
bitPosTrailCHECKSUM 
bitPosTrailLENGTH 
bitPosTrailL0ID 
bitPosTrailFLAGMISS 
bitPosTrailTO 
bitPosTrailEXTENDED 

Definition at line 79 of file NSWDecodeBitmaps.h.

80  {
81  // Felix Header (2 words)
82  bitPosFlxLENGTH = 0,
83  bitPosFlxSTATUS = 16,
84  bitPosFlxELINKID = 0,
85 
86  // sROC Header (1 word)
87  bitPosSRocNullL1ID = 16,
88  bitPosSRocNullID = 24,
89  bitPosSRocL1ID = 0,
90  bitPosSRocBCID = 16,
91  bitPosSRocORBIT = 28,
92  bitPosSRocNULL = 30,
93  bitPosSRocNOTDC = 31,
94 
95  // VMM Hit Data
96  bitPosVmmHitTDC = 0,
97  bitPosVmmHitADC = 8,
99  bitPosVmmHitVMMID = 24,
100  bitPosVmmHitRELBCID = 27,
101  bitPosVmmHitN = 30, // neighbor
102  bitPosVmmHitP = 31, // parity bit
103 
104  // ROC Trailer (1 word)
106  bitPosTrailLENGTH = 8,
107  bitPosTrailL0ID = 18,
108  bitPosTrailFLAGMISS = 22,
109  bitPosTrailTO = 30, // true if VMMs ignored due to timeouts
110  bitPosTrailEXTENDED = 31 // "extended-trailer" bit, not used
111  };

◆ channel_type

Enumerator
OFFLINE_CHANNEL_TYPE_PAD 
OFFLINE_CHANNEL_TYPE_STRIP 
OFFLINE_CHANNEL_TYPE_WIRE 

Definition at line 17 of file NSWDecodeHelper.h.

◆ EMaskDetectorResource

Enumerator
eMaskElink 
eMaskRadius 
eMaskLayer 
eMaskSector 
eMaskResType 
eMaskDataType 
eMaskRESERVED 
eMaskVersion 
eMaskDetId 
eMaskObsEta 
eMaskObsResType 
eMaskObsTech 
eMaskObsDataType 

Definition at line 113 of file NSWDecodeBitmaps.h.

114  {
115  eMaskElink = 0x00000007,
116  eMaskRadius = 0x00000078,
117  eMaskLayer = 0x00000380,
118  eMaskSector = 0x00003c00,
119  eMaskResType = 0x0001c000,
120  eMaskDataType = 0x000e0000,
121  eMaskRESERVED = 0x00100000,
122  eMaskVersion = 0x00e00000,
123  eMaskDetId = 0xff000000,
124 
125  // For pre-versioned format used during commissioning
126 
127  eMaskObsEta = 0x00004000,
128  eMaskObsResType = 0x00078000,
129  eMaskObsTech = 0x00080000,
130  eMaskObsDataType = 0x00700000
131  };

◆ EMaskRawData

Enumerator
eMaskFlxLENGTH 
eMaskFlxSTATUS 
eMaskFlxELINKID 
eMaskSRocNullL1ID 
eMaskSRocNullID 
eMaskSRocL1ID 
eMaskSRocBCID 
eMaskSRocORBIT 
eMaskSRocNULL 
eMaskSRocNOTDC 
eMaskVmmHitTDC 
eMaskVmmHitADC 
eMaskVmmHitCHANNEL 
eMaskVmmHitVMMID 
eMaskVmmHitRELBCID 
eMaskVmmHitN 
eMaskVmmHitP 
eMaskTrailCHECKSUM 
eMaskTrailLENGTH 
eMaskTrailL0ID 
eMaskTrailFLAGMISS 
eMaskTrailTO 
eMaskTrailEXTENDED 

Definition at line 11 of file NSWDecodeBitmaps.h.

12  {
13  // Felix Header (2 words)
14  eMaskFlxLENGTH = 0x0000ffff,
15  eMaskFlxSTATUS = 0xffff0000,
16  eMaskFlxELINKID = 0xffffffff,
17 
18  // sROC Header (1 word)
19  eMaskSRocNullL1ID = 0x00ff0000,
20  eMaskSRocNullID = 0x3f000000,
21  eMaskSRocL1ID = 0x0000ffff,
22  eMaskSRocBCID = 0x0fff0000,
23  eMaskSRocORBIT = 0x30000000,
24  eMaskSRocNULL = 0x40000000,
25  eMaskSRocNOTDC = 0x80000000,
26 
27  // VMM Hit Data
28  eMaskVmmHitTDC = 0x000000ff,
29  eMaskVmmHitADC = 0x0003ff00,
30  eMaskVmmHitCHANNEL = 0x00fc0000,
31  eMaskVmmHitVMMID = 0x07000000,
32  eMaskVmmHitRELBCID = 0x38000000,
33  eMaskVmmHitN = 0x40000000, // neighbor
34  eMaskVmmHitP = 0x80000000, // parity bit
35 
36  // ROC Trailer (1 word)
37  eMaskTrailCHECKSUM = 0x000000ff,
38  eMaskTrailLENGTH = 0x0003ff00,
39  eMaskTrailL0ID = 0x003c0000,
40  eMaskTrailFLAGMISS = 0x3fc00000,
41  eMaskTrailTO = 0x40000000, // true if VMMs ignored due to timeouts
42  eMaskTrailEXTENDED = 0x80000000 // "extended-trailer" bit, not used
43  };

◆ NSWDataTypes

Enumerator
NSW_DATA_L1A 
NSW_DATA_MONITOR 
NSW_DATA_TO_SCA 
NSW_DATA_FROM_SCA 
NSW_DATA_TTC 
NSW_DATA_L1A_INFO 
NSW_DATA_EXT 
NSW_DATA_EXC 

Definition at line 29 of file NSWResourceId.h.

30  {
31  NSW_DATA_L1A = 0,
32  NSW_DATA_MONITOR = 1,
33  NSW_DATA_TO_SCA = 2,
35  NSW_DATA_TTC = 4,
37  NSW_DATA_EXT = 6,
38  NSW_DATA_EXC = 7
39  };

◆ NSWResourceTypes

Enumerator
NSW_RESOURCE_PAD 
NSW_RESOURCE_STRIP 
NSW_RESOURCE_TRIG_PROC 
NSW_RESOURCE_PAD_TRIG 
NSW_RESOURCE_L1DDC 
NSW_RESOURCE_ADDC 
NSW_RESOURCE_ROUTER 
NSW_RESOURCE_RIM_L1DDC 

Definition at line 17 of file NSWResourceId.h.

18  {
19  NSW_RESOURCE_PAD = 0,
27  };

◆ NSWTriggerExceptions

Enumerator
not_assigned 
unknown 
incomplete 
too_short 
flx_status 
flx_short 
mmmon_inv_id 
mml1a_inv_id 
mml1a_art_sz 
mml1a_trg_sz 

Definition at line 34 of file NSWTriggerElink.h.

34  {
35  not_assigned = -999, //default constructor valued for NSWTriggerException
36  unknown = -1, //unknown exception
37  incomplete = 0, //incomplete decoding for ROBFrag
38  too_short = 1, //shorter than minimum (2)
39  flx_status = 2, //felix status different from 0
40  flx_short = 3, //flx length shorter than bystream available
41  mmmon_inv_id = 4, //MMTP Mon elink invalid streamID
42  mml1a_inv_id = 5, //MMTP L1A elink invalid streamID
43  mml1a_art_sz = 6, //MMTP L1A ART stream data size invalid
44  mml1a_trg_sz = 7 //MMTP L1A Trigger stream data size invalid
45  };

◆ vmm_channels

Enumerator
VMM_per_MMFE8 
VMM_per_sFEB 
VMM_per_pFEB 
VMM_channels 

Definition at line 24 of file NSWDecodeHelper.h.

25  {
26  VMM_per_MMFE8 = 8,
27  VMM_per_sFEB = 3,
28  VMM_per_pFEB = 3,
29  VMM_channels = 64
30  };

Function Documentation

◆ bit_slice()

template<typename Target , typename Source >
Target Muon::nsw::bit_slice ( const std::span< const Source >  words,
const std::size_t  start,
const std::size_t  end 
)

Decode bits from data of words.

Start and end included

Template Parameters
TargetType of the value that is decoded
SourceType of the words in the data
Parameters
wordsData
startStart of value in bits
endStop of value in bits
Returns
Target Decoded value

Definition at line 77 of file NSWDecodeHelper.h.

77  {
78  // start and end are the positions in the entire stream
79  // start and end included;
80  const auto wordSize = sizeof(Source) * 8;
81  auto s = Target{};
82  const auto n = end / wordSize;
83  const auto m = start / wordSize;
84 
85  if (end < start) {
86  throw std::runtime_error(format("End must be larger than start ({} vs {})", start, end));
87  }
88  if (n >= std::size(words)) {
89  throw std::runtime_error(format("End index ({}) out of range (number of words: {}, maximum allowed index: {})", n, std::size(words), std::size(words) - 1));
90  }
91  if (sizeof(Target) < sizeof(Source) * (n - m + 1)) {
92  throw std::runtime_error(format("Target type (size {}) too small to fit result of bit_slice given start {} and end {} and source size {}", sizeof(Target), start, end, sizeof(Source)));
93  }
94 
95  for (auto i = m; i <= n; ++i) {
96  s = (s << wordSize) + words[i];
97  }
98  s >>= (n + 1) * wordSize - (end + 1);
99  // len = end - start + 1
100  const Target mask = ((Target{1}) << (end - start + 1)) - 1;
101  s &= mask;
102  return s;
103  }

◆ decode_and_advance()

template<typename Target , typename Source >
constexpr Target Muon::nsw::decode_and_advance ( const std::span< const Source >  words,
std::size_t &  start,
const std::size_t  size 
)
constexpr

Decode bits from data of words and advance the read pointer.

Template Parameters
TargetType of the value that is decoded
SourceType of the words in the data
Parameters
wordsData
startRead pointer (start of value in bits), increased by function
sizeNumber of bits to be decoded
Returns
Target Decoded value

Definition at line 116 of file NSWDecodeHelper.h.

116  {
117  const auto res = bit_slice<Target, Source>(words, start, start + size - 1);
118  start += size;
119  return res;
120  }

◆ decode_at_loc()

template<typename Target , typename Source >
constexpr Target Muon::nsw::decode_at_loc ( const std::span< const Source >  words,
std::size_t &  start,
const int  offset,
const std::size_t  size 
)
constexpr

Decode bits from data of words at read pointer + offset and NOT advance the read pointer.

Template Parameters
TargetType of the value that is decoded
SourceType of the words in the data
Parameters
wordsData
startRead pointer (start of value in bits)
offsetdecoding begins at read pointer + offset
sizeNumber of bits to be decoded
Returns
Target Decoded value

Definition at line 134 of file NSWDecodeHelper.h.

134  {
135  const auto res = bit_slice<Target, Source>(words, start + offset, start + size + offset - 1);
136  return res;
137  }

◆ ERS_DECLARE_ISSUE_BASE()

Muon::nsw::ERS_DECLARE_ISSUE_BASE ( MuonNSWCommonDecoder  ,
NSWElinkFelixHeaderException  ,
MuonNSWCommonDecoder::NSWElinkException  ,
""<<  name,
((std::string) name  
)

◆ fill_bitmask()

template<class Out >
constexpr Out Muon::nsw::fill_bitmask ( const uint8_t  first_bit,
const uint8_t  num_bits 
)
constexpr

Definition at line 166 of file NSWDecodeHelper.h.

166  {
167  Out mask {0};
168  for (uint8_t bit = first_bit; bit <= first_bit + num_bits ; ++bit){
169  mask |= (1<<bit);
170  }
171  return mask;
172  }

◆ format() [1/2]

template<typename T >
std::string Muon::nsw::format ( const std::string &  str,
const T &  arg 
)

Definition at line 40 of file NSWDecodeHelper.h.

40  {
41  std::stringstream ss;
42  std::size_t pos = str.find("{}");
43  if (pos == std::string::npos) {
44  ss << str;
45  } else {
46  ss << str.substr(0, pos) << arg << str.substr(pos + 2);
47  }
48  return ss.str();
49  }

◆ format() [2/2]

template<typename T , typename... Args>
std::string Muon::nsw::format ( const std::string &  str,
const T &  arg,
const Args &...  args 
)

Definition at line 53 of file NSWDecodeHelper.h.

53  {
54  std::stringstream ss;
55  std::size_t pos = str.find("{}");
56  if (pos == std::string::npos) {
57  ss << str;
58  } else {
59  ss << str.substr(0, pos) << arg << format(str.substr(pos + 2), args...);
60  }
61  return ss.str();
62  }

◆ max_bit()

template<class T >
constexpr int8_t Muon::nsw::max_bit ( const T &  number)
constexpr

Returns the most left hand bit which is set in a number.

Template Parameters
TAny built-in data type
Parameters
numbervalue
Returns
Set bit. -1 if no bit is set

Definition at line 144 of file NSWDecodeHelper.h.

144  {
145  constexpr int8_t num_bits = sizeof(number) * 8 - 1;
146  for (int8_t bit = num_bits; bit >= 0; --bit) {
147  if (number & (1u << bit))
148  return bit;
149  }
150  return -1;
151  }

◆ min_bit()

template<class T >
constexpr int8_t Muon::nsw::min_bit ( const T &  number)
constexpr

Returns the most right hand bit which is set in a number.

Template Parameters
TAny built-in data type
Parameters
numbervalue
Returns
Position of the bit. -1 if no bit is set

Definition at line 157 of file NSWDecodeHelper.h.

157  {
158  constexpr int8_t num_bits = sizeof(number) * 8 - 1;
159  for (size_t bit = 0; bit <= num_bits; ++bit) {
160  if (number & (1u << bit))
161  return bit;
162  }
163  return -1;
164  }

Variable Documentation

◆ NSWElinkROCHeaderException

Muon::nsw::NSWElinkROCHeaderException

Definition at line 22 of file NSWDecodeExceptions.h.

Muon::nsw::eMaskFlxLENGTH
@ eMaskFlxLENGTH
Definition: NSWDecodeBitmaps.h:14
Muon::nsw::bitMaskDataType
@ bitMaskDataType
Definition: NSWDecodeBitmaps.h:140
Muon::nsw::bitMaskSRocORBIT
@ bitMaskSRocORBIT
Definition: NSWDecodeBitmaps.h:57
Muon::nsw::VMM_channels
@ VMM_channels
Definition: NSWDecodeHelper.h:29
Muon::nsw::eMaskSRocNullL1ID
@ eMaskSRocNullL1ID
Definition: NSWDecodeBitmaps.h:19
Muon::nsw::bitMaskSRocNULL
@ bitMaskSRocNULL
Definition: NSWDecodeBitmaps.h:58
Muon::nsw::eMaskFlxSTATUS
@ eMaskFlxSTATUS
Definition: NSWDecodeBitmaps.h:15
Muon::nsw::bitPosVmmHitCHANNEL
@ bitPosVmmHitCHANNEL
Definition: NSWDecodeBitmaps.h:98
Muon::nsw::bitPosTrailTO
@ bitPosTrailTO
Definition: NSWDecodeBitmaps.h:109
Muon::nsw::eMaskVmmHitVMMID
@ eMaskVmmHitVMMID
Definition: NSWDecodeBitmaps.h:31
Muon::nsw::bitMaskResType
@ bitMaskResType
Definition: NSWDecodeBitmaps.h:139
Muon::nsw::bitPosElink
@ bitPosElink
Definition: NSWDecodeBitmaps.h:155
Muon::nsw::mml1a_inv_id
@ mml1a_inv_id
Definition: NSWTriggerElink.h:42
python.SystemOfUnits.s
int s
Definition: SystemOfUnits.py:131
Muon::nsw::bitMaskFlxLENGTH
@ bitMaskFlxLENGTH
Definition: NSWDecodeBitmaps.h:48
python.SystemOfUnits.m
int m
Definition: SystemOfUnits.py:91
Muon::nsw::eMaskObsEta
@ eMaskObsEta
Definition: NSWDecodeBitmaps.h:127
PowhegControl_ttHplus_NLO.ss
ss
Definition: PowhegControl_ttHplus_NLO.py:83
Muon::nsw::bitPosFlxLENGTH
@ bitPosFlxLENGTH
Definition: NSWDecodeBitmaps.h:82
xAOD::uint8_t
uint8_t
Definition: Muon_v1.cxx:575
Muon::nsw::bitMaskSRocNullL1ID
@ bitMaskSRocNullL1ID
Definition: NSWDecodeBitmaps.h:53
Muon::nsw::bitPosVmmHitTDC
@ bitPosVmmHitTDC
Definition: NSWDecodeBitmaps.h:96
Muon::nsw::eMaskVersion
@ eMaskVersion
Definition: NSWDecodeBitmaps.h:122
Muon::nsw::NSW_DATA_L1A_INFO
@ NSW_DATA_L1A_INFO
Definition: NSWResourceId.h:36
Muon::nsw::bitMaskFlxELINKID
@ bitMaskFlxELINKID
Definition: NSWDecodeBitmaps.h:50
Muon::nsw::NSW_DATA_TTC
@ NSW_DATA_TTC
Definition: NSWResourceId.h:35
Muon::nsw::bitMaskTrailL0ID
@ bitMaskTrailL0ID
Definition: NSWDecodeBitmaps.h:73
Muon::nsw::eMaskTrailLENGTH
@ eMaskTrailLENGTH
Definition: NSWDecodeBitmaps.h:38
Muon::nsw::bitMaskSRocL1ID
@ bitMaskSRocL1ID
Definition: NSWDecodeBitmaps.h:55
Muon::nsw::NSW_RESOURCE_TRIG_PROC
@ NSW_RESOURCE_TRIG_PROC
Definition: NSWResourceId.h:21
Muon::nsw::bitPosLayer
@ bitPosLayer
Definition: NSWDecodeBitmaps.h:157
Muon::nsw::bitMaskSRocBCID
@ bitMaskSRocBCID
Definition: NSWDecodeBitmaps.h:56
Muon::nsw::bitPosSRocL1ID
@ bitPosSRocL1ID
Definition: NSWDecodeBitmaps.h:89
Muon::nsw::bitPosTrailLENGTH
@ bitPosTrailLENGTH
Definition: NSWDecodeBitmaps.h:106
Muon::nsw::bitPosSRocBCID
@ bitPosSRocBCID
Definition: NSWDecodeBitmaps.h:90
Muon::nsw::bitPosFlxELINKID
@ bitPosFlxELINKID
Definition: NSWDecodeBitmaps.h:84
mergePhysValFiles.start
start
Definition: DataQuality/DataQualityUtils/scripts/mergePhysValFiles.py:14
Muon::nsw::bitPosTrailL0ID
@ bitPosTrailL0ID
Definition: NSWDecodeBitmaps.h:107
Muon::nsw::bitPosTrailEXTENDED
@ bitPosTrailEXTENDED
Definition: NSWDecodeBitmaps.h:110
Muon::nsw::eMaskSRocNullID
@ eMaskSRocNullID
Definition: NSWDecodeBitmaps.h:20
Muon::nsw::NSW_RESOURCE_STRIP
@ NSW_RESOURCE_STRIP
Definition: NSWResourceId.h:20
Muon::nsw::NSW_RESOURCE_PAD
@ NSW_RESOURCE_PAD
Definition: NSWResourceId.h:19
Muon::nsw::eMaskVmmHitP
@ eMaskVmmHitP
Definition: NSWDecodeBitmaps.h:34
Muon::nsw::bitPosSRocNOTDC
@ bitPosSRocNOTDC
Definition: NSWDecodeBitmaps.h:93
Muon::nsw::flx_status
@ flx_status
Definition: NSWTriggerElink.h:39
Muon::nsw::bitPosSRocNullID
@ bitPosSRocNullID
Definition: NSWDecodeBitmaps.h:88
Muon::nsw::bitPosVersion
@ bitPosVersion
Definition: NSWDecodeBitmaps.h:162
Muon::nsw::bitMaskObsDataType
@ bitMaskObsDataType
Definition: NSWDecodeBitmaps.h:150
Muon::nsw::bitPosSRocNULL
@ bitPosSRocNULL
Definition: NSWDecodeBitmaps.h:92
Muon::nsw::not_assigned
@ not_assigned
Definition: NSWTriggerElink.h:35
Muon::nsw::mml1a_trg_sz
@ mml1a_trg_sz
Definition: NSWTriggerElink.h:44
Muon::nsw::bitPosVmmHitP
@ bitPosVmmHitP
Definition: NSWDecodeBitmaps.h:102
Muon::nsw::bitMaskDetId
@ bitMaskDetId
Definition: NSWDecodeBitmaps.h:143
Muon::nsw::eMaskLayer
@ eMaskLayer
Definition: NSWDecodeBitmaps.h:117
Muon::nsw::eMaskSector
@ eMaskSector
Definition: NSWDecodeBitmaps.h:118
Muon::nsw::mml1a_art_sz
@ mml1a_art_sz
Definition: NSWTriggerElink.h:43
Trk::u
@ u
Enums for curvilinear frames.
Definition: ParamDefs.h:83
python.ElectronD3PDObject.Target
Target
Definition: ElectronD3PDObject.py:172
Muon::nsw::bitMaskRadius
@ bitMaskRadius
Definition: NSWDecodeBitmaps.h:136
Muon::nsw::eMaskTrailEXTENDED
@ eMaskTrailEXTENDED
Definition: NSWDecodeBitmaps.h:42
python.utils.AtlRunQueryLookup.mask
string mask
Definition: AtlRunQueryLookup.py:460
Muon::nsw::eMaskFlxELINKID
@ eMaskFlxELINKID
Definition: NSWDecodeBitmaps.h:16
mergePhysValFiles.end
end
Definition: DataQuality/DataQualityUtils/scripts/mergePhysValFiles.py:93
Muon::nsw::VMM_per_sFEB
@ VMM_per_sFEB
Definition: NSWDecodeHelper.h:27
Muon::nsw::bitPosTrailCHECKSUM
@ bitPosTrailCHECKSUM
Definition: NSWDecodeBitmaps.h:105
Muon::nsw::OFFLINE_CHANNEL_TYPE_PAD
@ OFFLINE_CHANNEL_TYPE_PAD
Definition: NSWDecodeHelper.h:19
Muon::nsw::NSW_DATA_TO_SCA
@ NSW_DATA_TO_SCA
Definition: NSWResourceId.h:33
Muon::nsw::eMaskObsDataType
@ eMaskObsDataType
Definition: NSWDecodeBitmaps.h:130
Muon::nsw::bitPosSRocNullL1ID
@ bitPosSRocNullL1ID
Definition: NSWDecodeBitmaps.h:87
Muon::nsw::bitPosSector
@ bitPosSector
Definition: NSWDecodeBitmaps.h:158
Muon::nsw::bitMaskSRocNullID
@ bitMaskSRocNullID
Definition: NSWDecodeBitmaps.h:54
Muon::nsw::eMaskResType
@ eMaskResType
Definition: NSWDecodeBitmaps.h:119
Muon::nsw::bitPosObsDataType
@ bitPosObsDataType
Definition: NSWDecodeBitmaps.h:170
Muon::nsw::bitPosVmmHitRELBCID
@ bitPosVmmHitRELBCID
Definition: NSWDecodeBitmaps.h:100
python.setupRTTAlg.size
int size
Definition: setupRTTAlg.py:39
Muon::nsw::bitPosVmmHitVMMID
@ bitPosVmmHitVMMID
Definition: NSWDecodeBitmaps.h:99
Muon::nsw::bitPosRESERVED
@ bitPosRESERVED
Definition: NSWDecodeBitmaps.h:161
Muon::nsw::bitMaskRESERVED
@ bitMaskRESERVED
Definition: NSWDecodeBitmaps.h:141
Muon::nsw::bitMaskTrailEXTENDED
@ bitMaskTrailEXTENDED
Definition: NSWDecodeBitmaps.h:76
Muon::nsw::bitPosFlxSTATUS
@ bitPosFlxSTATUS
Definition: NSWDecodeBitmaps.h:83
lumiFormat.i
int i
Definition: lumiFormat.py:92
Muon::nsw::bitMaskTrailLENGTH
@ bitMaskTrailLENGTH
Definition: NSWDecodeBitmaps.h:72
beamspotman.n
n
Definition: beamspotman.py:731
Muon::nsw::bitPosObsEta
@ bitPosObsEta
Definition: NSWDecodeBitmaps.h:167
Muon::nsw::eMaskObsTech
@ eMaskObsTech
Definition: NSWDecodeBitmaps.h:129
res
std::pair< std::vector< unsigned int >, bool > res
Definition: JetGroupProductTest.cxx:14
Muon::nsw::flx_short
@ flx_short
Definition: NSWTriggerElink.h:40
Muon::nsw::eMaskTrailL0ID
@ eMaskTrailL0ID
Definition: NSWDecodeBitmaps.h:39
Muon::nsw::eMaskSRocORBIT
@ eMaskSRocORBIT
Definition: NSWDecodeBitmaps.h:23
Muon::nsw::bitPosResType
@ bitPosResType
Definition: NSWDecodeBitmaps.h:159
Muon::nsw::bitMaskTrailCHECKSUM
@ bitMaskTrailCHECKSUM
Definition: NSWDecodeBitmaps.h:71
Muon::nsw::bitMaskVmmHitVMMID
@ bitMaskVmmHitVMMID
Definition: NSWDecodeBitmaps.h:65
Muon::nsw::eMaskTrailTO
@ eMaskTrailTO
Definition: NSWDecodeBitmaps.h:41
Muon::nsw::bitMaskLayer
@ bitMaskLayer
Definition: NSWDecodeBitmaps.h:137
Muon::nsw::NSW_RESOURCE_PAD_TRIG
@ NSW_RESOURCE_PAD_TRIG
Definition: NSWResourceId.h:22
Muon::nsw::eMaskTrailFLAGMISS
@ eMaskTrailFLAGMISS
Definition: NSWDecodeBitmaps.h:40
Muon::nsw::NSW_DATA_EXT
@ NSW_DATA_EXT
Definition: NSWResourceId.h:37
Muon::nsw::bitPosVmmHitADC
@ bitPosVmmHitADC
Definition: NSWDecodeBitmaps.h:97
Muon::nsw::bitMaskVmmHitP
@ bitMaskVmmHitP
Definition: NSWDecodeBitmaps.h:68
Muon::nsw::OFFLINE_CHANNEL_TYPE_WIRE
@ OFFLINE_CHANNEL_TYPE_WIRE
Definition: NSWDecodeHelper.h:21
Muon::nsw::NSW_DATA_L1A
@ NSW_DATA_L1A
Definition: NSWResourceId.h:31
create_dcsc_inputs_sqlite.arg
list arg
Definition: create_dcsc_inputs_sqlite.py:48
Muon::nsw::bitMaskVmmHitCHANNEL
@ bitMaskVmmHitCHANNEL
Definition: NSWDecodeBitmaps.h:64
Muon::nsw::bitMaskObsResType
@ bitMaskObsResType
Definition: NSWDecodeBitmaps.h:148
Muon::nsw::incomplete
@ incomplete
Definition: NSWTriggerElink.h:37
Muon::nsw::mmmon_inv_id
@ mmmon_inv_id
Definition: NSWTriggerElink.h:41
Muon::nsw::bitMaskFlxSTATUS
@ bitMaskFlxSTATUS
Definition: NSWDecodeBitmaps.h:49
Muon::nsw::eMaskSRocL1ID
@ eMaskSRocL1ID
Definition: NSWDecodeBitmaps.h:21
Muon::nsw::unknown
@ unknown
Definition: NSWTriggerElink.h:36
Muon::nsw::NSW_RESOURCE_ROUTER
@ NSW_RESOURCE_ROUTER
Definition: NSWResourceId.h:25
python.selection.number
number
Definition: selection.py:20
Muon::nsw::eMaskRadius
@ eMaskRadius
Definition: NSWDecodeBitmaps.h:116
Muon::nsw::VMM_per_MMFE8
@ VMM_per_MMFE8
Definition: NSWDecodeHelper.h:26
Muon::nsw::bitMaskSector
@ bitMaskSector
Definition: NSWDecodeBitmaps.h:138
Muon::nsw::bitMaskSRocNOTDC
@ bitMaskSRocNOTDC
Definition: NSWDecodeBitmaps.h:59
Muon::nsw::eMaskVmmHitN
@ eMaskVmmHitN
Definition: NSWDecodeBitmaps.h:33
python.LumiBlobConversion.pos
pos
Definition: LumiBlobConversion.py:18
Muon::nsw::eMaskVmmHitRELBCID
@ eMaskVmmHitRELBCID
Definition: NSWDecodeBitmaps.h:32
Muon::nsw::NSW_DATA_EXC
@ NSW_DATA_EXC
Definition: NSWResourceId.h:38
Muon::nsw::eMaskDataType
@ eMaskDataType
Definition: NSWDecodeBitmaps.h:120
Muon::nsw::eMaskDetId
@ eMaskDetId
Definition: NSWDecodeBitmaps.h:123
Muon::nsw::bitMaskTrailTO
@ bitMaskTrailTO
Definition: NSWDecodeBitmaps.h:75
Muon::nsw::bitPosDetId
@ bitPosDetId
Definition: NSWDecodeBitmaps.h:163
Muon::nsw::VMM_per_pFEB
@ VMM_per_pFEB
Definition: NSWDecodeHelper.h:28
Muon::nsw::bitMaskElink
@ bitMaskElink
Definition: NSWDecodeBitmaps.h:135
Muon::nsw::eMaskElink
@ eMaskElink
Definition: NSWDecodeBitmaps.h:115
Muon::nsw::bitMaskObsTech
@ bitMaskObsTech
Definition: NSWDecodeBitmaps.h:149
Muon::nsw::bitPosRadius
@ bitPosRadius
Definition: NSWDecodeBitmaps.h:156
python.CaloScaleNoiseConfig.str
str
Definition: CaloScaleNoiseConfig.py:78
Muon::nsw::NSW_RESOURCE_RIM_L1DDC
@ NSW_RESOURCE_RIM_L1DDC
Definition: NSWResourceId.h:26
Muon::nsw::NSW_RESOURCE_ADDC
@ NSW_RESOURCE_ADDC
Definition: NSWResourceId.h:24
Muon::nsw::eMaskVmmHitTDC
@ eMaskVmmHitTDC
Definition: NSWDecodeBitmaps.h:28
Muon::nsw::bitPosSRocORBIT
@ bitPosSRocORBIT
Definition: NSWDecodeBitmaps.h:91
Muon::nsw::OFFLINE_CHANNEL_TYPE_STRIP
@ OFFLINE_CHANNEL_TYPE_STRIP
Definition: NSWDecodeHelper.h:20
Muon::nsw::bitMaskObsEta
@ bitMaskObsEta
Definition: NSWDecodeBitmaps.h:147
convertTimingResiduals.offset
offset
Definition: convertTimingResiduals.py:71
Muon::nsw::eMaskObsResType
@ eMaskObsResType
Definition: NSWDecodeBitmaps.h:128
Muon::nsw::bitPosObsResType
@ bitPosObsResType
Definition: NSWDecodeBitmaps.h:168
Muon::nsw::eMaskSRocBCID
@ eMaskSRocBCID
Definition: NSWDecodeBitmaps.h:22
Muon::nsw::bitPosTrailFLAGMISS
@ bitPosTrailFLAGMISS
Definition: NSWDecodeBitmaps.h:108
Muon::nsw::too_short
@ too_short
Definition: NSWTriggerElink.h:38
Muon::nsw::eMaskSRocNULL
@ eMaskSRocNULL
Definition: NSWDecodeBitmaps.h:24
Muon::nsw::eMaskVmmHitCHANNEL
@ eMaskVmmHitCHANNEL
Definition: NSWDecodeBitmaps.h:30
str
Definition: BTagTrackIpAccessor.cxx:11
Muon::nsw::bitPosObsTech
@ bitPosObsTech
Definition: NSWDecodeBitmaps.h:169
Muon::nsw::format
std::string format(const std::string &str, const T &arg, const Args &... args)
Definition: NSWDecodeHelper.h:53
Muon::nsw::bitMaskVmmHitRELBCID
@ bitMaskVmmHitRELBCID
Definition: NSWDecodeBitmaps.h:66
Muon::nsw::eMaskVmmHitADC
@ eMaskVmmHitADC
Definition: NSWDecodeBitmaps.h:29
Muon::nsw::bitMaskVmmHitN
@ bitMaskVmmHitN
Definition: NSWDecodeBitmaps.h:67
Muon::nsw::eMaskSRocNOTDC
@ eMaskSRocNOTDC
Definition: NSWDecodeBitmaps.h:25
checkFileSG.words
words
Definition: checkFileSG.py:76
Muon::nsw::bitPosVmmHitN
@ bitPosVmmHitN
Definition: NSWDecodeBitmaps.h:101
Muon::nsw::NSW_RESOURCE_L1DDC
@ NSW_RESOURCE_L1DDC
Definition: NSWResourceId.h:23
Muon::nsw::bitMaskVmmHitTDC
@ bitMaskVmmHitTDC
Definition: NSWDecodeBitmaps.h:62
Muon::nsw::bitMaskVersion
@ bitMaskVersion
Definition: NSWDecodeBitmaps.h:142
Muon::nsw::eMaskTrailCHECKSUM
@ eMaskTrailCHECKSUM
Definition: NSWDecodeBitmaps.h:37
Muon::nsw::bitMaskVmmHitADC
@ bitMaskVmmHitADC
Definition: NSWDecodeBitmaps.h:63
python.CaloScaleNoiseConfig.args
args
Definition: CaloScaleNoiseConfig.py:80
Muon::nsw::NSW_DATA_MONITOR
@ NSW_DATA_MONITOR
Definition: NSWResourceId.h:32
Muon::nsw::bitPosDataType
@ bitPosDataType
Definition: NSWDecodeBitmaps.h:160
Muon::nsw::NSW_DATA_FROM_SCA
@ NSW_DATA_FROM_SCA
Definition: NSWResourceId.h:34
Muon::nsw::eMaskRESERVED
@ eMaskRESERVED
Definition: NSWDecodeBitmaps.h:121
Muon::nsw::bitMaskTrailFLAGMISS
@ bitMaskTrailFLAGMISS
Definition: NSWDecodeBitmaps.h:74
python.LArRawChannelBuilderCrestConfig.Source
Source
Definition: LArRawChannelBuilderCrestConfig.py:115