00001 #ifndef GlobalTrigger_L1GtCaloCondition_h 00002 #define GlobalTrigger_L1GtCaloCondition_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 L1GtCaloTemplate; 00031 00032 class L1GctCand; 00033 00034 class L1GlobalTriggerPSB; 00035 00036 // class declaration 00037 class L1GtCaloCondition : public L1GtConditionEvaluation 00038 { 00039 00040 public: 00041 00044 L1GtCaloCondition(); 00045 00047 L1GtCaloCondition(const L1GtCondition*, const L1GlobalTriggerPSB*, 00048 const int nrL1NoIsoEG, 00049 const int nrL1IsoEG, 00050 const int nrL1CenJet, 00051 const int nrL1ForJet, 00052 const int nrL1TauJet, 00053 const int ifCaloEtaNumberBits); 00054 00055 // copy constructor 00056 L1GtCaloCondition(const L1GtCaloCondition&); 00057 00058 // destructor 00059 virtual ~L1GtCaloCondition(); 00060 00061 // assign operator 00062 L1GtCaloCondition& operator=(const L1GtCaloCondition&); 00063 00064 public: 00065 00067 const bool evaluateCondition() const; 00068 00070 void print(std::ostream& myCout) const; 00071 00072 public: 00073 00075 inline const L1GtCaloTemplate* gtCaloTemplate() const { 00076 return m_gtCaloTemplate; 00077 } 00078 00079 void setGtCaloTemplate(const L1GtCaloTemplate*); 00080 00082 inline const int gtIfCaloEtaNumberBits() const { 00083 return m_ifCaloEtaNumberBits; 00084 } 00085 00086 void setGtIfCaloEtaNumberBits(const int&); 00087 00089 inline const L1GlobalTriggerPSB* gtPSB() const { 00090 return m_gtPSB; 00091 } 00092 00093 void setGtPSB(const L1GlobalTriggerPSB*); 00094 00095 private: 00096 00098 void copy(const L1GtCaloCondition& cp); 00099 00101 const L1GctCand* getCandidate(const int indexCand) const; 00102 00104 const bool 00105 checkObjectParameter(const int iCondition, const L1GctCand& cand) const; 00106 00107 private: 00108 00110 const L1GtCaloTemplate* m_gtCaloTemplate; 00111 00113 const L1GlobalTriggerPSB* m_gtPSB; 00114 00116 int m_ifCaloEtaNumberBits; 00117 00118 }; 00119 00120 #endif