00001 #ifndef RPCUnpackingModule_H 00002 #define RPCUnpackingModule_H 00003 00004 00009 #include "FWCore/Framework/interface/EDProducer.h" 00010 #include "FWCore/Utilities/interface/InputTag.h" 00011 #include "FWCore/Framework/interface/ESWatcher.h" 00012 #include "CondFormats/DataRecord/interface/RPCEMapRcd.h" 00013 #include "RPCReadOutMappingWithFastSearch.h" 00014 00015 00016 class RPCReadOutMapping; 00017 namespace edm { class Event; class EventSetup; class Run; } 00018 00019 class RPCUnpackingModule: public edm::EDProducer { 00020 public: 00021 00023 RPCUnpackingModule(const edm::ParameterSet& pset); 00024 00026 virtual ~RPCUnpackingModule(); 00027 00031 void produce(edm::Event & ev, const edm::EventSetup& es) override; 00032 00033 void beginRun(const edm::Run &run, const edm::EventSetup& es) override; 00034 00035 private: 00036 edm::InputTag dataLabel_; 00037 bool doSynchro_; 00038 unsigned long eventCounter_; 00039 00040 edm::ESWatcher<RPCEMapRcd> theRecordWatcher; 00041 const RPCReadOutMapping* theCabling; 00042 RPCReadOutMappingWithFastSearch theReadoutMappingSearch; 00043 }; 00044 00045 00046 #endif