00001 #ifndef CSCChamberDataItr_h 00002 #define CSCChamberDataItr_h 00003 00009 #include "EventFilter/CSCRawToDigi/interface/CSCDDUDataItr.h" 00010 class CSCDCCEventData; 00011 class CSCDDUEventData; 00012 class CSCEventData; 00013 #include<vector> 00014 00015 class CSCChamberDataItr { 00016 public: 00019 CSCChamberDataItr(const char * buf); 00020 ~CSCChamberDataItr(); 00021 00022 bool next(); 00023 00024 const CSCEventData & operator*(); 00025 00026 private: 00028 void constructFromDCC(const CSCDCCEventData &); 00030 void constructFromDDU(const CSCDDUEventData &); 00031 00033 void initDDU(); 00034 00037 // or if there's no DCC, it will 00039 const CSCDCCEventData * theDCCData; 00040 CSCDDUDataItr * theDDUItr; 00041 unsigned theCurrentDDU; 00042 unsigned theNumberOfDDUs; 00043 }; 00044 00045 #endif 00046