00001 #ifndef L1TObjects_L1CaloHcalScale_h
00002 #define L1TObjects_L1CaloHcalScale_h
00003
00004
00005
00006
00007
00016
00017
00018
00019
00020
00021
00022 #include <vector>
00023 #include <ostream>
00024
00025 class L1CaloHcalScale {
00026
00027 public:
00028
00029
00030 static const unsigned short nBinRank = 1<<8;
00031 static const unsigned short nBinEta = 32;
00032
00034 L1CaloHcalScale(double lsb=1.0);
00035
00037 ~L1CaloHcalScale();
00038
00039
00040
00041
00043 void setBin(unsigned short rank,
00044 unsigned short eta,
00045 short etaSign,
00046 double et);
00047
00049 uint16_t rank(double et,
00050 unsigned short eta,
00051 short etaSign) const;
00052
00054 double et(unsigned short rank,
00055 unsigned short eta,
00056 short etaSign) const;
00057
00058 void print(std::ostream& s) const;
00059
00060 private:
00061
00063
00064 double m_scale[nBinRank][2*nBinEta];
00065
00066 };
00067
00068 #endif