#include <L1Trigger/GlobalMuonTrigger/src/L1MuGMTLFSortRankCombineLUT.h>
Public Types | |
enum | { DT, BRPC, CSC, FRPC } |
Public Member Functions | |
L1MuGMTLFSortRankCombineLUT () | |
constuctor using function-lookup | |
virtual unsigned | LookupFunctionPacked (int idx, unsigned address) const |
access to lookup function with packed input and output | |
unsigned | SpecificLookup (int idx, unsigned rank_etaq, unsigned rank_ptq, unsigned rank_etaphi) const |
specific lookup function for entire output field | |
unsigned | SpecificLookup_sort_rank (int idx, unsigned rank_etaq, unsigned rank_ptq, unsigned rank_etaphi) const |
specific lookup function for sort_rank | |
virtual | ~L1MuGMTLFSortRankCombineLUT () |
destructor | |
Private Member Functions | |
void | InitParameters () |
Initialize scales, configuration parameters, alignment constants, ... | |
unsigned | TheLookupFunction (int idx, unsigned rank_etaq, unsigned rank_ptq, unsigned rank_etaphi) const |
The lookup function - here the functionality of the LUT is implemented. |
this class was automatically generated by L1MuGMTLUT::MakeSubClass()
Definition at line 42 of file L1MuGMTLFSortRankCombineLUT.h.
anonymous enum |
L1MuGMTLFSortRankCombineLUT::L1MuGMTLFSortRankCombineLUT | ( | ) | [inline] |
constuctor using function-lookup
Definition at line 48 of file L1MuGMTLFSortRankCombineLUT.h.
References InitParameters().
00048 : L1MuGMTLUT("LFSortRankCombine", 00049 "DT BRPC CSC FRPC", 00050 "rank_etaq(2) rank_ptq(7) rank_etaphi(2)", 00051 "sort_rank(8)", 10, false) { 00052 InitParameters(); 00053 } ;
virtual L1MuGMTLFSortRankCombineLUT::~L1MuGMTLFSortRankCombineLUT | ( | ) | [inline, virtual] |
void L1MuGMTLFSortRankCombineLUT::InitParameters | ( | ) | [private] |
Initialize scales, configuration parameters, alignment constants, ...
Definition at line 34 of file L1MuGMTLFSortRankCombineLUT.cc.
Referenced by L1MuGMTLFSortRankCombineLUT().
virtual unsigned L1MuGMTLFSortRankCombineLUT::LookupFunctionPacked | ( | int | idx, | |
unsigned | address | |||
) | const [inline, virtual] |
access to lookup function with packed input and output
Reimplemented from L1MuGMTLUT.
Definition at line 80 of file L1MuGMTLFSortRankCombineLUT.h.
References addr, L1MuGMTLUT::m_Inputs, TheLookupFunction(), and L1MuGMTLUT::u2vec().
00080 { 00081 std::vector<unsigned> addr = u2vec(address, m_Inputs); 00082 return TheLookupFunction(idx ,addr[0] ,addr[1] ,addr[2]); 00083 00084 };
unsigned L1MuGMTLFSortRankCombineLUT::SpecificLookup | ( | int | idx, | |
unsigned | rank_etaq, | |||
unsigned | rank_ptq, | |||
unsigned | rank_etaphi | |||
) | const [inline] |
specific lookup function for entire output field
Definition at line 68 of file L1MuGMTLFSortRankCombineLUT.h.
References addr, and L1MuGMTLUT::LookupPacked().
00068 { 00069 std::vector<unsigned> addr(3); 00070 addr[0] = rank_etaq; 00071 addr[1] = rank_ptq; 00072 addr[2] = rank_etaphi; 00073 return LookupPacked(idx, addr); 00074 };
unsigned L1MuGMTLFSortRankCombineLUT::SpecificLookup_sort_rank | ( | int | idx, | |
unsigned | rank_etaq, | |||
unsigned | rank_ptq, | |||
unsigned | rank_etaphi | |||
) | const [inline] |
specific lookup function for sort_rank
Definition at line 59 of file L1MuGMTLFSortRankCombineLUT.h.
References addr, and L1MuGMTLUT::Lookup().
Referenced by L1MuGMTSortRankUnit::sort_rank().
00059 { 00060 std::vector<unsigned> addr(3); 00061 addr[0] = rank_etaq; 00062 addr[1] = rank_ptq; 00063 addr[2] = rank_etaphi; 00064 return Lookup(idx, addr) [0]; 00065 };
unsigned L1MuGMTLFSortRankCombineLUT::TheLookupFunction | ( | int | idx, | |
unsigned | rank_etaq, | |||
unsigned | rank_ptq, | |||
unsigned | rank_etaphi | |||
) | const [private] |
The lookup function - here the functionality of the LUT is implemented.
Definition at line 49 of file L1MuGMTLFSortRankCombineLUT.cc.
Referenced by LookupFunctionPacked().
00049 { 00050 // idx is DT, BRPC, CSC, FRPC 00051 // INPUTS: rank_etaq(2) rank_ptq(7) rank_etaphi(2) 00052 // OUTPUTS: sort_rank(8) 00053 00054 // int isRPC = idx % 2; 00055 // int isFWD = idx / 2; 00056 00057 // by default return maximum 00058 unsigned int rank_combined = rank_etaphi * 32 + rank_ptq; 00059 // max is 127 + 32*2 00060 if (rank_etaphi == 3) rank_combined = 0; 00061 00062 return rank_combined; 00063 }