00001 #ifndef CondFormats_L1TObjects_L1GtEnergySumTemplate_h 00002 #define CondFormats_L1TObjects_L1GtEnergySumTemplate_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 L1GtEnergySumTemplate : public L1GtCondition 00035 { 00036 00037 public: 00038 00039 // constructor 00040 L1GtEnergySumTemplate(); 00041 00042 // constructor 00043 L1GtEnergySumTemplate(const std::string&); 00044 00045 // constructor 00046 L1GtEnergySumTemplate(const std::string&, const L1GtConditionType&); 00047 00048 // copy constructor 00049 L1GtEnergySumTemplate(const L1GtEnergySumTemplate&); 00050 00051 // destructor 00052 virtual ~L1GtEnergySumTemplate(); 00053 00054 // assign operator 00055 L1GtEnergySumTemplate& operator=(const L1GtEnergySumTemplate&); 00056 00057 public: 00058 00060 struct ObjectParameter 00061 { 00062 unsigned int etThreshold; 00063 bool energyOverflow; 00064 00065 // used only for ETM 00066 boost::uint64_t phiRange0Word; // ETM phi has 72 bins - two 64-bits words 00067 boost::uint64_t phiRange1Word; 00068 }; 00069 00070 public: 00071 00072 inline const std::vector<ObjectParameter>* objectParameter() const { 00073 return &m_objectParameter; 00074 } 00075 00077 void setConditionParameter(const std::vector<ObjectParameter>&); 00078 00080 virtual void print(std::ostream& myCout) const; 00081 00082 private: 00083 00085 void copy(const L1GtEnergySumTemplate& cp); 00086 00087 private: 00088 00090 std::vector<ObjectParameter> m_objectParameter; 00091 00092 }; 00093 00094 #endif