CMS 3D CMS Logo

/data/doxygen/doxygen-1.7.3/gen/CMSSW_4_2_8/src/CalibFormats/CastorObjects/interface/CastorTPGCoder.h

Go to the documentation of this file.
00001 #ifndef CALIBFORMATS_CASTOROBJECTS_CASTORTPGCODER_H
00002 #define CALIBFORMATS_CASTOROBJECTS_CASTORTPGCODER_H 1
00003 
00004 #include "CalibFormats/CaloObjects/interface/IntegerCaloSamples.h"
00005 #include "DataFormats/HcalDigi/interface/CastorDataFrame.h"
00006 #include "DataFormats/HcalDetId/interface/HcalDetId.h"
00007 
00008 // forward declaration of EventSetup is all that is needed here
00009 namespace edm {
00010   class EventSetup; 
00011 }
00012 
00025 class CastorTPGCoder {
00026 public:
00027 
00028   //  virtual void adc2Linear(const CastorDataFrame& df, IntegerCaloSamples& ics) const = 0;
00029 
00030   virtual unsigned short adc2Linear(HcalQIESample sample,HcalDetId id) const = 0;
00031   unsigned short adc2Linear(unsigned char adc, HcalDetId id) const { return adc2Linear(HcalQIESample(adc,0,0,0),id); }
00032   virtual float getLUTPedestal(HcalDetId id) const = 0;
00033   virtual float getLUTGain(HcalDetId id) const = 0;
00037   virtual std::vector<unsigned short> getLinearizationLUT(HcalDetId id) const;
00038 };
00039 
00040 #endif