CMS 3D CMS Logo

L1GtMuonTemplate.h

Go to the documentation of this file.
00001 #ifndef CondFormats_L1TObjects_L1GtMuonTemplate_h
00002 #define CondFormats_L1TObjects_L1GtMuonTemplate_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 L1GtMuonTemplate : public L1GtCondition
00035 {
00036 
00037 public:
00038 
00039     // constructor
00040     L1GtMuonTemplate();
00041 
00042     // constructor
00043     L1GtMuonTemplate(const std::string& );
00044 
00045     // constructor
00046     L1GtMuonTemplate(const std::string&, const L1GtConditionType& );
00047 
00048     // copy constructor
00049     L1GtMuonTemplate( const L1GtMuonTemplate& );
00050 
00051     // destructor
00052     virtual ~L1GtMuonTemplate();
00053 
00054     // assign operator
00055     L1GtMuonTemplate& operator= (const L1GtMuonTemplate&);
00056 
00057 public:
00058 
00059     // typedef for a single object template
00060     struct ObjectParameter
00061     {
00062         unsigned int ptHighThreshold;
00063         unsigned int ptLowThreshold;
00064         bool enableMip;
00065         bool enableIso;
00066         bool requestIso;
00067         unsigned int qualityRange;
00068         boost::uint64_t etaRange;
00069         unsigned int phiHigh;
00070         unsigned int phiLow;
00071     };
00072 
00073     // typedef for correlation parameters
00074     // chargeCorrelation is defined always
00075     // see documentation for meaning
00076     struct CorrelationParameter
00077     {
00078         unsigned int chargeCorrelation;
00079         boost::uint64_t deltaEtaRange;
00080 
00081         boost::uint64_t deltaPhiRange0Word;
00082         boost::uint64_t deltaPhiRange1Word;
00083         unsigned int deltaPhiMaxbits;
00084     };
00085 
00086 public:
00087 
00088     inline const std::vector<ObjectParameter>* objectParameter() const
00089     {
00090         return &m_objectParameter;
00091     }
00092 
00093     inline const CorrelationParameter* correlationParameter() const
00094     {
00095         return &m_correlationParameter;
00096     }
00097 
00098 
00100     void setConditionParameter(const std::vector<ObjectParameter>& objParameter,
00101                                const CorrelationParameter& corrParameter);
00102 
00103 
00105     virtual void print(std::ostream& myCout) const;
00106 
00107 private:
00108 
00110     void copy( const L1GtMuonTemplate& cp);
00111 
00112 
00113 private:
00114 
00116     std::vector<ObjectParameter> m_objectParameter;
00117     CorrelationParameter m_correlationParameter;
00118 
00119 };
00120 
00121 #endif

Generated on Tue Jun 9 17:26:37 2009 for CMSSW by  doxygen 1.5.4