00001
00002
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef L1TriggerGlobalMuonTrigger_L1MuGMTLFDeltaEtaLUT_h
00021 #define L1TriggerGlobalMuonTrigger_L1MuGMTLFDeltaEtaLUT_h
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031 #include "L1Trigger/GlobalMuonTrigger/src/L1MuGMTLUT.h"
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042 class L1MuGMTLFDeltaEtaLUT : public L1MuGMTLUT {
00043
00044 public:
00045 enum {DTRPC, CSCRPC};
00046
00048 L1MuGMTLFDeltaEtaLUT() : L1MuGMTLUT("LFDeltaEta",
00049 "DTRPC CSCRPC",
00050 "eta_dtcsc(6) eta_rpc(6)",
00051 "delta_eta(4)", 10, false) {
00052 InitParameters();
00053 } ;
00054
00056 virtual ~L1MuGMTLFDeltaEtaLUT() {};
00057
00059 unsigned SpecificLookup_delta_eta (int idx, unsigned eta_dtcsc, unsigned eta_rpc) const {
00060 std::vector<unsigned> addr(2);
00061 addr[0] = eta_dtcsc;
00062 addr[1] = eta_rpc;
00063 return Lookup(idx, addr) [0];
00064 };
00065
00067 unsigned SpecificLookup (int idx, unsigned eta_dtcsc, unsigned eta_rpc) const {
00068 std::vector<unsigned> addr(2);
00069 addr[0] = eta_dtcsc;
00070 addr[1] = eta_rpc;
00071 return LookupPacked(idx, addr);
00072 };
00073
00074
00075
00077
00078 virtual unsigned LookupFunctionPacked (int idx, unsigned address) const {
00079 std::vector<unsigned> addr = u2vec(address, m_Inputs);
00080 return TheLookupFunction(idx ,addr[0] ,addr[1]);
00081
00082 };
00083
00084 private:
00086 void InitParameters();
00087
00089 unsigned TheLookupFunction (int idx, unsigned eta_dtcsc, unsigned eta_rpc) const;
00090
00091 };
00092 #endif