CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_4_5_patch3/src/L1Trigger/GlobalTrigger/interface/L1GtMuonCondition.h

Go to the documentation of this file.
00001 #ifndef GlobalTrigger_L1GtMuonCondition_h
00002 #define GlobalTrigger_L1GtMuonCondition_h
00003 
00020 // system include files
00021 #include <iosfwd>
00022 #include <string>
00023 
00024 // user include files
00025 //   base classes
00026 #include "L1Trigger/GlobalTrigger/interface/L1GtConditionEvaluation.h"
00027 
00028 // forward declarations
00029 class L1GtCondition;
00030 class L1GtMuonTemplate;
00031 
00032 class L1MuGMTCand;
00033 
00034 class L1GlobalTriggerGTL;
00035 
00036 // class declaration
00037 class L1GtMuonCondition : public L1GtConditionEvaluation
00038 {
00039 
00040 public:
00041 
00044     L1GtMuonCondition();
00045 
00047     L1GtMuonCondition(const L1GtCondition*, const L1GlobalTriggerGTL*,
00048             const int nrL1Mu,
00049             const int ifMuEtaNumberBits);
00050 
00051     // copy constructor
00052     L1GtMuonCondition(const L1GtMuonCondition&);
00053 
00054     // destructor
00055     virtual ~L1GtMuonCondition();
00056 
00057     // assign operator
00058     L1GtMuonCondition& operator=(const L1GtMuonCondition&);
00059 
00060 public:
00061 
00063     const bool evaluateCondition() const;
00064 
00066     void print(std::ostream& myCout) const;
00067 
00068 public:
00069 
00071     inline const L1GtMuonTemplate* gtMuonTemplate() const {
00072         return m_gtMuonTemplate;
00073     }
00074 
00075     void setGtMuonTemplate(const L1GtMuonTemplate*);
00076     
00078     inline const int gtIfMuEtaNumberBits() const {
00079         return m_ifMuEtaNumberBits;
00080     }
00081 
00082     void setGtIfMuEtaNumberBits(const int&);    
00083 
00085     inline const L1GlobalTriggerGTL* gtGTL() const {
00086         return m_gtGTL;
00087     }
00088 
00089     void setGtGTL(const L1GlobalTriggerGTL*);
00090 
00091 private:
00092 
00094     void copy(const L1GtMuonCondition& cp);
00095 
00097     const L1MuGMTCand* getCandidate(const int indexCand) const;
00098 
00100     const bool checkObjectParameter(const int iCondition,
00101         const L1MuGMTCand& cand) const;
00102 
00103 private:
00104 
00106     const L1GtMuonTemplate* m_gtMuonTemplate;
00107 
00109     const L1GlobalTriggerGTL* m_gtGTL;
00110 
00112     int m_ifMuEtaNumberBits;
00113 
00114 };
00115 
00116 #endif