File indexing completed on 2024-04-06 12:11:02
0001 #ifndef EventFilter_SiStripRawToDigi_SiStripRawToDigiModule_H
0002 #define EventFilter_SiStripRawToDigi_SiStripRawToDigiModule_H
0003
0004 #include "FWCore/Framework/interface/stream/EDProducer.h"
0005 #include "FWCore/Framework/interface/Event.h"
0006 #include "FWCore/Framework/interface/EventSetup.h"
0007 #include "FWCore/Framework/interface/ESWatcher.h"
0008 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0009 #include "DataFormats/FEDRawData/interface/FEDRawDataCollection.h"
0010 #include "FWCore/Utilities/interface/Visibility.h"
0011 #include "CondFormats/DataRecord/interface/SiStripFedCablingRcd.h"
0012 #include <string>
0013 #include <cstdint>
0014
0015 namespace sistrip {
0016 class RawToDigiModule;
0017 }
0018 namespace sistrip {
0019 class RawToDigiUnpacker;
0020 }
0021 class SiStripFedCabling;
0022 class TrackerTopology;
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032 namespace sistrip {
0033
0034 class dso_hidden RawToDigiModule final : public edm::stream::EDProducer<> {
0035 public:
0036 RawToDigiModule(const edm::ParameterSet&);
0037 ~RawToDigiModule() override;
0038
0039 void produce(edm::Event&, const edm::EventSetup&) override;
0040 void endStream() override;
0041
0042 private:
0043 void updateCabling(const edm::EventSetup&);
0044
0045 RawToDigiUnpacker* rawToDigi_;
0046 edm::EDGetTokenT<FEDRawDataCollection> token_;
0047 const SiStripFedCabling* cabling_ = nullptr;
0048 bool extractCm_;
0049 bool doFullCorruptBufferChecks_;
0050
0051
0052 bool doAPVEmulatorCheck_;
0053
0054 edm::ESGetToken<TrackerTopology, TrackerTopologyRcd> tTopoToken_;
0055 edm::ESGetToken<SiStripFedCabling, SiStripFedCablingRcd> fedCablingToken_;
0056 edm::ESWatcher<SiStripFedCablingRcd> fedCablingWatcher_;
0057 };
0058
0059 }
0060
0061 #endif