ktjet is hosted by Hepforge, IPPP Durham

KtJetTable.h

Go to the documentation of this file.
00001 #ifndef KTJET_KTJETTABLE_H
00002 #define KTJET_KTJETTABLE_H
00003 
00004 #include "KtJet/KtLorentzVector.h"
00005 #include "KtJet/KtDistanceInterface.h"
00006 #include "KtJet/KtRecomInterface.h"
00007 #include <vector>
00008 #include <string>
00009 
00010 
00011 namespace KtJet{
00012 
00028   class KtJetTable {
00029   public:
00030     KtJetTable(const std::vector<KtLorentzVector> &, KtDistance *, KtRecom *recom);
00031     ~KtJetTable();
00032     /* Number of jets */
00033     inline int getNJets() const;
00035     const KtLorentzVector & getJet(int i) const;
00037     KtFloat getD(int i, int j) const;
00039     KtFloat getD(int i) const;
00041     std::pair<int,int> getMinDPair() const;
00043     int getMinDJet() const;
00045     void mergeJets(int i, int j);
00047     void killJet(int i);
00048   private:
00050     int m_nRows;
00052     std::vector<KtLorentzVector> m_jets;
00054     KtDistance *m_fKtDist;
00056     KtRecom *m_ktRecom;
00057     //  CLHEPNAMESPACE HepLorentzVector (*m_frecom)(const CLHEPNAMESPACE HepLorentzVector &, const CLHEPNAMESPACE HepLorentzVector &);
00059     std::vector<KtFloat> m_ddi;
00061     class DijTable {
00062     private:
00064       int m_nRows;
00066       int m_nJets;
00068       std::vector<KtFloat> m_table;
00069     public:
00070       DijTable(int nParticles=0);
00071       ~DijTable();
00073       void resize(int nParticles);
00075       KtFloat & operator() (int i, int j);
00077       KtFloat operator() (int i, int j) const;
00079       std::pair<int,int> getMin() const;
00081       void killJet();
00083       void print() const;
00084     };
00086     DijTable m_dPairs;
00087   };
00088 
00089 #include "KtJet/KtJetTable.icc"
00090 
00091 }//end of namespace
00092 #endif

Generated on Fri Jul 22 18:08:08 2005 for KtJet by  doxygen 1.3.9.1