CMS 3D CMS Logo

L1MuGMTLFOvlEtaConvLUT Class Reference

OvlEtaConv look-up table. More...

#include <L1Trigger/GlobalMuonTrigger/src/L1MuGMTLFOvlEtaConvLUT.h>

Inheritance diagram for L1MuGMTLFOvlEtaConvLUT:

L1MuGMTLUT

List of all members.

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.


Detailed Description

OvlEtaConv look-up table.

this class was automatically generated by L1MuGMTLUT::MakeSubClass()

Definition at line 42 of file L1MuGMTLFOvlEtaConvLUT.h.


Member Enumeration Documentation

anonymous enum

Enumerator:
DT 
CSC 
bRPC 
fRPC 
ovlCSC 
ovlDT 

Definition at line 45 of file L1MuGMTLFOvlEtaConvLUT.h.

00045 {DT, CSC, bRPC, fRPC, ovlCSC, ovlDT};


Constructor & Destructor Documentation

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]

destructor

Definition at line 56 of file L1MuGMTLFOvlEtaConvLUT.h.

00056 {};


Member Function Documentation

void L1MuGMTLFOvlEtaConvLUT::InitParameters (  )  [private]

Initialize scales, configuration parameters, alignment constants, ...

Definition at line 40 of file L1MuGMTLFOvlEtaConvLUT.cc.

Referenced by L1MuGMTLFOvlEtaConvLUT().

00040                                             {
00041 }

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 }


The documentation for this class was generated from the following files:
Generated on Tue Jun 9 18:26:54 2009 for CMSSW by  doxygen 1.5.4