CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_9_patch3/src/CalibTracker/SiStripESProducers/interface/SiStripPedestalsESSource.h

Go to the documentation of this file.
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