CMS 3D CMS Logo

CastorQIECoder.h

Go to the documentation of this file.
00001 #ifndef CastorQIECoder_h
00002 #define CastorQIECoder_h
00003 
00010 #include <boost/cstdint.hpp>
00011 
00012 #include <vector>
00013 #include <algorithm>
00014 
00015 class CastorQIEShape;
00016 
00017 class CastorQIECoder {
00018  public:
00019   CastorQIECoder (unsigned long fId = 0) : mId (fId) {}
00020 #ifndef __REFLEX__
00022   float charge (const CastorQIEShape& fShape, unsigned fAdc, unsigned fCapId) const;
00024   unsigned adc (const CastorQIEShape& fShape, float fCharge, unsigned fCapId) const;
00025 
00026   // following methods are not for use by consumers
00027   float offset (unsigned fCapId, unsigned fRange) const;
00028   float slope (unsigned fCapId, unsigned fRange) const;
00029   
00030   void setOffset (unsigned fCapId, unsigned fRange, float fValue);
00031   void setSlope (unsigned fCapId, unsigned fRange, float fValue);
00032 
00033   uint32_t rawId () const {return mId;}
00034 #endif
00035 
00036  private:
00037   uint32_t mId;
00038   float mOffset00;
00039   float mOffset01; 
00040   float mOffset02; 
00041   float mOffset03; 
00042   float mOffset10; 
00043   float mOffset11; 
00044   float mOffset12; 
00045   float mOffset13; 
00046   float mOffset20; 
00047   float mOffset21; 
00048   float mOffset22; 
00049   float mOffset23; 
00050   float mOffset30; 
00051   float mOffset31; 
00052   float mOffset32; 
00053   float mOffset33; 
00054   float mSlope00; 
00055   float mSlope01; 
00056   float mSlope02;
00057   float mSlope03;
00058   float mSlope10;
00059   float mSlope11;
00060   float mSlope12;
00061   float mSlope13;
00062   float mSlope20;
00063   float mSlope21;
00064   float mSlope22;
00065   float mSlope23;
00066   float mSlope30;
00067   float mSlope31;
00068   float mSlope32;
00069   float mSlope33;
00070 };
00071 
00072 #endif

Generated on Tue Jun 9 17:26:18 2009 for CMSSW by  doxygen 1.5.4