#include <L1MuGMTLFDeltaEtaLUT.h>
Public Types | |
enum | { DTRPC, CSCRPC } |
Public Member Functions | |
L1MuGMTLFDeltaEtaLUT () | |
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 eta_dtcsc, unsigned eta_rpc) const |
specific lookup function for entire output field | |
unsigned | SpecificLookup_delta_eta (int idx, unsigned eta_dtcsc, unsigned eta_rpc) const |
specific lookup function for delta_eta | |
virtual | ~L1MuGMTLFDeltaEtaLUT () |
destructor | |
Private Member Functions | |
void | InitParameters () |
Initialize scales, configuration parameters, alignment constants, ... | |
unsigned | TheLookupFunction (int idx, unsigned eta_dtcsc, unsigned eta_rpc) const |
The lookup function - here the functionality of the LUT is implemented. |
LFDeltaEta look-up table
this class was automatically generated by L1MuGMTLUT::MakeSubClass()
Definition at line 42 of file L1MuGMTLFDeltaEtaLUT.h.
anonymous enum |
L1MuGMTLFDeltaEtaLUT::L1MuGMTLFDeltaEtaLUT | ( | ) | [inline] |
constuctor using function-lookup
Definition at line 48 of file L1MuGMTLFDeltaEtaLUT.h.
References InitParameters().
: L1MuGMTLUT("LFDeltaEta", "DTRPC CSCRPC", "eta_dtcsc(6) eta_rpc(6)", "delta_eta(4)", 10, false) { InitParameters(); } ;
virtual L1MuGMTLFDeltaEtaLUT::~L1MuGMTLFDeltaEtaLUT | ( | ) | [inline, virtual] |
void L1MuGMTLFDeltaEtaLUT::InitParameters | ( | ) | [private] |
Initialize scales, configuration parameters, alignment constants, ...
Definition at line 31 of file L1MuGMTLFDeltaEtaLUT.cc.
Referenced by L1MuGMTLFDeltaEtaLUT().
{ }
virtual unsigned L1MuGMTLFDeltaEtaLUT::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 L1MuGMTLFDeltaEtaLUT.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 L1MuGMTLFDeltaEtaLUT::SpecificLookup | ( | int | idx, |
unsigned | eta_dtcsc, | ||
unsigned | eta_rpc | ||
) | const [inline] |
specific lookup function for entire output field
Definition at line 67 of file L1MuGMTLFDeltaEtaLUT.h.
References L1MuGMTLUT::LookupPacked().
{ std::vector<unsigned> addr(2); addr[0] = eta_dtcsc; addr[1] = eta_rpc; return LookupPacked(idx, addr); };
unsigned L1MuGMTLFDeltaEtaLUT::SpecificLookup_delta_eta | ( | int | idx, |
unsigned | eta_dtcsc, | ||
unsigned | eta_rpc | ||
) | const [inline] |
specific lookup function for delta_eta
Definition at line 59 of file L1MuGMTLFDeltaEtaLUT.h.
References L1MuGMTLUT::Lookup().
Referenced by L1MuGMTMatcher::lookup_mq().
{ std::vector<unsigned> addr(2); addr[0] = eta_dtcsc; addr[1] = eta_rpc; return Lookup(idx, addr) [0]; };
unsigned L1MuGMTLFDeltaEtaLUT::TheLookupFunction | ( | int | idx, |
unsigned | eta_dtcsc, | ||
unsigned | eta_rpc | ||
) | const [private] |
The lookup function - here the functionality of the LUT is implemented.
Definition at line 34 of file L1MuGMTLFDeltaEtaLUT.cc.
References kinem::delta_eta(), L1MuScale::getCenter(), L1MuGMTScales::getDeltaEtaScale(), L1MuGMTConfig::getGMTScales(), L1MuScale::getPacked(), L1MuTriggerScales::getRegionalEtaScale(), L1MuScale::getScaleMax(), L1MuGMTConfig::getTriggerScales(), python::timeUnitHelper::pack(), and L1MuSignedPacking< Bits >::packedFromIdx().
Referenced by LookupFunctionPacked().
{ const L1MuGMTScales* theGMTScales = L1MuGMTConfig::getGMTScales(); const L1MuTriggerScales* theTriggerScales = L1MuGMTConfig::getTriggerScales(); // idx is DTRPC CSCRPC float etaValue_dtcsc = theTriggerScales->getRegionalEtaScale(idx*2)->getCenter(eta_dtcsc); float etaValue_rpc = theTriggerScales->getRegionalEtaScale(idx*2+1)->getCenter(eta_rpc); float delta_eta = etaValue_dtcsc - etaValue_rpc; unsigned delta_eta_4bit = 0; // check out of range if (delta_eta < theGMTScales->getDeltaEtaScale(idx)->getScaleMin() || delta_eta > theGMTScales->getDeltaEtaScale(idx)->getScaleMax()) { L1MuSignedPacking<4> pack; delta_eta_4bit = pack.packedFromIdx (-8); } else { delta_eta_4bit = theGMTScales->getDeltaEtaScale(idx)->getPacked( delta_eta ); } // cout << "delta-eta LUT : idx= " << idx // << ", etaValue_dtcsc = " << etaValue_dtcsc // << ", etaValue_rpc = " << etaValue_rpc // << ", delta_eta = " << delta_eta // << ", packed = " << delta_eta_4bit // << endl; return delta_eta_4bit; }