00001 #ifndef L1GCTHFBITCOUNTSLUT_H_ 00002 #define L1GCTHFBITCOUNTSLUT_H_ 00003 00004 #include "L1Trigger/GlobalCaloTrigger/src/L1GctLut.h" 00005 #include "L1Trigger/GlobalCaloTrigger/interface/L1GctHfEtSumsLut.h" 00006 00007 #include <vector> 00008 00020 class L1GctHfBitCountsLut : public L1GctLut<5,3> 00021 00022 { 00023 public: 00024 00025 // Definitions. 00026 static const int NAddress, NData; 00027 00029 L1GctHfBitCountsLut(const L1GctHfEtSumsLut::hfLutType& type); 00031 L1GctHfBitCountsLut(); 00033 L1GctHfBitCountsLut(const L1GctHfBitCountsLut& lut); 00035 virtual ~L1GctHfBitCountsLut(); 00036 00038 L1GctHfBitCountsLut operator= (const L1GctHfBitCountsLut& lut); 00039 00041 friend std::ostream& operator << (std::ostream& os, const L1GctHfBitCountsLut& lut); 00042 00044 L1GctHfEtSumsLut::hfLutType lutType() const { return m_lutType; } 00045 00047 std::vector<unsigned> getThresholdsGct() const; 00048 00049 protected: 00050 00051 00052 virtual uint16_t value (const uint16_t lutAddress) const; 00053 00054 private: 00055 00056 L1GctHfEtSumsLut::hfLutType m_lutType; 00057 00058 }; 00059 00060 00061 std::ostream& operator << (std::ostream& os, const L1GctHfBitCountsLut& lut); 00062 00063 #endif /*L1GCTHFBITCOUNTSLUT_H_*/