CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
L1MuGMTLFMergeRankPtQLUT.h
Go to the documentation of this file.
1 //-------------------------------------------------
2 //
10 // $Date: 2007/03/23 18:51:35 $
11 // $Revision: 1.2 $
12 //
13 // Author :
14 // H. Sakulin HEPHY Vienna
15 //
16 // Migrated to CMSSW:
17 // I. Mikulec
18 //
19 //--------------------------------------------------
20 #ifndef L1TriggerGlobalMuonTrigger_L1MuGMTLFMergeRankPtQLUT_h
21 #define L1TriggerGlobalMuonTrigger_L1MuGMTLFMergeRankPtQLUT_h
22 
23 //---------------
24 // C++ Headers --
25 //---------------
26 
27 
28 //----------------------
29 // Base Class Headers --
30 //----------------------
32 
33 //------------------------------------
34 // Collaborating Class Declarations --
35 //------------------------------------
36 
37 // ---------------------
38 // -- Class Interface --
39 // ---------------------
40 
41 
43 
44  public:
45  enum {DT, BRPC, CSC, FRPC};
46 
48  L1MuGMTLFMergeRankPtQLUT() : L1MuGMTLUT("LFMergeRankPtQ",
49  "DT BRPC CSC FRPC",
50  "q(3) pt(5)",
51  "rank_ptq(2)", 8, true) {
53  } ;
54 
57 
59  unsigned SpecificLookup_rank_ptq (int idx, unsigned q, unsigned pt) const {
60  std::vector<unsigned> addr(2);
61  addr[0] = q;
62  addr[1] = pt;
63  return Lookup(idx, addr) [0];
64  };
65 
67  unsigned SpecificLookup (int idx, unsigned q, unsigned pt) const {
68  std::vector<unsigned> addr(2);
69  addr[0] = q;
70  addr[1] = pt;
71  return LookupPacked(idx, addr);
72  };
73 
74 
75 
77 
78  virtual unsigned LookupFunctionPacked (int idx, unsigned address) const {
79  std::vector<unsigned> addr = u2vec(address, m_Inputs);
80  return TheLookupFunction(idx ,addr[0] ,addr[1]);
81 
82  };
83 
84  private:
86  void InitParameters();
87 
89  unsigned TheLookupFunction (int idx, unsigned q, unsigned pt) const;
90 
92 };
93 #endif
94 
95 
96 
97 
98 
99 
100 
101 
102 
103 
104 
105 
106 
107 
108 
109 
110 
111 
112 
virtual unsigned LookupFunctionPacked(int idx, unsigned address) const
access to lookup function with packed input and output
unsigned SpecificLookup_rank_ptq(int idx, unsigned q, unsigned pt) const
specific lookup function for rank_ptq
char * address
Definition: mlp_lapack.h:14
unsigned SpecificLookup(int idx, unsigned q, unsigned pt) const
specific lookup function for entire output field
std::vector< unsigned > Lookup(int idx, const std::vector< unsigned > &address) const
additional lookup function (std::vector -&gt; vector)
Definition: L1MuGMTLUT.h:117
L1MuGMTLFMergeRankPtQLUT()
constuctor using function-lookup
std::vector< port > m_Inputs
Definition: L1MuGMTLUT.h:203
unsigned TheLookupFunction(int idx, unsigned q, unsigned pt) const
The lookup function - here the functionality of the LUT is implemented.
virtual ~L1MuGMTLFMergeRankPtQLUT()
destructor
void InitParameters()
Initialize scales, configuration parameters, alignment constants, ...
std::vector< unsigned > u2vec(unsigned value, const std::vector< port > &widths) const
generate composite address or value from compact unsigned
Definition: L1MuGMTLUT.h:240
unsigned LookupPacked(int idx, unsigned) const
Definition: L1MuGMTLUT.h:261