1 #ifndef EventFilter_L1TRawToDigi_AMC_SPEC__h 2 #define EventFilter_L1TRawToDigi_AMC_SPEC__h 19 BlockHeader(
unsigned int amc_no,
unsigned int board_id,
unsigned int size,
unsigned int block = 0);
63 Header(
unsigned int amc_no,
68 unsigned int board_id,
73 inline unsigned int getLV1ID()
const {
return (data0_ >> LV1ID_shift) & LV1ID_mask; };
74 inline unsigned int getBX()
const {
return (data0_ >> BX_shift) & BX_mask; };
75 inline unsigned int getOrbitNumber()
const {
return (data1_ >> OrN_shift) & OrN_mask; };
77 inline unsigned int getUserData()
const {
return (data1_ >> User_shift) & User_mask; };
79 std::vector<uint64_t>
raw()
const {
return {data0_, data1_}; };
84 static const unsigned int BX_shift = 20;
85 static const unsigned int BX_mask = 0xfff;
86 static const unsigned int LV1ID_shift = 32;
87 static const unsigned int LV1ID_mask = 0xffffff;
93 static const unsigned int OrN_shift = 16;
94 static const unsigned int OrN_mask = 0xffff;
95 static const unsigned int User_shift = 32;
96 static const unsigned int User_mask = 0xffffffff;
106 Trailer(
unsigned int crc,
unsigned int lv1_id,
unsigned int size);
108 inline unsigned int getCRC()
const {
return (
data_ >> CRC_shift) & CRC_mask; };
109 inline unsigned int getLV1ID()
const {
return (
data_ >> LV1ID_shift) & LV1ID_mask; };
113 bool check(
unsigned int crc,
unsigned int lv1_id,
unsigned int size,
bool mtf7_mode =
false)
const;
120 static const unsigned int LV1ID_shift = 24;
121 static const unsigned int LV1ID_mask = 0xff;
122 static const unsigned int CRC_shift = 32;
123 static const unsigned int CRC_mask = 0xffffffff;
136 const std::vector<uint64_t> &
load,
137 unsigned int user = 0);
140 void addPayload(
const uint64_t *,
unsigned int);
144 void finalize(
unsigned int lv1,
unsigned int bx,
bool legacy_mc =
false,
bool mtf7_mode =
false);
146 std::vector<uint64_t>
block(
unsigned int id)
const;
147 std::unique_ptr<uint64_t[]>
data();
152 inline unsigned int blocks()
const {
return block_header_.getBlocks(); };
154 inline unsigned int size()
const {
return payload_.size() - 3; };
unsigned int getLV1ID() const
unsigned int getSize() const
unsigned int getCRC() const
static const unsigned int split_block_size
BlockHeader blockHeader(unsigned int block=0) const
unsigned int size() const
unsigned long long uint64_t
char data[epos_bytes_allocation]
Trailer(const uint64_t *data)
Packet(const uint64_t *d)
unsigned int blocks() const
std::vector< uint64_t > payload_