CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch9/src/CalibCalorimetry/EcalLaserCorrection/interface/EcalLaserDbService.h

Go to the documentation of this file.
00001 //
00002 // Toyoko Orimoto (Caltech), 10 July 2007
00003 //
00004 
00005 #ifndef EcalLaserDbService_h
00006 #define EcalLaserDbService_h
00007 
00008 #include <memory>
00009 #include <map>
00010 
00011 #include "DataFormats/DetId/interface/DetId.h"
00012 #include "DataFormats/EcalDetId/interface/EBDetId.h"
00013 #include "DataFormats/EcalDetId/interface/EEDetId.h"
00014 #include "DataFormats/Provenance/interface/Timestamp.h"
00015 
00016 #include "FWCore/Framework/interface/ModuleFactory.h"
00017 #include "FWCore/Framework/interface/ESProducer.h"
00018 
00019 #include "CondFormats/EcalObjects/interface/EcalLaserAlphas.h"
00020 #include "CondFormats/EcalObjects/interface/EcalLaserAPDPNRatiosRef.h"
00021 #include "CondFormats/EcalObjects/interface/EcalLaserAPDPNRatios.h"
00022 
00023 
00024 class EcalLaserDbService {
00025  public:
00026   EcalLaserDbService ();
00027   EcalLaserDbService (const edm::ParameterSet&);
00028 
00029   const EcalLaserAlphas* getAlphas () const;
00030   const EcalLaserAPDPNRatiosRef* getAPDPNRatiosRef () const;
00031   const EcalLaserAPDPNRatios* getAPDPNRatios () const;
00032   float getLaserCorrection (DetId const & xid, edm::Timestamp const & iTime) const;
00033 
00034   void setAlphaData (const EcalLaserAlphas* fItem) {mAlphas_ = fItem;}
00035   void setAPDPNRefData (const EcalLaserAPDPNRatiosRef* fItem) {mAPDPNRatiosRef_ = fItem;}
00036   void setAPDPNData (const EcalLaserAPDPNRatios* fItem) {mAPDPNRatios_ = fItem;}
00037 
00038  private:
00039 
00040   int getLMNumber(DetId const & xid) const;
00041 
00042   const EcalLaserAlphas* mAlphas_;
00043   const EcalLaserAPDPNRatiosRef* mAPDPNRatiosRef_;
00044   const EcalLaserAPDPNRatios* mAPDPNRatios_;  
00045 
00046 };
00047 
00048 #endif