2// Authors: W. Brown, M. Fischler, L. Moneta 2005
3
4
5/// linkdef for LorentzVectors
6
7
8// forget constructors for the moment (CINT cannot parse them)
9
10//#pragma link C++ function ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> >::ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> >(const ROOT::Math::LorentzVector<ROOT::Math::PtEtaPhiE4D<double> > &);
11
12
13// assignment operator (xyxe - pt,eta.phi,e)
14#pragma link C++ function ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> >::operator=(const ROOT::Math::LorentzVector<ROOT::Math::PtEtaPhiE4D<double> > &);
15#pragma link C++ function ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> >::operator=(const ROOT::Math::LorentzVector<ROOT::Math::PxPyPzM4D<double> > &);
16#pragma link C++ function ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> >::operator=(const ROOT::Math::LorentzVector<ROOT::Math::PtEtaPhiM4D<double> > &);
17
18
19#pragma link C++ function ROOT::Math::LorentzVector<ROOT::Math::PtEtaPhiE4D<double> >::operator=(const ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> > &);
20#pragma link C++ function ROOT::Math::LorentzVector<ROOT::Math::PtEtaPhiE4D<double> >::operator=(const ROOT::Math::LorentzVector<ROOT::Math::PxPyPzM4D<double> > &);
21#pragma link C++ function ROOT::Math::LorentzVector<ROOT::Math::PtEtaPhiE4D<double> >::operator=(const ROOT::Math::LorentzVector<ROOT::Math::PtEtaPhiM4D<double> > &);
22
23#pragma link C++ function ROOT::Math::LorentzVector<ROOT::Math::PxPyPzM4D<double> >::operator=(const ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> > &);
24#pragma link C++ function ROOT::Math::LorentzVector<ROOT::Math::PxPyPzM4D<double> >::operator=(const ROOT::Math::LorentzVector<ROOT::Math::PtEtaPhiE4D<double> > &);
25#pragma link C++ function ROOT::Math::LorentzVector<ROOT::Math::PxPyPzM4D<double> >::operator=(const ROOT::Math::LorentzVector<ROOT::Math::PtEtaPhiM4D<double> > &);
26
27#pragma link C++ function ROOT::Math::LorentzVector<ROOT::Math::PtEtaPhiM4D<double> >::operator=(const ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> > &);
28#pragma link C++ function ROOT::Math::LorentzVector<ROOT::Math::PtEtaPhiM4D<double> >::operator=(const ROOT::Math::LorentzVector<ROOT::Math::PxPyPzM4D<double> > &);
29#pragma link C++ function ROOT::Math::LorentzVector<ROOT::Math::PtEtaPhiM4D<double> >::operator=(const ROOT::Math::LorentzVector<ROOT::Math::PtEtaPhiE4D<double> > &);
30
31// for the following operations add only case with itself and with x-y-z-t vectors
32
33// Dot product
34
35#pragma link C++ function ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> >::Dot(const ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> > &);
36#pragma link C++ function ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> >::Dot(const ROOT::Math::LorentzVector<ROOT::Math::PtEtaPhiE4D<double> > &);
37#pragma link C++ function ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> >::Dot(const ROOT::Math::LorentzVector<ROOT::Math::PxPyPzM4D<double> > &);
38#pragma link C++ function ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> >::Dot(const ROOT::Math::LorentzVector<ROOT::Math::PtEtaPhiM4D<double> > &);
39
40#pragma link C++ function ROOT::Math::LorentzVector<ROOT::Math::PtEtaPhiE4D<double> >::Dot(const ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> > &);
41#pragma link C++ function ROOT::Math::LorentzVector<ROOT::Math::PtEtaPhiE4D<double> >::Dot(const ROOT::Math::LorentzVector<ROOT::Math::PtEtaPhiE4D<double> > &);
42
43#pragma link C++ function ROOT::Math::LorentzVector<ROOT::Math::PxPyPzM4D<double> >::Dot(const ROOT::Math::LorentzVector<ROOT::Math::PxPyPzM4D<double> > &);
44#pragma link C++ function ROOT::Math::LorentzVector<ROOT::Math::PxPyPzM4D<double> >::Dot(const ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> > &);
45
46#pragma link C++ function ROOT::Math::LorentzVector<ROOT::Math::PtEtaPhiM4D<double> >::Dot(const ROOT::Math::LorentzVector<ROOT::Math::PtEtaPhiM4D<double> > &);
47#pragma link C++ function ROOT::Math::LorentzVector<ROOT::Math::PtEtaPhiM4D<double> >::Dot(const ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> > &);
48
49
50// operator +=
51#pragma link C++ function ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> >::operator+=(const ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> > &);
52#pragma link C++ function ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> >::operator+=(const ROOT::Math::LorentzVector<ROOT::Math::PtEtaPhiE4D<double> > &);
53#pragma link C++ function ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> >::operator+=(const ROOT::Math::LorentzVector<ROOT::Math::PxPyPzM4D<double> > &);
54#pragma link C++ function ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> >::operator+=(const ROOT::Math::LorentzVector<ROOT::Math::PtEtaPhiM4D<double> > &);
55
56#pragma link C++ function ROOT::Math::LorentzVector<ROOT::Math::PtEtaPhiE4D<double> >::operator+=(const ROOT::Math::LorentzVector<ROOT::Math::PtEtaPhiE4D<double> > &);
57#pragma link C++ function ROOT::Math::LorentzVector<ROOT::Math::PtEtaPhiE4D<double> >::operator+=(const ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> > &);
58
59#pragma link C++ function ROOT::Math::LorentzVector<ROOT::Math::PxPyPzM4D<double> >::operator+=(const ROOT::Math::LorentzVector<ROOT::Math::PxPyPzM4D<double> > &);
60#pragma link C++ function ROOT::Math::LorentzVector<ROOT::Math::PxPyPzM4D<double> >::operator+=(const ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> > &);
61
62#pragma link C++ function ROOT::Math::LorentzVector<ROOT::Math::PtEtaPhiM4D<double> >::operator+=(const ROOT::Math::LorentzVector<ROOT::Math::PtEtaPhiM4D<double> > &);
63#pragma link C++ function ROOT::Math::LorentzVector<ROOT::Math::PtEtaPhiM4D<double> >::operator+=(const ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> > &);
64
65
66// operator -=
67#pragma link C++ function ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> >::operator-=(const ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> > &);
68#pragma link C++ function ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> >::operator-=(const ROOT::Math::LorentzVector<ROOT::Math::PtEtaPhiE4D<double> > &);
69#pragma link C++ function ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> >::operator-=(const ROOT::Math::LorentzVector<ROOT::Math::PxPyPzM4D<double> > &);
70#pragma link C++ function ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> >::operator-=(const ROOT::Math::LorentzVector<ROOT::Math::PtEtaPhiM4D<double> > &);
71
72#pragma link C++ function ROOT::Math::LorentzVector<ROOT::Math::PtEtaPhiE4D<double> >::operator-=(const ROOT::Math::LorentzVector<ROOT::Math::PtEtaPhiE4D<double> > &);
73#pragma link C++ function ROOT::Math::LorentzVector<ROOT::Math::PtEtaPhiE4D<double> >::operator-=(const ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> > &);
74
75#pragma link C++ function ROOT::Math::LorentzVector<ROOT::Math::PxPyPzM4D<double> >::operator-=(const ROOT::Math::LorentzVector<ROOT::Math::PxPyPzM4D<double> > &);
76#pragma link C++ function ROOT::Math::LorentzVector<ROOT::Math::PxPyPzM4D<double> >::operator-=(const ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> > &);
77
78#pragma link C++ function ROOT::Math::LorentzVector<ROOT::Math::PtEtaPhiM4D<double> >::operator-=(const ROOT::Math::LorentzVector<ROOT::Math::PtEtaPhiM4D<double> > &);
79#pragma link C++ function ROOT::Math::LorentzVector<ROOT::Math::PtEtaPhiM4D<double> >::operator-=(const ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> > &);
80
81
82// operator +
83#pragma link C++ function ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> >::operator+(const ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> > &);
84#pragma link C++ function ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> >::operator+(const ROOT::Math::LorentzVector<ROOT::Math::PtEtaPhiE4D<double> > &);
85#pragma link C++ function ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> >::operator+(const ROOT::Math::LorentzVector<ROOT::Math::PxPyPzM4D<double> > &);
86#pragma link C++ function ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> >::operator+(const ROOT::Math::LorentzVector<ROOT::Math::PtEtaPhiM4D<double> > &);
87
88#pragma link C++ function ROOT::Math::LorentzVector<ROOT::Math::PtEtaPhiE4D<double> >::operator+(const ROOT::Math::LorentzVector<ROOT::Math::PtEtaPhiE4D<double> > &);
89#pragma link C++ function ROOT::Math::LorentzVector<ROOT::Math::PtEtaPhiE4D<double> >::operator+(const ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> > &);
90
91#pragma link C++ function ROOT::Math::LorentzVector<ROOT::Math::PxPyPzM4D<double> >::operator+(const ROOT::Math::LorentzVector<ROOT::Math::PxPyPzM4D<double> > &);
92#pragma link C++ function ROOT::Math::LorentzVector<ROOT::Math::PxPyPzM4D<double> >::operator+(const ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> > &);
93
94#pragma link C++ function ROOT::Math::LorentzVector<ROOT::Math::PtEtaPhiM4D<double> >::operator+(const ROOT::Math::LorentzVector<ROOT::Math::PtEtaPhiM4D<double> > &);
95#pragma link C++ function ROOT::Math::LorentzVector<ROOT::Math::PtEtaPhiM4D<double> >::operator+(const ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> > &);
96
97
98
99// operator -
100#pragma link C++ function ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> >::operator-(const ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> > &);
101#pragma link C++ function ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> >::operator-(const ROOT::Math::LorentzVector<ROOT::Math::PtEtaPhiE4D<double> > &);
102#pragma link C++ function ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> >::operator-(const ROOT::Math::LorentzVector<ROOT::Math::PxPyPzM4D<double> > &);
103#pragma link C++ function ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> >::operator-(const ROOT::Math::LorentzVector<ROOT::Math::PtEtaPhiM4D<double> > &);
104
105#pragma link C++ function ROOT::Math::LorentzVector<ROOT::Math::PtEtaPhiE4D<double> >::operator-(const ROOT::Math::LorentzVector<ROOT::Math::PtEtaPhiE4D<double> > &);
106#pragma link C++ function ROOT::Math::LorentzVector<ROOT::Math::PtEtaPhiE4D<double> >::operator-(const ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> > &);
107
108#pragma link C++ function ROOT::Math::LorentzVector<ROOT::Math::PxPyPzM4D<double> >::operator-(const ROOT::Math::LorentzVector<ROOT::Math::PxPyPzM4D<double> > &);
109#pragma link C++ function ROOT::Math::LorentzVector<ROOT::Math::PxPyPzM4D<double> >::operator-(const ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> > &);
110
111#pragma link C++ function ROOT::Math::LorentzVector<ROOT::Math::PtEtaPhiE4D<double> >::operator-(const ROOT::Math::LorentzVector<ROOT::Math::PtEtaPhiM4D<double> > &);
112#pragma link C++ function ROOT::Math::LorentzVector<ROOT::Math::PtEtaPhiE4D<double> >::operator-(const ROOT::Math::LorentzVector<ROOT::Math::PxPyPzM4D<double> > &);
113
114// operator *
115// (these still don't work) (are defined in VectorUtil_Cint)
116//#pragma link C++ function ROOT::Math::operator*( const double & , ROOT::Math::LorentzVector<ROOT::Math::PxPyPzE4D<double> > );
117//#pragma link C++ function ROOT::Math::operator*( const double & , ROOT::Math::LorentzVector<ROOT::Math::PtEtaPhiE4D<double> > );
118
119// utility functions
120
121// delta Phi
122#pragma link C++ function ROOT::Math::VectorUtil::DeltaPhi ( const ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< double> > &, const ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< double> > &);
123#pragma link C++ function ROOT::Math::VectorUtil::DeltaPhi ( const ROOT::Math::LorentzVector< ROOT::Math::PtEtaPhiE4D< double> > &, const ROOT::Math::LorentzVector< ROOT::Math::PtEtaPhiE4D< double> > &);
124#pragma link C++ function ROOT::Math::VectorUtil::DeltaPhi ( const ROOT::Math::LorentzVector< ROOT::Math::PxPyPzM4D< double> > &, const ROOT::Math::LorentzVector< ROOT::Math::PxPyPzM4D< double> > &);
125#pragma link C++ function ROOT::Math::VectorUtil::DeltaPhi ( const ROOT::Math::LorentzVector< ROOT::Math::PtEtaPhiM4D< double> > &, const ROOT::Math::LorentzVector< ROOT::Math::PtEtaPhiM4D< double> > &);
126
127// deltaR
128
129#pragma link C++ function ROOT::Math::VectorUtil::DeltaR ( const ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< double> > &, const ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< double> > &);
130#pragma link C++ function ROOT::Math::VectorUtil::DeltaR ( const ROOT::Math::LorentzVector< ROOT::Math::PtEtaPhiE4D< double> > &, const ROOT::Math::LorentzVector< ROOT::Math::PtEtaPhiE4D< double> > &);
131#pragma link C++ function ROOT::Math::VectorUtil::DeltaR ( const ROOT::Math::LorentzVector< ROOT::Math::PxPyPzM4D< double> > &, const ROOT::Math::LorentzVector< ROOT::Math::PxPyPzM4D< double> > &);
132#pragma link C++ function ROOT::Math::VectorUtil::DeltaR ( const ROOT::Math::LorentzVector< ROOT::Math::PtEtaPhiM4D< double> > &, const ROOT::Math::LorentzVector< ROOT::Math::PtEtaPhiM4D< double> > &);
133
134// cosTheta
135
136#pragma link C++ function ROOT::Math::VectorUtil::CosTheta ( const ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< double> > &, const ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< double> > &);
137#pragma link C++ function ROOT::Math::VectorUtil::CosTheta ( const ROOT::Math::LorentzVector< ROOT::Math::PtEtaPhiE4D< double> > &, const ROOT::Math::LorentzVector< ROOT::Math::PtEtaPhiE4D< double> > &);
138#pragma link C++ function ROOT::Math::VectorUtil::CosTheta ( const ROOT::Math::LorentzVector< ROOT::Math::PxPyPzM4D< double> > &, const ROOT::Math::LorentzVector< ROOT::Math::PxPyPzM4D< double> > &);
139#pragma link C++ function ROOT::Math::VectorUtil::CosTheta ( const ROOT::Math::LorentzVector< ROOT::Math::PtEtaPhiM4D< double> > &, const ROOT::Math::LorentzVector< ROOT::Math::PtEtaPhiM4D< double> > &);
140
141// angle
142
143#pragma link C++ function ROOT::Math::VectorUtil::Angle ( const ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< double> > &, const ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< double> > &);
144#pragma link C++ function ROOT::Math::VectorUtil::Angle ( const ROOT::Math::LorentzVector< ROOT::Math::PtEtaPhiE4D< double> > &, const ROOT::Math::LorentzVector< ROOT::Math::PtEtaPhiE4D< double> > &);
145#pragma link C++ function ROOT::Math::VectorUtil::Angle ( const ROOT::Math::LorentzVector< ROOT::Math::PxPyPzM4D< double> > &, const ROOT::Math::LorentzVector< ROOT::Math::PxPyPzM4D< double> > &);
146#pragma link C++ function ROOT::Math::VectorUtil::Angle ( const ROOT::Math::LorentzVector< ROOT::Math::PtEtaPhiM4D< double> > &, const ROOT::Math::LorentzVector< ROOT::Math::PtEtaPhiM4D< double> > &);
147
148// invariantMass
149
150#pragma link C++ function ROOT::Math::VectorUtil::InvariantMass ( const ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< double> > &, const ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< double> > &);
151#pragma link C++ function ROOT::Math::VectorUtil::InvariantMass ( const ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< double> > &, const ROOT::Math::LorentzVector< ROOT::Math::PtEtaPhiE4D< double> > &);
152
153#pragma link C++ function ROOT::Math::VectorUtil::InvariantMass ( const ROOT::Math::LorentzVector< ROOT::Math::PtEtaPhiE4D< double> > &, const ROOT::Math::LorentzVector< ROOT::Math::PtEtaPhiE4D< double> > &);
154#pragma link C++ function ROOT::Math::VectorUtil::InvariantMass ( const ROOT::Math::LorentzVector< ROOT::Math::PtEtaPhiE4D< double> > &, const ROOT::Math::LorentzVector< ROOT::Math::PxPyPzE4D< double> > &);
155
156#pragma link C++ function ROOT::Math::VectorUtil::InvariantMass ( const ROOT::Math::LorentzVector< ROOT::Math::PxPyPzM4D< double> > &, const ROOT::Math::LorentzVector< ROOT::Math::PxPyPzM4D< double> > &);
157
158#pragma link C++ function ROOT::Math::VectorUtil::InvariantMass ( const ROOT::Math::LorentzVector< ROOT::Math::PtEtaPhiM4D< double> > &, const ROOT::Math::LorentzVector< ROOT::Math::PtEtaPhiM4D< double> > &);