00001 // -*- C++ -*- 00002 // 00003 // Package: HcalDbProducer 00004 // Class: HcalDbProducer 00005 // 00013 // 00014 // Original Author: Fedor Ratnikov 00015 // Created: Tue Aug 9 19:10:10 CDT 2005 00016 // $Id: HcalDbProducer.h,v 1.12 2008/03/03 20:22:38 rofierzy Exp $ 00017 // 00018 // 00019 00020 00021 // system include files 00022 #include <memory> 00023 #include "boost/shared_ptr.hpp" 00024 00025 // user include files 00026 #include "FWCore/Framework/interface/ModuleFactory.h" 00027 #include "FWCore/Framework/interface/ESProducer.h" 00028 00029 class HcalDbService; 00030 class HcalDbRecord; 00031 00032 #include "CondFormats/DataRecord/interface/HcalChannelQualityRcd.h" 00033 #include "CondFormats/DataRecord/interface/HcalElectronicsMapRcd.h" 00034 #include "CondFormats/DataRecord/interface/HcalGainWidthsRcd.h" 00035 #include "CondFormats/DataRecord/interface/HcalGainsRcd.h" 00036 #include "CondFormats/DataRecord/interface/HcalPedestalWidthsRcd.h" 00037 #include "CondFormats/DataRecord/interface/HcalPedestalsRcd.h" 00038 #include "CondFormats/DataRecord/interface/HcalQIEDataRcd.h" 00039 #include "CondFormats/DataRecord/interface/HcalZSThresholdsRcd.h" 00040 #include "CondFormats/DataRecord/interface/HcalRespCorrsRcd.h" 00041 00042 00043 00044 00045 class HcalDbProducer : public edm::ESProducer { 00046 public: 00047 HcalDbProducer( const edm::ParameterSet& ); 00048 ~HcalDbProducer(); 00049 00050 boost::shared_ptr<HcalDbService> produce( const HcalDbRecord& ); 00051 00052 // callbacks 00053 void pedestalsCallback (const HcalPedestalsRcd& fRecord); 00054 void pedestalWidthsCallback (const HcalPedestalWidthsRcd& fRecord); 00055 void gainsCallback (const HcalGainsRcd& fRecord); 00056 void gainWidthsCallback (const HcalGainWidthsRcd& fRecord); 00057 void QIEDataCallback (const HcalQIEDataRcd& fRecord); 00058 void channelQualityCallback (const HcalChannelQualityRcd& fRecord); 00059 void zsThresholdsCallback (const HcalZSThresholdsRcd& fRecord); 00060 void respCorrsCallback (const HcalRespCorrsRcd& fRecord); 00061 void electronicsMapCallback (const HcalElectronicsMapRcd& fRecord); 00062 00063 private: 00064 // ----------member data --------------------------- 00065 boost::shared_ptr<HcalDbService> mService; 00066 std::vector<std::string> mDumpRequest; 00067 std::ostream* mDumpStream; 00068 };