00001 #ifndef GlobalTrigger_L1GtEnergySumCondition_h 00002 #define GlobalTrigger_L1GtEnergySumCondition_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 L1GtEnergySumTemplate; 00031 00032 class L1GlobalTriggerPSB; 00033 00034 // class declaration 00035 class L1GtEnergySumCondition : public L1GtConditionEvaluation 00036 { 00037 00038 public: 00039 00042 L1GtEnergySumCondition(); 00043 00045 L1GtEnergySumCondition(const L1GtCondition*, const L1GlobalTriggerPSB*); 00046 00047 // copy constructor 00048 L1GtEnergySumCondition(const L1GtEnergySumCondition&); 00049 00050 // destructor 00051 virtual ~L1GtEnergySumCondition(); 00052 00053 // assign operator 00054 L1GtEnergySumCondition& operator=(const L1GtEnergySumCondition&); 00055 00056 public: 00057 00059 const bool evaluateCondition() const; 00060 00062 void print(std::ostream& myCout) const; 00063 00064 public: 00065 00067 inline const L1GtEnergySumTemplate* gtEnergySumTemplate() const { 00068 return m_gtEnergySumTemplate; 00069 } 00070 00071 void setGtEnergySumTemplate(const L1GtEnergySumTemplate*); 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 L1GtEnergySumCondition& cp); 00084 00085 private: 00086 00088 const L1GtEnergySumTemplate* m_gtEnergySumTemplate; 00089 00091 const L1GlobalTriggerPSB* m_gtPSB; 00092 00093 }; 00094 00095 #endif