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