CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_13_patch3/src/CondFormats/L1TObjects/interface/L1MuDTExtLut.h

Go to the documentation of this file.
00001 //-------------------------------------------------
00002 //
00013 //
00014 //--------------------------------------------------
00015 #ifndef L1MUDT_EXT_LUT_H
00016 #define L1MUDT_EXT_LUT_H
00017 
00018 //---------------
00019 // C++ Headers --
00020 //---------------
00021 
00022 #include <vector>
00023 #include <map>
00024 
00025 //----------------------
00026 // Base Class Headers --
00027 //----------------------
00028 
00029 
00030 //------------------------------------
00031 // Collaborating Class Declarations --
00032 //------------------------------------
00033 
00034 
00035 //              ---------------------
00036 //              -- Class Interface --
00037 //              ---------------------
00038 
00039 
00040 class L1MuDTExtLut {
00041 
00042   public:
00043 
00045     class LUT {
00046       public:
00047         typedef std::map<short, short, std::less<short> > LUTmap;
00048 
00049         LUTmap low;
00050         LUTmap high;
00051     };
00052 
00054     L1MuDTExtLut();
00055 
00057     virtual ~L1MuDTExtLut();
00058 
00060     void reset();
00061     
00063     int load();
00064 
00066     void print() const;
00067 
00069     int getLow(int ext_ind, int address) const;
00070     
00072     int getHigh(int ext_ind, int address) const;
00073 
00074   private:
00075 
00077     void setPrecision();
00078     
00079   private:
00080 
00081     std::vector<LUT> ext_lut;
00082 
00083     unsigned short int nbit_phi;
00084     unsigned short int nbit_phib;
00085     
00086 };
00087 
00088 #endif