00001 #ifndef CondFormats_L1TObjects_L1GtHfBitCountsTemplate_h 00002 #define CondFormats_L1TObjects_L1GtHfBitCountsTemplate_h 00003 00020 // system include files 00021 #include <string> 00022 #include <iosfwd> 00023 00024 // user include files 00025 00026 // base class 00027 #include "CondFormats/L1TObjects/interface/L1GtCondition.h" 00028 00029 // forward declarations 00030 00031 // class declaration 00032 class L1GtHfBitCountsTemplate : public L1GtCondition 00033 { 00034 00035 public: 00036 00037 // constructor 00038 L1GtHfBitCountsTemplate(); 00039 00040 // constructor 00041 L1GtHfBitCountsTemplate(const std::string& ); 00042 00043 // constructor 00044 L1GtHfBitCountsTemplate(const std::string&, const L1GtConditionType& ); 00045 00046 // copy constructor 00047 L1GtHfBitCountsTemplate( const L1GtHfBitCountsTemplate& ); 00048 00049 // destructor 00050 virtual ~L1GtHfBitCountsTemplate(); 00051 00052 // assign operator 00053 L1GtHfBitCountsTemplate& operator= (const L1GtHfBitCountsTemplate&); 00054 00055 public: 00056 00058 struct ObjectParameter 00059 { 00060 unsigned int countIndex; 00061 unsigned int countThreshold; 00062 00063 }; 00064 00065 00066 public: 00067 00068 inline const std::vector<ObjectParameter>* objectParameter() const 00069 { 00070 return &m_objectParameter; 00071 } 00072 00073 00075 void setConditionParameter(const std::vector<ObjectParameter>&); 00076 00077 00079 virtual void print(std::ostream& myCout) const; 00080 00082 friend std::ostream& operator<<(std::ostream&, const L1GtHfBitCountsTemplate&); 00083 00084 private: 00085 00087 void copy( const L1GtHfBitCountsTemplate& cp); 00088 00089 00090 private: 00091 00093 std::vector<ObjectParameter> m_objectParameter; 00094 00095 }; 00096 00097 #endif