CMS 3D CMS Logo

CMSSW_4_4_3_patch1/src/CalibTracker/SiStripESProducers/interface/SiStripNoiseESSource.h

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