CMS 3D CMS Logo

Public Types | Public Member Functions | Private Member Functions

L1MuGMTLFSortRankCombineLUT Class Reference

#include <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.

{DT, BRPC, CSC, FRPC};

Constructor & Destructor Documentation

L1MuGMTLFSortRankCombineLUT::L1MuGMTLFSortRankCombineLUT ( ) [inline]

constuctor using function-lookup

Definition at line 48 of file L1MuGMTLFSortRankCombineLUT.h.

References InitParameters().

                                : L1MuGMTLUT("LFSortRankCombine", 
                                       "DT BRPC CSC FRPC",
                                       "rank_etaq(2) rank_ptq(7) rank_etaphi(2)",
                                       "sort_rank(8)", 10, false) {
    InitParameters();
  } ;
virtual L1MuGMTLFSortRankCombineLUT::~L1MuGMTLFSortRankCombineLUT ( ) [inline, virtual]

destructor

Definition at line 56 of file L1MuGMTLFSortRankCombineLUT.h.

{};

Member Function Documentation

void L1MuGMTLFSortRankCombineLUT::InitParameters ( ) [private]

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

Definition at line 34 of file L1MuGMTLFSortRankCombineLUT.cc.

Referenced by L1MuGMTLFSortRankCombineLUT().

                                                 {
}
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 L1MuGMTLUT::m_Inputs, TheLookupFunction(), and L1MuGMTLUT::u2vec().

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

  };
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 L1MuGMTLUT::LookupPacked().

                                                                                                       {
    std::vector<unsigned> addr(3);
    addr[0] = rank_etaq;
    addr[1] = rank_ptq;
    addr[2] = rank_etaphi;
    return LookupPacked(idx, addr);
  };
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 L1MuGMTLUT::Lookup().

Referenced by L1MuGMTSortRankUnit::sort_rank().

                                                                                                                 {
    std::vector<unsigned> addr(3);
    addr[0] = rank_etaq;
    addr[1] = rank_ptq;
    addr[2] = rank_etaphi;
    return Lookup(idx, addr) [0];
  };
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().

                                                                                                                                   {
  // idx is DT, BRPC, CSC, FRPC
  // INPUTS:  rank_etaq(2) rank_ptq(7) rank_etaphi(2)
  // OUTPUTS: sort_rank(8) 

  //  int isRPC = idx % 2;
  //  int isFWD = idx / 2;

  // by default return maximum
  unsigned int rank_combined = rank_etaphi * 32 + rank_ptq;
  // max is 127 + 32*2 
  if (rank_etaphi == 3) rank_combined = 0;
 
  return rank_combined;
}