File indexing completed on 2023-03-17 10:59:34
0001 #ifndef DTDDUUnpacker_h
0002 #define DTDDUUnpacker_h
0003
0004
0005
0006
0007
0008
0009
0010 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0011
0012 #include <EventFilter/DTRawToDigi/plugins/DTUnpacker.h>
0013 #include <EventFilter/DTRawToDigi/plugins/DTROS25Unpacker.h>
0014 #include "DataFormats/DTDigi/interface/DTControlData.h"
0015
0016
0017 class DTDDUUnpacker : public DTUnpacker {
0018 public:
0019
0020 DTDDUUnpacker(const edm::ParameterSet& ps);
0021
0022
0023 ~DTDDUUnpacker() override;
0024
0025
0026 void interpretRawData(const unsigned int* index,
0027 int datasize,
0028 int dduID,
0029 edm::ESHandle<DTReadOutMapping>& mapping,
0030 std::unique_ptr<DTDigiCollection>& product,
0031 std::unique_ptr<DTLocalTriggerCollection>& product2,
0032 uint16_t rosList = 0) override;
0033
0034 inline const std::vector<DTROS25Data>& getROSsControlData() const { return ros25Unpacker->getROSsControlData(); }
0035
0036 inline const DTDDUData& getDDUControlData() const { return controlData; }
0037
0038 private:
0039 const edm::ParameterSet dduPSet;
0040
0041
0042 bool localDAQ;
0043
0044
0045 bool performDataIntegrityMonitor;
0046
0047 bool debug;
0048
0049 DTROS25Unpacker* ros25Unpacker;
0050
0051 DTDDUData controlData;
0052 };
0053
0054 #endif