#include <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. |
LFSortRankCombine look-up table
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().
: L1MuGMTLUT("LFSortRankCombine", "DT BRPC CSC FRPC", "rank_etaq(2) rank_ptq(7) rank_etaphi(2)", "sort_rank(8)", 10, false) { InitParameters(); } ;
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 L1MuGMTLUT::m_Inputs, TheLookupFunction(), and L1MuGMTLUT::u2vec().
{ std::vector<unsigned> addr = u2vec(address, m_Inputs); return TheLookupFunction(idx ,addr[0] ,addr[1] ,addr[2]); };
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 L1MuGMTLUT::LookupPacked().
{ std::vector<unsigned> addr(3); addr[0] = rank_etaq; addr[1] = rank_ptq; addr[2] = rank_etaphi; return LookupPacked(idx, addr); };
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 L1MuGMTLUT::Lookup().
Referenced by L1MuGMTSortRankUnit::sort_rank().
{ std::vector<unsigned> addr(3); addr[0] = rank_etaq; addr[1] = rank_ptq; addr[2] = rank_etaphi; return Lookup(idx, addr) [0]; };
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().
{ // idx is DT, BRPC, CSC, FRPC // INPUTS: rank_etaq(2) rank_ptq(7) rank_etaphi(2) // OUTPUTS: sort_rank(8) // int isRPC = idx % 2; // int isFWD = idx / 2; // by default return maximum unsigned int rank_combined = rank_etaphi * 32 + rank_ptq; // max is 127 + 32*2 if (rank_etaphi == 3) rank_combined = 0; return rank_combined; }