CMS 3D CMS Logo

/data/doxygen/doxygen-1.7.3/gen/CMSSW_4_2_8/src/CalibTracker/SiStripESProducers/interface/SiStripGainESSource.h

Go to the documentation of this file.
00001 #ifndef CalibTracker_SiStripESProducers_SiStripGainESSource_H
00002 #define CalibTracker_SiStripESProducers_SiStripGainESSource_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 <memory>
00009 
00010 class SiStripApvGain;
00011 class SiStripApvGainRcd;
00012 
00018 class SiStripGainESSource : public edm::ESProducer, public edm::EventSetupRecordIntervalFinder {
00019 
00020  public:
00021 
00022   SiStripGainESSource( const edm::ParameterSet& );
00023   virtual ~SiStripGainESSource() {;}
00024   
00025   virtual std::auto_ptr<SiStripApvGain> produce( const SiStripApvGainRcd& );
00026   
00027  protected:
00028 
00029   virtual void setIntervalFor( const edm::eventsetup::EventSetupRecordKey&,
00030                                const edm::IOVSyncValue&,
00031                                edm::ValidityInterval& );
00032   
00033  private:
00034   
00035   SiStripGainESSource( const SiStripGainESSource& );
00036   const SiStripGainESSource& operator=( const SiStripGainESSource& );
00037 
00038   virtual SiStripApvGain* makeGain() = 0; 
00039 
00040 };
00041 
00042 #endif // CalibTracker_SiStripESProducers_SiStripGainESSource_H
00043 
00044