CMS 3D CMS Logo

L1GctHfEtSumsLut.h
Go to the documentation of this file.
1 #ifndef L1GCTHFETSUMSLUT_H_
2 #define L1GCTHFETSUMSLUT_H_
3 
5 
6 #include <vector>
7 
18 class L1CaloEtScale;
19 
20 class L1GctHfEtSumsLut : public L1GctLut<8, 3>
21 
22 {
23 public:
24  enum hfLutType {
34  };
35 
36  // Definitions.
37  static const int NAddress, NData;
38 
48  ~L1GctHfEtSumsLut() override;
49 
52 
54  friend std::ostream& operator<<(std::ostream& os, const L1GctHfEtSumsLut& lut);
55 
57  void setFunction(const L1CaloEtScale* const fn) {
58  if (fn != nullptr) {
59  m_lutFunction = fn;
60  m_setupOk = true;
61  }
62  }
63 
66 
68  const L1CaloEtScale* lutFunction() const { return m_lutFunction; }
69 
71  std::vector<double> getThresholdsGeV() const;
72  std::vector<unsigned> getThresholdsGct() const;
73 
74 protected:
75  uint16_t value(const uint16_t lutAddress) const override;
76 
77 private:
80 };
81 
82 std::ostream& operator<<(std::ostream& os, const L1GctHfEtSumsLut& lut);
83 
84 #endif /*L1GCTHFETSUMSLUT_H_*/
static const int NData
const L1CaloEtScale * m_lutFunction
std::vector< unsigned > getThresholdsGct() const
Base class for LookUp Tables.
Definition: L1GctLut.h:19
static const int NAddress
std::ostream & operator<<(std::ostream &os, const L1GctHfEtSumsLut &lut)
~L1GctHfEtSumsLut() override
Destructor.
L1GctHfEtSumsLut::hfLutType lutType() const
Return the type of Lut.
void setFunction(const L1CaloEtScale *const fn)
Set the function.
LUT for compression of HF Et sum to output format.
L1GctHfEtSumsLut()
Default constructor.
const L1CaloEtScale * lutFunction() const
Return the Lut function.
friend std::ostream & operator<<(std::ostream &os, const L1GctHfEtSumsLut &lut)
Overload << operator.
std::vector< double > getThresholdsGeV() const
Get thresholds.
L1GctHfEtSumsLut operator=(const L1GctHfEtSumsLut &lut)
Overload = operator.
L1GctHfEtSumsLut::hfLutType m_lutType
uint16_t value(const uint16_t lutAddress) const override