#include <L1MuGMTLFOvlEtaConvLUT.h>
Public Types | |
enum | { DT, CSC, bRPC, fRPC, ovlCSC, ovlDT } |
Public Member Functions | |
L1MuGMTLFOvlEtaConvLUT () | |
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 eta6) const |
specific lookup function for entire output field | |
unsigned | SpecificLookup_eta_ovl (int idx, unsigned eta6) const |
specific lookup function for eta_ovl | |
virtual | ~L1MuGMTLFOvlEtaConvLUT () |
destructor | |
Private Member Functions | |
void | InitParameters () |
Initialize scales, configuration parameters, alignment constants, ... | |
unsigned | TheLookupFunction (int idx, unsigned eta6) const |
The lookup function - here the functionality of the LUT is implemented. |
OvlEtaConv look-up table
this class was automatically generated by L1MuGMTLUT::MakeSubClass()
Definition at line 42 of file L1MuGMTLFOvlEtaConvLUT.h.
anonymous enum |
L1MuGMTLFOvlEtaConvLUT::L1MuGMTLFOvlEtaConvLUT | ( | ) | [inline] |
constuctor using function-lookup
Definition at line 48 of file L1MuGMTLFOvlEtaConvLUT.h.
References InitParameters().
: L1MuGMTLUT("LFOvlEtaConv", "DT CSC bRPC fRPC ovlCSC ovlDT", "eta6(6)", "eta_ovl(4)", 6, true) { InitParameters(); } ;
virtual L1MuGMTLFOvlEtaConvLUT::~L1MuGMTLFOvlEtaConvLUT | ( | ) | [inline, virtual] |
void L1MuGMTLFOvlEtaConvLUT::InitParameters | ( | ) | [private] |
Initialize scales, configuration parameters, alignment constants, ...
Definition at line 40 of file L1MuGMTLFOvlEtaConvLUT.cc.
Referenced by L1MuGMTLFOvlEtaConvLUT().
{ }
virtual unsigned L1MuGMTLFOvlEtaConvLUT::LookupFunctionPacked | ( | int | idx, |
unsigned | address | ||
) | const [inline, virtual] |
access to lookup function with packed input and output
Reimplemented from L1MuGMTLUT.
Definition at line 76 of file L1MuGMTLFOvlEtaConvLUT.h.
References L1MuGMTLUT::m_Inputs, TheLookupFunction(), and L1MuGMTLUT::u2vec().
{ std::vector<unsigned> addr = u2vec(address, m_Inputs); return TheLookupFunction(idx ,addr[0]); };
unsigned L1MuGMTLFOvlEtaConvLUT::SpecificLookup | ( | int | idx, |
unsigned | eta6 | ||
) | const [inline] |
specific lookup function for entire output field
Definition at line 66 of file L1MuGMTLFOvlEtaConvLUT.h.
References L1MuGMTLUT::LookupPacked().
{ std::vector<unsigned> addr(1); addr[0] = eta6; return LookupPacked(idx, addr); };
unsigned L1MuGMTLFOvlEtaConvLUT::SpecificLookup_eta_ovl | ( | int | idx, |
unsigned | eta6 | ||
) | const [inline] |
specific lookup function for eta_ovl
Definition at line 59 of file L1MuGMTLFOvlEtaConvLUT.h.
References L1MuGMTLUT::Lookup().
Referenced by L1MuGMTMatcher::lookup_mq().
{ std::vector<unsigned> addr(1); addr[0] = eta6; return Lookup(idx, addr) [0]; };
unsigned L1MuGMTLFOvlEtaConvLUT::TheLookupFunction | ( | int | idx, |
unsigned | eta6 | ||
) | const [private] |
The lookup function - here the functionality of the LUT is implemented.
Definition at line 60 of file L1MuGMTLFOvlEtaConvLUT.cc.
References bRPC, CSC, DT, fRPC, L1MuScale::getCenter(), L1MuGMTConfig::getGMTScales(), L1MuGMTScales::getOvlEtaScale(), L1MuScale::getPacked(), L1MuTriggerScales::getRegionalEtaScale(), L1MuScale::getScaleMax(), L1MuScale::getScaleMin(), L1MuGMTConfig::getTriggerScales(), ovlCSC, and ovlDT.
Referenced by LookupFunctionPacked().
{ // idx is DT, CSC, bRPC, fRPC, ovlCSC, ovlDT // INPUTS: eta6(6) // OUTPUTS: eta_ovl(4) const L1MuGMTScales* theGMTScales = L1MuGMTConfig::getGMTScales(); const L1MuTriggerScales* theTriggerScales = L1MuGMTConfig::getTriggerScales(); int idx_drcr = 0; switch (idx) { case DT : idx_drcr = 0; break; case CSC : idx_drcr = 2; break; case bRPC : idx_drcr = 1; break; case fRPC : idx_drcr = 3; break; case ovlCSC : idx_drcr = 2; break; case ovlDT : idx_drcr = 0; break; } float etaValue = theTriggerScales->getRegionalEtaScale(idx_drcr)->getCenter( eta6 ); unsigned eta4bit = 0; if (fabs(etaValue) < theGMTScales->getOvlEtaScale(idx_drcr)->getScaleMin() || fabs(etaValue) > theGMTScales->getOvlEtaScale(idx_drcr)->getScaleMax() ) { eta4bit = 7; // out of range code is max pos value } else { eta4bit = theGMTScales->getOvlEtaScale(idx_drcr)->getPacked( etaValue ); // cout << "etaValue = " << etaValue << " eta OVERLAP= " << eta4bit << endl; } return eta4bit; }