ROOT   Reference Guide
Searching...
No Matches
ROOT::Math::PtEtaPhiM4D< ScalarType > Class Template Reference
template<class ScalarType>
class ROOT::Math::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)

Overview of the physics vector library

Definition at line 54 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 >
constexpr PtEtaPhiM4D (const CoordSystem &c)
Generic constructor from any 4D coordinate system implementing Pt(), Eta(), Phi() and M()

PtEtaPhiM4D (const PtEtaPhiM4D &v)
copy constructor

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()

PtEtaPhiM4Doperator= (const PtEtaPhiM4D &v)
assignment operator

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

## Static Public Attributes

static constexpr unsigned int Dimension = 4U

## 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 <Math/GenVector/PtEtaPhiM4D.h>

## ◆ Scalar

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

Definition at line 58 of file PtEtaPhiM4D.h.

## ◆ PtEtaPhiM4D() [1/4]

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

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

Definition at line 66 of file PtEtaPhiM4D.h.

## ◆ PtEtaPhiM4D() [2/4]

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

Constructor from pt, eta, phi, mass values.

Definition at line 71 of file PtEtaPhiM4D.h.

## ◆ PtEtaPhiM4D() [3/4]

template<class ScalarType >
template<class CoordSystem >
 constexpr ROOT::Math::PtEtaPhiM4D< ScalarType >::PtEtaPhiM4D ( const CoordSystem & c )
inlineexplicitconstexpr

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

Definition at line 82 of file PtEtaPhiM4D.h.

## ◆ PtEtaPhiM4D() [4/4]

template<class ScalarType >
 ROOT::Math::PtEtaPhiM4D< ScalarType >::PtEtaPhiM4D ( const PtEtaPhiM4D< ScalarType > & v )
inline

copy constructor

Definition at line 91 of file PtEtaPhiM4D.h.

## ◆ E()

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

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

Definition at line 198 of file PtEtaPhiM4D.h.

## ◆ E2()

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

energy squared

Definition at line 189 of file PtEtaPhiM4D.h.

## ◆ Et()

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

transverse energy

Definition at line 250 of file PtEtaPhiM4D.h.

## ◆ Et2()

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

transverse energy squared

Definition at line 241 of file PtEtaPhiM4D.h.

## ◆ Eta()

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

Definition at line 142 of file PtEtaPhiM4D.h.

## ◆ GetCoordinates() [1/2]

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

get internal data into 4 Scalar numbers

Definition at line 134 of file PtEtaPhiM4D.h.

## ◆ GetCoordinates() [2/2]

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

get internal data into an array of 4 Scalar numbers

Definition at line 118 of file PtEtaPhiM4D.h.

## ◆ M()

template<class ScalarType >
 Scalar ROOT::Math::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 148 of file PtEtaPhiM4D.h.

## ◆ M2()

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

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

Definition at line 206 of file PtEtaPhiM4D.h.

## ◆ Mag()

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

Definition at line 149 of file PtEtaPhiM4D.h.

## ◆ Mag2()

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

Definition at line 209 of file PtEtaPhiM4D.h.

## ◆ Mt()

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

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

Definition at line 225 of file PtEtaPhiM4D.h.

## ◆ Mt2()

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

transverse mass squared

Definition at line 220 of file PtEtaPhiM4D.h.

## ◆ Negate()

template<class ScalarType >
 void ROOT::Math::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 318 of file PtEtaPhiM4D.h.

## ◆ operator!=()

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

Definition at line 355 of file PtEtaPhiM4D.h.

## ◆ operator=() [1/2]

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

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

Definition at line 340 of file PtEtaPhiM4D.h.

## ◆ operator=() [2/2]

template<class ScalarType >
 PtEtaPhiM4D & ROOT::Math::PtEtaPhiM4D< ScalarType >::operator= ( const PtEtaPhiM4D< ScalarType > & v )
inline

assignment operator

Definition at line 97 of file PtEtaPhiM4D.h.

## ◆ operator==()

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

Exact equality.

Definition at line 351 of file PtEtaPhiM4D.h.

## ◆ P()

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

magnitude of momentum

Definition at line 169 of file PtEtaPhiM4D.h.

## ◆ P2()

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

squared magnitude of spatial components (momentum squared)

Definition at line 180 of file PtEtaPhiM4D.h.

## ◆ Perp()

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

Definition at line 151 of file PtEtaPhiM4D.h.

## ◆ Perp2()

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

Definition at line 215 of file PtEtaPhiM4D.h.

## ◆ Phi()

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

Definition at line 143 of file PtEtaPhiM4D.h.

## ◆ pi()

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

Definition at line 253 of file PtEtaPhiM4D.h.

## ◆ Pt()

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

Definition at line 141 of file PtEtaPhiM4D.h.

## ◆ Pt2()

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

transverse spatial component squared

Definition at line 214 of file PtEtaPhiM4D.h.

## ◆ Px()

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

Definition at line 156 of file PtEtaPhiM4D.h.

## ◆ Py()

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

Definition at line 158 of file PtEtaPhiM4D.h.

## ◆ Pz()

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

Definition at line 160 of file PtEtaPhiM4D.h.

## ◆ R()

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

Definition at line 175 of file PtEtaPhiM4D.h.

## ◆ RestrictNegMass()

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

Definition at line 260 of file PtEtaPhiM4D.h.

## ◆ RestrictPhi()

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

Definition at line 254 of file PtEtaPhiM4D.h.

## ◆ Rho()

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

Definition at line 152 of file PtEtaPhiM4D.h.

## ◆ Scale()

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

Scale coordinate values by a scalar quantity a.

Definition at line 327 of file PtEtaPhiM4D.h.

## ◆ SetCoordinates() [1/2]

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

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

Definition at line 109 of file PtEtaPhiM4D.h.

## ◆ SetCoordinates() [2/2]

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

Set internal data based on 4 Scalar numbers.

Definition at line 124 of file PtEtaPhiM4D.h.

## ◆ SetEta()

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

set eta value

Definition at line 287 of file PtEtaPhiM4D.h.

## ◆ SetM()

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

set M value

Definition at line 300 of file PtEtaPhiM4D.h.

## ◆ SetPhi()

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

set phi value

Definition at line 293 of file PtEtaPhiM4D.h.

## ◆ SetPt()

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

set Pt value

Definition at line 281 of file PtEtaPhiM4D.h.

## ◆ SetPxPyPzE()

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

set values using cartesian coordinate system

Definition at line 406 of file PtEtaPhiM4D.h.

## ◆ T()

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

Definition at line 200 of file PtEtaPhiM4D.h.

## ◆ t()

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

Definition at line 364 of file PtEtaPhiM4D.h.

## ◆ Theta()

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

polar angle

Definition at line 274 of file PtEtaPhiM4D.h.

## ◆ X()

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

Definition at line 157 of file PtEtaPhiM4D.h.

## ◆ x()

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

Definition at line 361 of file PtEtaPhiM4D.h.

## ◆ Y()

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

Definition at line 159 of file PtEtaPhiM4D.h.

## ◆ y()

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

Definition at line 362 of file PtEtaPhiM4D.h.

## ◆ Z()

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

Definition at line 164 of file PtEtaPhiM4D.h.

## ◆ z()

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

Definition at line 363 of file PtEtaPhiM4D.h.

## ◆ Dimension

template<class ScalarType >
 constexpr unsigned int ROOT::Math::PtEtaPhiM4D< ScalarType >::Dimension = 4U
staticconstexpr

Definition at line 59 of file PtEtaPhiM4D.h.

## ◆ fEta

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

Definition at line 384 of file PtEtaPhiM4D.h.

## ◆ fM

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

Definition at line 386 of file PtEtaPhiM4D.h.

## ◆ fPhi

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

Definition at line 385 of file PtEtaPhiM4D.h.

## ◆ fPt

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

Definition at line 383 of file PtEtaPhiM4D.h.

• math/genvector/inc/Math/GenVector/PtEtaPhiM4D.h