19 #ifndef ROOT_Math_GenVector_PtEtaPhiE4D 20 #define ROOT_Math_GenVector_PtEtaPhiE4D 1 22 #ifndef ROOT_Math_Math 26 #ifndef ROOT_Math_GenVector_etaMax 30 #ifndef ROOT_Math_GenVector_GenVector_exception 57 template <
class ScalarType>
81 template <
class CoordSystem >
116 { dest[0] =
fPt; dest[1] =
fEta; dest[2] =
fPhi; dest[3] =
fE; }
138 Scalar
E()
const {
return fE; }
142 Scalar
T()
const {
return E(); }
147 Scalar
X ()
const {
return Px(); }
149 Scalar
Y ()
const {
return Py(); }
153 fEta > 0 ?
fEta - etaMax<Scalar>() :
154 fEta + etaMax<Scalar>() ;
156 Scalar
Z ()
const {
return Pz(); }
163 fEta > etaMax<Scalar>() ?
fEta - etaMax<Scalar>() :
164 fEta < -etaMax<Scalar>() ? -
fEta - etaMax<Scalar>() :
167 Scalar
R()
const {
return P(); }
172 Scalar
P2()
const { Scalar p =
P();
return p*p; }
177 Scalar
M2()
const { Scalar p =
P();
return fE*
fE - p*p; }
189 " Pt and Eta give P such that P^2 > E^2, so the mass would be imaginary");
193 Scalar
Mag()
const {
return M(); }
204 Scalar
Mt2()
const { Scalar pz =
Pz();
return fE*
fE - pz*pz; }
215 " Pt and Eta give Pz such that Pz^2 > E^2, so the mass would be imaginary");
233 Scalar
Et2()
const { Scalar et =
Et();
return et*et; }
237 inline static Scalar
pi() {
return M_PI; }
250 if (
fEta >= 0)
return 0;
285 void SetPxPyPzE(Scalar px, Scalar py, Scalar pz, Scalar
e);
314 template <
class CoordSystem >
336 Scalar
x()
const {
return X(); }
337 Scalar
y()
const {
return Y(); }
338 Scalar
z()
const {
return Z(); }
339 Scalar
t()
const {
return E(); }
343 #if defined(__MAKECINT__) || defined(G__DICTIONARY) 347 void SetPx(Scalar px);
349 void SetPy(Scalar py);
351 void SetPz(Scalar pz);
374 #ifndef ROOT_Math_GenVector_PxPyPzE4D 377 #if defined(__MAKECINT__) || defined(G__DICTIONARY) 378 #ifndef ROOT_Math_GenVector_PtEtaPhiM4D 387 template <
class ScalarType>
393 #if defined(__MAKECINT__) || defined(G__DICTIONARY) 397 template <
class ScalarType>
403 template <
class ScalarType>
409 template <
class ScalarType>
415 template <
class ScalarType>
423 #endif // endif __MAKE__CINT || G__DICTIONARY 432 #endif // ROOT_Math_GenVector_PtEtaPhiE4D Class describing a 4D cylindrical coordinate system using Pt , Phi, Eta and E (or rho...
void SetPhi(Scalar phi)
set phi value
Class describing a 4D cylindrical coordinate system using Pt , Phi, Eta and M (mass) The metric used ...
void SetPxPyPzE(Scalar px, Scalar py, Scalar pz, Scalar e)
set values using cartesian coordinate system
This namespace contains pre-defined functions to be used in conjuction with TExecutor::Map and TExecu...
PtEtaPhiE4D()
Default constructor gives zero 4-vector.
Scalar Et2() const
transverse energy squared
Scalar Theta() const
polar angle
void Scale(Scalar a)
Scale coordinate values by a scalar quantity a.
void SetPx(Scalar px)
set X value
void GetCoordinates(Scalar &pt, Scalar &eta, Scalar &phi, Scalar &e) const
get internal data into 4 Scalar numbers
Class describing a 4D cartesian coordinate system (x, y, z, t coordinates) or momentum-energy vectors...
Scalar Mt() const
transverse mass
void Negate()
negate the 4-vector
void SetM(Scalar mass)
set M value
bool operator!=(const PtEtaPhiE4D &rhs) const
void SetPt(Scalar pt)
set Pt value
void Throw(const char *)
function throwing exception, by creating internally a GenVector_exception only when needed ...
void SetCoordinates(Scalar pt, Scalar eta, Scalar phi, Scalar e)
Set internal data based on 4 Scalar numbers.
void SetPz(Scalar pz)
set Z value
void SetPy(Scalar py)
set Y value
void SetEta(Scalar eta)
set eta value
Scalar M2() const
vector magnitude squared (or mass squared)
void SetCoordinates(const Scalar src[])
Set internal data based on an array of 4 Scalar numbers.
Scalar P() const
magnitude of momentum
Scalar Mt2() const
transverse mass squared
you should not use this method at all Int_t Int_t Double_t Double_t Double_t e
void SetE(Scalar e)
set E value
PtEtaPhiE4D(Scalar pt, Scalar eta, Scalar phi, Scalar e)
Constructor from pt, eta, phi, e values.
Scalar P2() const
squared magnitude of spatial components (momentum squared)
Namespace for new Math classes and functions.
Scalar M() const
invariant mass
bool operator==(const PtEtaPhiE4D &rhs) const
Exact equality.
#define dest(otri, vertexptr)
void GetCoordinates(Scalar dest[]) const
get internal data into an array of 4 Scalar numbers
PtEtaPhiE4D & operator=(const PtEtaPhiE4D &v)
assignment operator
Scalar Et() const
transverse energy
PtEtaPhiE4D(const CoordSystem &c)
Generic constructor from any 4D coordinate system implementing Pt(), Eta(), Phi() and E() ...
Scalar Pt2() const
transverse spatial component squared
PtEtaPhiE4D(const PtEtaPhiE4D &v)
copy constructor