CMS 3D CMS Logo

L1MuGMTLFOvlEtaConvLUT.h
Go to the documentation of this file.
1 //-------------------------------------------------
2 //
10 //
11 // Author :
12 // H. Sakulin HEPHY Vienna
13 //
14 // Migrated to CMSSW:
15 // I. Mikulec
16 //
17 //--------------------------------------------------
18 #ifndef L1TriggerGlobalMuonTrigger_L1MuGMTLFOvlEtaConvLUT_h
19 #define L1TriggerGlobalMuonTrigger_L1MuGMTLFOvlEtaConvLUT_h
20 
21 //---------------
22 // C++ Headers --
23 //---------------
24 
25 //----------------------
26 // Base Class Headers --
27 //----------------------
29 
30 //------------------------------------
31 // Collaborating Class Declarations --
32 //------------------------------------
33 
34 // ---------------------
35 // -- Class Interface --
36 // ---------------------
37 
39 public:
40  enum { DT, CSC, bRPC, fRPC, ovlCSC, ovlDT };
41 
44  : L1MuGMTLUT("LFOvlEtaConv", "DT CSC bRPC fRPC ovlCSC ovlDT", "eta6(6)", "eta_ovl(4)", 6, true) {
46  };
47 
50 
52  unsigned SpecificLookup_eta_ovl(int idx, unsigned eta6) const {
53  std::vector<unsigned> addr(1);
54  addr[0] = eta6;
55  return Lookup(idx, addr)[0];
56  };
57 
59  unsigned SpecificLookup(int idx, unsigned eta6) const {
60  std::vector<unsigned> addr(1);
61  addr[0] = eta6;
62  return LookupPacked(idx, addr);
63  };
64 
66 
67  unsigned LookupFunctionPacked(int idx, unsigned address) const override {
68  std::vector<unsigned> addr = u2vec(address, m_Inputs);
69  return TheLookupFunction(idx, addr[0]);
70  };
71 
72 private:
74  void InitParameters();
75 
77  unsigned TheLookupFunction(int idx, unsigned eta6) const;
78 
80 };
81 #endif
unsigned SpecificLookup_eta_ovl(int idx, unsigned eta6) const
specific lookup function for eta_ovl
L1MuGMTLFOvlEtaConvLUT()
constuctor using function-lookup
std::vector< unsigned > Lookup(int idx, const std::vector< unsigned > &address) const
additional lookup function (std::vector -> vector)
Definition: L1MuGMTLUT.h:121
void InitParameters()
Initialize scales, configuration parameters, alignment constants, ...
std::vector< port > m_Inputs
Definition: L1MuGMTLUT.h:214
unsigned TheLookupFunction(int idx, unsigned eta6) const
The lookup function - here the functionality of the LUT is implemented.
~L1MuGMTLFOvlEtaConvLUT() override
destructor
unsigned LookupFunctionPacked(int idx, unsigned address) const override
access to lookup function with packed input and output
unsigned SpecificLookup(int idx, unsigned eta6) const
specific lookup function for entire output field
std::vector< unsigned > u2vec(unsigned value, const std::vector< port > &widths) const
generate composite address or value from compact unsigned
Definition: L1MuGMTLUT.h:251
unsigned LookupPacked(int idx, unsigned) const
Definition: L1MuGMTLUT.h:272