00001 #ifndef GlobalTrigger_L1GtExternalCondition_h 00002 #define GlobalTrigger_L1GtExternalCondition_h 00003 00021 // system include files 00022 #include <iosfwd> 00023 #include <string> 00024 00025 // user include files 00026 // base classes 00027 #include "L1Trigger/GlobalTrigger/interface/L1GtConditionEvaluation.h" 00028 00029 // forward declarations 00030 class L1GtCondition; 00031 class L1GtExternalTemplate; 00032 00033 // class declaration 00034 class L1GtExternalCondition : public L1GtConditionEvaluation 00035 { 00036 00037 public: 00038 00041 L1GtExternalCondition(); 00042 00044 L1GtExternalCondition(const L1GtCondition*, const bool result); 00045 00046 // copy constructor 00047 L1GtExternalCondition(const L1GtExternalCondition&); 00048 00049 // destructor 00050 virtual ~L1GtExternalCondition(); 00051 00052 // assign operator 00053 L1GtExternalCondition& operator=(const L1GtExternalCondition&); 00054 00055 public: 00056 00058 const bool evaluateCondition() const; 00059 00061 void print(std::ostream& myCout) const; 00062 00063 public: 00064 00066 inline const L1GtExternalTemplate* gtExternalTemplate() const { 00067 return m_gtExternalTemplate; 00068 } 00069 00070 void setGtExternalTemplate(const L1GtExternalTemplate*); 00071 00073 inline const bool conditionResult() const { 00074 return m_conditionResult; 00075 } 00076 00077 inline void setConditionResult(const bool result) { 00078 m_conditionResult = result; 00079 } 00080 00081 private: 00082 00084 void copy(const L1GtExternalCondition& cp); 00085 00086 private: 00087 00089 const L1GtExternalTemplate* m_gtExternalTemplate; 00090 00092 bool m_conditionResult; 00093 00094 }; 00095 00096 #endif