![]() |
![]() |
00001 #ifndef CondFormats_L1TObjects_L1GtCaloTemplate_h 00002 #define CondFormats_L1TObjects_L1GtCaloTemplate_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 L1GtCaloTemplate : public L1GtCondition 00035 { 00036 00037 public: 00038 00039 // constructor 00040 L1GtCaloTemplate(); 00041 00042 // constructor 00043 L1GtCaloTemplate(const std::string& ); 00044 00045 // constructor 00046 L1GtCaloTemplate(const std::string&, const L1GtConditionType& ); 00047 00048 // copy constructor 00049 L1GtCaloTemplate( const L1GtCaloTemplate& ); 00050 00051 // destructor 00052 virtual ~L1GtCaloTemplate(); 00053 00054 // assign operator 00055 L1GtCaloTemplate& operator= (const L1GtCaloTemplate&); 00056 00057 public: 00058 00060 struct ObjectParameter 00061 { 00062 unsigned int etThreshold; 00063 unsigned int etaRange; 00064 unsigned int phiRange; 00065 }; 00066 00068 struct CorrelationParameter 00069 { 00070 boost::uint64_t deltaEtaRange; 00071 00072 boost::uint64_t deltaPhiRange; 00073 unsigned int deltaPhiMaxbits; 00074 }; 00075 00076 00077 public: 00078 00079 inline const std::vector<ObjectParameter>* objectParameter() const 00080 { 00081 return &m_objectParameter; 00082 } 00083 00084 inline const CorrelationParameter* correlationParameter() const 00085 { 00086 return &m_correlationParameter; 00087 } 00088 00089 00091 void setConditionParameter(const std::vector<ObjectParameter>& objParameter, 00092 const CorrelationParameter& corrParameter); 00093 00094 00096 virtual void print(std::ostream& myCout) const; 00097 00098 protected: 00099 00101 void copy( const L1GtCaloTemplate& cp); 00102 00103 00104 protected: 00105 00107 std::vector<ObjectParameter> m_objectParameter; 00108 CorrelationParameter m_correlationParameter; 00109 00110 }; 00111 00112 #endif