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.17 2009/10/16 22:12:57 kukartse 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/HcalAllRcds.h" 00033 00034 00035 class HcalDbProducer : public edm::ESProducer { 00036 public: 00037 HcalDbProducer( const edm::ParameterSet& ); 00038 ~HcalDbProducer(); 00039 00040 boost::shared_ptr<HcalDbService> produce( const HcalDbRecord& ); 00041 00042 // callbacks 00043 void pedestalsCallback (const HcalPedestalsRcd& fRecord); 00044 void pedestalWidthsCallback (const HcalPedestalWidthsRcd& fRecord); 00045 void gainsCallback (const HcalGainsRcd& fRecord); 00046 void gainWidthsCallback (const HcalGainWidthsRcd& fRecord); 00047 void QIEDataCallback (const HcalQIEDataRcd& fRecord); 00048 void channelQualityCallback (const HcalChannelQualityRcd& fRecord); 00049 void zsThresholdsCallback (const HcalZSThresholdsRcd& fRecord); 00050 void respCorrsCallback (const HcalRespCorrsRcd& fRecord); 00051 void L1triggerObjectsCallback (const HcalL1TriggerObjectsRcd& fRecord); 00052 void electronicsMapCallback (const HcalElectronicsMapRcd& fRecord); 00053 void timeCorrsCallback (const HcalTimeCorrsRcd& fRecord); 00054 void LUTCorrsCallback (const HcalLUTCorrsRcd& fRecord); 00055 void PFCorrsCallback (const HcalPFCorrsRcd& fRecord); 00056 void lutMetadataCallback (const HcalLutMetadataRcd& fRecord); 00057 00058 private: 00059 // ----------member data --------------------------- 00060 boost::shared_ptr<HcalDbService> mService; 00061 std::vector<std::string> mDumpRequest; 00062 std::ostream* mDumpStream; 00063 };