CMS 3D CMS Logo

L1MuGMTLFSortRankCombineLUT Class Reference

LFSortRankCombine look-up table. More...

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

Inheritance diagram for L1MuGMTLFSortRankCombineLUT:

L1MuGMTLUT

List of all members.

Public Types

enum  { DT, BRPC, CSC, FRPC }

Public Member Functions

 L1MuGMTLFSortRankCombineLUT ()
 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 rank_etaq, unsigned rank_ptq, unsigned rank_etaphi) const
 specific lookup function for entire output field
unsigned SpecificLookup_sort_rank (int idx, unsigned rank_etaq, unsigned rank_ptq, unsigned rank_etaphi) const
 specific lookup function for sort_rank
virtual ~L1MuGMTLFSortRankCombineLUT ()
 destructor

Private Member Functions

void InitParameters ()
 Initialize scales, configuration parameters, alignment constants, ...
unsigned TheLookupFunction (int idx, unsigned rank_etaq, unsigned rank_ptq, unsigned rank_etaphi) const
 The lookup function - here the functionality of the LUT is implemented.


Detailed Description

LFSortRankCombine look-up table.

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

Definition at line 42 of file L1MuGMTLFSortRankCombineLUT.h.


Member Enumeration Documentation

anonymous enum

Enumerator:
DT 
BRPC 
CSC 
FRPC 

Definition at line 45 of file L1MuGMTLFSortRankCombineLUT.h.

00045 {DT, BRPC, CSC, FRPC};


Constructor & Destructor Documentation

L1MuGMTLFSortRankCombineLUT::L1MuGMTLFSortRankCombineLUT (  )  [inline]

constuctor using function-lookup

Definition at line 48 of file L1MuGMTLFSortRankCombineLUT.h.

References InitParameters().

00048                                 : L1MuGMTLUT("LFSortRankCombine", 
00049                                        "DT BRPC CSC FRPC",
00050                                        "rank_etaq(2) rank_ptq(7) rank_etaphi(2)",
00051                                        "sort_rank(8)", 10, false) {
00052     InitParameters();
00053   } ;

virtual L1MuGMTLFSortRankCombineLUT::~L1MuGMTLFSortRankCombineLUT (  )  [inline, virtual]

destructor

Definition at line 56 of file L1MuGMTLFSortRankCombineLUT.h.

00056 {};


Member Function Documentation

void L1MuGMTLFSortRankCombineLUT::InitParameters (  )  [private]

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

Definition at line 34 of file L1MuGMTLFSortRankCombineLUT.cc.

Referenced by L1MuGMTLFSortRankCombineLUT().

00034                                                  {
00035 }

virtual unsigned L1MuGMTLFSortRankCombineLUT::LookupFunctionPacked ( int  idx,
unsigned  address 
) const [inline, virtual]

access to lookup function with packed input and output

Reimplemented from L1MuGMTLUT.

Definition at line 80 of file L1MuGMTLFSortRankCombineLUT.h.

References addr, L1MuGMTLUT::m_Inputs, TheLookupFunction(), and L1MuGMTLUT::u2vec().

00080                                                                           {
00081     std::vector<unsigned> addr = u2vec(address, m_Inputs);
00082     return TheLookupFunction(idx ,addr[0] ,addr[1] ,addr[2]);
00083 
00084   };

unsigned L1MuGMTLFSortRankCombineLUT::SpecificLookup ( int  idx,
unsigned  rank_etaq,
unsigned  rank_ptq,
unsigned  rank_etaphi 
) const [inline]

specific lookup function for entire output field

Definition at line 68 of file L1MuGMTLFSortRankCombineLUT.h.

References addr, and L1MuGMTLUT::LookupPacked().

00068                                                                                                        {
00069     std::vector<unsigned> addr(3);
00070     addr[0] = rank_etaq;
00071     addr[1] = rank_ptq;
00072     addr[2] = rank_etaphi;
00073     return LookupPacked(idx, addr);
00074   };

unsigned L1MuGMTLFSortRankCombineLUT::SpecificLookup_sort_rank ( int  idx,
unsigned  rank_etaq,
unsigned  rank_ptq,
unsigned  rank_etaphi 
) const [inline]

specific lookup function for sort_rank

Definition at line 59 of file L1MuGMTLFSortRankCombineLUT.h.

References addr, and L1MuGMTLUT::Lookup().

Referenced by L1MuGMTSortRankUnit::sort_rank().

00059                                                                                                                  {
00060     std::vector<unsigned> addr(3);
00061     addr[0] = rank_etaq;
00062     addr[1] = rank_ptq;
00063     addr[2] = rank_etaphi;
00064     return Lookup(idx, addr) [0];
00065   };

unsigned L1MuGMTLFSortRankCombineLUT::TheLookupFunction ( int  idx,
unsigned  rank_etaq,
unsigned  rank_ptq,
unsigned  rank_etaphi 
) const [private]

The lookup function - here the functionality of the LUT is implemented.

Definition at line 49 of file L1MuGMTLFSortRankCombineLUT.cc.

Referenced by LookupFunctionPacked().

00049                                                                                                                                    {
00050   // idx is DT, BRPC, CSC, FRPC
00051   // INPUTS:  rank_etaq(2) rank_ptq(7) rank_etaphi(2)
00052   // OUTPUTS: sort_rank(8) 
00053 
00054   //  int isRPC = idx % 2;
00055   //  int isFWD = idx / 2;
00056 
00057   // by default return maximum
00058   unsigned int rank_combined = rank_etaphi * 32 + rank_ptq;
00059   // max is 127 + 32*2 
00060   if (rank_etaphi == 3) rank_combined = 0;
00061  
00062   return rank_combined;
00063 }


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