16 : theDCCHeader(bx, l1a, sourceId)
43 LogTrace (
"CSCDCCEventData|CSCRawToDigi") <<
"CSCDCCEventData::unpack_data() is called";
47 LogTrace (
"CSCDCCEventData|CSCRawToDigi") <<
"unpacking dcc header...";
55 while ( (buf[7]==0x8000)&&(buf[6]==0x0001)&&(buf[5]==0x8000))
60 if (
debug)
LogTrace (
"CSCDCCEventData|CSCRawToDigi") <<
" checking ddu data integrity ";
61 if (dduEventData.
check())
68 if (
debug)
LogTrace(
"CSCDCCEventData|CSCRawToDigi") <<
"DDU Data Check failed! ";
76 LogTrace (
"CSCDCCEventData|CSCRawToDigi") <<
"unpacking dcc trailer ";
77 LogTrace (
"CSCDCCEventData|CSCRawToDigi") << std::hex << buf[3] <<
" "
78 << buf[2]<<
" " << buf[1]<<
" " << buf[0];
82 if (
debug)
LogTrace (
"CSCDCCEventData|CSCRawToDigi") <<
"decoding DCC trailer";
97 LogTrace (
"CSCDCCEventData|CSCRawToDigi") <<
"size in Words () = " << std::dec <<
sizeInWords();
107 std::vector<CSCDDUEventData>::iterator dduItr;
110 for(
int i = 0; dduIndex == -1 &&
i < nDDUs; ++
i)
112 if(
theDDUData[
i].header().source_id() == dduID) dduIndex =
i;
123 theDDUData[dduIndex].add( chamber, dmbID, dduInput );
bool check() const
for making events. Sets the bxnum and lvl1num inside the chamber event
CSCDCCHeader theDCCHeader
boost::dynamic_bitset append(const boost::dynamic_bitset<> &bs1, const boost::dynamic_bitset<> &bs2)
this method takes two bitsets bs1 and bs2 and returns result of bs2 appended to the end of bs1 ...
CSCDCCTrailer theDCCTrailer
CSCDCCTrailer dccTrailer() const
boost::dynamic_bitset pack()
packs data into bits
CSCDCCHeader dccHeader() const
std::vector< CSCDDUEventData > theDDUData
void addChamber(CSCEventData &chamber, int dduID, int dduSlot, int dduInput, int dmbID)
CSCDCCEventData(int sourceId, int nDDUs, int bx, int l1a)
void unpack_data(unsigned short *buf, CSCDCCExaminer *examiner=NULL)
static unsigned sizeInWords()
boost::dynamic_bitset ushortToBitset(const unsigned int numberOfBits, unsigned short *buf)
this method takes numberOfBits bits from unsigned short * array and returns them in the bitset obj...