18 : theDCCHeader(bx, l1a, sourceId)
45 LogTrace (
"CSCDCCEventData|CSCRawToDigi") <<
"CSCDCCEventData::unpack_data() is called";
49 LogTrace (
"CSCDCCEventData|CSCRawToDigi") <<
"unpacking dcc header...";
57 while ( (buf[7]==0x8000)&&(buf[6]==0x0001)&&(buf[5]==0x8000))
62 if (
debug)
LogTrace (
"CSCDCCEventData|CSCRawToDigi") <<
" checking ddu data integrity ";
63 if (dduEventData.
check())
70 if (
debug)
LogTrace(
"CSCDCCEventData|CSCRawToDigi") <<
"DDU Data Check failed! ";
78 LogTrace (
"CSCDCCEventData|CSCRawToDigi") <<
"unpacking dcc trailer ";
79 LogTrace (
"CSCDCCEventData|CSCRawToDigi") << std::hex << buf[3] <<
" "
80 << buf[2]<<
" " << buf[1]<<
" " << buf[0];
84 if (
debug)
LogTrace (
"CSCDCCEventData|CSCRawToDigi") <<
"decoding DCC trailer";
99 LogTrace (
"CSCDCCEventData|CSCRawToDigi") <<
"size in Words () = " << std::dec <<
sizeInWords();
109 std::vector<CSCDDUEventData>::iterator dduItr;
112 for(
int i = 0; dduIndex == -1 &&
i < nDDUs; ++
i)
114 if(
theDDUData[
i].header().source_id() == dduID) dduIndex =
i;
125 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...