#include <L1Trigger/GlobalMuonTrigger/src/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. |
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().
00048 : L1MuGMTLUT("LFOvlEtaConv", 00049 "DT CSC bRPC fRPC ovlCSC ovlDT", 00050 "eta6(6)", 00051 "eta_ovl(4)", 6, true) { 00052 InitParameters(); 00053 } ;
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 addr, L1MuGMTLUT::m_Inputs, TheLookupFunction(), and L1MuGMTLUT::u2vec().
00076 { 00077 std::vector<unsigned> addr = u2vec(address, m_Inputs); 00078 return TheLookupFunction(idx ,addr[0]); 00079 00080 };
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 addr, and L1MuGMTLUT::LookupPacked().
00066 { 00067 std::vector<unsigned> addr(1); 00068 addr[0] = eta6; 00069 return LookupPacked(idx, addr); 00070 };
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 addr, and L1MuGMTLUT::Lookup().
Referenced by L1MuGMTMatcher::lookup_mq().
00059 { 00060 std::vector<unsigned> addr(1); 00061 addr[0] = eta6; 00062 return Lookup(idx, addr) [0]; 00063 };
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().
00060 { 00061 // idx is DT, CSC, bRPC, fRPC, ovlCSC, ovlDT 00062 // INPUTS: eta6(6) 00063 // OUTPUTS: eta_ovl(4) 00064 00065 const L1MuGMTScales* theGMTScales = L1MuGMTConfig::getGMTScales(); 00066 const L1MuTriggerScales* theTriggerScales = L1MuGMTConfig::getTriggerScales(); 00067 00068 int idx_drcr = 0; 00069 00070 switch (idx) { 00071 case DT : idx_drcr = 0; break; 00072 case CSC : idx_drcr = 2; break; 00073 case bRPC : idx_drcr = 1; break; 00074 case fRPC : idx_drcr = 3; break; 00075 case ovlCSC : idx_drcr = 2; break; 00076 case ovlDT : idx_drcr = 0; break; 00077 } 00078 00079 float etaValue = theTriggerScales->getRegionalEtaScale(idx_drcr)->getCenter( eta6 ); 00080 00081 unsigned eta4bit = 0; 00082 if (fabs(etaValue) < theGMTScales->getOvlEtaScale(idx_drcr)->getScaleMin() || 00083 fabs(etaValue) > theGMTScales->getOvlEtaScale(idx_drcr)->getScaleMax() ) { 00084 eta4bit = 7; // out of range code is max pos value 00085 } 00086 00087 else { 00088 eta4bit = theGMTScales->getOvlEtaScale(idx_drcr)->getPacked( etaValue ); 00089 // cout << "etaValue = " << etaValue << " eta OVERLAP= " << eta4bit << endl; 00090 } 00091 00092 return eta4bit; 00093 }