00001 #ifndef CalibTracker_SiStripESProducers_SiStripBadChannelFakeESSource 00002 #define CalibTracker_SiStripESProducers_SiStripBadChannelFakeESSource 00003 00004 // system include files 00005 #include <memory> 00006 #include "boost/shared_ptr.hpp" 00007 00008 // user include files 00009 #include "FWCore/Framework/interface/ModuleFactory.h" 00010 #include "FWCore/Framework/interface/ESProducer.h" 00011 00012 #include "FWCore/Framework/interface/ESHandle.h" 00013 00014 #include "FWCore/Framework/interface/EventSetupRecordIntervalFinder.h" 00015 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00016 #include "FWCore/MessageLogger/interface/MessageLogger.h" 00017 00018 #include "CondFormats/SiStripObjects/interface/SiStripBadStrip.h" 00019 #include "CondFormats/DataRecord/interface/SiStripBadChannelRcd.h" 00020 00021 // 00022 // class declaration 00023 // 00024 00025 00026 class SiStripBadChannelFakeESSource : public edm::ESProducer, public edm::EventSetupRecordIntervalFinder { 00027 public: 00028 SiStripBadChannelFakeESSource(const edm::ParameterSet&); 00029 ~SiStripBadChannelFakeESSource(){}; 00030 00031 00032 std::auto_ptr<SiStripBadStrip> produce(const SiStripBadChannelRcd&); 00033 00034 private: 00035 00036 void setIntervalFor( const edm::eventsetup::EventSetupRecordKey&, 00037 const edm::IOVSyncValue& iov, 00038 edm::ValidityInterval& iValidity); 00039 00040 SiStripBadChannelFakeESSource( const SiStripBadChannelFakeESSource& ); 00041 const SiStripBadChannelFakeESSource& operator=( const SiStripBadChannelFakeESSource& ); 00042 }; 00043 00044 #endif