CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_14/src/CondFormats/L1TObjects/interface/L1MuDTPhiLut.h

Go to the documentation of this file.
00001 //-------------------------------------------------
00002 //
00013 //
00014 //--------------------------------------------------
00015 #ifndef L1MUDT_PHI_LUT_H
00016 #define L1MUDT_PHI_LUT_H
00017 
00018 //---------------
00019 // C++ Headers --
00020 //---------------
00021 
00022 #include <vector>
00023 #include <map>
00024 #include <utility>
00025 
00026 //----------------------
00027 // Base Class Headers --
00028 //----------------------
00029 
00030 //------------------------------------
00031 // Collaborating Class Declarations --
00032 //------------------------------------
00033 
00034 
00035 //              ---------------------
00036 //              -- Class Interface --
00037 //              ---------------------
00038 
00039 
00040 class L1MuDTPhiLut {
00041 
00042   public:
00043 
00045     L1MuDTPhiLut();
00046 
00048     virtual ~L1MuDTPhiLut();
00049 
00051     void reset();
00052     
00054     int load();
00055 
00057     void print() const;
00058 
00060     int getDeltaPhi(int idx, int address) const;
00061 
00063     std::pair<unsigned short, unsigned short> getPrecision() const;
00064 
00065   private:
00066 
00068     void setPrecision();
00069       
00070   private:
00071 
00072     typedef std::map<short, short, std::less<short> > LUT;
00073 
00074     std::vector<LUT> phi_lut;
00075     
00076     unsigned short int nbit_phi;
00077     unsigned short int nbit_phib;
00078     
00079 };
00080 
00081 #endif