00001 // Last commit: $Id: SiStripPedestalsESSource.h,v 1.1 2008/05/14 10:00:00 giordano Exp $ 00002 // Latest tag: $Name: V01-00-04 $ 00003 // Location: $Source: /cvs_server/repositories/CMSSW/CMSSW/CalibTracker/SiStripESProducers/interface/SiStripPedestalsESSource.h,v $ 00004 00005 #ifndef CalibTracker_SiStripESProducers_SiStripPedestalsESSource_H 00006 #define CalibTracker_SiStripESProducers_SiStripPedestalsESSource_H 00007 00008 #include "FWCore/Framework/interface/ESProducer.h" 00009 #include "FWCore/Framework/interface/ESHandle.h" 00010 #include "FWCore/Framework/interface/EventSetupRecordIntervalFinder.h" 00011 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00012 #include "boost/cstdint.hpp" 00013 #include <memory> 00014 00015 class SiStripPedestals; 00016 class SiStripPedestalsRcd; 00017 00023 class SiStripPedestalsESSource : public edm::ESProducer, public edm::EventSetupRecordIntervalFinder { 00024 00025 public: 00026 00027 SiStripPedestalsESSource( const edm::ParameterSet& ); 00028 virtual ~SiStripPedestalsESSource() {;} 00029 00030 virtual std::auto_ptr<SiStripPedestals> produce( const SiStripPedestalsRcd& ); 00031 00032 protected: 00033 00034 virtual void setIntervalFor( const edm::eventsetup::EventSetupRecordKey&, 00035 const edm::IOVSyncValue&, 00036 edm::ValidityInterval& ); 00037 00038 private: 00039 00040 SiStripPedestalsESSource( const SiStripPedestalsESSource& ); 00041 const SiStripPedestalsESSource& operator=( const SiStripPedestalsESSource& ); 00042 00043 virtual SiStripPedestals* makePedestals() = 0; 00044 00045 }; 00046 00047 #endif // CalibTracker_SiStripESProducers_SiStripPedestalsESSource_H 00048 00049