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