00001 #ifndef DTDDUUnpacker_h 00002 #define DTDDUUnpacker_h 00003 00012 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00013 00014 #include <EventFilter/DTRawToDigi/plugins/DTUnpacker.h> 00015 00016 class DTROS25Unpacker; 00017 class DTDataMonitorInterface; 00018 00019 class DTDDUUnpacker : public DTUnpacker { 00020 00021 public: 00022 00024 DTDDUUnpacker(const edm::ParameterSet& ps); 00025 00027 virtual ~DTDDUUnpacker(); 00028 00029 // Unpacking method 00030 virtual void interpretRawData(const unsigned int* index, int datasize, 00031 int dduID, 00032 edm::ESHandle<DTReadOutMapping>& mapping, 00033 std::auto_ptr<DTDigiCollection>& product, 00034 std::auto_ptr<DTLocalTriggerCollection>& product2, 00035 uint16_t rosList=0); 00036 00037 private: 00038 00039 const edm::ParameterSet dduPSet; 00040 00042 bool localDAQ; 00043 00045 bool performDataIntegrityMonitor; 00046 00047 bool debug; 00048 00049 DTROS25Unpacker* ros25Unpacker; 00050 00051 DTDataMonitorInterface * dataMonitor; 00052 00053 }; 00054 00055 #endif