File indexing completed on 2024-04-06 11:59:50
0001 #ifndef CalibTracker_SiStripESProducers_SiStripPedestalsESSource_H
0002 #define CalibTracker_SiStripESProducers_SiStripPedestalsESSource_H
0003
0004 #include "FWCore/Framework/interface/ESProducer.h"
0005 #include "FWCore/Framework/interface/EventSetupRecordIntervalFinder.h"
0006 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0007 #include <memory>
0008
0009 class SiStripPedestals;
0010 class SiStripPedestalsRcd;
0011
0012
0013
0014
0015
0016
0017 class SiStripPedestalsESSource : public edm::ESProducer, public edm::EventSetupRecordIntervalFinder {
0018 public:
0019 SiStripPedestalsESSource(const edm::ParameterSet&);
0020 SiStripPedestalsESSource(const SiStripPedestalsESSource&) = delete;
0021 const SiStripPedestalsESSource& operator=(const SiStripPedestalsESSource&) = delete;
0022 ~SiStripPedestalsESSource() override { ; }
0023
0024 virtual std::unique_ptr<SiStripPedestals> produce(const SiStripPedestalsRcd&);
0025
0026 protected:
0027 void setIntervalFor(const edm::eventsetup::EventSetupRecordKey&,
0028 const edm::IOVSyncValue&,
0029 edm::ValidityInterval&) override;
0030
0031 private:
0032 virtual SiStripPedestals* makePedestals() = 0;
0033 };
0034
0035 #endif