class ROOT::Math::PtEtaPhiM4D<double>


    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

This class is also known as (typedefs to this class)

ROOT::Math::LorentzVector<ROOT::Math::PtEtaPhiM4D<double> >::CoordinateType

Function Members (Methods)

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

Data Members

private:
doublefEta
doublefM
doublefPhi
doublefPt

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

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

void GetCoordinates(ROOT::Math::PtEtaPhiM4D<double>::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<double>::Scalar pt, ROOT::Math::PtEtaPhiM4D<double>::Scalar eta, ROOT::Math::PtEtaPhiM4D<double>::Scalar phi, ROOT::Math::PtEtaPhiM4D<double>::Scalar mass)
      Set internal data based on 4 Scalar numbers

GetCoordinates(ROOT::Math::PtEtaPhiM4D<double>::Scalar& pt, ROOT::Math::PtEtaPhiM4D<double>::Scalar& eta, ROOT::Math::PtEtaPhiM4D<double>::Scalar& phi, ROOT::Math::PtEtaPhiM4D<double>::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()
       magnitude of momentum

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

Scalar 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<double>::Scalar pt)
 --------- Set Coordinates of this system  ---------------

      set Pt value

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

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

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

void SetPxPyPzE(ROOT::Math::PtEtaPhiM4D<double>::Scalar px, ROOT::Math::PtEtaPhiM4D<double>::Scalar py, ROOT::Math::PtEtaPhiM4D<double>::Scalar pz, ROOT::Math::PtEtaPhiM4D<double>::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<double>::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<double>::Scalar px)
 ====== Set member functions for coordinates in other systems =======
void SetPy(ROOT::Math::PtEtaPhiM4D<double>::Scalar py)
void SetPz(ROOT::Math::PtEtaPhiM4D<double>::Scalar pz)
void SetE(ROOT::Math::PtEtaPhiM4D<double>::Scalar energy)

Last change: root/mathcore:$Id: PtEtaPhiM4D.h 23735 2008-05-07 21:18:33Z moneta $
Last generated: 2008-06-25 08:30
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.