CMS 3D CMS Logo

L1CaloHcalScale.h

Go to the documentation of this file.
00001 #ifndef L1TObjects_L1CaloHcalScale_h
00002 #define L1TObjects_L1CaloHcalScale_h
00003 // -*- C++ -*-
00004 //
00005 // Package:     L1TObjects
00006 // Class  :     L1CaloHcalScale
00007 // 
00016 //
00017 // Author:      Jim Brooke
00018 // Created:     Wed Sep 27 17:18:27 CEST 2006
00019 // $Id: 
00020 //
00021 
00022 #include <vector>
00023 #include <ostream>
00024 
00025 class L1CaloHcalScale {
00026 
00027  public:
00028 
00029   //  static const unsigned short nBinRank = 0xff;
00030   static const unsigned short nBinRank = 1<<8;
00031   static const unsigned short nBinEta = 32; // per half, includes HF, eta index is 1-32
00032 
00034   L1CaloHcalScale(double lsb=1.0);
00035 
00037   ~L1CaloHcalScale();
00038 
00039   // eta = |eta|
00040   // etaSign = +1 or -1
00041 
00043   void setBin(unsigned short rank,
00044               unsigned short eta, // input eta index is 1-28
00045               short etaSign,
00046               double et);
00047 
00049   uint16_t rank(double et,
00050                 unsigned short eta, // input eta index is 1-28
00051                 short etaSign) const;
00052 
00054   double et(unsigned short rank,
00055             unsigned short eta, // input eta index is 1-28
00056             short etaSign) const;
00057 
00058   void print(std::ostream& s) const;
00059 
00060  private:
00061 
00063    // First nBinEta eta bins for positive eta, second nBinEta bins for negative
00064   double m_scale[nBinRank][2*nBinEta];
00065 
00066 };
00067 
00068 #endif

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