19#ifndef ROOT_MathX_GenVectorX_PtEtaPhiE4D
20#define ROOT_MathX_GenVectorX_PtEtaPhiE4D 1
57template <
class ScalarType>
82 template <
class CoordSystem>
201#if !defined(ROOT_MATH_SYCL) && !defined(ROOT_MATH_CUDA)
203 " Pt and Eta give P such that P^2 > E^2, so the mass would be imaginary");
222 return fE *
fE - pz * pz;
234#if !defined(ROOT_MATH_SYCL) && !defined(ROOT_MATH_CUDA)
236 " Pt and Eta give Pz such that Pz^2 > E^2, so the mass would be imaginary");
333 template <
class CoordSystem>
361#if defined(__MAKECINT__) || defined(G__DICTIONARY)
387#if defined(__MAKECINT__) || defined(G__DICTIONARY)
395template <
class ScalarType>
401#if defined(__MAKECINT__) || defined(G__DICTIONARY)
402#if !defined(ROOT_MATH_SYCL) && !defined(ROOT_MATH_CUDA)
406template <
class ScalarType>
415template <
class ScalarType>
424template <
class ScalarType>
433template <
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 E (or rho,...
Scalar P() const
magnitude of momentum
void SetE(Scalar e)
set E value
Scalar Mt2() const
transverse mass squared
constexpr PtEtaPhiE4D() noexcept=default
Default constructor gives zero 4-vector.
PtEtaPhiE4D(const CoordSystem &c)
Generic constructor from any 4D coordinate system implementing Pt(), Eta(), Phi() and E()
bool operator!=(const PtEtaPhiE4D &rhs) const
void Negate()
negate the 4-vector
Scalar Et() const
transverse energy
void SetCoordinates(const Scalar src[])
Set internal data based on an array of 4 Scalar numbers.
Scalar M() const
invariant mass
void SetCoordinates(Scalar pt, Scalar eta, Scalar phi, Scalar e)
Set internal data based on 4 Scalar numbers.
void GetCoordinates(Scalar &pt, Scalar &eta, Scalar &phi, Scalar &e) const
get internal data into 4 Scalar numbers
void SetEta(Scalar eta)
set eta value
PtEtaPhiE4D & operator=(const CoordSystem &c)
Assignment from a generic coordinate system implementing Pt(), Eta(), Phi() and E()
Scalar Et2() const
transverse energy squared
void GetCoordinates(Scalar dest[]) const
get internal data into an array of 4 Scalar numbers
Scalar Theta() const
polar angle
void Scale(Scalar a)
Scale coordinate values by a scalar quantity a.
Scalar P2() const
squared magnitude of spatial components (momentum squared)
void SetPhi(Scalar phi)
set phi value
Scalar M2() const
vector magnitude squared (or mass squared)
void SetPt(Scalar pt)
set Pt value
Scalar Pt2() const
transverse spatial component squared
bool operator==(const PtEtaPhiE4D &rhs) const
Exact equality.
Scalar Mt() const
transverse mass
void SetPxPyPzE(Scalar px, Scalar py, Scalar pz, Scalar e)
set values using cartesian coordinate system
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)