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