File indexing completed on 2023-03-17 10:56:50
0001 #ifndef DQM_SiStripMonitorHardware_SiStripSpyUnpacker_H
0002 #define DQM_SiStripMonitorHardware_SiStripSpyUnpacker_H
0003
0004 #include "DataFormats/Common/interface/DetSetVector.h"
0005
0006
0007 #include <vector>
0008 #include <utility>
0009 #include <cstdint>
0010
0011
0012 class FEDRawDataCollection;
0013 class FEDRawData;
0014 class SiStripRawDigi;
0015 class SiStripFedCabling;
0016
0017 namespace sistrip {
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031 class SpyUnpacker {
0032 public:
0033 typedef edm::DetSetVector<SiStripRawDigi> RawDigis;
0034 typedef std::vector<uint32_t> Counters;
0035
0036 SpyUnpacker(const bool allowIncompleteEvents);
0037 ~SpyUnpacker();
0038
0039
0040
0041
0042
0043
0044 void createDigis(const SiStripFedCabling&,
0045 const FEDRawDataCollection&,
0046 RawDigis* pDigis,
0047 const std::vector<uint32_t>& ids,
0048 Counters* pTotalEventCounts,
0049 Counters* pL1ACounts,
0050 uint32_t* aRunRef) const;
0051
0052 private:
0053
0054 const bool allowIncompleteEvents_;
0055
0056 };
0057
0058 }
0059
0060 #endif