CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_1_8_patch13/src/CalibFormats/HcalObjects/interface/HcalCoderDb.h

Go to the documentation of this file.
00001 #ifndef HCAL_CODER_DB_H
00002 #define HCAL_CODER_DB_H
00003 
00004 #include "CalibFormats/HcalObjects/interface/HcalChannelCoder.h"
00005 #include "CalibFormats/HcalObjects/interface/QieShape.h"
00006 #include "CalibFormats/HcalObjects/interface/HcalCoder.h"
00007 
00016 class HcalQIECoder;
00017 class HcalQIEShape;
00018 
00019 class HcalCoderDb : public HcalCoder {
00020 public:
00021   HcalCoderDb (const HcalQIECoder& fCoder, const HcalQIEShape& fShape);
00022 
00023   virtual void adc2fC(const HBHEDataFrame& df, CaloSamples& lf) const;
00024   virtual void adc2fC(const HODataFrame& df, CaloSamples& lf) const;
00025   virtual void adc2fC(const HFDataFrame& df, CaloSamples& lf) const;
00026   virtual void adc2fC(const ZDCDataFrame& df, CaloSamples& lf) const;
00027   virtual void adc2fC(const HcalCalibDataFrame& df, CaloSamples& lf) const;
00028   virtual void fC2adc(const CaloSamples& clf, HBHEDataFrame& df, int fCapIdOffset) const;
00029   virtual void fC2adc(const CaloSamples& clf, HFDataFrame& df, int fCapIdOffset) const;
00030   virtual void fC2adc(const CaloSamples& clf, HODataFrame& df, int fCapIdOffset) const;
00031   virtual void fC2adc(const CaloSamples& clf, ZDCDataFrame& df, int fCapIdOffset) const;
00032   virtual void fC2adc(const CaloSamples& clf, HcalCalibDataFrame& df, int fCapIdOffset) const;
00033  private:
00034   template <class Digi> void adc2fC_ (const Digi& df, CaloSamples& clf) const;
00035   template <class Digi> void fC2adc_ (const CaloSamples& clf, Digi& df, int fCapIdOffset) const;
00036 
00037   const HcalQIECoder* mCoder;
00038   const HcalQIEShape* mShape;
00039 };
00040 
00041 #endif