Go to the documentation of this file.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 #include <stdint.h>
00025
00026 class L1CaloHcalScale {
00027
00028 public:
00029
00030
00031 static const unsigned short nBinRank = 1<<8;
00032 static const unsigned short nBinEta = 32;
00033
00035 L1CaloHcalScale(double lsb=1.0);
00036
00038 ~L1CaloHcalScale();
00039
00040
00041
00042
00044 void setBin(unsigned short rank,
00045 unsigned short eta,
00046 short etaSign,
00047 double et);
00048
00050 uint16_t rank(double et,
00051 unsigned short eta,
00052 short etaSign) const;
00053
00055 double et(unsigned short rank,
00056 unsigned short eta,
00057 short etaSign) const;
00058
00059 void print(std::ostream& s) const;
00060
00061 private:
00062
00064
00065 double m_scale[nBinRank][2*nBinEta];
00066
00067 };
00068
00069 #endif