00001 #ifndef GlobalTrigger_L1GtJetCountsCondition_h 00002 #define GlobalTrigger_L1GtJetCountsCondition_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 L1GtJetCountsTemplate; 00031 00032 class L1GlobalTriggerPSB; 00033 00034 // class declaration 00035 class L1GtJetCountsCondition : public L1GtConditionEvaluation 00036 { 00037 00038 public: 00039 00042 L1GtJetCountsCondition(); 00043 00045 L1GtJetCountsCondition(const L1GtCondition*, const L1GlobalTriggerPSB*, const int nrL1JetCounts); 00046 00047 // copy constructor 00048 L1GtJetCountsCondition(const L1GtJetCountsCondition&); 00049 00050 // destructor 00051 virtual ~L1GtJetCountsCondition(); 00052 00053 // assign operator 00054 L1GtJetCountsCondition& operator=(const L1GtJetCountsCondition&); 00055 00056 public: 00057 00059 const bool evaluateCondition() const; 00060 00062 void print(std::ostream& myCout) const; 00063 00064 public: 00065 00067 inline const L1GtJetCountsTemplate* gtJetCountsTemplate() const { 00068 return m_gtJetCountsTemplate; 00069 } 00070 00071 void setGtJetCountsTemplate(const L1GtJetCountsTemplate*); 00072 00074 inline const L1GlobalTriggerPSB* gtPSB() const { 00075 return m_gtPSB; 00076 } 00077 00078 void setGtPSB(const L1GlobalTriggerPSB*); 00079 00080 private: 00081 00083 void copy(const L1GtJetCountsCondition& cp); 00084 00085 private: 00086 00088 const L1GtJetCountsTemplate* m_gtJetCountsTemplate; 00089 00091 const L1GlobalTriggerPSB* m_gtPSB; 00092 00094 unsigned int m_numberL1JetCounts; 00095 00096 }; 00097 00098 #endif