CMS 3D CMS Logo

CSCChamberDataItr.cc
Go to the documentation of this file.
3 
4 CSCChamberDataItr::CSCChamberDataItr(const char *buf) : theDCCData(nullptr), theCurrentDDU(0) {
5  // first try if it's DCC data.
6  const CSCDCCHeader *dccHeader = reinterpret_cast<const CSCDCCHeader *>(buf);
7  if (dccHeader->check()) {
8  theDCCData = new CSCDCCEventData((const uint16_t *)buf);
11  } else {
12  // it's DDU data, with only one DDU
14  theNumberOfDDUs = 1;
15  }
16 }
17 
19  // safe, even if it's zero
20  delete theDCCData;
21 }
22 
24  bool result = true;
25  if (!theDDUItr->next()) {
26  if (++theCurrentDDU >= theNumberOfDDUs) {
27  result = false;
28  } else {
29  // the next DDU exists, so initialize an itr
30  assert(theDCCData != nullptr);
31  delete theDDUItr;
33  }
34  }
35  return result;
36 }
37 
CSCEventData
Definition: CSCEventData.h:28
CSCDCCEventData::dduData
const std::vector< CSCDDUEventData > & dduData() const
accessor to dduData
Definition: CSCDCCEventData.h:25
CSCChamberDataItr::operator*
const CSCEventData & operator*()
Definition: CSCChamberDataItr.cc:38
CSCDCCEventData
01/20/05 A.Tumanov
Definition: CSCDCCEventData.h:13
cms::cuda::assert
assert(be >=bs)
CSCChamberDataItr::theDDUItr
CSCDDUDataItr * theDDUItr
Definition: CSCChamberDataItr.h:40
CSCDDUDataItr::next
bool next()
Definition: CSCDDUDataItr.cc:59
CSCDCCHeader
Definition: CSCDCCHeader.h:13
CSCChamberDataItr.h
CSCChamberDataItr::next
bool next()
Definition: CSCChamberDataItr.cc:23
CSCChamberDataItr::theDCCData
const CSCDCCEventData * theDCCData
make a new vector of DDUs (length 1).
Definition: CSCChamberDataItr.h:39
CSCDCCHeader::check
bool check() const
Definition: CSCDCCHeader.h:27
CSCDDUDataItr
Definition: CSCDDUDataItr.h:13
CSCChamberDataItr::CSCChamberDataItr
CSCChamberDataItr(const char *buf)
Definition: CSCChamberDataItr.cc:4
CSCDCCEventData.h
CSCChamberDataItr::~CSCChamberDataItr
~CSCChamberDataItr()
Definition: CSCChamberDataItr.cc:18
CSCChamberDataItr::theNumberOfDDUs
unsigned theNumberOfDDUs
Definition: CSCChamberDataItr.h:42
visDQMUpload.buf
buf
Definition: visDQMUpload.py:154
CSCChamberDataItr::theCurrentDDU
unsigned theCurrentDDU
Definition: CSCChamberDataItr.h:41
mps_fire.result
result
Definition: mps_fire.py:303