CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
L1MuGMTLFDisableHotLUT.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_L1MuGMTLFDisableHotLUT_h
19 #define L1TriggerGlobalMuonTrigger_L1MuGMTLFDisableHotLUT_h
20 
21 //---------------
22 // C++ Headers --
23 //---------------
24 
25 
26 //----------------------
27 // Base Class Headers --
28 //----------------------
30 
31 //------------------------------------
32 // Collaborating Class Declarations --
33 //------------------------------------
34 
35 
36 // ---------------------
37 // -- Class Interface --
38 // ---------------------
39 
40 
42 
43  public:
44  enum {DT, CSC};
45 
47  L1MuGMTLFDisableHotLUT() : L1MuGMTLUT("LFDisableHot",
48  "DT CSC",
49  "eta(6) phi(8)",
50  "disable_hot(1)", 10, false) {
52  } ;
53 
56 
58  unsigned SpecificLookup_disable_hot (int idx, unsigned eta, unsigned phi) const {
59  std::vector<unsigned> addr(2);
60  addr[0] = eta;
61  addr[1] = phi;
62  return Lookup(idx, addr) [0];
63  };
64 
66  unsigned SpecificLookup (int idx, unsigned eta, unsigned phi) const {
67  std::vector<unsigned> addr(2);
68  addr[0] = eta;
69  addr[1] = phi;
70  return LookupPacked(idx, addr);
71  };
72 
73 
74 
76 
77  virtual unsigned LookupFunctionPacked (int idx, unsigned address) const {
78  std::vector<unsigned> addr = u2vec(address, m_Inputs);
79  return TheLookupFunction(idx ,addr[0] ,addr[1]);
80 
81  };
82 
83  private:
85  void InitParameters();
86 
88  unsigned TheLookupFunction (int idx, unsigned eta, unsigned phi) const;
89 
90 };
91 #endif
92 
93 
94 
95 
96 
97 
98 
99 
100 
101 
102 
103 
104 
105 
106 
107 
108 
109 
110 
unsigned TheLookupFunction(int idx, unsigned eta, unsigned phi) const
The lookup function - here the functionality of the LUT is implemented.
T eta() const
std::vector< unsigned > Lookup(int idx, const std::vector< unsigned > &address) const
additional lookup function (std::vector -&gt; vector)
Definition: L1MuGMTLUT.h:115
L1MuGMTLFDisableHotLUT()
constuctor using function-lookup
unsigned SpecificLookup(int idx, unsigned eta, unsigned phi) const
specific lookup function for entire output field
void InitParameters()
Initialize scales, configuration parameters, alignment constants, ...
std::vector< port > m_Inputs
Definition: L1MuGMTLUT.h:201
tuple idx
DEBUGGING if hasattr(process,&quot;trackMonIterativeTracking2012&quot;): print &quot;trackMonIterativeTracking2012 D...
virtual unsigned LookupFunctionPacked(int idx, unsigned address) const
access to lookup function with packed input and output
std::vector< unsigned > u2vec(unsigned value, const std::vector< port > &widths) const
generate composite address or value from compact unsigned
Definition: L1MuGMTLUT.h:239
virtual ~L1MuGMTLFDisableHotLUT()
destructor
volatile std::atomic< bool > shutdown_flag false
unsigned LookupPacked(int idx, unsigned) const
Definition: L1MuGMTLUT.h:260
unsigned SpecificLookup_disable_hot(int idx, unsigned eta, unsigned phi) const
specific lookup function for disable_hot
Definition: DDAxes.h:10