Go to the documentation of this file.
19 #include <boost/dynamic_bitset.hpp>
58 boost::dynamic_bitset<>
pack();
60 std::bitset<22>
calCRC22(
const std::vector<std::bitset<16> >& datain);
61 std::bitset<22>
nextCRC22_D16(
const std::bitset<16>&
D,
const std::bitset<22>&
C);
CSCTMBTrailer theTMBTrailer
static void selfTest()
tests packing
const unsigned short size() const
bool hasTMBScope() const
check this before using TMB Scope
CSCTMBScope * theTMBScope
bool checkSize() const
sees if the size adds up to the word count
static void setDebug(const bool value)
bool theBlockedCFEBIsPresent
CSCTMBHeader * tmbHeader()
CSCTMBTrailer * tmbTrailer()
bool theTMBMiniScopeIsPresent
CSCTMBHeader theTMBHeader
boost::dynamic_bitset pack()
not const because it sets size int TMBTrailer
std::bitset< 22 > calCRC22(const std::vector< std::bitset< 16 > > &datain)
CSCTMBScope & tmbScope() const
CSCTMBBlockedCFEB & tmbBlockedCFEB() const
short unsigned int CWordCnt() const
CSCTMBBlockedCFEB * theTMBBlockedCFEB
std::bitset< 22 > nextCRC22_D16(const std::bitset< 16 > &D, const std::bitset< 22 > &C)
CSCTMBMiniScope * theTMBMiniScope
bool theTMBScopeIsPresent
The TMB scope is not present in most of data hence its dynamic.
CSCTMBMiniScope & tmbMiniScope() const
bool hasTMBMiniScope() const
check this before using TMB mini scope
int UnpackTMB(const uint16_t *buf)
const uint16_t * theOriginalBuffer
DecomposeProduct< arg, typename Div::arg > D
unsigned int crc22() const
bool hasRPC() const
check this before using RPC
char data[epos_bytes_allocation]
bool hasTMBBlockedCFEB() const
check this before TMB Block CFEB
static std::atomic< bool > debug