00001 #ifndef CalibTracker_SiStripESProducers_SiStripPedestalsESSource_H 00002 #define CalibTracker_SiStripESProducers_SiStripPedestalsESSource_H 00003 00004 #include "FWCore/Framework/interface/ESProducer.h" 00005 #include "FWCore/Framework/interface/ESHandle.h" 00006 #include "FWCore/Framework/interface/EventSetupRecordIntervalFinder.h" 00007 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00008 #include "boost/cstdint.hpp" 00009 #include <memory> 00010 00011 class SiStripPedestals; 00012 class SiStripPedestalsRcd; 00013 00019 class SiStripPedestalsESSource : public edm::ESProducer, public edm::EventSetupRecordIntervalFinder { 00020 00021 public: 00022 00023 SiStripPedestalsESSource( const edm::ParameterSet& ); 00024 virtual ~SiStripPedestalsESSource() {;} 00025 00026 virtual std::auto_ptr<SiStripPedestals> produce( const SiStripPedestalsRcd& ); 00027 00028 protected: 00029 00030 virtual void setIntervalFor( const edm::eventsetup::EventSetupRecordKey&, 00031 const edm::IOVSyncValue&, 00032 edm::ValidityInterval& ); 00033 00034 private: 00035 00036 SiStripPedestalsESSource( const SiStripPedestalsESSource& ); 00037 const SiStripPedestalsESSource& operator=( const SiStripPedestalsESSource& ); 00038 00039 virtual SiStripPedestals* makePedestals() = 0; 00040 00041 }; 00042 00043 #endif // CalibTracker_SiStripESProducers_SiStripPedestalsESSource_H 00044 00045