17 if(payload.size() != 4) { errors += 1;
edm::LogError(
"L1T|EMTF") <<
"Payload size in 'Block of Counters' is different than expected"; }
20 if(
GetHexBits(payload[0], 16, 31) != 0) { errors += 1;
edm::LogError(
"L1T|EMTF") <<
"Payload[0] has more than 16 bits in 'Block of Counters'"; }
21 if(
GetHexBits(payload[1], 16, 31) != 0) { errors += 1;
edm::LogError(
"L1T|EMTF") <<
"Payload[1] has more than 16 bits in 'Block of Counters'"; }
22 if(
GetHexBits(payload[2], 16, 31) != 0) { errors += 1;
edm::LogError(
"L1T|EMTF") <<
"Payload[2] has more than 16 bits in 'Block of Counters'"; }
23 if(
GetHexBits(payload[3], 16, 31) != 0) { errors += 1;
edm::LogError(
"L1T|EMTF") <<
"Payload[3] has more than 16 bits in 'Block of Counters'"; }
25 uint16_t BCa = payload[0];
26 uint16_t BCb = payload[1];
27 uint16_t BCc = payload[2];
28 uint16_t BCd = payload[3];
31 if(
GetHexBits(BCa, 15, 15) != 0) { errors += 1;
edm::LogError(
"L1T|EMTF") <<
"Format identifier bits in BCa are incorrect"; }
32 if(
GetHexBits(BCb, 15, 15) != 1) { errors += 1;
edm::LogError(
"L1T|EMTF") <<
"Format identifier bits in BCb are incorrect"; }
33 if(
GetHexBits(BCc, 15, 15) != 0) { errors += 1;
edm::LogError(
"L1T|EMTF") <<
"Format identifier bits in BCc are incorrect"; }
34 if(
GetHexBits(BCd, 15, 15) != 0) { errors += 1;
edm::LogError(
"L1T|EMTF") <<
"Format identifier bits in BCd are incorrect"; }
54 uint16_t BCa = payload[0];
55 uint16_t BCb = payload[1];
56 uint16_t BCc = payload[2];
57 uint16_t BCd = payload[3];
63 int iOut = res->size() - 1;
68 if ( (res->at(iOut)).HasCounters() ==
true )
69 { (res->at(iOut)).add_format_error();
edm::LogError(
"L1T|EMTF") <<
"Why is there already a Counters object?";
goto write; }
78 (res->at(iOut)).set_Counters(Counters_);
virtual int checkFormat(const Block &block)
void set_track_counter(int bits)
int Format_Errors() const
std::vector< uint32_t > payload() const
std::vector< EMTFDaqOut > EMTFDaqOutCollection
DEFINE_L1T_UNPACKER(l1t::stage2::MPUnpacker_0x10010033)
void set_orbit_counter(int bits)
virtual bool unpack(const Block &block, UnpackerCollections *coll) override
uint16_t GetHexBits(uint16_t word, uint16_t lowBit, uint16_t highBit)