source: trunk/KtJet/KtRecom.h@ 17

Last change on this file since 17 was 2, checked in by Pavel Demin, 16 years ago

first commit

File size: 2.5 KB
Line 
1#ifndef KTJET_KTRECOM_H
2#define KTJET_KTRECOM_H
3
4#include <string>
5#include "KtJet/KtUtil.h"
6#include "KtJet/KtLorentzVector.h"
7#include "KtJet/KtRecomInterface.h"
8
9
10namespace KtJet {
11 /**
12 * Function object to combine 4-momenta
13 * @author J.Butterworth J.Couchman B.Cox B.Waugh
14 */
15
16 /** Get required KtRecom object given integer argument
17 */
18 KtRecom* getRecomScheme(int recom);
19
20 class KtRecomE : public KtRecom {
21 public:
22 KtRecomE();
23 virtual ~KtRecomE(){};
24 /** Return merged 4-momentum */
25 CLHEP::HepLorentzVector operator()(const CLHEP::HepLorentzVector &, const CLHEP::HepLorentzVector &) const;
26 /** Process input 4-momentum */
27 KtLorentzVector operator()(const KtLorentzVector &) const;
28 /** Name of scheme */
29 std::string name() const;
30 private:
31 std::string m_name;
32 };
33
34
35 class KtRecomPt : public KtRecom {
36 public:
37 KtRecomPt();
38 virtual ~KtRecomPt(){};
39 /** Return merged 4-momentum */
40 CLHEP::HepLorentzVector operator()(const CLHEP::HepLorentzVector &, const CLHEP::HepLorentzVector &) const;
41 /** Process input 4-momentum */
42 KtLorentzVector operator()(const KtLorentzVector &) const;
43 /** Name of scheme */
44 std::string name() const;
45 private:
46 std::string m_name;
47 };
48
49
50 class KtRecomPt2 : public KtRecom {
51 public:
52 KtRecomPt2();
53 virtual ~KtRecomPt2(){};
54 /** Return merged 4-momentum */
55 CLHEP::HepLorentzVector operator()(const CLHEP::HepLorentzVector &, const CLHEP::HepLorentzVector &) const;
56 /** Process input 4-momentum */
57 KtLorentzVector operator()(const KtLorentzVector &) const;
58 /** Name of scheme */
59 std::string name() const;
60 private:
61 std::string m_name;
62 };
63
64
65 class KtRecomEt : public KtRecom {
66 public:
67 KtRecomEt();
68 virtual ~KtRecomEt(){};
69 /** Return merged 4-momentum */
70 CLHEP::HepLorentzVector operator()(const CLHEP::HepLorentzVector &, const CLHEP::HepLorentzVector &) const;
71 /** Process input 4-momentum */
72 KtLorentzVector operator()(const KtLorentzVector &) const;
73 /** Name of scheme */
74 std::string name() const;
75 private:
76 std::string m_name;
77 };
78
79
80 class KtRecomEt2 : public KtRecom {
81 public:
82 KtRecomEt2();
83 virtual ~KtRecomEt2(){};
84 /** Return merged 4-momentum */
85 CLHEP::HepLorentzVector operator()(const CLHEP::HepLorentzVector &, const CLHEP::HepLorentzVector &) const;
86 /** Process input 4-momentum */
87 KtLorentzVector operator()(const KtLorentzVector &) const;
88 /** Name of scheme */
89 std::string name() const;
90 private:
91 std::string m_name;
92 };
93
94}//end of namespace
95
96#endif
Note: See TracBrowser for help on using the repository browser.