ATLAS Offline Software
NSWPadTriggerL1a.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef NSWPADTRIGGERL1A_H_
6 #define NSWPADTRIGGERL1A_H_
7 
8 
9 #include "eformat/eformat.h"
12 #include <cstdint>
13 #include <vector>
14 #include <array>
15 #include <numeric> //for std::accumulate
16 #include <algorithm> //for std::find
17 
18 
19 namespace Muon
20 {
21  namespace nsw
22  {
23  namespace Constants
24  {
25  // general
26  constexpr bool DEBUG = false;
27  constexpr uint32_t N_BYTES_IN_WORD32 = 4;
28  constexpr uint32_t N_BITS_IN_WORD32 = 32;
29  constexpr uint32_t N_BITS_IN_BYTE = 8;
30  constexpr uint32_t N_BITS_IN_WORD16 = 16;
31  constexpr uint32_t MASK_BYTE = 0xff;
32  constexpr uint32_t NULL_SIZE = 0;
33 
34  // NSW trigger general
35  constexpr uint32_t NPFEBS = 24;
36  constexpr uint32_t NPADS = 104;
37  constexpr uint32_t NLAYERS = 8;
38  constexpr uint32_t NLAYERS_PER_QUAD = 4;
39  constexpr uint32_t N_BITS_IN_PHIID = 6;
40  constexpr uint32_t N_BITS_IN_BANDID = 8;
41  constexpr uint32_t N_SEGMENTS_IN_BC = 4;
42  constexpr uint32_t BITMASK_PHIID = (1 << N_BITS_IN_PHIID) - 1;
43  constexpr uint32_t BITMASK_BANDID = (1 << N_BITS_IN_BANDID) - 1;
44  constexpr uint32_t N_CHAN_PER_VMM = 64;
45 
46  // NSW header and orbit ID - all units are bits
47  constexpr uint32_t SIZE_SWROD = 64;
48  constexpr uint32_t SIZE_FLAGS = 7;
49  constexpr uint32_t SIZE_EC = 1;
50  constexpr uint32_t SIZE_SECID = 4;
51  constexpr uint32_t SIZE_FRAGID = 4;
52  constexpr uint32_t SIZE_SPARE = 2;
53  constexpr uint32_t SIZE_ORBIT = 2;
54  constexpr uint32_t SIZE_BCID = 12;
55  constexpr uint32_t SIZE_L1ID_31_16 = 16;
56  constexpr uint32_t SIZE_L1ID_15_00 = 16;
57  constexpr uint32_t SIZE_ORBITID = 12;
58  constexpr uint32_t SIZE_ORBIT1 = 4;
59  constexpr size_t HEADER_N = 12;
60  constexpr std::array<uint32_t, HEADER_N> HEADER_SIZES = {
61  SIZE_SWROD,
62  SIZE_FLAGS,
63  SIZE_EC,
64  SIZE_SECID,
66  SIZE_SPARE,
67  SIZE_ORBIT,
68  SIZE_BCID,
73  };
74  // NB: std::accumulate is constexpr since C++20
75  constexpr uint32_t ZERO{0};
90 
91  // decompression (units: bits)
93  constexpr uint32_t SIZE_MULT = 12;
94  constexpr uint32_t SIZE_MULT0 = 4;
95  constexpr uint32_t SIZE_PHIID_23_16 = 8;
96  constexpr uint32_t SIZE_PHIID0 = 8;
97  constexpr uint32_t SIZE_PHIID_15_00 = 16;
98  constexpr uint32_t SIZE_BANDID_31_16 = 16;
99  constexpr uint32_t SIZE_BANDID_15_00 = 16;
100  constexpr uint32_t SIZE_L0SIZE = 8;
101  constexpr uint32_t SIZE_L1SIZE = 8;
102  constexpr uint32_t SIZE_L2_31_16 = 16;
103  constexpr uint32_t SIZE_L2_15_00 = 16;
105  constexpr uint32_t SIZE_STATUS = 16;
106  constexpr size_t DECOMP_N = 11;
107  constexpr std::array<uint32_t, DECOMP_N> DECOMP_SIZES = {
108  SIZE_MULT,
109  SIZE_MULT0,
111  SIZE_PHIID0,
115  SIZE_L0SIZE,
116  SIZE_L1SIZE,
119  };
132 
133  // starting with L1, the data has variable length, and therefore cannot be constant'd D:
135  constexpr uint32_t CELL_SIZE = 8;
136  constexpr uint32_t PAD_TO_WORD32 = 2; // bytes
137 
138  using ArrayOfPfebChannels = std::array<std::array<uint8_t, NPADS>, NPFEBS>;
139  using ArrayOfPfebs = std::array<size_t, NPFEBS>;
140  }
141 
143  {
144 
145  public:
146 
147  NSWPadTriggerL1a(const uint32_t* bs, const uint32_t remaining);
148  virtual ~NSWPadTriggerL1a() = default;
149 
150  /*
151  Public interface
152  */
153  uint32_t getNumberOfHits() const { return m_hit_n; };
154  uint32_t getNumberOfPfebs() const { return m_pfeb_n; };
156  uint32_t getNumberOfBcids() const { return m_bcid_n; };
157  const std::vector<uint32_t>& getHitRelBcids() const { return m_hit_relbcid; };
158  const std::vector<uint32_t>& getHitPfebs() const { return m_hit_pfeb; };
159  const std::vector<uint32_t>& getHitTdsChannels() const { return m_hit_tdschannel; };
160  const std::vector<uint32_t>& getHitVmmChannels() const { return m_hit_vmmchannel; };
161  const std::vector<uint32_t>& getHitVmms() const { return m_hit_vmm; };
162  const std::vector<uint32_t>& getHitPadChannels() const { return m_hit_padchannel; };
163  const std::vector<uint32_t>& getPfebAddresses() const { return m_pfeb_addr; };
164  const std::vector<uint32_t>& getPfebNChannels() const { return m_pfeb_nchan; };
165  const std::vector<uint32_t>& getPfebDisconnecteds() const { return m_pfeb_disconnected; };
166  const std::vector<uint32_t>& getTriggerBandIds() const { return m_trigger_bandid; };
167  const std::vector<uint32_t>& getTriggerPhiIds() const { return m_trigger_phiid; };
168  const std::vector<uint32_t>& getTriggerRelBcids() const { return m_trigger_relbcid; };
169  const std::vector<uint32_t>& getBcidRels() const { return m_bcid_rel; };
170  const std::vector<uint32_t>& getBcidStatuses() const { return m_bcid_status; };
171  const std::vector<uint32_t>& getBcidMultZeros() const { return m_bcid_multzero; };
172  const std::vector<uint32_t>& getBcidMultiplicities() const { return m_bcid_multiplicity; };
173 
174  /*
175  Public interface: NSW header
176  */
177  uint32_t getFlags() const { return m_decoded.flags; };
178  uint32_t getEc() const { return m_decoded.ec; };
179  uint32_t getFragid() const { return m_decoded.fragid; };
180  uint32_t getSecid() const { return m_decoded.secid; };
181  uint32_t getSpare() const { return m_decoded.spare; };
182  uint32_t getOrbit() const { return m_decoded.orbit; };
183  uint32_t getBcid() const { return m_decoded.bcid; };
184  uint32_t getL1id() const { return m_decoded.l1id; };
185 
186  /*
187  Public interface: NSW trailer
188  */
189  uint16_t getCRC() const { return m_decoded.crc; };
190 
191  /*
192  Public interface: payload
193  */
194  uint32_t getOrbitid() const { return m_decoded.orbitid; };
195  uint32_t getOrbit1() const { return m_decoded.orbit1; };
196  uint32_t getStatus() const { return m_decoded.status; };
197 
198  /*
199  Decode large sector from sector [0x0-0xf]
200  NB: sector=0 = A01 = Large
201  */
202  static bool isLarge(const uint32_t sec) {
203  return sec % 2 == 0;
204  }
205 
206  /*
207  Decode small sector from sector [0x0-0xf]
208  */
209  static bool isSmall(const uint32_t sec) {
210  return not isLarge(sec);
211  }
212 
213  /*
214  Decode A-side from sourceid
215  */
216  static bool isA(const uint32_t sourceid) {
217  return static_cast<eformat::SubDetector>((sourceid >> 16) & 0xff)
219  }
220 
221  /*
222  Decode C-side from sourceid
223  */
224  static bool isC(const uint32_t sourceid) {
225  return not isA(sourceid);
226  }
227 
228  /*
229  Decode radius [0-2] from pfeb index [0-23]
230  */
231  static uint32_t radius(const uint32_t pfeb) {
232  return pfeb / Constants::NLAYERS;
233  }
234 
235  /*
236  Decode layer [0-7] from pfeb index [0-23]
237  */
238  static uint32_t layer(const uint32_t pfeb) {
239  return pfeb % Constants::NLAYERS;
240  }
241 
242  /*
243  Decode sector [0x0-0xf] from sourceid [0xXXXXXXX0-0xXXXXXXXf]
244  */
245  static uint32_t sector(const uint32_t sourceid) {
246  return sourceid & 0xf;
247  }
248 
249  /*
250  Decode quad [0-1] from pfeb [0-23]
251  */
252  static uint32_t quad(const uint32_t pfeb) {
253  return layer(pfeb) / Constants::NLAYERS_PER_QUAD;
254  }
255 
256  /*
257  Decode quad layer [0-3] from pfeb [0-23]
258  */
259  static uint32_t quadlayer(const uint32_t pfeb) {
260  return layer(pfeb) % Constants::NLAYERS_PER_QUAD;
261  }
262 
263  /*
264  Decode offline gasgap [1-4] from pfeb [0-23]
265  */
266  static uint32_t offlineGasgap(const uint32_t pfeb) {
267  return quadlayer(layer(pfeb)) + 1;
268  }
269 
270  /*
271  Decode offline multilayer [1-2] from pfeb [0-23]
272  */
273  static uint32_t offlineMultilayer(const uint32_t pfeb) {
274  return quad(layer(pfeb)) + 1;
275  }
276 
277  /*
278  Decode offline channel number from electronics numbering
279  */
281  const uint32_t pfeb,
282  const uint32_t vmm,
283  const uint32_t vmmchan) {
284  static const Muon::nsw::MapperSTG mapper;
285  return mapper.channel_number(Muon::nsw::OFFLINE_CHANNEL_TYPE_PAD, isLarge(sec), radius(pfeb), layer(pfeb), vmm, vmmchan);
286  }
287 
288  /*
289  Decode offline station eta [1-3] from pfeb index [0-23]
290  */
292  return radius(pfeb) + 1;
293  }
294 
295  /*
296  Decode offline station phi [1-8] from sourceid [0xXXXXXXX0-0xXXXXXXXf]
297  */
298  static uint32_t offlineStationPhi(const uint32_t sourceid) {
299  return sector(sourceid) / 2 + 1;
300  }
301 
302  /*
303  Decode offline station name/type [STL, STS] from sector [0x0-0xf]
304  */
305  static std::string offlineStationName(const uint32_t sec) {
306  return isLarge(sec) ? "STL" : "STS";
307  }
308 
309  /*
310  Convert from pad trigger channel to TDS channel
311  */
312  static uint8_t getPadTriggerToTds(const size_t pfeb,
313  const size_t chan,
314  const std::string& size) {
315  const auto& chans = (size == "S") ?
318  return chans.at(pfeb).at(chan);
319  }
320 
321  /*
322  Convert from TDS channel to pad trigger channel
323  */
324  static uint8_t getTdsToPadTrigger(const size_t pfeb,
325  const uint8_t tdschan,
326  const std::string& size) {
327  const auto& chans = (size == "S") ?
328  m_mapPadTriggerToTdsS.at(pfeb) :
329  m_mapPadTriggerToTdsL.at(pfeb);
330  return std::distance(chans.begin(), std::find(chans.begin(), chans.end(), tdschan));
331  }
332 
333  /*
334  CRC utils: returns the recalculated CRC for the given data and if it matches the CRC in the data
335  */
336  bool isCRCValid() {
337  return getCRC() == computeCRC();
338  }
339 
340  /*
341  Public interface: retrieve the computed CRC from the data
342  */
343  uint16_t computeCRC() const { return m_computedCRC; }
344 
345  private:
346 
347  // Struct for 1 BC of decompressed data
348  struct OneBCOfData {
356  std::vector<uint32_t> nchans{};
357  std::vector<uint32_t> l1{};
358  std::vector<uint32_t> l0{};
359  std::vector<uint8_t> bytemap{};
360  std::vector< std::vector<uint8_t> > bitmaps{};
361  std::vector< std::vector<uint8_t> > hits{};
362  std::vector< std::vector<uint8_t> > tdschannels{};
363  std::vector<bool> disconnecteds{};
364  std::vector<uint32_t> phiids{};
365  std::vector<uint32_t> bandids{};
369  bool last{true};
370  };
371 
372  // Struct of decoded bytestream data
373  struct DecodedData {
385  std::vector<OneBCOfData> data{};
387  };
388 
389  // computed CRC
391 
392  /*
393  Struct for holding the decoded data
394  */
396 
397  /*
398  Checks the size of the packet for validity.
399  */
400  uint32_t checkSize(const std::vector<uint32_t>& words) const;
401 
402  /*
403  Checks the payload for any non-null words
404  */
405  bool isNullPayload(const std::vector<uint32_t>& words) const;
406 
407  /*
408  Gets the index of the last data byte
409  */
410  uint32_t lastValidByteIndex(const std::vector<uint32_t>& words) const;
411 
412  /*
413  Rounds an odd number up to the next even number, or returns an even number
414  */
415  uint32_t roundUpIfOdd(const uint32_t nbytes) const;
416 
417  /*
418  Returns the byte at index byteIndex in list of words.
419  This treats the data as a list of bytes, rather than list of words,
420  i.e. it accounts for endian-ness and swapping.
421  */
422  uint8_t getByte(const std::vector<uint32_t>& words, size_t byteIndex) const;
423 
424  /*
425  Returns a list of bits, where each bit is represented as a byte.
426  */
427  std::vector<uint8_t> getBits(const std::vector<uint32_t>& words,
428  size_t firstBit, size_t lastBit) const;
429 
430  /*
431  Returns a list of bits, which is converted to a 32-bit word
432  */
433  uint32_t getBitsAsWord32(const std::vector<uint32_t>& words,
434  size_t firstBit, size_t lastBit) const;
435 
436  /*
437  Returns contents of the NSW header
438  */
439  uint32_t getFlags(const std::vector<uint32_t>& words) const;
440  uint32_t getEc(const std::vector<uint32_t>& words) const;
441  uint32_t getFragid(const std::vector<uint32_t>& words) const;
442  uint32_t getSecid(const std::vector<uint32_t>& words) const;
443  uint32_t getSpare(const std::vector<uint32_t>& words) const;
444  uint32_t getOrbit(const std::vector<uint32_t>& words) const;
445  uint32_t getBcid(const std::vector<uint32_t>& words) const;
446  uint32_t getL1id(const std::vector<uint32_t>& words) const;
447 
448  /*
449  Computes the CRC for the given data
450  */
451  uint16_t computeCRC(const uint32_t* bs, const uint32_t remaining);
452 
453  /*
454  Returns the orbit ID
455  */
456  uint32_t getOrbitid(const std::vector<uint32_t>& words) const;
457  uint32_t getOrbit1(const std::vector<uint32_t>& words) const;
458 
459  /*
460  Returns contents of the compressed/decompressed data
461  */
462  OneBCOfData getOneBcOfCompressedData(const std::vector<uint32_t>& words,
463  const uint32_t bitIndex,
464  const uint32_t relbcid,
465  const Constants::ArrayOfPfebChannels& mapPadTriggerToTds,
466  const Constants::ArrayOfPfebs& numberOfChannels) const;
467 
468  uint32_t getMultiplicity(const std::vector<uint32_t>& words, const uint32_t bitIndex) const;
469 
470  uint32_t getMult0(const std::vector<uint32_t>& words, const uint32_t bitIndex) const;
471 
472  uint32_t getPhiid0(const std::vector<uint32_t>& words, const uint32_t bitIndex) const;
473 
474  std::vector<uint32_t> getPhiids(const std::vector<uint32_t>& words, const uint32_t bitIndex) const;
475 
476  std::vector<uint32_t> getBandids(const std::vector<uint32_t>& words, const uint32_t bitIndex) const;
477 
478  uint32_t getL1size(const std::vector<uint32_t>& words, const uint32_t bitIndex) const;
479 
480  uint32_t getL0size(const std::vector<uint32_t>& words, const uint32_t bitIndex) const;
481 
482  uint32_t getL2(const std::vector<uint32_t>& words, const uint32_t bitIndex) const;
483 
484  std::vector<uint32_t> getL1(const std::vector<uint32_t>& words,
485  const uint32_t bitIndex,
486  const uint32_t l1size) const;
487 
488  std::vector<uint32_t> getL0(const std::vector<uint32_t>& words,
489  const uint32_t bitIndex,
490  const uint32_t l1size,
491  const uint32_t l0size) const;
492 
493  uint32_t getStatus(const std::vector<uint32_t>& words, const uint32_t bitIndex) const;
494 
495  std::vector<uint8_t> getBytemap(const uint32_t L2,
496  const std::vector<uint32_t>& L1,
497  const std::vector<uint32_t>& L0) const;
498 
499  std::vector<uint8_t> getBitmap(const std::vector<uint8_t>& bytemap) const;
500 
501  std::vector< std::vector<uint8_t> >
502  getBitmaps(const std::vector<uint8_t>& bytemap,
503  const Constants::ArrayOfPfebs& numberOfChannels) const;
504 
505  std::vector< std::vector<uint8_t> >
506  getHits(const std::vector< std::vector<uint8_t> >& bitmap) const;
507 
508  bool getDisconnected(const std::vector<uint8_t>& bitmap) const;
509 
510  std::vector<bool> getDisconnecteds(const std::vector< std::vector<uint8_t> >& bitmap) const;
511 
512  std::vector< std::vector<uint8_t> >
513  getTdsChannels(const std::vector< std::vector<uint8_t> >& hits,
514  const Constants::ArrayOfPfebChannels& mapPadTriggerToTds) const;
515 
516  /*
517  Members which summarize the data
518  */
523  std::vector<uint32_t> m_hit_relbcid{};
524  std::vector<uint32_t> m_hit_pfeb{};
525  std::vector<uint32_t> m_hit_tdschannel{};
526  std::vector<uint32_t> m_hit_vmmchannel{};
527  std::vector<uint32_t> m_hit_vmm{};
528  std::vector<uint32_t> m_hit_padchannel{};
529  std::vector<uint32_t> m_pfeb_addr{};
530  std::vector<uint32_t> m_pfeb_nchan{};
531  std::vector<uint32_t> m_pfeb_disconnected{};
532  std::vector<uint32_t> m_trigger_bandid{};
533  std::vector<uint32_t> m_trigger_phiid{};
534  std::vector<uint32_t> m_trigger_relbcid{};
535  std::vector<uint32_t> m_bcid_rel{};
536  std::vector<uint32_t> m_bcid_status{};
537  std::vector<uint32_t> m_bcid_multzero{};
538  std::vector<uint32_t> m_bcid_multiplicity{};
539 
540  /*
541  Configurable parameters
542  */
543  bool m_hasOrbit{true};
544 
545  /*
546  Number of active channels per PFEB
547  */
549  102, 96, 96, 104, 96, 96, 91, 96,
550  56, 56, 75, 75, 56, 56, 56, 56,
551  60, 60, 70, 70, 52, 52, 56, 56,
552  }};
554  68, 68, 72, 72, 68, 68, 51, 51,
555  48, 48, 45, 45, 30, 30, 45, 45,
556  38, 39, 42, 40, 24, 24, 38, 39,
557  }};
558 
559  /*
560  Mapping from pad trigger channel to TDS channel
561  */
563  { 0x67, 0x66, 0x65, 0x64, 0x63, 0x62, 0x61, 0x60, 0x5f, 0x5e, 0x5d, 0x5c, 0x5b,
564  0x5a, 0x59, 0x58, 0x57, 0x56, 0x55, 0x54, 0x53, 0x52, 0x51, 0x50, 0x4f, 0x4e,
565  0x4d, 0x4c, 0x4b, 0x4a, 0x49, 0x48, 0x47, 0x46, 0x45, 0x44, 0x43, 0x42, 0x41,
566  0x40, 0x3f, 0x3e, 0x3d, 0x3c, 0x3b, 0x3a, 0x39, 0x38, 0x37, 0x36, 0x35, 0x34,
567  0x33, 0x32, 0x31, 0x30, 0x2f, 0x2e, 0x2d, 0x2c, 0x2b, 0x2a, 0x29, 0x28, 0x27,
568  0x26, 0x25, 0x24, 0x23, 0x22, 0x21, 0x20, 0x1f, 0x1e, 0x1d, 0x1c, 0x1b, 0x1a,
569  0x19, 0x18, 0x17, 0x16, 0x15, 0x14, 0x13, 0x12, 0x11, 0x10, 0x0f, 0x0e, 0x0d,
570  0x0c, 0x0b, 0x0a, 0x09, 0x08, 0x07, 0x06, 0x05, 0x04, 0x03, 0x02, 0xff, 0xff, },
571  { 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14,
572  0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21,
573  0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e,
574  0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b,
575  0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48,
576  0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55,
577  0x56, 0x57, 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60, 0x61, 0x62,
578  0x63, 0x64, 0x65, 0x66, 0x67, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, },
579  { 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14,
580  0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21,
581  0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e,
582  0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b,
583  0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48,
584  0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55,
585  0x56, 0x57, 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60, 0x61, 0x62,
586  0x63, 0x64, 0x65, 0x66, 0x67, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, },
587  { 0x67, 0x66, 0x65, 0x64, 0x63, 0x62, 0x61, 0x60, 0x5f, 0x5e, 0x5d, 0x5c, 0x5b,
588  0x5a, 0x59, 0x58, 0x57, 0x56, 0x55, 0x54, 0x53, 0x52, 0x51, 0x50, 0x4f, 0x4e,
589  0x4d, 0x4c, 0x4b, 0x4a, 0x49, 0x48, 0x47, 0x46, 0x45, 0x44, 0x43, 0x42, 0x41,
590  0x40, 0x3f, 0x3e, 0x3d, 0x3c, 0x3b, 0x3a, 0x39, 0x38, 0x37, 0x36, 0x35, 0x34,
591  0x33, 0x32, 0x31, 0x30, 0x2f, 0x2e, 0x2d, 0x2c, 0x2b, 0x2a, 0x29, 0x28, 0x27,
592  0x26, 0x25, 0x24, 0x23, 0x22, 0x21, 0x20, 0x1f, 0x1e, 0x1d, 0x1c, 0x1b, 0x1a,
593  0x19, 0x18, 0x17, 0x16, 0x15, 0x14, 0x13, 0x12, 0x11, 0x10, 0x0f, 0x0e, 0x0d,
594  0x0c, 0x0b, 0x0a, 0x09, 0x08, 0x07, 0x06, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00, },
595  { 0x67, 0x66, 0x65, 0x64, 0x63, 0x62, 0x61, 0x60, 0x5f, 0x5e, 0x5d, 0x5c, 0x5b,
596  0x5a, 0x59, 0x58, 0x57, 0x56, 0x55, 0x54, 0x53, 0x52, 0x51, 0x50, 0x4f, 0x4e,
597  0x4d, 0x4c, 0x4b, 0x4a, 0x49, 0x48, 0x47, 0x46, 0x45, 0x44, 0x43, 0x42, 0x41,
598  0x40, 0x3f, 0x3e, 0x3d, 0x3c, 0x3b, 0x3a, 0x39, 0x38, 0x37, 0x36, 0x35, 0x34,
599  0x33, 0x32, 0x31, 0x30, 0x2f, 0x2e, 0x2d, 0x2c, 0x2b, 0x2a, 0x29, 0x28, 0x27,
600  0x26, 0x25, 0x24, 0x23, 0x22, 0x21, 0x20, 0x1f, 0x1e, 0x1d, 0x1c, 0x1b, 0x1a,
601  0x19, 0x18, 0x17, 0x16, 0x15, 0x14, 0x13, 0x12, 0x11, 0x10, 0x0f, 0x0e, 0x0d,
602  0x0c, 0x0b, 0x0a, 0x09, 0x08, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, },
603  { 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14,
604  0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21,
605  0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e,
606  0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b,
607  0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48,
608  0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55,
609  0x56, 0x57, 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60, 0x61, 0x62,
610  0x63, 0x64, 0x65, 0x66, 0x67, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, },
611  { 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19,
612  0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26,
613  0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33,
614  0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40,
615  0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d,
616  0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
617  0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
618  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, },
619  { 0x62, 0x61, 0x60, 0x5f, 0x5e, 0x5d, 0x5c, 0x5b, 0x5a, 0x59, 0x58, 0x57, 0x56,
620  0x55, 0x54, 0x53, 0x52, 0x51, 0x50, 0x4f, 0x4e, 0x4d, 0x4c, 0x4b, 0x4a, 0x49,
621  0x48, 0x47, 0x46, 0x45, 0x44, 0x43, 0x42, 0x41, 0x40, 0x3f, 0x3e, 0x3d, 0x3c,
622  0x3b, 0x3a, 0x39, 0x38, 0x37, 0x36, 0x35, 0x34, 0x33, 0x32, 0x31, 0x30, 0x2f,
623  0x2e, 0x2d, 0x2c, 0x2b, 0x2a, 0x29, 0x28, 0x27, 0x26, 0x25, 0x24, 0x23, 0x22,
624  0x21, 0x20, 0x1f, 0x1e, 0x1d, 0x1c, 0x1b, 0x1a, 0x19, 0x18, 0x17, 0x16, 0x15,
625  0x14, 0x13, 0x12, 0x11, 0x10, 0x0f, 0x0e, 0x0d, 0x0c, 0x0b, 0x0a, 0x09, 0x08,
626  0x07, 0x06, 0x05, 0x04, 0x03, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, },
627  { 0x5d, 0x5c, 0x5b, 0x5a, 0x59, 0x58, 0x57, 0x56, 0x55, 0x54, 0x53, 0x52, 0x51,
628  0x50, 0x4f, 0x4e, 0x4d, 0x4c, 0x4b, 0x4a, 0x49, 0x48, 0x47, 0x46, 0x45, 0x44,
629  0x43, 0x42, 0x41, 0x40, 0x3f, 0x3e, 0x3d, 0x3c, 0x3b, 0x3a, 0x39, 0x38, 0x37,
630  0x36, 0x35, 0x34, 0x33, 0x32, 0x31, 0x30, 0x2f, 0x2e, 0x2d, 0x2c, 0x2b, 0x2a,
631  0x29, 0x28, 0x27, 0x26, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
632  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
633  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
634  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, },
635  { 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e,
636  0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b,
637  0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48,
638  0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55,
639  0x56, 0x57, 0x58, 0x59, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
640  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
641  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
642  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, },
643  { 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24,
644  0x25, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30, 0x31,
645  0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e,
646  0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b,
647  0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58,
648  0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60, 0x61, 0x62, 0xff, 0xff, 0xff,
649  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
650  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, },
651  { 0x67, 0x66, 0x65, 0x64, 0x63, 0x62, 0x61, 0x60, 0x5f, 0x5e, 0x5d, 0x5c, 0x5b,
652  0x5a, 0x59, 0x58, 0x57, 0x56, 0x55, 0x54, 0x53, 0x52, 0x51, 0x50, 0x4f, 0x4e,
653  0x4d, 0x4c, 0x4b, 0x4a, 0x49, 0x48, 0x47, 0x46, 0x45, 0x44, 0x43, 0x42, 0x41,
654  0x40, 0x3f, 0x3e, 0x3d, 0x3c, 0x3b, 0x3a, 0x39, 0x38, 0x37, 0x36, 0x35, 0x34,
655  0x33, 0x32, 0x31, 0x30, 0x2f, 0x2e, 0x2d, 0x2c, 0x2b, 0x2a, 0x29, 0x28, 0x27,
656  0x26, 0x25, 0x24, 0x23, 0x22, 0x21, 0x20, 0x1f, 0x1e, 0x1d, 0xff, 0xff, 0xff,
657  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
658  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, },
659  { 0x5d, 0x5c, 0x5b, 0x5a, 0x59, 0x58, 0x57, 0x56, 0x55, 0x54, 0x53, 0x52, 0x51,
660  0x50, 0x4f, 0x4e, 0x4d, 0x4c, 0x4b, 0x4a, 0x49, 0x48, 0x47, 0x46, 0x45, 0x44,
661  0x43, 0x42, 0x41, 0x40, 0x3f, 0x3e, 0x3d, 0x3c, 0x3b, 0x3a, 0x39, 0x38, 0x37,
662  0x36, 0x35, 0x34, 0x33, 0x32, 0x31, 0x30, 0x2f, 0x2e, 0x2d, 0x2c, 0x2b, 0x2a,
663  0x29, 0x28, 0x27, 0x26, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
664  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
665  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
666  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, },
667  { 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e,
668  0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b,
669  0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48,
670  0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55,
671  0x56, 0x57, 0x58, 0x59, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
672  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
673  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
674  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, },
675  { 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e,
676  0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b,
677  0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48,
678  0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55,
679  0x56, 0x57, 0x58, 0x59, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
680  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
681  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
682  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, },
683  { 0x5d, 0x5c, 0x5b, 0x5a, 0x59, 0x58, 0x57, 0x56, 0x55, 0x54, 0x53, 0x52, 0x51,
684  0x50, 0x4f, 0x4e, 0x4d, 0x4c, 0x4b, 0x4a, 0x49, 0x48, 0x47, 0x46, 0x45, 0x44,
685  0x43, 0x42, 0x41, 0x40, 0x3f, 0x3e, 0x3d, 0x3c, 0x3b, 0x3a, 0x39, 0x38, 0x37,
686  0x36, 0x35, 0x34, 0x33, 0x32, 0x31, 0x30, 0x2f, 0x2e, 0x2d, 0x2c, 0x2b, 0x2a,
687  0x29, 0x28, 0x27, 0x26, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
688  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
689  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
690  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, },
691  { 0x55, 0x54, 0x53, 0x52, 0x51, 0x50, 0x4f, 0x4e, 0x4d, 0x4c, 0x4b, 0x4a, 0x49,
692  0x48, 0x47, 0x46, 0x45, 0x44, 0x43, 0x42, 0x41, 0x40, 0x3f, 0x3e, 0x3d, 0x3c,
693  0x3b, 0x3a, 0x39, 0x38, 0x37, 0x36, 0x35, 0x34, 0x33, 0x32, 0x31, 0x30, 0x2f,
694  0x2e, 0x2d, 0x2c, 0x2b, 0x2a, 0x29, 0x28, 0x27, 0x26, 0x25, 0x24, 0x23, 0x22,
695  0x21, 0x20, 0x1f, 0x1e, 0x1d, 0x1c, 0x1b, 0x1a, 0xff, 0xff, 0xff, 0xff, 0xff,
696  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
697  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
698  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, },
699  { 0x2c, 0x2d, 0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38,
700  0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45,
701  0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52,
702  0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f,
703  0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0xff, 0xff, 0xff, 0xff, 0xff,
704  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
705  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
706  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, },
707  { 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e,
708  0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b,
709  0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48,
710  0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55,
711  0x56, 0x57, 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60, 0x61, 0x62,
712  0x63, 0x64, 0x65, 0x66, 0x67, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
713  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
714  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, },
715  { 0x5f, 0x5e, 0x5d, 0x5c, 0x5b, 0x5a, 0x59, 0x58, 0x57, 0x56, 0x55, 0x54, 0x53,
716  0x52, 0x51, 0x50, 0x4f, 0x4e, 0x4d, 0x4c, 0x4b, 0x4a, 0x49, 0x48, 0x47, 0x46,
717  0x45, 0x44, 0x43, 0x42, 0x41, 0x40, 0x3f, 0x3e, 0x3d, 0x3c, 0x3b, 0x3a, 0x39,
718  0x38, 0x37, 0x36, 0x35, 0x34, 0x33, 0x32, 0x31, 0x30, 0x2f, 0x2e, 0x2d, 0x2c,
719  0x2b, 0x2a, 0x29, 0x28, 0x27, 0x26, 0x25, 0x24, 0x23, 0x22, 0x21, 0x20, 0x1f,
720  0x1e, 0x1d, 0x1c, 0x1b, 0x1a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
721  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
722  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, },
723  { 0x4d, 0x4c, 0x4b, 0x4a, 0x49, 0x48, 0x47, 0x46, 0x45, 0x44, 0x43, 0x42, 0x41,
724  0x40, 0x3f, 0x3e, 0x3d, 0x3c, 0x3b, 0x3a, 0x39, 0x38, 0x37, 0x36, 0x35, 0x34,
725  0x33, 0x32, 0x31, 0x30, 0x2f, 0x2e, 0x2d, 0x2c, 0x2b, 0x2a, 0x29, 0x28, 0x27,
726  0x26, 0x25, 0x24, 0x23, 0x22, 0x21, 0x20, 0x1f, 0x1e, 0x1d, 0x1c, 0x1b, 0x1a,
727  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
728  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
729  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
730  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, },
731  { 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40,
732  0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d,
733  0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a,
734  0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
735  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
736  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
737  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
738  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, },
739  { 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c,
740  0x3d, 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49,
741  0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56,
742  0x57, 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60, 0x61, 0x62, 0x63,
743  0x64, 0x65, 0x66, 0x67, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
744  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
745  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
746  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, },
747  { 0x51, 0x50, 0x4f, 0x4e, 0x4d, 0x4c, 0x4b, 0x4a, 0x49, 0x48, 0x47, 0x46, 0x45,
748  0x44, 0x43, 0x42, 0x41, 0x40, 0x3f, 0x3e, 0x3d, 0x3c, 0x3b, 0x3a, 0x39, 0x38,
749  0x37, 0x36, 0x35, 0x34, 0x33, 0x32, 0x31, 0x30, 0x2f, 0x2e, 0x2d, 0x2c, 0x2b,
750  0x2a, 0x29, 0x28, 0x27, 0x26, 0x25, 0x24, 0x23, 0x22, 0x21, 0x20, 0x1f, 0x1e,
751  0x1d, 0x1c, 0x1b, 0x1a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
752  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
753  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
754  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, },
755  }};
757  { 0x67, 0x66, 0x65, 0x64, 0x63, 0x62, 0x61, 0x60, 0x5f, 0x5e, 0x5d, 0x5c, 0x5b,
758  0x5a, 0x59, 0x58, 0x57, 0x56, 0x55, 0x54, 0x53, 0x52, 0x51, 0x50, 0x4f, 0x4e,
759  0x4d, 0x4c, 0x4b, 0x4a, 0x49, 0x48, 0x47, 0x46, 0x45, 0x44, 0x43, 0x42, 0x41,
760  0x40, 0x3f, 0x3e, 0x3d, 0x3c, 0x3b, 0x3a, 0x39, 0x38, 0x37, 0x36, 0x35, 0x34,
761  0x33, 0x32, 0x31, 0x30, 0x2f, 0x2e, 0x2d, 0x2c, 0x2b, 0x2a, 0x29, 0x28, 0x27,
762  0x26, 0x25, 0x24, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
763  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
764  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, },
765  { 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24,
766  0x25, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30, 0x31,
767  0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e,
768  0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b,
769  0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58,
770  0x59, 0x5a, 0x5b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
771  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
772  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, },
773  { 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24,
774  0x25, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30, 0x31,
775  0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e,
776  0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b,
777  0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58,
778  0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
779  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
780  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, },
781  { 0x67, 0x66, 0x65, 0x64, 0x63, 0x62, 0x61, 0x60, 0x5f, 0x5e, 0x5d, 0x5c, 0x5b,
782  0x5a, 0x59, 0x58, 0x57, 0x56, 0x55, 0x54, 0x53, 0x52, 0x51, 0x50, 0x4f, 0x4e,
783  0x4d, 0x4c, 0x4b, 0x4a, 0x49, 0x48, 0x47, 0x46, 0x45, 0x44, 0x43, 0x42, 0x41,
784  0x40, 0x3f, 0x3e, 0x3d, 0x3c, 0x3b, 0x3a, 0x39, 0x38, 0x37, 0x36, 0x35, 0x34,
785  0x33, 0x32, 0x31, 0x30, 0x2f, 0x2e, 0x2d, 0x2c, 0x2b, 0x2a, 0x29, 0x28, 0x27,
786  0x26, 0x25, 0x24, 0x23, 0x22, 0x21, 0x20, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
787  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
788  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, },
789  { 0x67, 0x66, 0x65, 0x64, 0x63, 0x62, 0x61, 0x60, 0x5f, 0x5e, 0x5d, 0x5c, 0x5b,
790  0x5a, 0x59, 0x58, 0x57, 0x56, 0x55, 0x54, 0x53, 0x52, 0x51, 0x50, 0x4f, 0x4e,
791  0x4d, 0x4c, 0x4b, 0x4a, 0x49, 0x48, 0x47, 0x46, 0x45, 0x44, 0x43, 0x42, 0x41,
792  0x40, 0x3f, 0x3e, 0x3d, 0x3c, 0x3b, 0x3a, 0x39, 0x38, 0x37, 0x36, 0x35, 0x34,
793  0x33, 0x32, 0x31, 0x30, 0x2f, 0x2e, 0x2d, 0x2c, 0x2b, 0x2a, 0x29, 0x28, 0x27,
794  0x26, 0x25, 0x24, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
795  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
796  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, },
797  { 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24,
798  0x25, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30, 0x31,
799  0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e,
800  0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b,
801  0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58,
802  0x59, 0x5a, 0x5b, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
803  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
804  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, },
805  { 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24,
806  0x25, 0x26, 0x27, 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30, 0x31,
807  0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e,
808  0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0xff,
809  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
810  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
811  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
812  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, },
813  { 0x67, 0x66, 0x65, 0x64, 0x63, 0x62, 0x61, 0x60, 0x5f, 0x5e, 0x5d, 0x5c, 0x5b,
814  0x5a, 0x59, 0x58, 0x57, 0x56, 0x55, 0x54, 0x53, 0x52, 0x51, 0x50, 0x4f, 0x4e,
815  0x4d, 0x4c, 0x4b, 0x4a, 0x49, 0x48, 0x47, 0x46, 0x45, 0x44, 0x43, 0x42, 0x41,
816  0x40, 0x3f, 0x3e, 0x3d, 0x3c, 0x3b, 0x3a, 0x39, 0x38, 0x37, 0x36, 0x35, 0xff,
817  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
818  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
819  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
820  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, },
821  { 0x57, 0x56, 0x55, 0x54, 0x53, 0x52, 0x51, 0x50, 0x4f, 0x4e, 0x4d, 0x4c, 0x4b,
822  0x4a, 0x49, 0x48, 0x47, 0x46, 0x45, 0x44, 0x43, 0x42, 0x41, 0x40, 0x3f, 0x3e,
823  0x3d, 0x3c, 0x3b, 0x3a, 0x39, 0x38, 0x37, 0x36, 0x35, 0x34, 0x33, 0x32, 0x31,
824  0x30, 0x2f, 0x2e, 0x2d, 0x2c, 0x2b, 0x2a, 0x29, 0x28, 0xff, 0xff, 0xff, 0xff,
825  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
826  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
827  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
828  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, },
829  { 0x28, 0x29, 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34,
830  0x35, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41,
831  0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e,
832  0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0xff, 0xff, 0xff, 0xff,
833  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
834  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
835  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
836  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, },
837  { 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36,
838  0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43,
839  0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50,
840  0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
841  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
842  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
843  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
844  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, },
845  { 0x55, 0x54, 0x53, 0x52, 0x51, 0x50, 0x4f, 0x4e, 0x4d, 0x4c, 0x4b, 0x4a, 0x49,
846  0x48, 0x47, 0x46, 0x45, 0x44, 0x43, 0x42, 0x41, 0x40, 0x3f, 0x3e, 0x3d, 0x3c,
847  0x3b, 0x3a, 0x39, 0x38, 0x37, 0x36, 0x35, 0x34, 0x33, 0x32, 0x31, 0x30, 0x2f,
848  0x2e, 0x2d, 0x2c, 0x2b, 0x2a, 0x29, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
849  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
850  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
851  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
852  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, },
853  { 0x4e, 0x4d, 0x4c, 0x4b, 0x4a, 0x49, 0x48, 0x47, 0x46, 0x45, 0x44, 0x43, 0x42,
854  0x41, 0x40, 0x3f, 0x3e, 0x3d, 0x3c, 0x3b, 0x3a, 0x39, 0x38, 0x37, 0x36, 0x35,
855  0x34, 0x33, 0x32, 0x31, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
856  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
857  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
858  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
859  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
860  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, },
861  { 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d,
862  0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a,
863  0x4b, 0x4c, 0x4d, 0x4e, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
864  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
865  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
866  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
867  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
868  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, },
869  { 0x2a, 0x2b, 0x2c, 0x2d, 0x2e, 0x2f, 0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36,
870  0x37, 0x38, 0x39, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e, 0x3f, 0x40, 0x41, 0x42, 0x43,
871  0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50,
872  0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
873  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
874  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
875  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
876  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, },
877  { 0x55, 0x54, 0x53, 0x52, 0x51, 0x50, 0x4f, 0x4e, 0x4d, 0x4c, 0x4b, 0x4a, 0x49,
878  0x48, 0x47, 0x46, 0x45, 0x44, 0x43, 0x42, 0x41, 0x40, 0x3f, 0x3e, 0x3d, 0x3c,
879  0x3b, 0x3a, 0x39, 0x38, 0x37, 0x36, 0x35, 0x34, 0x33, 0x32, 0x31, 0x30, 0x2f,
880  0x2e, 0x2d, 0x2c, 0x2b, 0x2a, 0x29, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
881  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
882  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
883  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
884  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, },
885  { 0xff, 0x67, 0x66, 0x65, 0x64, 0x63, 0x62, 0x61, 0x60, 0x5f, 0x5e, 0x5d, 0x5c,
886  0x5b, 0x5a, 0x59, 0x58, 0x57, 0x56, 0x55, 0x54, 0x53, 0x52, 0x51, 0x50, 0x4f,
887  0x4e, 0x4d, 0x4c, 0x4b, 0x4a, 0x49, 0x48, 0x47, 0x46, 0x45, 0x44, 0x43, 0x42,
888  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
889  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
890  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
891  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
892  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, },
893  { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d,
894  0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a,
895  0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27,
896  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
897  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
898  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
899  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
900  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, },
901  { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c,
902  0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x18, 0x19,
903  0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26,
904  0x27, 0x28, 0x29, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
905  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
906  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
907  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
908  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, },
909  { 0xff, 0xff, 0x67, 0x66, 0x65, 0x64, 0x63, 0x62, 0x61, 0x60, 0x5f, 0x5e, 0x5d,
910  0x5c, 0x5b, 0x5a, 0x59, 0x58, 0x57, 0x56, 0x55, 0x54, 0x53, 0x52, 0x51, 0x50,
911  0x4f, 0x4e, 0x4d, 0x4c, 0x4b, 0x4a, 0x49, 0x48, 0x47, 0x46, 0x45, 0x44, 0x43,
912  0x42, 0x41, 0x40, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
913  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
914  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
915  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
916  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, },
917  { 0x60, 0x5f, 0x5e, 0x5d, 0x5c, 0x5b, 0x5a, 0x59, 0x58, 0x57, 0x56, 0x55, 0x54,
918  0x53, 0x52, 0x51, 0x50, 0x4f, 0x4e, 0x4d, 0x4c, 0x4b, 0x4a, 0x49, 0xff, 0xff,
919  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
920  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
921  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
922  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
923  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
924  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, },
925  { 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55,
926  0x56, 0x57, 0x58, 0x59, 0x5a, 0x5b, 0x5c, 0x5d, 0x5e, 0x5f, 0x60, 0xff, 0xff,
927  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
928  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
929  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
930  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
931  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
932  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, },
933  { 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, 0x4c, 0x4d, 0x4e,
934  0x4f, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a, 0x5b,
935  0x5c, 0x5d, 0x5e, 0x5f, 0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0xff,
936  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
937  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
938  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
939  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
940  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, },
941  { 0x67, 0x66, 0x65, 0x64, 0x63, 0x62, 0x61, 0x60, 0x5f, 0x5e, 0x5d, 0x5c, 0x5b,
942  0x5a, 0x59, 0x58, 0x57, 0x56, 0x55, 0x54, 0x53, 0x52, 0x51, 0x50, 0x4f, 0x4e,
943  0x4d, 0x4c, 0x4b, 0x4a, 0x49, 0x48, 0x47, 0x46, 0x45, 0x44, 0x43, 0x42, 0x41,
944  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
945  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
946  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
947  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
948  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, },
949  }};
950 
951  };
952 
953  }
954 }
955 
956 #endif
Muon::nsw::NSWPadTriggerL1a::getOrbit
uint32_t getOrbit() const
Definition: NSWPadTriggerL1a.h:182
Muon::nsw::NSWPadTriggerL1a::DecodedData::secid
uint32_t secid
Definition: NSWPadTriggerL1a.h:375
Muon::nsw::NSWPadTriggerL1a::m_mapPadTriggerToTdsL
static constexpr Constants::ArrayOfPfebChannels m_mapPadTriggerToTdsL
Definition: NSWPadTriggerL1a.h:562
Muon::nsw::Constants::FIRSTBIT_MULT
const uint32_t FIRSTBIT_MULT
Definition: NSWPadTriggerL1a.h:120
Muon::nsw::Constants::SIZE_MULT0
constexpr uint32_t SIZE_MULT0
Definition: NSWPadTriggerL1a.h:94
Muon::nsw::Constants::FIRSTBIT_SECID
const uint32_t FIRSTBIT_SECID
Definition: NSWPadTriggerL1a.h:79
Muon::nsw::NSWPadTriggerL1a::getHitPfebs
const std::vector< uint32_t > & getHitPfebs() const
Definition: NSWPadTriggerL1a.h:158
Muon::nsw::NSWPadTriggerL1a::DecodedData::status
uint32_t status
Definition: NSWPadTriggerL1a.h:384
Muon::nsw::NSWPadTriggerL1a::OneBCOfData::bandids
std::vector< uint32_t > bandids
Definition: NSWPadTriggerL1a.h:365
Muon::nsw::NSWPadTriggerL1a::m_pfeb_nchan
std::vector< uint32_t > m_pfeb_nchan
Definition: NSWPadTriggerL1a.h:530
Muon::nsw::Constants::SIZE_STATUS
constexpr uint32_t SIZE_STATUS
Definition: NSWPadTriggerL1a.h:105
Muon::nsw::NSWPadTriggerL1a::OneBCOfData::byteIndex
uint32_t byteIndex
Definition: NSWPadTriggerL1a.h:368
Trk::L2
@ L2
Definition: AlignModuleList.h:32
Muon::nsw::Constants::FIRSTBIT_L1SIZE
const uint32_t FIRSTBIT_L1SIZE
Definition: NSWPadTriggerL1a.h:128
Muon::nsw::NSWPadTriggerL1a::OneBCOfData::phiid0
uint32_t phiid0
Definition: NSWPadTriggerL1a.h:352
Muon::nsw::NSWPadTriggerL1a::OneBCOfData::phiids
std::vector< uint32_t > phiids
Definition: NSWPadTriggerL1a.h:364
TRTCalib_Extractor.hits
hits
Definition: TRTCalib_Extractor.py:35
Muon::nsw::NSWPadTriggerL1a::getTriggerRelBcids
const std::vector< uint32_t > & getTriggerRelBcids() const
Definition: NSWPadTriggerL1a.h:168
Muon::nsw::NSWPadTriggerL1a::getStatus
uint32_t getStatus() const
Definition: NSWPadTriggerL1a.h:196
xAOD::uint8_t
uint8_t
Definition: Muon_v1.cxx:558
find
std::string find(const std::string &s)
return a remapped string
Definition: hcg.cxx:135
Muon::nsw::NSWPadTriggerL1a::m_hit_tdschannel
std::vector< uint32_t > m_hit_tdschannel
Definition: NSWPadTriggerL1a.h:525
Muon::nsw::NSWPadTriggerL1a::m_mapPadTriggerToTdsS
static constexpr Constants::ArrayOfPfebChannels m_mapPadTriggerToTdsS
Definition: NSWPadTriggerL1a.h:756
Muon::nsw::NSWPadTriggerL1a::DecodedData
Definition: NSWPadTriggerL1a.h:373
Muon::nsw::NSWPadTriggerL1a::offlineStationPhi
static uint32_t offlineStationPhi(const uint32_t sourceid)
Definition: NSWPadTriggerL1a.h:298
Muon::nsw::NSWPadTriggerL1a::computeCRC
uint16_t computeCRC() const
Definition: NSWPadTriggerL1a.h:343
Muon::nsw::NSWPadTriggerL1a::getBcidRels
const std::vector< uint32_t > & getBcidRels() const
Definition: NSWPadTriggerL1a.h:169
Muon::nsw::Constants::SIZE_ORBITID
constexpr uint32_t SIZE_ORBITID
Definition: NSWPadTriggerL1a.h:57
Muon::nsw::NSWPadTriggerL1a::OneBCOfData::bitIndex
uint32_t bitIndex
Definition: NSWPadTriggerL1a.h:367
Muon::nsw::NSWPadTriggerL1a::getOrbitid
uint32_t getOrbitid() const
Definition: NSWPadTriggerL1a.h:194
Muon::nsw::Constants::FIRSTBIT_ORBIT
const uint32_t FIRSTBIT_ORBIT
Definition: NSWPadTriggerL1a.h:82
Muon::nsw::Constants::ZERO
constexpr uint32_t ZERO
Definition: NSWPadTriggerL1a.h:75
Muon::nsw::Constants::NPFEBS
constexpr uint32_t NPFEBS
Definition: NSWPadTriggerL1a.h:35
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
Muon::nsw::NSWPadTriggerL1a::computeCRC
uint16_t computeCRC(const uint32_t *bs, const uint32_t remaining)
Muon::nsw::Constants::N_BITS_IN_BYTE
constexpr uint32_t N_BITS_IN_BYTE
Definition: NSWPadTriggerL1a.h:29
Muon::nsw::Constants::FIRSTBIT_L0SIZE
const uint32_t FIRSTBIT_L0SIZE
Definition: NSWPadTriggerL1a.h:127
Muon::nsw::NSWPadTriggerL1a::offlineGasgap
static uint32_t offlineGasgap(const uint32_t pfeb)
Definition: NSWPadTriggerL1a.h:266
Muon::nsw::NSWPadTriggerL1a::isLarge
static bool isLarge(const uint32_t sec)
Definition: NSWPadTriggerL1a.h:202
Muon::nsw::MapperSTG::channel_number
uint16_t channel_number(uint8_t channel_type, uint8_t sector_type, uint8_t feb_radius, uint8_t layer, uint16_t vmm, uint16_t vmm_chan) const
Definition: MapperSTG.cxx:9
Muon::nsw::NSWPadTriggerL1a::isA
static bool isA(const uint32_t sourceid)
Definition: NSWPadTriggerL1a.h:216
runITkAlign.accumulate
accumulate
Update flags based on parser line args.
Definition: runITkAlign.py:62
Muon::nsw::NSWPadTriggerL1a::offlineMultilayer
static uint32_t offlineMultilayer(const uint32_t pfeb)
Definition: NSWPadTriggerL1a.h:273
Muon::nsw::Constants::HEADER_SIZES
constexpr std::array< uint32_t, HEADER_N > HEADER_SIZES
Definition: NSWPadTriggerL1a.h:60
Muon::nsw::Constants::DECOMP_N
constexpr size_t DECOMP_N
Definition: NSWPadTriggerL1a.h:106
Muon::nsw::NSWPadTriggerL1a::m_hit_vmm
std::vector< uint32_t > m_hit_vmm
Definition: NSWPadTriggerL1a.h:527
Muon::nsw::Constants::PAD_TO_WORD32
constexpr uint32_t PAD_TO_WORD32
Definition: NSWPadTriggerL1a.h:136
Muon::nsw::NSWPadTriggerL1a::getPhiids
std::vector< uint32_t > getPhiids(const std::vector< uint32_t > &words, const uint32_t bitIndex) const
Muon::nsw::Constants::FIRSTBIT_FLAGS
const uint32_t FIRSTBIT_FLAGS
Definition: NSWPadTriggerL1a.h:77
Muon::nsw::NSWPadTriggerL1a::m_bcid_rel
std::vector< uint32_t > m_bcid_rel
Definition: NSWPadTriggerL1a.h:535
Muon::nsw::NSWPadTriggerL1a::getPfebAddresses
const std::vector< uint32_t > & getPfebAddresses() const
Definition: NSWPadTriggerL1a.h:163
Muon::nsw::NSWPadTriggerL1a::getL0
std::vector< uint32_t > getL0(const std::vector< uint32_t > &words, const uint32_t bitIndex, const uint32_t l1size, const uint32_t l0size) const
Muon::nsw::NSWPadTriggerL1a::sector
static uint32_t sector(const uint32_t sourceid)
Definition: NSWPadTriggerL1a.h:245
Muon::nsw::NSWPadTriggerL1a::getSecid
uint32_t getSecid() const
Definition: NSWPadTriggerL1a.h:180
Muon::nsw::NSWPadTriggerL1a::lastValidByteIndex
uint32_t lastValidByteIndex(const std::vector< uint32_t > &words) const
Muon::nsw::NSWPadTriggerL1a::m_bcid_multzero
std::vector< uint32_t > m_bcid_multzero
Definition: NSWPadTriggerL1a.h:537
Muon::nsw::Constants::CELL_SIZE
constexpr uint32_t CELL_SIZE
Definition: NSWPadTriggerL1a.h:135
Muon::nsw::NSWPadTriggerL1a::~NSWPadTriggerL1a
virtual ~NSWPadTriggerL1a()=default
Muon::nsw::Constants::FIRSTBIT_PHIID0
const uint32_t FIRSTBIT_PHIID0
Definition: NSWPadTriggerL1a.h:123
Trk::L1
@ L1
Definition: AlignModuleList.h:32
Muon::nsw::NSWPadTriggerL1a::m_hit_relbcid
std::vector< uint32_t > m_hit_relbcid
Definition: NSWPadTriggerL1a.h:523
Muon::nsw::NSWPadTriggerL1a::getL1id
uint32_t getL1id() const
Definition: NSWPadTriggerL1a.h:184
Muon::nsw::Constants::BITMASK_BANDID
constexpr uint32_t BITMASK_BANDID
Definition: NSWPadTriggerL1a.h:43
Muon::nsw::Constants::SIZE_TRAILER
constexpr uint32_t SIZE_TRAILER
Definition: NSWPadTriggerL1a.h:134
Muon::nsw::NSWPadTriggerL1a::getSpare
uint32_t getSpare(const std::vector< uint32_t > &words) const
Muon::nsw::Constants::N_BITS_IN_WORD32
constexpr uint32_t N_BITS_IN_WORD32
Definition: NSWPadTriggerL1a.h:28
Muon::nsw::NSWPadTriggerL1a::getFragid
uint32_t getFragid(const std::vector< uint32_t > &words) const
Muon::nsw::NSWPadTriggerL1a::OneBCOfData::l0size
uint32_t l0size
Definition: NSWPadTriggerL1a.h:354
Muon::nsw::NSWPadTriggerL1a::getTriggerBandIds
const std::vector< uint32_t > & getTriggerBandIds() const
Definition: NSWPadTriggerL1a.h:166
Muon::nsw::Constants::SIZE_BCID
constexpr uint32_t SIZE_BCID
Definition: NSWPadTriggerL1a.h:54
Muon::nsw::Constants::SIZE_HEADER_BYTES
const uint32_t SIZE_HEADER_BYTES
Definition: NSWPadTriggerL1a.h:89
Muon::nsw::NSWPadTriggerL1a::getNumberOfBcids
uint32_t getNumberOfBcids() const
Definition: NSWPadTriggerL1a.h:156
Muon::nsw::Constants::FIRSTBIT_SPARE
const uint32_t FIRSTBIT_SPARE
Definition: NSWPadTriggerL1a.h:81
Muon::nsw::Constants::N_BITS_IN_WORD16
constexpr uint32_t N_BITS_IN_WORD16
Definition: NSWPadTriggerL1a.h:30
Muon::nsw::Constants::SIZE_L2_15_00
constexpr uint32_t SIZE_L2_15_00
Definition: NSWPadTriggerL1a.h:103
Muon
NRpcCablingAlg reads raw condition data and writes derived condition data to the condition store.
Definition: TrackSystemController.h:45
Muon::nsw::NSWPadTriggerL1a::m_bcid_n
uint32_t m_bcid_n
Definition: NSWPadTriggerL1a.h:522
Muon::nsw::NSWPadTriggerL1a::getBcidStatuses
const std::vector< uint32_t > & getBcidStatuses() const
Definition: NSWPadTriggerL1a.h:170
Muon::nsw::NSWPadTriggerL1a::isNullPayload
bool isNullPayload(const std::vector< uint32_t > &words) const
Muon::nsw::NSWPadTriggerL1a::OneBCOfData::bitmaps
std::vector< std::vector< uint8_t > > bitmaps
Definition: NSWPadTriggerL1a.h:360
Muon::nsw::Constants::DEBUG
constexpr bool DEBUG
Definition: NSWPadTriggerL1a.h:26
Muon::nsw::NSWPadTriggerL1a::getBcid
uint32_t getBcid(const std::vector< uint32_t > &words) const
Muon::nsw::Constants::FIRSTBIT_COMPRESSION
const uint32_t FIRSTBIT_COMPRESSION
Definition: NSWPadTriggerL1a.h:92
Muon::nsw::NSWPadTriggerL1a::quad
static uint32_t quad(const uint32_t pfeb)
Definition: NSWPadTriggerL1a.h:252
Muon::nsw::Constants::SIZE_PHIID_15_00
constexpr uint32_t SIZE_PHIID_15_00
Definition: NSWPadTriggerL1a.h:97
Muon::nsw::NSWPadTriggerL1a::m_pfeb_disconnected
std::vector< uint32_t > m_pfeb_disconnected
Definition: NSWPadTriggerL1a.h:531
Muon::nsw::NSWPadTriggerL1a::getHitTdsChannels
const std::vector< uint32_t > & getHitTdsChannels() const
Definition: NSWPadTriggerL1a.h:159
Muon::nsw::NSWPadTriggerL1a::getDisconnected
bool getDisconnected(const std::vector< uint8_t > &bitmap) const
Muon::nsw::NSWPadTriggerL1a::m_numberOfChannelsL
static constexpr Constants::ArrayOfPfebs m_numberOfChannelsL
Definition: NSWPadTriggerL1a.h:548
Muon::nsw::NSWPadTriggerL1a::DecodedData::orbit1
uint32_t orbit1
Definition: NSWPadTriggerL1a.h:383
Muon::nsw::NSWPadTriggerL1a::getBitmap
std::vector< uint8_t > getBitmap(const std::vector< uint8_t > &bytemap) const
Muon::nsw::NSWPadTriggerL1a::DecodedData::spare
uint32_t spare
Definition: NSWPadTriggerL1a.h:380
NSWL1::PAD::MUON_STGC_ENDCAP_A_SIDE
constexpr uint32_t MUON_STGC_ENDCAP_A_SIDE
Definition: TrigT1NSWSimExtras.h:186
Muon::nsw::NSWPadTriggerL1a::offlineStationName
static std::string offlineStationName(const uint32_t sec)
Definition: NSWPadTriggerL1a.h:305
Muon::nsw::NSWPadTriggerL1a::getBcidMultiplicities
const std::vector< uint32_t > & getBcidMultiplicities() const
Definition: NSWPadTriggerL1a.h:172
Muon::nsw::NSWPadTriggerL1a::OneBCOfData::bytemap
std::vector< uint8_t > bytemap
Definition: NSWPadTriggerL1a.h:359
Muon::nsw::NSWPadTriggerL1a::getHitRelBcids
const std::vector< uint32_t > & getHitRelBcids() const
Definition: NSWPadTriggerL1a.h:157
Muon::nsw::NSWPadTriggerL1a::getDisconnecteds
std::vector< bool > getDisconnecteds(const std::vector< std::vector< uint8_t > > &bitmap) const
Muon::nsw::NSWPadTriggerL1a::getTdsChannels
std::vector< std::vector< uint8_t > > getTdsChannels(const std::vector< std::vector< uint8_t > > &hits, const Constants::ArrayOfPfebChannels &mapPadTriggerToTds) const
Muon::nsw::NSWPadTriggerL1a::offlineChannelNumber
static uint32_t offlineChannelNumber(const uint32_t sec, const uint32_t pfeb, const uint32_t vmm, const uint32_t vmmchan)
Definition: NSWPadTriggerL1a.h:280
Muon::nsw::NSWPadTriggerL1a::isSmall
static bool isSmall(const uint32_t sec)
Definition: NSWPadTriggerL1a.h:209
Muon::nsw::OFFLINE_CHANNEL_TYPE_PAD
@ OFFLINE_CHANNEL_TYPE_PAD
Definition: NSWDecodeHelper.h:22
Muon::nsw::NSWPadTriggerL1a::DecodedData::ec
uint32_t ec
Definition: NSWPadTriggerL1a.h:376
Muon::nsw::Constants::HEADER_N
constexpr size_t HEADER_N
Definition: NSWPadTriggerL1a.h:59
Muon::nsw::Constants::N_BYTES_IN_WORD32
constexpr uint32_t N_BYTES_IN_WORD32
Definition: NSWPadTriggerL1a.h:27
Muon::nsw::NSWPadTriggerL1a::getMult0
uint32_t getMult0(const std::vector< uint32_t > &words, const uint32_t bitIndex) const
Muon::nsw::NSWPadTriggerL1a::quadlayer
static uint32_t quadlayer(const uint32_t pfeb)
Definition: NSWPadTriggerL1a.h:259
Muon::nsw::Constants::FIRSTBIT_BANDID_31_16
const uint32_t FIRSTBIT_BANDID_31_16
Definition: NSWPadTriggerL1a.h:125
Muon::nsw::Constants::SIZE_BANDID_15_00
constexpr uint32_t SIZE_BANDID_15_00
Definition: NSWPadTriggerL1a.h:99
Muon::nsw::Constants::N_BITS_IN_BANDID
constexpr uint32_t N_BITS_IN_BANDID
Definition: NSWPadTriggerL1a.h:40
python.setupRTTAlg.size
int size
Definition: setupRTTAlg.py:39
Muon::nsw::Constants::FIRSTBIT_PHIID_15_00
const uint32_t FIRSTBIT_PHIID_15_00
Definition: NSWPadTriggerL1a.h:124
Muon::nsw::NSWPadTriggerL1a::getHitVmmChannels
const std::vector< uint32_t > & getHitVmmChannels() const
Definition: NSWPadTriggerL1a.h:160
Muon::nsw::NSWPadTriggerL1a::OneBCOfData::l1
std::vector< uint32_t > l1
Definition: NSWPadTriggerL1a.h:357
Muon::nsw::NSWPadTriggerL1a::layer
static uint32_t layer(const uint32_t pfeb)
Definition: NSWPadTriggerL1a.h:238
Muon::nsw::Constants::SIZE_PHIID_23_16
constexpr uint32_t SIZE_PHIID_23_16
Definition: NSWPadTriggerL1a.h:95
MapperSTG.h
Muon::nsw::NSWPadTriggerL1a::m_trigger_relbcid
std::vector< uint32_t > m_trigger_relbcid
Definition: NSWPadTriggerL1a.h:534
Muon::nsw::NSWPadTriggerL1a::OneBCOfData::disconnecteds
std::vector< bool > disconnecteds
Definition: NSWPadTriggerL1a.h:363
Muon::nsw::Constants::SIZE_SECID
constexpr uint32_t SIZE_SECID
Definition: NSWPadTriggerL1a.h:50
Muon::nsw::Constants::MASK_BYTE
constexpr uint32_t MASK_BYTE
Definition: NSWPadTriggerL1a.h:31
Muon::nsw::NSWPadTriggerL1a::getL1size
uint32_t getL1size(const std::vector< uint32_t > &words, const uint32_t bitIndex) const
Muon::nsw::NSWPadTriggerL1a::OneBCOfData::status
uint32_t status
Definition: NSWPadTriggerL1a.h:366
Muon::nsw::NSWPadTriggerL1a::radius
static uint32_t radius(const uint32_t pfeb)
Definition: NSWPadTriggerL1a.h:231
Muon::nsw::NSWPadTriggerL1a::m_hit_n
uint32_t m_hit_n
Definition: NSWPadTriggerL1a.h:519
Muon::nsw::Constants::SIZE_PHIID0
constexpr uint32_t SIZE_PHIID0
Definition: NSWPadTriggerL1a.h:96
Muon::nsw::NSWPadTriggerL1a::getCRC
uint16_t getCRC() const
Definition: NSWPadTriggerL1a.h:189
Muon::nsw::NSWPadTriggerL1a::OneBCOfData::l1size
uint32_t l1size
Definition: NSWPadTriggerL1a.h:353
Muon::nsw::Constants::SIZE_ORBIT
constexpr uint32_t SIZE_ORBIT
Definition: NSWPadTriggerL1a.h:53
Muon::nsw::Constants::N_CHAN_PER_VMM
constexpr uint32_t N_CHAN_PER_VMM
Definition: NSWPadTriggerL1a.h:44
xAOD::uint16_t
setWord1 uint16_t
Definition: eFexEMRoI_v1.cxx:93
Muon::nsw::NSWPadTriggerL1a::getPfebDisconnecteds
const std::vector< uint32_t > & getPfebDisconnecteds() const
Definition: NSWPadTriggerL1a.h:165
Muon::nsw::Constants::N_SEGMENTS_IN_BC
constexpr uint32_t N_SEGMENTS_IN_BC
Definition: NSWPadTriggerL1a.h:41
Muon::nsw::NSWPadTriggerL1a::getHits
std::vector< std::vector< uint8_t > > getHits(const std::vector< std::vector< uint8_t > > &bitmap) const
Muon::nsw::NSWPadTriggerL1a::getSpare
uint32_t getSpare() const
Definition: NSWPadTriggerL1a.h:181
Muon::nsw::NSWPadTriggerL1a::m_hasOrbit
bool m_hasOrbit
Definition: NSWPadTriggerL1a.h:543
Muon::nsw::NSWPadTriggerL1a::getPadTriggerToTds
static uint8_t getPadTriggerToTds(const size_t pfeb, const size_t chan, const std::string &size)
Definition: NSWPadTriggerL1a.h:312
Muon::nsw::NSWPadTriggerL1a::getOneBcOfCompressedData
OneBCOfData getOneBcOfCompressedData(const std::vector< uint32_t > &words, const uint32_t bitIndex, const uint32_t relbcid, const Constants::ArrayOfPfebChannels &mapPadTriggerToTds, const Constants::ArrayOfPfebs &numberOfChannels) const
ReadCellNoiseFromCool.chan
chan
Definition: ReadCellNoiseFromCool.py:52
Muon::nsw::NSWPadTriggerL1a::getOrbit1
uint32_t getOrbit1(const std::vector< uint32_t > &words) const
Muon::nsw::NSWPadTriggerL1a::roundUpIfOdd
uint32_t roundUpIfOdd(const uint32_t nbytes) const
Muon::nsw::Constants::SIZE_FLAGS
constexpr uint32_t SIZE_FLAGS
Definition: NSWPadTriggerL1a.h:48
Muon::nsw::NSWPadTriggerL1a::OneBCOfData::relbcid
uint32_t relbcid
Definition: NSWPadTriggerL1a.h:349
Muon::nsw::NSWPadTriggerL1a::getEc
uint32_t getEc() const
Definition: NSWPadTriggerL1a.h:178
Muon::nsw::NSWPadTriggerL1a::DecodedData::l1id
uint32_t l1id
Definition: NSWPadTriggerL1a.h:381
Muon::nsw::NSWPadTriggerL1a::getHitPadChannels
const std::vector< uint32_t > & getHitPadChannels() const
Definition: NSWPadTriggerL1a.h:162
Muon::nsw::NSWPadTriggerL1a::getFlags
uint32_t getFlags(const std::vector< uint32_t > &words) const
Muon::nsw::Constants::SIZE_BANDID_31_16
constexpr uint32_t SIZE_BANDID_31_16
Definition: NSWPadTriggerL1a.h:98
Muon::nsw::NSWPadTriggerL1a::DecodedData::fragid
uint32_t fragid
Definition: NSWPadTriggerL1a.h:374
Muon::nsw::Constants::FIRSTBIT_PHIID_23_16
const uint32_t FIRSTBIT_PHIID_23_16
Definition: NSWPadTriggerL1a.h:122
Muon::nsw::NSWPadTriggerL1a::OneBCOfData::multiplicity
uint32_t multiplicity
Definition: NSWPadTriggerL1a.h:350
Muon::nsw::NSWPadTriggerL1a::DecodedData::crc
uint16_t crc
Definition: NSWPadTriggerL1a.h:386
Muon::nsw::NSWPadTriggerL1a::getL2
uint32_t getL2(const std::vector< uint32_t > &words, const uint32_t bitIndex) const
Muon::nsw::Constants::FIRSTBIT_ORBIT1
const uint32_t FIRSTBIT_ORBIT1
Definition: NSWPadTriggerL1a.h:87
Muon::nsw::Constants::BITMASK_PHIID
constexpr uint32_t BITMASK_PHIID
Definition: NSWPadTriggerL1a.h:42
Muon::nsw::Constants::FIRSTBIT_L1ID_31_16
const uint32_t FIRSTBIT_L1ID_31_16
Definition: NSWPadTriggerL1a.h:84
Muon::nsw::Constants::FIRSTBIT_FRAGID
const uint32_t FIRSTBIT_FRAGID
Definition: NSWPadTriggerL1a.h:80
Muon::nsw::NSWPadTriggerL1a::m_trigger_bandid
std::vector< uint32_t > m_trigger_bandid
Definition: NSWPadTriggerL1a.h:532
Muon::nsw::NSWPadTriggerL1a::m_hit_pfeb
std::vector< uint32_t > m_hit_pfeb
Definition: NSWPadTriggerL1a.h:524
Muon::nsw::NSWPadTriggerL1a::m_trigger_n
uint32_t m_trigger_n
Definition: NSWPadTriggerL1a.h:521
Muon::nsw::NSWPadTriggerL1a::getL0size
uint32_t getL0size(const std::vector< uint32_t > &words, const uint32_t bitIndex) const
Muon::nsw::NSWPadTriggerL1a::getFragid
uint32_t getFragid() const
Definition: NSWPadTriggerL1a.h:179
Muon::nsw::NSWPadTriggerL1a::getPfebNChannels
const std::vector< uint32_t > & getPfebNChannels() const
Definition: NSWPadTriggerL1a.h:164
Muon::nsw::NSWPadTriggerL1a::OneBCOfData::nchans
std::vector< uint32_t > nchans
Definition: NSWPadTriggerL1a.h:356
Muon::nsw::Constants::SIZE_L2
constexpr uint32_t SIZE_L2
Definition: NSWPadTriggerL1a.h:104
Muon::nsw::NSWPadTriggerL1a::DecodedData::orbitid
uint32_t orbitid
Definition: NSWPadTriggerL1a.h:382
Muon::nsw::Constants::FIRSTBIT_L2_15_00
const uint32_t FIRSTBIT_L2_15_00
Definition: NSWPadTriggerL1a.h:130
Muon::nsw::NSWPadTriggerL1a::getOrbit
uint32_t getOrbit(const std::vector< uint32_t > &words) const
Muon::nsw::NSWPadTriggerL1a::getL1
std::vector< uint32_t > getL1(const std::vector< uint32_t > &words, const uint32_t bitIndex, const uint32_t l1size) const
Muon::nsw::NSWPadTriggerL1a::OneBCOfData::hits
std::vector< std::vector< uint8_t > > hits
Definition: NSWPadTriggerL1a.h:361
Muon::nsw::NSWPadTriggerL1a::OneBCOfData::mult0
uint32_t mult0
Definition: NSWPadTriggerL1a.h:351
Muon::nsw::NSWPadTriggerL1a::DecodedData::data
std::vector< OneBCOfData > data
Definition: NSWPadTriggerL1a.h:385
Muon::nsw::NSWPadTriggerL1a::m_numberOfChannelsS
static constexpr Constants::ArrayOfPfebs m_numberOfChannelsS
Definition: NSWPadTriggerL1a.h:553
Muon::nsw::Constants::SIZE_MULT
constexpr uint32_t SIZE_MULT
Definition: NSWPadTriggerL1a.h:93
Muon::nsw::NSWPadTriggerL1a::isCRCValid
bool isCRCValid()
Definition: NSWPadTriggerL1a.h:336
Muon::nsw::NSWPadTriggerL1a::getNumberOfTriggers
uint32_t getNumberOfTriggers() const
Definition: NSWPadTriggerL1a.h:155
Muon::nsw::Constants::FIRSTBIT_BCID
const uint32_t FIRSTBIT_BCID
Definition: NSWPadTriggerL1a.h:83
Muon::nsw::Constants::SIZE_SPARE
constexpr uint32_t SIZE_SPARE
Definition: NSWPadTriggerL1a.h:52
Muon::nsw::NSWPadTriggerL1a::DecodedData::flags
uint32_t flags
Definition: NSWPadTriggerL1a.h:377
PlotCalibFromCool.words
words
Definition: PlotCalibFromCool.py:51
Muon::nsw::NSWPadTriggerL1a::checkSize
uint32_t checkSize(const std::vector< uint32_t > &words) const
Muon::nsw::NSWPadTriggerL1a::getBcidMultZeros
const std::vector< uint32_t > & getBcidMultZeros() const
Definition: NSWPadTriggerL1a.h:171
Muon::nsw::NSWPadTriggerL1a::m_bcid_status
std::vector< uint32_t > m_bcid_status
Definition: NSWPadTriggerL1a.h:536
Muon::nsw::Constants::FIRSTBIT_MULT0
const uint32_t FIRSTBIT_MULT0
Definition: NSWPadTriggerL1a.h:121
Muon::nsw::NSWPadTriggerL1a::getStatus
uint32_t getStatus(const std::vector< uint32_t > &words, const uint32_t bitIndex) const
Muon::nsw::NSWPadTriggerL1a::getL1id
uint32_t getL1id(const std::vector< uint32_t > &words) const
Muon::nsw::NSWPadTriggerL1a::m_hit_padchannel
std::vector< uint32_t > m_hit_padchannel
Definition: NSWPadTriggerL1a.h:528
Muon::nsw::Constants::SIZE_ORBIT1
constexpr uint32_t SIZE_ORBIT1
Definition: NSWPadTriggerL1a.h:58
Muon::nsw::Constants::SIZE_SWROD
constexpr uint32_t SIZE_SWROD
Definition: NSWPadTriggerL1a.h:47
Muon::nsw::NSWPadTriggerL1a
Definition: NSWPadTriggerL1a.h:143
Muon::nsw::Constants::NLAYERS_PER_QUAD
constexpr uint32_t NLAYERS_PER_QUAD
Definition: NSWPadTriggerL1a.h:38
Muon::nsw::Constants::FIRSTBIT_SWROD
const uint32_t FIRSTBIT_SWROD
Definition: NSWPadTriggerL1a.h:76
Muon::nsw::NSWPadTriggerL1a::getMultiplicity
uint32_t getMultiplicity(const std::vector< uint32_t > &words, const uint32_t bitIndex) const
Muon::nsw::Constants::SIZE_EC
constexpr uint32_t SIZE_EC
Definition: NSWPadTriggerL1a.h:49
Muon::nsw::Constants::FIRSTBIT_L1
const uint32_t FIRSTBIT_L1
Definition: NSWPadTriggerL1a.h:131
Muon::nsw::NSWPadTriggerL1a::getHitVmms
const std::vector< uint32_t > & getHitVmms() const
Definition: NSWPadTriggerL1a.h:161
Muon::nsw::NSWPadTriggerL1a::getBits
std::vector< uint8_t > getBits(const std::vector< uint32_t > &words, size_t firstBit, size_t lastBit) const
Muon::nsw::Constants::ArrayOfPfebs
std::array< size_t, NPFEBS > ArrayOfPfebs
Definition: NSWPadTriggerL1a.h:139
Muon::nsw::NSWPadTriggerL1a::getByte
uint8_t getByte(const std::vector< uint32_t > &words, size_t byteIndex) const
Muon::nsw::NSWPadTriggerL1a::m_pfeb_addr
std::vector< uint32_t > m_pfeb_addr
Definition: NSWPadTriggerL1a.h:529
Muon::nsw::NSWPadTriggerL1a::getTriggerPhiIds
const std::vector< uint32_t > & getTriggerPhiIds() const
Definition: NSWPadTriggerL1a.h:167
Muon::nsw::NSWPadTriggerL1a::getEc
uint32_t getEc(const std::vector< uint32_t > &words) const
Muon::nsw::NSWPadTriggerL1a::m_pfeb_n
uint32_t m_pfeb_n
Definition: NSWPadTriggerL1a.h:520
Muon::nsw::NSWPadTriggerL1a::OneBCOfData::l0
std::vector< uint32_t > l0
Definition: NSWPadTriggerL1a.h:358
Muon::nsw::Constants::FIRSTBIT_EC
const uint32_t FIRSTBIT_EC
Definition: NSWPadTriggerL1a.h:78
Muon::nsw::NSWPadTriggerL1a::m_hit_vmmchannel
std::vector< uint32_t > m_hit_vmmchannel
Definition: NSWPadTriggerL1a.h:526
Muon::nsw::NSWPadTriggerL1a::OneBCOfData::tdschannels
std::vector< std::vector< uint8_t > > tdschannels
Definition: NSWPadTriggerL1a.h:362
Muon::nsw::NSWPadTriggerL1a::OneBCOfData::l2
uint32_t l2
Definition: NSWPadTriggerL1a.h:355
Muon::nsw::Constants::NPADS
constexpr uint32_t NPADS
Definition: NSWPadTriggerL1a.h:36
Muon::nsw::Constants::NLAYERS
constexpr uint32_t NLAYERS
Definition: NSWPadTriggerL1a.h:37
Muon::nsw::Constants::SIZE_HEADER
const uint32_t SIZE_HEADER
Definition: NSWPadTriggerL1a.h:88
Muon::nsw::NSWPadTriggerL1a::getBitsAsWord32
uint32_t getBitsAsWord32(const std::vector< uint32_t > &words, size_t firstBit, size_t lastBit) const
Muon::nsw::Constants::SIZE_L0SIZE
constexpr uint32_t SIZE_L0SIZE
Definition: NSWPadTriggerL1a.h:100
Muon::nsw::Constants::SIZE_L1ID_15_00
constexpr uint32_t SIZE_L1ID_15_00
Definition: NSWPadTriggerL1a.h:56
Muon::nsw::NSWPadTriggerL1a::m_bcid_multiplicity
std::vector< uint32_t > m_bcid_multiplicity
Definition: NSWPadTriggerL1a.h:538
Muon::nsw::NSWPadTriggerL1a::getTdsToPadTrigger
static uint8_t getTdsToPadTrigger(const size_t pfeb, const uint8_t tdschan, const std::string &size)
Definition: NSWPadTriggerL1a.h:324
Muon::nsw::NSWPadTriggerL1a::getPhiid0
uint32_t getPhiid0(const std::vector< uint32_t > &words, const uint32_t bitIndex) const
Muon::nsw::Constants::FIRSTBIT_BANDID_15_00
const uint32_t FIRSTBIT_BANDID_15_00
Definition: NSWPadTriggerL1a.h:126
Muon::nsw::NSWPadTriggerL1a::isC
static bool isC(const uint32_t sourceid)
Definition: NSWPadTriggerL1a.h:224
Muon::nsw::Constants::FIRSTBIT_L2_31_16
const uint32_t FIRSTBIT_L2_31_16
Definition: NSWPadTriggerL1a.h:129
Muon::nsw::Constants::N_BITS_IN_PHIID
constexpr uint32_t N_BITS_IN_PHIID
Definition: NSWPadTriggerL1a.h:39
Muon::nsw::Constants::SIZE_L1ID_31_16
constexpr uint32_t SIZE_L1ID_31_16
Definition: NSWPadTriggerL1a.h:55
Muon::nsw::NSWPadTriggerL1a::getBitmaps
std::vector< std::vector< uint8_t > > getBitmaps(const std::vector< uint8_t > &bytemap, const Constants::ArrayOfPfebs &numberOfChannels) const
Muon::nsw::NSWPadTriggerL1a::getBytemap
std::vector< uint8_t > getBytemap(const uint32_t L2, const std::vector< uint32_t > &L1, const std::vector< uint32_t > &L0) const
Muon::nsw::NSWPadTriggerL1a::NSWPadTriggerL1a
NSWPadTriggerL1a(const uint32_t *bs, const uint32_t remaining)
Muon::nsw::Constants::DECOMP_SIZES
constexpr std::array< uint32_t, DECOMP_N > DECOMP_SIZES
Definition: NSWPadTriggerL1a.h:107
Muon::nsw::Constants::SIZE_FRAGID
constexpr uint32_t SIZE_FRAGID
Definition: NSWPadTriggerL1a.h:51
Muon::nsw::NSWPadTriggerL1a::m_decoded
DecodedData m_decoded
Definition: NSWPadTriggerL1a.h:395
Amg::distance
float distance(const Amg::Vector3D &p1, const Amg::Vector3D &p2)
calculates the distance between two point in 3D space
Definition: GeoPrimitivesHelpers.h:54
Muon::nsw::NSWPadTriggerL1a::getBcid
uint32_t getBcid() const
Definition: NSWPadTriggerL1a.h:183
Muon::nsw::NSWPadTriggerL1a::getOrbitid
uint32_t getOrbitid(const std::vector< uint32_t > &words) const
Muon::nsw::NSWPadTriggerL1a::getOrbit1
uint32_t getOrbit1() const
Definition: NSWPadTriggerL1a.h:195
Muon::nsw::Constants::SIZE_L1SIZE
constexpr uint32_t SIZE_L1SIZE
Definition: NSWPadTriggerL1a.h:101
Muon::nsw::NSWPadTriggerL1a::offlineStationAbsEta
static uint32_t offlineStationAbsEta(const uint32_t pfeb)
Definition: NSWPadTriggerL1a.h:291
Muon::nsw::NSWPadTriggerL1a::OneBCOfData
Definition: NSWPadTriggerL1a.h:348
Muon::nsw::NSWPadTriggerL1a::getBandids
std::vector< uint32_t > getBandids(const std::vector< uint32_t > &words, const uint32_t bitIndex) const
Muon::nsw::Constants::NULL_SIZE
constexpr uint32_t NULL_SIZE
Definition: NSWPadTriggerL1a.h:32
Muon::nsw::Constants::FIRSTBIT_L1ID_15_00
const uint32_t FIRSTBIT_L1ID_15_00
Definition: NSWPadTriggerL1a.h:85
Muon::nsw::NSWPadTriggerL1a::getNumberOfHits
uint32_t getNumberOfHits() const
Definition: NSWPadTriggerL1a.h:153
Muon::nsw::NSWPadTriggerL1a::OneBCOfData::last
bool last
Definition: NSWPadTriggerL1a.h:369
Muon::nsw::NSWPadTriggerL1a::m_computedCRC
uint16_t m_computedCRC
Definition: NSWPadTriggerL1a.h:390
Muon::nsw::NSWPadTriggerL1a::getNumberOfPfebs
uint32_t getNumberOfPfebs() const
Definition: NSWPadTriggerL1a.h:154
Trk::L0
@ L0
Definition: AlignModuleList.h:32
Muon::nsw::NSWPadTriggerL1a::DecodedData::bcid
uint32_t bcid
Definition: NSWPadTriggerL1a.h:378
Muon::nsw::NSWPadTriggerL1a::getFlags
uint32_t getFlags() const
Definition: NSWPadTriggerL1a.h:177
python.LArCondContChannels.chans
list chans
Definition: LArCondContChannels.py:638
Muon::nsw::Constants::FIRSTBIT_ORBITID
const uint32_t FIRSTBIT_ORBITID
Definition: NSWPadTriggerL1a.h:86
Muon::nsw::NSWPadTriggerL1a::m_trigger_phiid
std::vector< uint32_t > m_trigger_phiid
Definition: NSWPadTriggerL1a.h:533
Muon::nsw::NSWPadTriggerL1a::DecodedData::orbit
uint32_t orbit
Definition: NSWPadTriggerL1a.h:379
Muon::nsw::Constants::ArrayOfPfebChannels
std::array< std::array< uint8_t, NPADS >, NPFEBS > ArrayOfPfebChannels
Definition: NSWPadTriggerL1a.h:138
Muon::nsw::MapperSTG
Definition: MapperSTG.h:18
Muon::nsw::Constants::SIZE_L2_31_16
constexpr uint32_t SIZE_L2_31_16
Definition: NSWPadTriggerL1a.h:102
Muon::nsw::NSWPadTriggerL1a::getSecid
uint32_t getSecid(const std::vector< uint32_t > &words) const