00001 #ifndef DQM_SiStripMonitorHardware_SiStripSpyUnpacker_H 00002 #define DQM_SiStripMonitorHardware_SiStripSpyUnpacker_H 00003 00004 #include "DataFormats/Common/interface/DetSetVector.h" 00005 00006 // Standard includes. 00007 #include "boost/cstdint.hpp" 00008 #include <vector> 00009 #include <utility> 00010 00011 // Other classes 00012 class FEDRawDataCollection; 00013 class FEDRawData; 00014 class SiStripRawDigi; 00015 class SiStripFedCabling; 00016 00017 namespace sistrip { 00018 00031 class SpyUnpacker 00032 { 00033 public: 00034 typedef edm::DetSetVector<SiStripRawDigi> RawDigis; 00035 typedef std::vector<uint32_t> Counters; 00036 00037 SpyUnpacker(const bool allowIncompleteEvents); 00038 ~SpyUnpacker(); 00039 00045 void createDigis( const SiStripFedCabling&, 00046 const FEDRawDataCollection&, RawDigis* pDigis, 00047 const std::vector<uint32_t> & ids, 00048 Counters * pTotalEventCounts, 00049 Counters * pL1ACounts, 00050 uint32_t * aRunRef); 00051 private: 00052 // Configuration 00053 const bool allowIncompleteEvents_; 00054 00055 }; // end of SpyUnpacker class. 00056 00057 } // end of sistrip namespace. 00058 00059 #endif // DQM_SiStripMonitorHardware_SiStripSpyUnpacker_H