CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_5_3_13_patch3/src/L1Trigger/GlobalMuonTrigger/src/L1MuGMTLFEtaConvLUT.h

Go to the documentation of this file.
00001 //-------------------------------------------------
00002 //
00010 //   $Date: 2007/04/02 15:45:38 $
00011 //   $Revision: 1.3 $
00012 //
00013 //   Author :
00014 //   H. Sakulin            HEPHY Vienna
00015 //
00016 //   Migrated to CMSSW:
00017 //   I. Mikulec
00018 //
00019 //--------------------------------------------------
00020 #ifndef L1TriggerGlobalMuonTrigger_L1MuGMTLFEtaConvLUT_h
00021 #define L1TriggerGlobalMuonTrigger_L1MuGMTLFEtaConvLUT_h
00022 
00023 //---------------
00024 // C++ Headers --
00025 //---------------
00026 
00027 
00028 //----------------------
00029 // Base Class Headers --
00030 //----------------------
00031 #include "L1Trigger/GlobalMuonTrigger/src/L1MuGMTLUT.h"
00032 
00033 //------------------------------------
00034 // Collaborating Class Declarations --
00035 //------------------------------------
00036 
00037 
00038 //              ---------------------
00039 //              -- Class Interface --
00040 //              ---------------------
00041 
00042 
00043 class L1MuGMTLFEtaConvLUT : public L1MuGMTLUT {
00044   
00045  public:
00046   enum {DT, bRPC, CSC, fRPC};
00047 
00049   L1MuGMTLFEtaConvLUT() : L1MuGMTLUT("LFEtaConv", 
00050                                        "DT bRPC CSC fRPC",
00051                                        "eta_regional(6)",
00052                                        "eta_gmt(6)", 6, true) {
00053     InitParameters();
00054   } ;
00055 
00057   virtual ~L1MuGMTLFEtaConvLUT() {};
00058 
00060   unsigned SpecificLookup_eta_gmt (int idx, unsigned eta_regional) const {
00061     std::vector<unsigned> addr(1);
00062     addr[0] = eta_regional;
00063     return Lookup(idx, addr) [0];
00064   };
00065 
00067   unsigned SpecificLookup (int idx, unsigned eta_regional) const {
00068     std::vector<unsigned> addr(1);
00069     addr[0] = eta_regional;
00070     return LookupPacked(idx, addr);
00071   };
00072 
00073 
00074 
00076 
00077   virtual unsigned LookupFunctionPacked (int idx, unsigned address) const {
00078     std::vector<unsigned> addr = u2vec(address, m_Inputs);
00079     return TheLookupFunction(idx ,addr[0]);
00080 
00081   };
00082 
00083  private:
00085   void InitParameters();
00086 
00088   unsigned TheLookupFunction (int idx, unsigned eta_regional) const;
00089 
00090 };
00091 #endif
00092 
00093 
00094 
00095 
00096 
00097 
00098 
00099 
00100 
00101 
00102 
00103 
00104 
00105 
00106 
00107 
00108 
00109 
00110