Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members
KtLorentzVector.hGo to the documentation of this file.00001 #ifndef KTJET_KTLORENTZVECTOR_H 00002 #define KTJET_KTLORENTZVECTOR_H 00003 00004 #include <vector> 00005 #include <cmath> 00006 #include "KtJet/KtUtil.h" 00007 00008 00009 namespace KtJet { 00018 class KtRecom; 00019 00020 class KtLorentzVector : public CLHEPNAMESPACE HepLorentzVector { 00021 public: 00023 KtLorentzVector(); 00025 KtLorentzVector(const CLHEPNAMESPACE HepLorentzVector &); 00027 KtLorentzVector(KtFloat px, KtFloat py, KtFloat pz, KtFloat e); 00028 00030 ~KtLorentzVector(); 00031 00033 inline const std::vector<const KtLorentzVector*> & getConstituents() const; 00035 std::vector<KtLorentzVector> copyConstituents() const; 00037 inline int getNConstituents() const; 00039 bool contains(const KtLorentzVector &) const; 00041 void add(const KtLorentzVector &, KtRecom *recom); 00043 void add(const KtLorentzVector &); 00044 inline unsigned int getID() const {return m_id;} // ??? Temporary, for debugging only 00046 inline bool isJet() const; 00048 KtLorentzVector & operator+= (const KtLorentzVector &); 00050 inline bool operator== (const KtLorentzVector &) const; 00051 inline bool operator!= (const KtLorentzVector &) const; 00052 inline bool operator< (const KtLorentzVector &) const; 00053 inline bool operator> (const KtLorentzVector &) const; 00054 private: 00056 inline KtFloat crapidity() const; 00058 KtFloat m_crapidity; 00060 inline void calcRapidity(); 00062 void addConstituents(const KtLorentzVector*) ; 00064 unsigned int m_id; 00066 std::vector<const KtLorentzVector*> m_constituents; 00068 bool m_isAtomic; 00070 static unsigned int m_num; 00072 friend class KtDistanceDeltaR; 00073 friend class KtDistanceQCD; 00074 }; 00075 00076 bool greaterE(const CLHEPNAMESPACE HepLorentzVector &, const CLHEPNAMESPACE HepLorentzVector &); 00077 bool greaterEt(const CLHEPNAMESPACE HepLorentzVector &, const CLHEPNAMESPACE HepLorentzVector &); 00078 bool greaterPt(const CLHEPNAMESPACE HepLorentzVector &, const CLHEPNAMESPACE HepLorentzVector &); 00079 bool greaterRapidity(const CLHEPNAMESPACE HepLorentzVector &, const CLHEPNAMESPACE HepLorentzVector &); 00080 bool greaterEta(const CLHEPNAMESPACE HepLorentzVector &, const CLHEPNAMESPACE HepLorentzVector &); 00081 00082 #include "KtJet/KtLorentzVector.icc" 00083 00084 }//end of namespace 00085 #endif Generated on Fri Jul 22 18:08:08 2005 for KtJet by 1.3.9.1 |