18#ifndef ROOT_MathX_GenVectorX_PtEtaPhiM4D
19#define ROOT_MathX_GenVectorX_PtEtaPhiM4D 1
58template <
class ScalarType>
85 template <
class CoordSystem>
201 return e2 > 0 ?
e2 : 0;
238#if !defined(ROOT_MATH_SYCL) && !defined(ROOT_MATH_CUDA)
240 " Pz^2 > E^2 so the transverse mass would be imaginary");
273#if !defined(ROOT_MATH_SYCL) && !defined(ROOT_MATH_CUDA)
274 GenVector_Throw(
"PtEtaPhiM4D::unphysical value of mass, set to closest physical value");
331#if !defined(ROOT_MATH_SYCL) && !defined(ROOT_MATH_CUDA)
332 GenVector_Throw(
"PtEtaPhiM4D::Negate - cannot negate the energy - can negate only the spatial components");
353 template <
class CoordSystem>
381#if defined(__MAKECINT__) || defined(G__DICTIONARY)
412template <
class ScalarType>
418#if defined(__MAKECINT__) || defined(G__DICTIONARY)
419#if !defined(ROOT_MATH_SYCL) && !defined(ROOT_MATH_CUDA)
423template <
class ScalarType>
432template <
class ScalarType>
441template <
class ScalarType>
450template <
class ScalarType>
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
winID h TVirtualViewer3D TVirtualGLPainter p
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t dest
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t src
Class describing a 4D cylindrical coordinate system using Pt , Phi, Eta and M (mass) The metric used ...
PtEtaPhiM4D & operator=(const CoordSystem &c)
Assignment from a generic coordinate system implementing Pt(), Eta(), Phi() and M()
PtEtaPhiM4D(const CoordSystem &c)
Generic constructor from any 4D coordinate system implementing Pt(), Eta(), Phi() and M()
Scalar Theta() const
polar angle
Scalar M2() const
vector magnitude squared (or mass squared) In case of negative mass (spacelike particles return negat...
Scalar E2() const
energy squared
Scalar Et() const
transverse energy
void SetPhi(Scalar phi)
set phi value
void SetCoordinates(const Scalar src[])
Set internal data based on an array of 4 Scalar numbers.
void SetPt(Scalar pt)
set Pt value
Scalar P2() const
squared magnitude of spatial components (momentum squared)
Scalar Pt2() const
transverse spatial component squared
PtEtaPhiM4D()
Default constructor gives zero 4-vector (with zero mass)
void Negate()
negate the 4-vector – Note that the energy cannot be negate (would need an additional data member) th...
Scalar Mt() const
transverse mass - will be negative if Mt2() is negative
void SetEta(Scalar eta)
set eta value
Scalar E() const
Energy (timelike component of momentum-energy 4-vector)
void SetPxPyPzE(Scalar px, Scalar py, Scalar pz, Scalar e)
set values using cartesian coordinate system
void SetCoordinates(Scalar pt, Scalar eta, Scalar phi, Scalar mass)
Set internal data based on 4 Scalar numbers.
bool operator==(const PtEtaPhiM4D &rhs) const
Exact equality.
void GetCoordinates(Scalar dest[]) const
get internal data into an array of 4 Scalar numbers
Scalar Mt2() const
transverse mass squared
PtEtaPhiM4D(Scalar pt, Scalar eta, Scalar phi, Scalar mass)
Constructor from pt, eta, phi, mass values.
void GetCoordinates(Scalar &pt, Scalar &eta, Scalar &phi, Scalar &mass) const
get internal data into 4 Scalar numbers
Scalar P() const
magnitude of momentum
Scalar Et2() const
transverse energy squared
void SetM(Scalar mass)
set M value
void Scale(Scalar a)
Scale coordinate values by a scalar quantity a.
Scalar M() const
M() is the invariant mass; in this coordinate system it can be negagative if set that way.
bool operator!=(const PtEtaPhiM4D &rhs) const
Scalar math_floor(Scalar x)
Scalar math_cos(Scalar x)
Scalar math_atan(Scalar x)
void GenVector_Throw(const char *)
function throwing exception, by creating internally a GenVector_exception only when needed
Scalar math_sqrt(Scalar x)
Scalar math_sinh(Scalar x)
Scalar math_exp(Scalar x)
Scalar math_cosh(Scalar x)
Scalar math_sin(Scalar x)