CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_14/src/CalibCalorimetry/CastorCalib/plugins/CastorDbProducer.h

Go to the documentation of this file.
00001 // system include files
00002 #include <memory>
00003 #include "boost/shared_ptr.hpp"
00004 
00005 // user include files
00006 #include "FWCore/Framework/interface/ModuleFactory.h"
00007 #include "FWCore/Framework/interface/ESProducer.h"
00008 
00009 class CastorDbService;
00010 class CastorDbRecord;
00011 
00012 #include "CondFormats/DataRecord/interface/CastorChannelQualityRcd.h"
00013 #include "CondFormats/DataRecord/interface/CastorElectronicsMapRcd.h"    
00014 #include "CondFormats/DataRecord/interface/CastorGainWidthsRcd.h"
00015 #include "CondFormats/DataRecord/interface/CastorGainsRcd.h"
00016 #include "CondFormats/DataRecord/interface/CastorPedestalWidthsRcd.h"
00017 #include "CondFormats/DataRecord/interface/CastorPedestalsRcd.h" 
00018 #include "CondFormats/DataRecord/interface/CastorQIEDataRcd.h"
00019 
00020 class CastorDbProducer : public edm::ESProducer {
00021  public:
00022   CastorDbProducer( const edm::ParameterSet& );
00023   ~CastorDbProducer();
00024   
00025   boost::shared_ptr<CastorDbService> produce( const CastorDbRecord& );
00026 
00027   // callbacks
00028   void pedestalsCallback (const CastorPedestalsRcd& fRecord);
00029   void pedestalWidthsCallback (const CastorPedestalWidthsRcd& fRecord);
00030   void gainsCallback (const CastorGainsRcd& fRecord);
00031   void gainWidthsCallback (const CastorGainWidthsRcd& fRecord);
00032   void QIEDataCallback (const CastorQIEDataRcd& fRecord);
00033   void channelQualityCallback (const CastorChannelQualityRcd& fRecord);
00034   void electronicsMapCallback (const CastorElectronicsMapRcd& fRecord);
00035 
00036    private:
00037       // ----------member data ---------------------------
00038   boost::shared_ptr<CastorDbService> mService;
00039   std::vector<std::string> mDumpRequest;
00040   std::ostream* mDumpStream;
00041 };