CMS 3D CMS Logo

/data/git/CMSSW_5_3_11_patch5/src/CondFormats/L1TObjects/interface/L1GtCaloTemplate.h

Go to the documentation of this file.
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 // user include files
00025 
00026 //   base class
00027 #include "CondFormats/L1TObjects/interface/L1GtCondition.h"
00028 
00029 // forward declarations
00030 
00031 // class declaration
00032 class L1GtCaloTemplate : public L1GtCondition
00033 {
00034 
00035 public:
00036 
00037     // constructor
00038     L1GtCaloTemplate();
00039 
00040     // constructor
00041     L1GtCaloTemplate(const std::string& );
00042 
00043     // constructor
00044     L1GtCaloTemplate(const std::string&, const L1GtConditionType& );
00045 
00046     // copy constructor
00047     L1GtCaloTemplate( const L1GtCaloTemplate& );
00048 
00049     // destructor
00050     virtual ~L1GtCaloTemplate();
00051 
00052     // assign operator
00053     L1GtCaloTemplate& operator= (const L1GtCaloTemplate&);
00054 
00055 public:
00056 
00058     struct ObjectParameter
00059     {
00060         unsigned int etThreshold;
00061         unsigned int etaRange;
00062         unsigned int phiRange;
00063     };
00064 
00066     struct CorrelationParameter
00067     {
00068         unsigned long long deltaEtaRange;
00069 
00070         unsigned long long deltaPhiRange;
00071         unsigned int deltaPhiMaxbits;
00072     };
00073 
00074 
00075 public:
00076 
00077     inline const std::vector<ObjectParameter>* objectParameter() const
00078     {
00079         return &m_objectParameter;
00080     }
00081 
00082     inline const CorrelationParameter* correlationParameter() const
00083     {
00084         return &m_correlationParameter;
00085     }
00086 
00087 
00089     void setConditionParameter(const std::vector<ObjectParameter>& objParameter,
00090                                const CorrelationParameter& corrParameter);
00091 
00092 
00094     virtual void print(std::ostream& myCout) const;
00095 
00097     friend std::ostream& operator<<(std::ostream&, const L1GtCaloTemplate&);
00098 
00099 protected:
00100 
00102     void copy( const L1GtCaloTemplate& cp);
00103 
00104 
00105 protected:
00106 
00108     std::vector<ObjectParameter> m_objectParameter;
00109     CorrelationParameter m_correlationParameter;
00110 
00111 };
00112 
00113 #endif