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