class ROOT::Math::PtEtaPhiM4D<Double32_t>


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 alwasy be less than P2 to preserve a positive value of E2
Phi is restricted to be in the range [-PI,PI)

@ingroup GenVector

Function Members (Methods)

public:
~PtEtaPhiM4D<Double32_t>()
ROOT::Math::PtEtaPhiM4D<Double32_t>::ScalarE() const
ROOT::Math::PtEtaPhiM4D<Double32_t>::ScalarE2() const
ROOT::Math::PtEtaPhiM4D<Double32_t>::ScalarEt() const
ROOT::Math::PtEtaPhiM4D<Double32_t>::ScalarEt2() const
ROOT::Math::PtEtaPhiM4D<Double32_t>::ScalarEta() const
voidGetCoordinates(ROOT::Math::PtEtaPhiM4D<Double32_t>::Scalar* dest) const
voidGetCoordinates(ROOT::Math::PtEtaPhiM4D<Double32_t>::Scalar& pt, ROOT::Math::PtEtaPhiM4D<Double32_t>::Scalar& eta, ROOT::Math::PtEtaPhiM4D<Double32_t>::Scalar& phi, ROOT::Math::PtEtaPhiM4D<Double32_t>::Scalar& mass) const
ROOT::Math::PtEtaPhiM4D<Double32_t>::ScalarM() const
ROOT::Math::PtEtaPhiM4D<Double32_t>::ScalarM2() const
ROOT::Math::PtEtaPhiM4D<Double32_t>::ScalarMag() const
ROOT::Math::PtEtaPhiM4D<Double32_t>::ScalarMag2() const
ROOT::Math::PtEtaPhiM4D<Double32_t>::ScalarMt() const
ROOT::Math::PtEtaPhiM4D<Double32_t>::ScalarMt2() const
voidNegate()
booloperator!=(const ROOT::Math::PtEtaPhiM4D<Double32_t>& rhs) const
ROOT::Math::PtEtaPhiM4D<Double32_t>&operator=(const ROOT::Math::PtEtaPhiM4D<Double32_t>& v)
booloperator==(const ROOT::Math::PtEtaPhiM4D<Double32_t>& rhs) const
ROOT::Math::PtEtaPhiM4D<Double32_t>::ScalarP() const
ROOT::Math::PtEtaPhiM4D<Double32_t>::ScalarP2() const
ROOT::Math::PtEtaPhiM4D<Double32_t>::ScalarPerp() const
ROOT::Math::PtEtaPhiM4D<Double32_t>::ScalarPerp2() const
ROOT::Math::PtEtaPhiM4D<Double32_t>::ScalarPhi() const
ROOT::Math::PtEtaPhiM4D<Double32_t>::ScalarPt() const
ROOT::Math::PtEtaPhiM4D<Double32_t>::ScalarPt2() const
ROOT::Math::PtEtaPhiM4D<Double32_t>PtEtaPhiM4D<Double32_t>()
ROOT::Math::PtEtaPhiM4D<Double32_t>PtEtaPhiM4D<Double32_t>(const ROOT::Math::PtEtaPhiM4D<Double32_t>& v)
ROOT::Math::PtEtaPhiM4D<Double32_t>PtEtaPhiM4D<Double32_t>(ROOT::Math::PtEtaPhiM4D<Double32_t>::Scalar pt, ROOT::Math::PtEtaPhiM4D<Double32_t>::Scalar eta, ROOT::Math::PtEtaPhiM4D<Double32_t>::Scalar phi, ROOT::Math::PtEtaPhiM4D<Double32_t>::Scalar mass)
ROOT::Math::PtEtaPhiM4D<Double32_t>::ScalarPx() const
ROOT::Math::PtEtaPhiM4D<Double32_t>::ScalarPy() const
ROOT::Math::PtEtaPhiM4D<Double32_t>::ScalarPz() const
ROOT::Math::PtEtaPhiM4D<Double32_t>::ScalarR() const
ROOT::Math::PtEtaPhiM4D<Double32_t>::ScalarRho() const
voidScale(ROOT::Math::PtEtaPhiM4D<Double32_t>::Scalar a)
voidSetCoordinates(const ROOT::Math::PtEtaPhiM4D<Double32_t>::Scalar* src)
voidSetCoordinates(ROOT::Math::PtEtaPhiM4D<Double32_t>::Scalar pt, ROOT::Math::PtEtaPhiM4D<Double32_t>::Scalar eta, ROOT::Math::PtEtaPhiM4D<Double32_t>::Scalar phi, ROOT::Math::PtEtaPhiM4D<Double32_t>::Scalar mass)
voidSetE(ROOT::Math::PtEtaPhiM4D<Double32_t>::Scalar t)
voidSetEta(ROOT::Math::PtEtaPhiM4D<Double32_t>::Scalar eta)
voidSetM(ROOT::Math::PtEtaPhiM4D<Double32_t>::Scalar mass)
voidSetPhi(ROOT::Math::PtEtaPhiM4D<Double32_t>::Scalar phi)
voidSetPt(ROOT::Math::PtEtaPhiM4D<Double32_t>::Scalar pt)
voidSetPx(ROOT::Math::PtEtaPhiM4D<Double32_t>::Scalar px)
voidSetPxPyPzE(ROOT::Math::PtEtaPhiM4D<Double32_t>::Scalar px, ROOT::Math::PtEtaPhiM4D<Double32_t>::Scalar py, ROOT::Math::PtEtaPhiM4D<Double32_t>::Scalar pz, ROOT::Math::PtEtaPhiM4D<Double32_t>::Scalar e)
voidSetPy(ROOT::Math::PtEtaPhiM4D<Double32_t>::Scalar py)
voidSetPz(ROOT::Math::PtEtaPhiM4D<Double32_t>::Scalar pz)
ROOT::Math::PtEtaPhiM4D<Double32_t>::ScalarT() const
ROOT::Math::PtEtaPhiM4D<Double32_t>::Scalart() const
ROOT::Math::PtEtaPhiM4D<Double32_t>::ScalarTheta() const
ROOT::Math::PtEtaPhiM4D<Double32_t>::ScalarX() const
ROOT::Math::PtEtaPhiM4D<Double32_t>::Scalarx() const
ROOT::Math::PtEtaPhiM4D<Double32_t>::ScalarY() const
ROOT::Math::PtEtaPhiM4D<Double32_t>::Scalary() const
ROOT::Math::PtEtaPhiM4D<Double32_t>::ScalarZ() const
ROOT::Math::PtEtaPhiM4D<Double32_t>::Scalarz() const
private:
static doublepi()
voidRestrictNegMass()
voidRestrictPhi()

Data Members

private:
Double32_tfEta
Double32_tfM
Double32_tfPhi
Double32_tfPt

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

RestrictPhi()
void SetCoordinates(const ROOT::Math::PtEtaPhiM4D<Double32_t>::Scalar* src)
Set internal data based on an array of 4 Scalar numbers

void GetCoordinates(ROOT::Math::PtEtaPhiM4D<Double32_t>::Scalar* dest) const
get internal data into an array of 4 Scalar numbers

{ dest[0] = fPt; dest[1] = fEta; dest[2] = fPhi; dest[3] = fM; }
void SetCoordinates(ROOT::Math::PtEtaPhiM4D<Double32_t>::Scalar pt, ROOT::Math::PtEtaPhiM4D<Double32_t>::Scalar eta, ROOT::Math::PtEtaPhiM4D<Double32_t>::Scalar phi, ROOT::Math::PtEtaPhiM4D<Double32_t>::Scalar mass)
Set internal data based on 4 Scalar numbers

GetCoordinates(ROOT::Math::PtEtaPhiM4D<Double32_t>::Scalar& pt, ROOT::Math::PtEtaPhiM4D<Double32_t>::Scalar& eta, ROOT::Math::PtEtaPhiM4D<Double32_t>::Scalar& phi, ROOT::Math::PtEtaPhiM4D<Double32_t>::Scalar& mass) const
get internal data into 4 Scalar numbers

{ pt=fPt; eta=fEta; phi = fPhi; mass = fM; }
Scalar Pt()
 --------- Coordinates and Coordinate-like Scalar properties -------------
 4-D Cylindrical eta coordinate accessors
{ return fPt; }
Scalar Eta()
{ return fEta; }
Scalar Phi()
M() is the invariant mass;
in this coordinate system it can be negagative if set that way.

{ return fPhi; }
Scalar M()
{ return fM; }
Scalar Mag()
{ return M(); }
Scalar Perp()
{ return Pt(); }
Scalar Rho()
{ return Pt(); }
Scalar Px()
 other coordinate representation
{ return fPt*cos(fPhi);}
Scalar X()
{ return Px(); }
Scalar Py()
{ return fPt*sin(fPhi);}
Scalar Y()
{ return Py(); }
Scalar Pz()
Scalar Z()
{ return Pz(); }
Scalar P()
agnitude of momentu

Scalar R()
{ return P(); }
Scalar P2()
squared magnitude of spatial components (momentum squared)

{ Scalar p = P(); return p*p; }
Scalar E2()
energy squared

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

{ return std::sqrt(E2() ); }
Scalar T()
{ return E(); }
Scalar M2()
vector magnitude squared (or mass squared)
In case of negative mass (spacelike particles return negative values)

Scalar Mag2()
{ return M2(); }
Scalar Pt2()
transverse spatial component squared

{ return fPt*fPt;}
Scalar Perp2()
{ return Pt2(); }
Scalar Mt2()
transverse mass squared

{ return M2() + fPt*fPt; }
Scalar Mt()
transverse mass - will be negative if Mt2() is negative

Scalar Et2()
transverse energy squared

Scalar Et()
transverse energy

double pi()
{ return M_PI; }
void RestrictNegMass()
 restrict the value of negative mass to avoid unphysical negative E2 values
 M2 must be less than P2 for the tachionic particles - otherwise use positive values
Scalar Theta()
polar angle

void SetPt(ROOT::Math::PtEtaPhiM4D<Double32_t>::Scalar pt)
 --------- Set Coordinates of this system  ---------------

set Pt value

void SetEta(ROOT::Math::PtEtaPhiM4D<Double32_t>::Scalar eta)
set eta value

void SetPhi(ROOT::Math::PtEtaPhiM4D<Double32_t>::Scalar phi)
set phi value

void SetM(ROOT::Math::PtEtaPhiM4D<Double32_t>::Scalar mass)
set M value

void SetPxPyPzE(ROOT::Math::PtEtaPhiM4D<Double32_t>::Scalar px, ROOT::Math::PtEtaPhiM4D<Double32_t>::Scalar py, ROOT::Math::PtEtaPhiM4D<Double32_t>::Scalar pz, ROOT::Math::PtEtaPhiM4D<Double32_t>::Scalar e)
set values using cartesian coordinate system

void Negate( )
 ------ Manipulations -------------

negate the 4-vector -- Note that the mass becomes negative

{ fPhi = - fPhi; fEta = - fEta; fM = - fM; }
void Scale(ROOT::Math::PtEtaPhiM4D<Double32_t>::Scalar a)
Scale coordinate values by a scalar quantity a

Scalar x()
 ============= Compatibility secition ==================
 The following make this coordinate system look enough like a CLHEP
 vector that an assignment member template can work with either
{ return X(); }
Scalar y()
{ return Y(); }
Scalar z()
{ return Z(); }
Scalar t()
{ return E(); }
void SetPx(ROOT::Math::PtEtaPhiM4D<Double32_t>::Scalar px)
 ====== Set member functions for coordinates in other systems =======
void SetPy(ROOT::Math::PtEtaPhiM4D<Double32_t>::Scalar py)
void SetPz(ROOT::Math::PtEtaPhiM4D<Double32_t>::Scalar pz)
void SetE(ROOT::Math::PtEtaPhiM4D<Double32_t>::Scalar t)

Last update: root/mathcore:$Id: PtEtaPhiM4D.h 21503 2007-12-19 17:34:54Z moneta $
Copyright (c) 2005 , LCG ROOT FNAL MathLib Team *

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.