18 if(payload.size() != 4) { errors += 1;
edm::LogError(
"L1T|EMTF") <<
"Payload size in 'RPC Data Record' is different than expected"; }
21 if(
GetHexBits(payload[0], 16, 31) != 0) { errors += 1;
edm::LogError(
"L1T|EMTF") <<
"Payload[0] has more than 16 bits in 'RPC Data Record'"; }
22 if(
GetHexBits(payload[1], 16, 31) != 0) { errors += 1;
edm::LogError(
"L1T|EMTF") <<
"Payload[1] has more than 16 bits in 'RPC Data Record'"; }
23 if(
GetHexBits(payload[2], 16, 31) != 0) { errors += 1;
edm::LogError(
"L1T|EMTF") <<
"Payload[2] has more than 16 bits in 'RPC Data Record'"; }
24 if(
GetHexBits(payload[3], 16, 31) != 0) { errors += 1;
edm::LogError(
"L1T|EMTF") <<
"Payload[3] has more than 16 bits in 'RPC Data Record'"; }
26 uint16_t RPCa = payload[0];
27 uint16_t RPCb = payload[1];
28 uint16_t RPCc = payload[2];
29 uint16_t RPCd = payload[3];
32 if(
GetHexBits(RPCa, 15, 15) != 0) { errors += 1;
edm::LogError(
"L1T|EMTF") <<
"Format identifier bits in RPCa are incorrect"; }
33 if(
GetHexBits(RPCb, 15, 15) != 0) { errors += 1;
edm::LogError(
"L1T|EMTF") <<
"Format identifier bits in RPCb are incorrect"; }
34 if(
GetHexBits(RPCc, 12, 13) != 0) { errors += 1;
edm::LogError(
"L1T|EMTF") <<
"Format identifier bits in RPCc are incorrect"; }
35 if(
GetHexBits(RPCc, 15, 15) != 1) { errors += 1;
edm::LogError(
"L1T|EMTF") <<
"Format identifier bits in RPCc are incorrect"; }
36 if(
GetHexBits(RPCd, 3, 15) != 0) { errors += 1;
edm::LogError(
"L1T|EMTF") <<
"Format identifier bits in RPCd are incorrect"; }
56 uint16_t RPCa = payload[0];
57 uint16_t RPCb = payload[1];
58 uint16_t RPCc = payload[2];
59 uint16_t RPCd = payload[3];
65 int iOut = res->size() - 1;
90 (res->at(iOut)).push_RPC(RPC_);
void set_link_number(int bits)
void set_partition_data(int bits)
void set_prt_delay(int bits)
virtual bool unpack(const Block &block, UnpackerCollections *coll) override
std::vector< uint32_t > payload() const
void set_partition_num(int bits)
int Format_Errors() const
std::vector< EMTFDaqOut > EMTFDaqOutCollection
#define DEFINE_L1T_UNPACKER(type)
uint16_t GetHexBits(uint16_t word, uint16_t lowBit, uint16_t highBit)
virtual int checkFormat(const Block &block)