#include <L1MuGMTLFSortRankPtQLUT.h>
Public Types | |
enum | { DT, BRPC, CSC, FRPC } |
Public Member Functions | |
L1MuGMTLFSortRankPtQLUT () | |
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 q, unsigned pt) const |
specific lookup function for entire output field | |
unsigned | SpecificLookup_rank_ptq (int idx, unsigned q, unsigned pt) const |
specific lookup function for rank_ptq | |
virtual | ~L1MuGMTLFSortRankPtQLUT () |
destructor | |
Private Member Functions | |
void | InitParameters () |
Initialize scales, configuration parameters, alignment constants, ... | |
unsigned | TheLookupFunction (int idx, unsigned q, unsigned pt) const |
The lookup function - here the functionality of the LUT is implemented. |
LFSortRankPtQ look-up table
this class was automatically generated by L1MuGMTLUT::MakeSubClass()
Definition at line 42 of file L1MuGMTLFSortRankPtQLUT.h.
anonymous enum |
L1MuGMTLFSortRankPtQLUT::L1MuGMTLFSortRankPtQLUT | ( | ) | [inline] |
constuctor using function-lookup
Definition at line 48 of file L1MuGMTLFSortRankPtQLUT.h.
References InitParameters().
: L1MuGMTLUT("LFSortRankPtQ", "DT BRPC CSC FRPC", "q(3) pt(5)", "rank_ptq(7)", 7, false) { InitParameters(); } ;
virtual L1MuGMTLFSortRankPtQLUT::~L1MuGMTLFSortRankPtQLUT | ( | ) | [inline, virtual] |
void L1MuGMTLFSortRankPtQLUT::InitParameters | ( | ) | [private] |
Initialize scales, configuration parameters, alignment constants, ...
Definition at line 34 of file L1MuGMTLFSortRankPtQLUT.cc.
Referenced by L1MuGMTLFSortRankPtQLUT().
{ }
virtual unsigned L1MuGMTLFSortRankPtQLUT::LookupFunctionPacked | ( | int | idx, |
unsigned | address | ||
) | const [inline, virtual] |
access to lookup function with packed input and output
Reimplemented from L1MuGMTLUT.
Definition at line 78 of file L1MuGMTLFSortRankPtQLUT.h.
References L1MuGMTLUT::m_Inputs, TheLookupFunction(), and L1MuGMTLUT::u2vec().
{ std::vector<unsigned> addr = u2vec(address, m_Inputs); return TheLookupFunction(idx ,addr[0] ,addr[1]); };
unsigned L1MuGMTLFSortRankPtQLUT::SpecificLookup | ( | int | idx, |
unsigned | q, | ||
unsigned | pt | ||
) | const [inline] |
specific lookup function for entire output field
Definition at line 67 of file L1MuGMTLFSortRankPtQLUT.h.
References L1MuGMTLUT::LookupPacked(), and lumiQueryAPI::q.
{ std::vector<unsigned> addr(2); addr[0] = q; addr[1] = pt; return LookupPacked(idx, addr); };
unsigned L1MuGMTLFSortRankPtQLUT::SpecificLookup_rank_ptq | ( | int | idx, |
unsigned | q, | ||
unsigned | pt | ||
) | const [inline] |
specific lookup function for rank_ptq
Definition at line 59 of file L1MuGMTLFSortRankPtQLUT.h.
References L1MuGMTLUT::Lookup(), and lumiQueryAPI::q.
Referenced by L1MuGMTSortRankUnit::sort_rank().
unsigned L1MuGMTLFSortRankPtQLUT::TheLookupFunction | ( | int | idx, |
unsigned | q, | ||
unsigned | pt | ||
) | const [private] |
The lookup function - here the functionality of the LUT is implemented.
Definition at line 49 of file L1MuGMTLFSortRankPtQLUT.cc.
References lumiQueryAPI::q.
Referenced by LookupFunctionPacked().
{ // idx is DT, BRPC, CSC, FRPC // INPUTS: q(3) pt(5) // OUTPUTS: rank_ptq(7) int isRPC = idx % 2; // int isFWD = idx / 2; unsigned int quality = q; // DT has: 1..7 if ( isRPC ) quality = q*2 + 1; // RPC has: 0,1,2,3 if ( idx==2 ) quality = q*3 - 2; // CSC has: 1,2,3 if (quality > 7) quality = 7; unsigned int rank_ptq = 3*pt + quality*5; if (rank_ptq > 127) rank_ptq = 127; return rank_ptq; }