File indexing completed on 2024-04-06 12:11:02
0001
0002 #ifndef EventFilter_SiStripRawToDigi_SiStripDigiToRawModule_H
0003 #define EventFilter_SiStripRawToDigi_SiStripDigiToRawModule_H
0004
0005 #include "EventFilter/SiStripRawToDigi/interface/SiStripFEDBufferComponents.h"
0006 #include "FWCore/Framework/interface/stream/EDProducer.h"
0007 #include "DataFormats/Common/interface/DetSetVector.h"
0008 #include "DataFormats/SiStripDigi/interface/SiStripDigi.h"
0009 #include "DataFormats/SiStripDigi/interface/SiStripRawDigi.h"
0010 #include "DataFormats/FEDRawData/interface/FEDRawDataCollection.h"
0011 #include "CondFormats/DataRecord/interface/SiStripFedCablingRcd.h"
0012 #include "CondFormats/SiStripObjects/interface/SiStripFedCabling.h"
0013 #include "FWCore/Utilities/interface/Visibility.h"
0014 #include "FWCore/Utilities/interface/ESGetToken.h"
0015 #include <string>
0016 #include <cstdint>
0017 namespace edm {
0018 class ConfigurationDescriptions;
0019 }
0020
0021 namespace sistrip {
0022
0023 class DigiToRaw;
0024
0025
0026
0027
0028
0029
0030
0031
0032 class dso_hidden DigiToRawModule final : public edm::stream::EDProducer<> {
0033 public:
0034 DigiToRawModule(const edm::ParameterSet&);
0035 ~DigiToRawModule() override;
0036
0037 virtual void beginJob() {}
0038 virtual void endJob() {}
0039
0040 void produce(edm::Event&, const edm::EventSetup&) override;
0041 static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
0042 void endStream() override;
0043
0044 private:
0045
0046 bool copyBufferHeader_;
0047 FEDReadoutMode mode_;
0048 uint8_t packetCode_;
0049 bool rawdigi_;
0050 DigiToRaw* digiToRaw_;
0051 uint32_t eventCounter_;
0052 edm::InputTag inputDigiTag_;
0053 edm::EDGetTokenT<edm::DetSetVector<SiStripRawDigi> > tokenRawDigi;
0054 edm::EDGetTokenT<edm::DetSetVector<SiStripDigi> > tokenDigi;
0055 edm::InputTag rawDataTag_;
0056 edm::EDGetTokenT<FEDRawDataCollection> tokenRawBuffer;
0057 edm::ESGetToken<SiStripFedCabling, SiStripFedCablingRcd> tokenCabling;
0058 };
0059
0060 }
0061
0062 #endif