ATLAS Offline Software
ZdcL1CaloSubBlock.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TRIGT1CALOBYTESTREAM_ZDCL1CALOSUBBLOCK_H
6 #define TRIGT1CALOBYTESTREAM_ZDCL1CALOSUBBLOCK_H
7 
8 #include <stdint.h>
9 #include <vector>
10 
12 
13 // PAS 8/14/15 not needed for compilation
14 //#include "L1CaloSrcIdMap.h"
15 
16 //namespace LVL1BS {
17 
26 
27  public:
31  // Errors detected before unpacking
38  // Errors detected during unpacking
44 
47 
49  void clear();
50 
52  int dataWords() const;
53 
55  void setHeader(int wordId, int version, int format, int seqno, int crate,
56  int module, int slices2, int slices1);
57 
58  // Return unpacked header data
59  int wordId() const;
60  int version() const;
61  int format() const;
62  int seqno() const;
63  int slice() const;
64  int crate() const;
65  int module() const;
66  int slices2() const;
67  int slices1() const;
68 
69  // Return unpacked error status data
70  uint32_t failingBCN() const;
71  bool glinkTimeout() const;
72  bool glinkDown() const;
73  bool upstreamError() const;
74  bool daqOverflow() const;
75  bool bcnMismatch() const;
76  bool glinkProtocol() const;
77  bool glinkParity() const;
78 
80  uint32_t subStatus() const;
81 
83  void setBunchCrossing(int bc);
85  int bunchCrossing() const;
86 
88  // (OFFLINE_FRAGMENTS_NAMESPACE::PointerType = uint32_t*)
92 
94  // (FullEventAssembler<L1CaloSrcIdMap>::RODDATA = vector<uint32_t>)
95  // PAS 8/14/15 Not needed for compilation
96  //void write(FullEventAssembler<L1CaloSrcIdMap>::RODDATA* theROD) const;
97 
100  bool upstreamError, bool daqOverflow, bool bcnMismatch,
101  bool glinkProtocol, bool glinkParity);
102 
104  void setDaqOverflow(int bit = 1);
106  void setGlinkParity(int bit = 1);
107 
111  static int wordId(uint32_t word);
113  static int version(uint32_t word);
115  static int format(uint32_t word);
117  static int seqno(uint32_t word);
119  static int module(uint32_t word);
120 
121  // Unpacking error code. Set by derived classes
123  void setUnpackErrorCode(int code);
125  int unpackErrorCode() const;
127  std::string unpackErrorMsg() const;
128 
129  // Packing utilities
131  int minBits(uint32_t datum) const;
133  int parityBit(int init, uint32_t datum, int nbits) const;
135  void packer(uint32_t datum, int nbits);
137  void packerFlush();
139  void setStreamed();
141  uint32_t unpacker(int nbits);
142  uint32_t unpacker(int nbits, int align);
144  void unpackerInit();
146  bool unpackerSuccess() const;
147 
148  // Neutral format packing utilities
150  void packerNeutral(int pin, uint32_t datum, int nbits);
152  void packerNeutralParity(int pin);
154  uint32_t unpackerNeutral(int pin, int nbits);
158  int currentPinBit(int pin) const;
159 
160  private:
161  // Constants.
162  // Header and status ID
163  static const int s_headerBit = 30;
164  static const int s_statusBit = 28;
165  static const uint32_t s_headerMask = 0x3;
166  static const uint32_t s_statusMask = 0x1;
167  static const uint32_t s_headerVal = 0x3;
168  static const uint32_t s_statusVal = 0x1;
169  // First non-PPM crate
170  static const int s_ppmCrates = 8;
171  // Header word data positions and masks
172  static const int s_wordIdBit = 28;
173  static const int s_versionBit = 25;
174  static const int s_formatBit = 22;
175  static const int s_seqnoBit = 16;
176  static const int s_crateBit = 12;
177  static const int s_moduleBit = 8;
178  static const int s_slices2Bit = 3;
179  static const int s_slices1Bit = 0;
180  static const uint32_t s_wordIdMask = 0xf;
181  static const uint32_t s_versionMask = 0x7;
182  static const uint32_t s_formatMask = 0x7;
183  static const uint32_t s_seqnoMask = 0x3f;
184  static const uint32_t s_crateMask = 0xf;
185  static const uint32_t s_moduleMask = 0xf;
186  static const uint32_t s_slices2Mask = 0x1f;
187  static const uint32_t s_slices1Mask = 0x7;
188  // Status word data positions and masks
189  static const int s_failingBcnBit = 22;
190  static const int s_glinkTimeoutBit = 7;
191  static const int s_glinkDownBit = 6;
192  static const int s_upstreamErrorBit = 4;
193  static const int s_daqOverflowBit = 3;
194  static const int s_bcnMismatchBit = 2;
195  static const int s_glinkProtocolBit = 1;
196  static const int s_glinkParityBit = 0;
197  static const uint32_t s_failingBcnMask = 0x3f;
198  // Packing word sizes and masks
199  static const int s_maxWordBits = 32;
200  static const int s_maxStreamedBits = 31;
201  static const uint32_t s_maxWordMask = 0xffffffff;
202  static const uint32_t s_maxStreamedMask = 0x7fffffff;
203  // Neutral packing
204  static const int s_maxPins = 20;
205  static const uint32_t s_glinkDavSet = 0x400000;
206 
215  // Used for bit-packing
221  std::vector<uint32_t>::const_iterator m_dataPos;
222  std::vector<uint32_t>::const_iterator m_dataPosEnd;
223  // Used for neutral bit packing
224  std::vector<int> m_currentPinBit;
225  std::vector<int> m_oddParity;
229  std::vector<uint32_t> m_data;
231  std::vector<uint32_t> m_unpackingMasks;
232 
233 };
234 
236 {
237  return m_dataWords;
238 }
239 
240 inline int ZdcL1CaloSubBlock::wordId() const
241 {
242  return (m_header >> s_wordIdBit) & s_wordIdMask;
243 }
244 
245 inline int ZdcL1CaloSubBlock::version() const
246 {
247  return (m_header >> s_versionBit) & s_versionMask;
248 }
249 
250 inline int ZdcL1CaloSubBlock::format() const
251 {
252  return (m_header >> s_formatBit) & s_formatMask;
253 }
254 
255 inline int ZdcL1CaloSubBlock::seqno() const
256 {
257  return (m_header >> s_seqnoBit) & s_seqnoMask;
258 }
259 
260 inline int ZdcL1CaloSubBlock::slice() const
261 {
262  return seqno();
263 }
264 
265 inline int ZdcL1CaloSubBlock::crate() const
266 {
267  return (m_header >> s_crateBit) & s_crateMask;
268 }
269 
270 inline int ZdcL1CaloSubBlock::module() const
271 {
272  return (m_header >> s_moduleBit) & s_moduleMask;
273 }
274 
275 inline int ZdcL1CaloSubBlock::slices2() const
276 {
277  return (m_header >> s_slices2Bit) & s_slices2Mask;
278 }
279 
280 inline int ZdcL1CaloSubBlock::slices1() const
281 {
282  return (m_header >> s_slices1Bit) & s_slices1Mask;
283 }
284 
286 {
288 }
289 
291 {
292  return m_trailer & (0x1 << s_glinkTimeoutBit);
293 }
294 
295 inline bool ZdcL1CaloSubBlock::glinkDown() const
296 {
297  return m_trailer & (0x1 << s_glinkDownBit);
298 }
299 
301 {
302  return m_trailer & (0x1 << s_upstreamErrorBit);
303 }
304 
306 {
307  return m_trailer & (0x1 << s_daqOverflowBit);
308 }
309 
311 {
312  return m_trailer & (0x1 << s_bcnMismatchBit);
313 }
314 
316 {
317  return m_trailer & (0x1 << s_glinkProtocolBit);
318 }
319 
321 {
322  return m_trailer & (0x1 << s_glinkParityBit);
323 }
324 
326 {
327  return m_trailer;
328 }
329 
330 inline void ZdcL1CaloSubBlock::setBunchCrossing(const int bc)
331 {
332  if (bc) m_bunchCrossing = bc;
333 }
334 
336 {
337  return m_bunchCrossing;
338 }
339 
341 {
343 }
344 
346 {
347  return m_unpackError;
348 }
349 
351 {
354 }
355 
357 {
358  return m_unpackerFlag;
359 }
360 
361 inline int ZdcL1CaloSubBlock::currentPinBit(int pin) const
362 {
363  return m_currentPinBit[pin];
364 }
365 
366 //} // end namespace
367 
368 #endif
ZdcL1CaloSubBlock::m_dataPosEnd
std::vector< uint32_t >::const_iterator m_dataPosEnd
Definition: ZdcL1CaloSubBlock.h:222
ZdcL1CaloSubBlock::unpackerInit
void unpackerInit()
Initialise unpacker.
ZdcL1CaloSubBlock::s_moduleBit
static const int s_moduleBit
Definition: ZdcL1CaloSubBlock.h:177
ZdcL1CaloSubBlock::crate
int crate() const
Definition: ZdcL1CaloSubBlock.h:265
ZdcL1CaloSubBlock::s_wordIdMask
static const uint32_t s_wordIdMask
Definition: ZdcL1CaloSubBlock.h:180
ZdcL1CaloSubBlock::s_ppmCrates
static const int s_ppmCrates
Definition: ZdcL1CaloSubBlock.h:170
ZdcL1CaloSubBlock::DataFormats
DataFormats
Definition: ZdcL1CaloSubBlock.h:29
ZdcL1CaloSubBlock::subStatus
uint32_t subStatus() const
Return Sub-status word.
Definition: ZdcL1CaloSubBlock.h:325
ZdcL1CaloSubBlock::NEUTRAL
@ NEUTRAL
Definition: ZdcL1CaloSubBlock.h:29
ZdcL1CaloSubBlock::s_slices1Mask
static const uint32_t s_slices1Mask
Definition: ZdcL1CaloSubBlock.h:187
ZdcL1CaloSubBlock::packerNeutralParity
void packerNeutralParity(int pin)
Pack current G-Link parity bit for given pin.
ZdcL1CaloSubBlock::read
OFFLINE_FRAGMENTS_NAMESPACE::PointerType read(const OFFLINE_FRAGMENTS_NAMESPACE::PointerType beg, const OFFLINE_FRAGMENTS_NAMESPACE::PointerType end)
Input complete packed sub-block from ROD array.
ZdcL1CaloSubBlock::s_failingBcnMask
static const uint32_t s_failingBcnMask
Definition: ZdcL1CaloSubBlock.h:197
ZdcL1CaloSubBlock::packer
void packer(uint32_t datum, int nbits)
Pack given data into given number of bits.
ZdcL1CaloSubBlock::UNPACK_NONE
@ UNPACK_NONE
Definition: ZdcL1CaloSubBlock.h:39
ZdcL1CaloSubBlock::s_failingBcnBit
static const int s_failingBcnBit
Definition: ZdcL1CaloSubBlock.h:189
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
ZdcL1CaloSubBlock::s_headerMask
static const uint32_t s_headerMask
Definition: ZdcL1CaloSubBlock.h:165
ZdcL1CaloSubBlock::slices1
int slices1() const
Definition: ZdcL1CaloSubBlock.h:280
ZdcL1CaloSubBlock::ERROR_MAX
@ ERROR_MAX
Definition: ZdcL1CaloSubBlock.h:37
ZdcL1CaloSubBlock::format
int format() const
Definition: ZdcL1CaloSubBlock.h:250
ZdcL1CaloSubBlock::m_unpackerFlag
bool m_unpackerFlag
Definition: ZdcL1CaloSubBlock.h:220
ZdcL1CaloSubBlock::HEADER
@ HEADER
Definition: ZdcL1CaloSubBlock.h:28
ZdcL1CaloSubBlock::s_wordIdBit
static const int s_wordIdBit
Definition: ZdcL1CaloSubBlock.h:172
ZdcL1CaloSubBlock::wordType
static SubBlockWordType wordType(uint32_t word)
Word identification.
ZdcL1CaloSubBlock::setUnpackErrorCode
void setUnpackErrorCode(int code)
Set the unpacking error code.
Definition: ZdcL1CaloSubBlock.h:340
ZdcL1CaloSubBlock::unpackerNeutralParityError
bool unpackerNeutralParityError(int pin)
Unpack and test G-Link parity bit for given pin.
ZdcL1CaloSubBlock::setStatus
void setStatus(uint32_t failingBCN, bool glinkTimeout, bool glinkDown, bool upstreamError, bool daqOverflow, bool bcnMismatch, bool glinkProtocol, bool glinkParity)
Output complete packed sub-block to ROD vector.
ZdcL1CaloSubBlock::UnpackErrorType
UnpackErrorType
Definition: ZdcL1CaloSubBlock.h:39
ZdcL1CaloSubBlock::DataErrorType
DataErrorType
Definition: ZdcL1CaloSubBlock.h:32
ZdcL1CaloSubBlock::m_unpackError
int m_unpackError
Unpacking error code.
Definition: ZdcL1CaloSubBlock.h:214
ZdcL1CaloSubBlock::s_maxStreamedBits
static const int s_maxStreamedBits
Definition: ZdcL1CaloSubBlock.h:200
ZdcL1CaloSubBlock::ERROR_CRATE_NUMBER
@ ERROR_CRATE_NUMBER
Definition: ZdcL1CaloSubBlock.h:35
ZdcL1CaloSubBlock::s_headerBit
static const int s_headerBit
Definition: ZdcL1CaloSubBlock.h:163
ZdcL1CaloSubBlock::minBits
int minBits(uint32_t datum) const
Return the minimum number of bits needed for given data.
ZdcL1CaloSubBlock::s_versionMask
static const uint32_t s_versionMask
Definition: ZdcL1CaloSubBlock.h:181
ZdcL1CaloSubBlock::bunchCrossing
int bunchCrossing() const
Return the Bunch Crossing number (neutral format only)
Definition: ZdcL1CaloSubBlock.h:335
ZdcL1CaloSubBlock::unpacker
uint32_t unpacker(int nbits, int align)
ZdcL1CaloSubBlock::m_currentPinBit
std::vector< int > m_currentPinBit
Definition: ZdcL1CaloSubBlock.h:224
ZdcL1CaloSubBlock::failingBCN
uint32_t failingBCN() const
Definition: ZdcL1CaloSubBlock.h:285
ZdcL1CaloSubBlock::setHeader
void setHeader(int wordId, int version, int format, int seqno, int crate, int module, int slices2, int slices1)
Store header data.
ZdcL1CaloSubBlock::s_slices2Mask
static const uint32_t s_slices2Mask
Definition: ZdcL1CaloSubBlock.h:186
ZdcL1CaloSubBlock::daqOverflow
bool daqOverflow() const
Definition: ZdcL1CaloSubBlock.h:305
ZdcL1CaloSubBlock::setStreamed
void setStreamed()
Set continuous bit streaming for compressed formats.
Definition: ZdcL1CaloSubBlock.h:350
ZdcL1CaloSubBlock::dataWords
int dataWords() const
Return number of data words.
Definition: ZdcL1CaloSubBlock.h:235
ZdcL1CaloSubBlock::module
int module() const
Definition: ZdcL1CaloSubBlock.h:270
ZdcL1CaloSubBlock::s_glinkTimeoutBit
static const int s_glinkTimeoutBit
Definition: ZdcL1CaloSubBlock.h:190
ZdcL1CaloSubBlock::UNPACK_EXCESS_TOBS
@ UNPACK_EXCESS_TOBS
Definition: ZdcL1CaloSubBlock.h:43
ZdcL1CaloSubBlock::COMPRESSED
@ COMPRESSED
Definition: ZdcL1CaloSubBlock.h:29
ZdcL1CaloSubBlock::bcnMismatch
bool bcnMismatch() const
Definition: ZdcL1CaloSubBlock.h:310
ZdcL1CaloSubBlock::parityBit
int parityBit(int init, uint32_t datum, int nbits) const
Return the parity bit for given data.
mergePhysValFiles.end
end
Definition: DataQuality/DataQualityUtils/scripts/mergePhysValFiles.py:93
ZdcL1CaloSubBlock::unpackerSuccess
bool unpackerSuccess() const
Return unpacker success flag.
Definition: ZdcL1CaloSubBlock.h:356
ZdcL1CaloSubBlock::s_maxWordMask
static const uint32_t s_maxWordMask
Definition: ZdcL1CaloSubBlock.h:201
ZdcL1CaloSubBlock::glinkProtocol
bool glinkProtocol() const
Definition: ZdcL1CaloSubBlock.h:315
ZdcL1CaloSubBlock::glinkTimeout
bool glinkTimeout() const
Definition: ZdcL1CaloSubBlock.h:290
ZdcL1CaloSubBlock::clear
void clear()
Clear all data.
ZdcL1CaloSubBlock::ERROR_DUPLICATE_ROB
@ ERROR_DUPLICATE_ROB
Definition: ZdcL1CaloSubBlock.h:32
ZdcL1CaloSubBlock::version
int version() const
Definition: ZdcL1CaloSubBlock.h:245
ZdcL1CaloSubBlock::s_maxPins
static const int s_maxPins
Definition: ZdcL1CaloSubBlock.h:204
OFFLINE_FRAGMENTS_NAMESPACE::PointerType
const DataType * PointerType
Definition: RawEvent.h:25
ZdcL1CaloSubBlock::s_moduleMask
static const uint32_t s_moduleMask
Definition: ZdcL1CaloSubBlock.h:185
ZdcL1CaloSubBlock::slice
int slice() const
Definition: ZdcL1CaloSubBlock.h:260
ZdcL1CaloSubBlock::UNCOMPRESSED
@ UNCOMPRESSED
Definition: ZdcL1CaloSubBlock.h:29
ZdcL1CaloSubBlock::m_unpackingMasks
std::vector< uint32_t > m_unpackingMasks
Unpacking masks.
Definition: ZdcL1CaloSubBlock.h:231
ZdcL1CaloSubBlock::s_statusBit
static const int s_statusBit
Definition: ZdcL1CaloSubBlock.h:164
ZdcL1CaloSubBlock::m_data
std::vector< uint32_t > m_data
Sub-Block data.
Definition: ZdcL1CaloSubBlock.h:229
ZdcL1CaloSubBlock::seqno
int seqno() const
Definition: ZdcL1CaloSubBlock.h:255
ZdcL1CaloSubBlock::slices2
int slices2() const
Definition: ZdcL1CaloSubBlock.h:275
ZdcL1CaloSubBlock::s_glinkProtocolBit
static const int s_glinkProtocolBit
Definition: ZdcL1CaloSubBlock.h:195
ZdcL1CaloSubBlock::packerFlush
void packerFlush()
Flush the current data word padded with zeros.
ZdcL1CaloSubBlock::ERROR_MISSING_SUBBLOCK
@ ERROR_MISSING_SUBBLOCK
Definition: ZdcL1CaloSubBlock.h:34
ZdcL1CaloSubBlock::currentPinBit
int currentPinBit(int pin) const
Return current pin bit for given pin.
Definition: ZdcL1CaloSubBlock.h:361
ZdcL1CaloSubBlock::UNPACK_VERSION
@ UNPACK_VERSION
Definition: ZdcL1CaloSubBlock.h:39
ZdcL1CaloSubBlock::upstreamError
bool upstreamError() const
Definition: ZdcL1CaloSubBlock.h:300
ZdcL1CaloSubBlock::UNPACK_DATA_ID
@ UNPACK_DATA_ID
Definition: ZdcL1CaloSubBlock.h:43
ZdcL1CaloSubBlock::s_crateMask
static const uint32_t s_crateMask
Definition: ZdcL1CaloSubBlock.h:184
ZdcL1CaloSubBlock::s_statusVal
static const uint32_t s_statusVal
Definition: ZdcL1CaloSubBlock.h:168
ZdcL1CaloSubBlock::s_formatBit
static const int s_formatBit
Definition: ZdcL1CaloSubBlock.h:174
ZdcL1CaloSubBlock::UNPACK_COMPRESSION_SLICES
@ UNPACK_COMPRESSION_SLICES
Definition: ZdcL1CaloSubBlock.h:41
ZdcL1CaloSubBlock::setBunchCrossing
void setBunchCrossing(int bc)
Set the Bunch Crossing number (neutral format only)
Definition: ZdcL1CaloSubBlock.h:330
ZdcL1CaloSubBlock::m_maxBits
int m_maxBits
Definition: ZdcL1CaloSubBlock.h:218
ZdcL1CaloSubBlock::UNPACK_SOURCE_ID
@ UNPACK_SOURCE_ID
Definition: ZdcL1CaloSubBlock.h:42
ZdcL1CaloSubBlock::s_maxWordBits
static const int s_maxWordBits
Definition: ZdcL1CaloSubBlock.h:199
ZdcL1CaloSubBlock::m_dataWords
int m_dataWords
Current number of data words.
Definition: ZdcL1CaloSubBlock.h:227
ZdcL1CaloSubBlock::wordId
int wordId() const
Definition: ZdcL1CaloSubBlock.h:240
ZdcL1CaloSubBlock::m_dataPos
std::vector< uint32_t >::const_iterator m_dataPos
Definition: ZdcL1CaloSubBlock.h:221
ZdcL1CaloSubBlock::s_slices1Bit
static const int s_slices1Bit
Definition: ZdcL1CaloSubBlock.h:179
ZdcL1CaloSubBlock::SUPERCOMPRESSED
@ SUPERCOMPRESSED
Definition: ZdcL1CaloSubBlock.h:30
ZdcL1CaloSubBlock::UNPACK_EXCESS_DATA
@ UNPACK_EXCESS_DATA
Definition: ZdcL1CaloSubBlock.h:42
ZdcL1CaloSubBlock::ZdcL1CaloSubBlock
ZdcL1CaloSubBlock()
ZdcL1CaloSubBlock::s_glinkDownBit
static const int s_glinkDownBit
Definition: ZdcL1CaloSubBlock.h:191
FullEventAssembler.h
ZdcL1CaloSubBlock::m_bitword
uint32_t m_bitword
Definition: ZdcL1CaloSubBlock.h:216
ZdcL1CaloSubBlock::s_seqnoBit
static const int s_seqnoBit
Definition: ZdcL1CaloSubBlock.h:175
ZdcL1CaloSubBlock::s_glinkParityBit
static const int s_glinkParityBit
Definition: ZdcL1CaloSubBlock.h:196
pmontree.code
code
Definition: pmontree.py:443
WriteBchToCool.beg
beg
Definition: WriteBchToCool.py:69
ZdcL1CaloSubBlock::DATA
@ DATA
Definition: ZdcL1CaloSubBlock.h:28
ZdcL1CaloSubBlock::UNPACK_COMPRESSION_VERSION
@ UNPACK_COMPRESSION_VERSION
Definition: ZdcL1CaloSubBlock.h:40
ZdcL1CaloSubBlock::seqno
static int seqno(uint32_t word)
Return seqno field from given header word.
ZdcL1CaloSubBlock::ERROR_ROD_NSTATUS
@ ERROR_ROD_NSTATUS
Definition: ZdcL1CaloSubBlock.h:33
ZdcL1CaloSubBlock::ERROR_MODULE_NUMBER
@ ERROR_MODULE_NUMBER
Definition: ZdcL1CaloSubBlock.h:35
ZdcL1CaloSubBlock
L1Calo Sub-Block base class.
Definition: ZdcL1CaloSubBlock.h:25
ZdcL1CaloSubBlock::unpackErrorCode
int unpackErrorCode() const
Return the unpacking error code.
Definition: ZdcL1CaloSubBlock.h:345
ZdcL1CaloSubBlock::m_header
uint32_t m_header
Sub-Block Header.
Definition: ZdcL1CaloSubBlock.h:208
python.PyKernel.init
def init(v_theApp, v_rootStream=None)
Definition: PyKernel.py:45
ZdcL1CaloSubBlock::format
static int format(uint32_t word)
Return data format from given header word.
ZdcL1CaloSubBlock::m_oddParity
std::vector< int > m_oddParity
Definition: ZdcL1CaloSubBlock.h:225
ZdcL1CaloSubBlock::unpackerNeutral
uint32_t unpackerNeutral(int pin, int nbits)
Unpack given number of bits of neutral data for given pin.
ZdcL1CaloSubBlock::s_seqnoMask
static const uint32_t s_seqnoMask
Definition: ZdcL1CaloSubBlock.h:183
ZdcL1CaloSubBlock::s_upstreamErrorBit
static const int s_upstreamErrorBit
Definition: ZdcL1CaloSubBlock.h:192
ZdcL1CaloSubBlock::s_daqOverflowBit
static const int s_daqOverflowBit
Definition: ZdcL1CaloSubBlock.h:193
ZdcL1CaloSubBlock::m_maxMask
uint32_t m_maxMask
Definition: ZdcL1CaloSubBlock.h:219
ZdcL1CaloSubBlock::s_crateBit
static const int s_crateBit
Definition: ZdcL1CaloSubBlock.h:176
ZdcL1CaloSubBlock::s_versionBit
static const int s_versionBit
Definition: ZdcL1CaloSubBlock.h:173
ZdcL1CaloSubBlock::s_bcnMismatchBit
static const int s_bcnMismatchBit
Definition: ZdcL1CaloSubBlock.h:194
ZdcL1CaloSubBlock::m_bunchCrossing
int m_bunchCrossing
Bunch Crossing number (neutral format only)
Definition: ZdcL1CaloSubBlock.h:212
ZdcL1CaloSubBlock::module
static int module(uint32_t word)
Return module field from given header word.
ZdcL1CaloSubBlock::unpackErrorMsg
std::string unpackErrorMsg() const
Return the unpacking error message for printing.
ZdcL1CaloSubBlock::s_statusMask
static const uint32_t s_statusMask
Definition: ZdcL1CaloSubBlock.h:166
ZdcL1CaloSubBlock::unpacker
uint32_t unpacker(int nbits)
Unpack given number of bits of data.
ZdcL1CaloSubBlock::ERROR_SLICES
@ ERROR_SLICES
Definition: ZdcL1CaloSubBlock.h:36
ZdcL1CaloSubBlock::glinkParity
bool glinkParity() const
Definition: ZdcL1CaloSubBlock.h:320
ZdcL1CaloSubBlock::ERROR_ROI_TYPE
@ ERROR_ROI_TYPE
Definition: ZdcL1CaloSubBlock.h:37
ZdcL1CaloSubBlock::UNPACK_DATA_TRUNCATED
@ UNPACK_DATA_TRUNCATED
Definition: ZdcL1CaloSubBlock.h:41
ZdcL1CaloSubBlock::STATUS
@ STATUS
Definition: ZdcL1CaloSubBlock.h:28
ZdcL1CaloSubBlock::s_maxStreamedMask
static const uint32_t s_maxStreamedMask
Definition: ZdcL1CaloSubBlock.h:202
ZdcL1CaloSubBlock::setDaqOverflow
void setDaqOverflow(int bit=1)
Set DAQ FIFO Overflow bit in Sub-status word.
ZdcL1CaloSubBlock::glinkDown
bool glinkDown() const
Definition: ZdcL1CaloSubBlock.h:295
ZdcL1CaloSubBlock::version
static int version(uint32_t word)
Return version number from given header word.
ZdcL1CaloSubBlock::ERROR_ROD_ID
@ ERROR_ROD_ID
Definition: ZdcL1CaloSubBlock.h:32
ZdcL1CaloSubBlock::packerNeutral
void packerNeutral(int pin, uint32_t datum, int nbits)
Pack given neutral data from given pin.
ZdcL1CaloSubBlock::s_formatMask
static const uint32_t s_formatMask
Definition: ZdcL1CaloSubBlock.h:182
ZdcL1CaloSubBlock::m_currentBit
int m_currentBit
Definition: ZdcL1CaloSubBlock.h:217
ZdcL1CaloSubBlock::ERROR_DUPLICATE_DATA
@ ERROR_DUPLICATE_DATA
Definition: ZdcL1CaloSubBlock.h:36
ZdcL1CaloSubBlock::ERROR_USER_HEADER
@ ERROR_USER_HEADER
Definition: ZdcL1CaloSubBlock.h:33
ZdcL1CaloSubBlock::ERROR_NONE
@ ERROR_NONE
Definition: ZdcL1CaloSubBlock.h:32
ZdcL1CaloSubBlock::~ZdcL1CaloSubBlock
~ZdcL1CaloSubBlock()
ZdcL1CaloSubBlock::s_slices2Bit
static const int s_slices2Bit
Definition: ZdcL1CaloSubBlock.h:178
ZdcL1CaloSubBlock::s_headerVal
static const uint32_t s_headerVal
Definition: ZdcL1CaloSubBlock.h:167
ZdcL1CaloSubBlock::ERROR_MISSING_HEADER
@ ERROR_MISSING_HEADER
Definition: ZdcL1CaloSubBlock.h:34
ZdcL1CaloSubBlock::setGlinkParity
void setGlinkParity(int bit=1)
Set G-Link Parity bit in Sub-status word.
ZdcL1CaloSubBlock::SubBlockWordType
SubBlockWordType
Definition: ZdcL1CaloSubBlock.h:28
ZdcL1CaloSubBlock::s_glinkDavSet
static const uint32_t s_glinkDavSet
Definition: ZdcL1CaloSubBlock.h:205
ZdcL1CaloSubBlock::m_trailer
uint32_t m_trailer
Sub-Block Status Trailer.
Definition: ZdcL1CaloSubBlock.h:210
ZdcL1CaloSubBlock::wordId
static int wordId(uint32_t word)
Return wordID field from given header word.
ZdcL1CaloSubBlock::UNPACK_FORMAT
@ UNPACK_FORMAT
Definition: ZdcL1CaloSubBlock.h:40