Logo ROOT  
Reference Guide
Loading...
Searching...
No Matches
ROOT::ROOT_MATH_ARCH::PtEtaPhiM4D< ScalarType > Class Template Reference

template<class ScalarType>
class ROOT::ROOT_MATH_ARCH::PtEtaPhiM4D< ScalarType >

Class describing a 4D cylindrical coordinate system using Pt , Phi, Eta and M (mass) The metric used is (-,-,-,+).

Spacelike particles (M2 < 0) are described with negative mass values, but in this case m2 must always be less than P2 to preserve a positive value of E2 Phi is restricted to be in the range [-PI,PI)

See also
GenVectorX

Definition at line 59 of file PtEtaPhiM4D.h.

Public Types

typedef ScalarType Scalar

Public Member Functions

 PtEtaPhiM4D ()
 Default constructor gives zero 4-vector (with zero mass).
template<class CoordSystem>
 PtEtaPhiM4D (const CoordSystem &c)
 Generic constructor from any 4D coordinate system implementing Pt(), Eta(), Phi() and M().
 PtEtaPhiM4D (Scalar pt, Scalar eta, Scalar phi, Scalar mass)
 Constructor from pt, eta, phi, mass values.
Scalar E () const
 Energy (timelike component of momentum-energy 4-vector).
Scalar E2 () const
 energy squared
Scalar Et () const
 transverse energy
Scalar Et2 () const
 transverse energy squared
Scalar Eta () const
void GetCoordinates (Scalar &pt, Scalar &eta, Scalar &phi, Scalar &mass) const
 get internal data into 4 Scalar numbers
void GetCoordinates (Scalar dest[]) const
 get internal data into an array of 4 Scalar numbers
Scalar M () const
 M() is the invariant mass; in this coordinate system it can be negagative if set that way.
Scalar M2 () const
 vector magnitude squared (or mass squared) In case of negative mass (spacelike particles return negative values)
Scalar Mag () const
Scalar Mag2 () const
Scalar Mt () const
 transverse mass - will be negative if Mt2() is negative
Scalar Mt2 () const
 transverse mass squared
void Negate ()
 negate the 4-vector – Note that the energy cannot be negate (would need an additional data member) therefore negate will work only on the spatial components One would need to use negate only with vectors having the energy as data members
bool operator!= (const PtEtaPhiM4D &rhs) const
template<class CoordSystem>
PtEtaPhiM4Doperator= (const CoordSystem &c)
 Assignment from a generic coordinate system implementing Pt(), Eta(), Phi() and M().
bool operator== (const PtEtaPhiM4D &rhs) const
 Exact equality.
Scalar P () const
 magnitude of momentum
Scalar P2 () const
 squared magnitude of spatial components (momentum squared)
Scalar Perp () const
Scalar Perp2 () const
Scalar Phi () const
Scalar Pt () const
Scalar Pt2 () const
 transverse spatial component squared
Scalar Px () const
Scalar Py () const
Scalar Pz () const
Scalar R () const
Scalar Rho () const
void Scale (Scalar a)
 Scale coordinate values by a scalar quantity a.
void SetCoordinates (const Scalar src[])
 Set internal data based on an array of 4 Scalar numbers.
void SetCoordinates (Scalar pt, Scalar eta, Scalar phi, Scalar mass)
 Set internal data based on 4 Scalar numbers.
void SetEta (Scalar eta)
 set eta value
void SetM (Scalar mass)
 set M value
void SetPhi (Scalar phi)
 set phi value
void SetPt (Scalar pt)
 set Pt value
void SetPxPyPzE (Scalar px, Scalar py, Scalar pz, Scalar e)
 set values using cartesian coordinate system
Scalar T () const
Scalar t () const
Scalar Theta () const
 polar angle
Scalar X () const
Scalar x () const
Scalar Y () const
Scalar y () const
Scalar Z () const
Scalar z () const

Private Member Functions

void RestrictNegMass ()
void RestrictPhi ()

Static Private Member Functions

static Scalar pi ()

Private Attributes

ScalarType fEta
ScalarType fM
ScalarType fPhi
ScalarType fPt

#include <MathX/GenVectorX/PtEtaPhiM4D.h>

Member Typedef Documentation

◆ Scalar

template<class ScalarType>
typedef ScalarType ROOT::ROOT_MATH_ARCH::PtEtaPhiM4D< ScalarType >::Scalar

Definition at line 62 of file PtEtaPhiM4D.h.

Constructor & Destructor Documentation

◆ PtEtaPhiM4D() [1/3]

template<class ScalarType>
ROOT::ROOT_MATH_ARCH::PtEtaPhiM4D< ScalarType >::PtEtaPhiM4D ( )
inline

Default constructor gives zero 4-vector (with zero mass).

Definition at line 69 of file PtEtaPhiM4D.h.

◆ PtEtaPhiM4D() [2/3]

template<class ScalarType>
ROOT::ROOT_MATH_ARCH::PtEtaPhiM4D< ScalarType >::PtEtaPhiM4D ( Scalar pt,
Scalar eta,
Scalar phi,
Scalar mass )
inline

Constructor from pt, eta, phi, mass values.

Definition at line 74 of file PtEtaPhiM4D.h.

◆ PtEtaPhiM4D() [3/3]

template<class ScalarType>
template<class CoordSystem>
ROOT::ROOT_MATH_ARCH::PtEtaPhiM4D< ScalarType >::PtEtaPhiM4D ( const CoordSystem & c)
inlineexplicit

Generic constructor from any 4D coordinate system implementing Pt(), Eta(), Phi() and M().

Definition at line 86 of file PtEtaPhiM4D.h.

Member Function Documentation

◆ E()

template<class ScalarType>
Scalar ROOT::ROOT_MATH_ARCH::PtEtaPhiM4D< ScalarType >::E ( ) const
inline

Energy (timelike component of momentum-energy 4-vector).

Definition at line 207 of file PtEtaPhiM4D.h.

◆ E2()

template<class ScalarType>
Scalar ROOT::ROOT_MATH_ARCH::PtEtaPhiM4D< ScalarType >::E2 ( ) const
inline

energy squared

Definition at line 197 of file PtEtaPhiM4D.h.

◆ Et()

template<class ScalarType>
Scalar ROOT::ROOT_MATH_ARCH::PtEtaPhiM4D< ScalarType >::Et ( ) const
inline

transverse energy

Definition at line 258 of file PtEtaPhiM4D.h.

◆ Et2()

template<class ScalarType>
Scalar ROOT::ROOT_MATH_ARCH::PtEtaPhiM4D< ScalarType >::Et2 ( ) const
inline

transverse energy squared

Definition at line 249 of file PtEtaPhiM4D.h.

◆ Eta()

template<class ScalarType>
Scalar ROOT::ROOT_MATH_ARCH::PtEtaPhiM4D< ScalarType >::Eta ( ) const
inline

Definition at line 146 of file PtEtaPhiM4D.h.

◆ GetCoordinates() [1/2]

template<class ScalarType>
void ROOT::ROOT_MATH_ARCH::PtEtaPhiM4D< ScalarType >::GetCoordinates ( Scalar & pt,
Scalar & eta,
Scalar & phi,
Scalar & mass ) const
inline

get internal data into 4 Scalar numbers

Definition at line 133 of file PtEtaPhiM4D.h.

◆ GetCoordinates() [2/2]

template<class ScalarType>
void ROOT::ROOT_MATH_ARCH::PtEtaPhiM4D< ScalarType >::GetCoordinates ( Scalar dest[]) const
inline

get internal data into an array of 4 Scalar numbers

Definition at line 108 of file PtEtaPhiM4D.h.

◆ M()

template<class ScalarType>
Scalar ROOT::ROOT_MATH_ARCH::PtEtaPhiM4D< ScalarType >::M ( ) const
inline

M() is the invariant mass; in this coordinate system it can be negagative if set that way.

Definition at line 152 of file PtEtaPhiM4D.h.

◆ M2()

template<class ScalarType>
Scalar ROOT::ROOT_MATH_ARCH::PtEtaPhiM4D< ScalarType >::M2 ( ) const
inline

vector magnitude squared (or mass squared) In case of negative mass (spacelike particles return negative values)

Definition at line 215 of file PtEtaPhiM4D.h.

◆ Mag()

template<class ScalarType>
Scalar ROOT::ROOT_MATH_ARCH::PtEtaPhiM4D< ScalarType >::Mag ( ) const
inline

Definition at line 153 of file PtEtaPhiM4D.h.

◆ Mag2()

template<class ScalarType>
Scalar ROOT::ROOT_MATH_ARCH::PtEtaPhiM4D< ScalarType >::Mag2 ( ) const
inline

Definition at line 216 of file PtEtaPhiM4D.h.

◆ Mt()

template<class ScalarType>
Scalar ROOT::ROOT_MATH_ARCH::PtEtaPhiM4D< ScalarType >::Mt ( ) const
inline

transverse mass - will be negative if Mt2() is negative

Definition at line 232 of file PtEtaPhiM4D.h.

◆ Mt2()

template<class ScalarType>
Scalar ROOT::ROOT_MATH_ARCH::PtEtaPhiM4D< ScalarType >::Mt2 ( ) const
inline

transverse mass squared

Definition at line 227 of file PtEtaPhiM4D.h.

◆ Negate()

template<class ScalarType>
void ROOT::ROOT_MATH_ARCH::PtEtaPhiM4D< ScalarType >::Negate ( )
inline

negate the 4-vector – Note that the energy cannot be negate (would need an additional data member) therefore negate will work only on the spatial components One would need to use negate only with vectors having the energy as data members

Definition at line 327 of file PtEtaPhiM4D.h.

◆ operator!=()

template<class ScalarType>
bool ROOT::ROOT_MATH_ARCH::PtEtaPhiM4D< ScalarType >::operator!= ( const PtEtaPhiM4D< ScalarType > & rhs) const
inline

Definition at line 370 of file PtEtaPhiM4D.h.

◆ operator=()

template<class ScalarType>
template<class CoordSystem>
PtEtaPhiM4D & ROOT::ROOT_MATH_ARCH::PtEtaPhiM4D< ScalarType >::operator= ( const CoordSystem & c)
inline

Assignment from a generic coordinate system implementing Pt(), Eta(), Phi() and M().

Definition at line 354 of file PtEtaPhiM4D.h.

◆ operator==()

template<class ScalarType>
bool ROOT::ROOT_MATH_ARCH::PtEtaPhiM4D< ScalarType >::operator== ( const PtEtaPhiM4D< ScalarType > & rhs) const
inline

Exact equality.

Definition at line 366 of file PtEtaPhiM4D.h.

◆ P()

template<class ScalarType>
Scalar ROOT::ROOT_MATH_ARCH::PtEtaPhiM4D< ScalarType >::P ( ) const
inline

magnitude of momentum

Definition at line 176 of file PtEtaPhiM4D.h.

◆ P2()

template<class ScalarType>
Scalar ROOT::ROOT_MATH_ARCH::PtEtaPhiM4D< ScalarType >::P2 ( ) const
inline

squared magnitude of spatial components (momentum squared)

Definition at line 188 of file PtEtaPhiM4D.h.

◆ Perp()

template<class ScalarType>
Scalar ROOT::ROOT_MATH_ARCH::PtEtaPhiM4D< ScalarType >::Perp ( ) const
inline

Definition at line 155 of file PtEtaPhiM4D.h.

◆ Perp2()

template<class ScalarType>
Scalar ROOT::ROOT_MATH_ARCH::PtEtaPhiM4D< ScalarType >::Perp2 ( ) const
inline

Definition at line 222 of file PtEtaPhiM4D.h.

◆ Phi()

template<class ScalarType>
Scalar ROOT::ROOT_MATH_ARCH::PtEtaPhiM4D< ScalarType >::Phi ( ) const
inline

Definition at line 147 of file PtEtaPhiM4D.h.

◆ pi()

template<class ScalarType>
Scalar ROOT::ROOT_MATH_ARCH::PtEtaPhiM4D< ScalarType >::pi ( )
inlinestaticprivate

Definition at line 261 of file PtEtaPhiM4D.h.

◆ Pt()

template<class ScalarType>
Scalar ROOT::ROOT_MATH_ARCH::PtEtaPhiM4D< ScalarType >::Pt ( ) const
inline

Definition at line 145 of file PtEtaPhiM4D.h.

◆ Pt2()

template<class ScalarType>
Scalar ROOT::ROOT_MATH_ARCH::PtEtaPhiM4D< ScalarType >::Pt2 ( ) const
inline

transverse spatial component squared

Definition at line 221 of file PtEtaPhiM4D.h.

◆ Px()

template<class ScalarType>
Scalar ROOT::ROOT_MATH_ARCH::PtEtaPhiM4D< ScalarType >::Px ( ) const
inline

Definition at line 160 of file PtEtaPhiM4D.h.

◆ Py()

template<class ScalarType>
Scalar ROOT::ROOT_MATH_ARCH::PtEtaPhiM4D< ScalarType >::Py ( ) const
inline

Definition at line 162 of file PtEtaPhiM4D.h.

◆ Pz()

template<class ScalarType>
Scalar ROOT::ROOT_MATH_ARCH::PtEtaPhiM4D< ScalarType >::Pz ( ) const
inline

Definition at line 164 of file PtEtaPhiM4D.h.

◆ R()

template<class ScalarType>
Scalar ROOT::ROOT_MATH_ARCH::PtEtaPhiM4D< ScalarType >::R ( ) const
inline

Definition at line 183 of file PtEtaPhiM4D.h.

◆ RestrictNegMass()

template<class ScalarType>
void ROOT::ROOT_MATH_ARCH::PtEtaPhiM4D< ScalarType >::RestrictNegMass ( )
inlineprivate

Definition at line 269 of file PtEtaPhiM4D.h.

◆ RestrictPhi()

template<class ScalarType>
void ROOT::ROOT_MATH_ARCH::PtEtaPhiM4D< ScalarType >::RestrictPhi ( )
inlineprivate

Definition at line 262 of file PtEtaPhiM4D.h.

◆ Rho()

template<class ScalarType>
Scalar ROOT::ROOT_MATH_ARCH::PtEtaPhiM4D< ScalarType >::Rho ( ) const
inline

Definition at line 156 of file PtEtaPhiM4D.h.

◆ Scale()

template<class ScalarType>
void ROOT::ROOT_MATH_ARCH::PtEtaPhiM4D< ScalarType >::Scale ( Scalar a)
inline

Scale coordinate values by a scalar quantity a.

Definition at line 339 of file PtEtaPhiM4D.h.

◆ SetCoordinates() [1/2]

template<class ScalarType>
void ROOT::ROOT_MATH_ARCH::PtEtaPhiM4D< ScalarType >::SetCoordinates ( const Scalar src[])
inline

Set internal data based on an array of 4 Scalar numbers.

Definition at line 94 of file PtEtaPhiM4D.h.

◆ SetCoordinates() [2/2]

template<class ScalarType>
void ROOT::ROOT_MATH_ARCH::PtEtaPhiM4D< ScalarType >::SetCoordinates ( Scalar pt,
Scalar eta,
Scalar phi,
Scalar mass )
inline

Set internal data based on 4 Scalar numbers.

Definition at line 119 of file PtEtaPhiM4D.h.

◆ SetEta()

template<class ScalarType>
void ROOT::ROOT_MATH_ARCH::PtEtaPhiM4D< ScalarType >::SetEta ( Scalar eta)
inline

set eta value

Definition at line 296 of file PtEtaPhiM4D.h.

◆ SetM()

template<class ScalarType>
void ROOT::ROOT_MATH_ARCH::PtEtaPhiM4D< ScalarType >::SetM ( Scalar mass)
inline

set M value

Definition at line 308 of file PtEtaPhiM4D.h.

◆ SetPhi()

template<class ScalarType>
void ROOT::ROOT_MATH_ARCH::PtEtaPhiM4D< ScalarType >::SetPhi ( Scalar phi)
inline

set phi value

Definition at line 300 of file PtEtaPhiM4D.h.

◆ SetPt()

template<class ScalarType>
void ROOT::ROOT_MATH_ARCH::PtEtaPhiM4D< ScalarType >::SetPt ( Scalar pt)
inline

set Pt value

Definition at line 292 of file PtEtaPhiM4D.h.

◆ SetPxPyPzE()

template<class ScalarType>
void ROOT::ROOT_MATH_ARCH::PtEtaPhiM4D< ScalarType >::SetPxPyPzE ( Scalar px,
Scalar py,
Scalar pz,
Scalar e )
inline

set values using cartesian coordinate system

Definition at line 413 of file PtEtaPhiM4D.h.

◆ T()

template<class ScalarType>
Scalar ROOT::ROOT_MATH_ARCH::PtEtaPhiM4D< ScalarType >::T ( ) const
inline

Definition at line 209 of file PtEtaPhiM4D.h.

◆ t()

template<class ScalarType>
Scalar ROOT::ROOT_MATH_ARCH::PtEtaPhiM4D< ScalarType >::t ( ) const
inline

Definition at line 379 of file PtEtaPhiM4D.h.

◆ Theta()

template<class ScalarType>
Scalar ROOT::ROOT_MATH_ARCH::PtEtaPhiM4D< ScalarType >::Theta ( ) const
inline

polar angle

Definition at line 285 of file PtEtaPhiM4D.h.

◆ X()

template<class ScalarType>
Scalar ROOT::ROOT_MATH_ARCH::PtEtaPhiM4D< ScalarType >::X ( ) const
inline

Definition at line 161 of file PtEtaPhiM4D.h.

◆ x()

template<class ScalarType>
Scalar ROOT::ROOT_MATH_ARCH::PtEtaPhiM4D< ScalarType >::x ( ) const
inline

Definition at line 376 of file PtEtaPhiM4D.h.

◆ Y()

template<class ScalarType>
Scalar ROOT::ROOT_MATH_ARCH::PtEtaPhiM4D< ScalarType >::Y ( ) const
inline

Definition at line 163 of file PtEtaPhiM4D.h.

◆ y()

template<class ScalarType>
Scalar ROOT::ROOT_MATH_ARCH::PtEtaPhiM4D< ScalarType >::y ( ) const
inline

Definition at line 377 of file PtEtaPhiM4D.h.

◆ Z()

template<class ScalarType>
Scalar ROOT::ROOT_MATH_ARCH::PtEtaPhiM4D< ScalarType >::Z ( ) const
inline

Definition at line 171 of file PtEtaPhiM4D.h.

◆ z()

template<class ScalarType>
Scalar ROOT::ROOT_MATH_ARCH::PtEtaPhiM4D< ScalarType >::z ( ) const
inline

Definition at line 378 of file PtEtaPhiM4D.h.

Member Data Documentation

◆ fEta

template<class ScalarType>
ScalarType ROOT::ROOT_MATH_ARCH::PtEtaPhiM4D< ScalarType >::fEta
private

Definition at line 397 of file PtEtaPhiM4D.h.

◆ fM

template<class ScalarType>
ScalarType ROOT::ROOT_MATH_ARCH::PtEtaPhiM4D< ScalarType >::fM
private

Definition at line 399 of file PtEtaPhiM4D.h.

◆ fPhi

template<class ScalarType>
ScalarType ROOT::ROOT_MATH_ARCH::PtEtaPhiM4D< ScalarType >::fPhi
private

Definition at line 398 of file PtEtaPhiM4D.h.

◆ fPt

template<class ScalarType>
ScalarType ROOT::ROOT_MATH_ARCH::PtEtaPhiM4D< ScalarType >::fPt
private

Definition at line 396 of file PtEtaPhiM4D.h.


The documentation for this class was generated from the following file:
  • math/experimental/genvectorx/inc/MathX/GenVectorX/PtEtaPhiM4D.h