ROOT::Math::PxPyPzM4D< ScalarType > Class Template Reference
[GenVector]

Class describing a 4D coordinate system or momentum-energy vectors stored as (Px, Py, Pz, M). More...

#include <PxPyPzM4D.h>

List of all members.

Public Types

typedef ScalarType Scalar

Public Member Functions

 PxPyPzM4D ()
 Default constructor with x=y=z=m=0.
 PxPyPzM4D (Scalar px, Scalar py, Scalar pz, Scalar m)
 Constructor from x, y , z , m values.
template<class CoordSystem >
 PxPyPzM4D (const CoordSystem &v)
 construct from any 4D coordinate system class implementing X(), Y(), X() and M()
 PxPyPzM4D (const PxPyPzM4D &v)
 copy constructor
PxPyPzM4Doperator= (const PxPyPzM4D &v)
 assignment operator
template<class AnyCoordSystem >
PxPyPzM4Doperator= (const AnyCoordSystem &v)
 construct from any 4D coordinate system class implementing X(), Y(), X() and M()
void SetCoordinates (const Scalar src[])
 Set internal data based on an array of 4 Scalar numbers.
void GetCoordinates (Scalar dest[]) const
 get internal data into an array of 4 Scalar numbers
void SetCoordinates (Scalar px, Scalar py, Scalar pz, Scalar m)
 Set internal data based on 4 Scalar numbers.
void GetCoordinates (Scalar &px, Scalar &py, Scalar &pz, Scalar &m) const
 get internal data into 4 Scalar numbers
Scalar Px () const
Scalar Py () const
Scalar Pz () const
Scalar M () const
Scalar X () const
Scalar Y () const
Scalar Z () const
Scalar E () const
 Energy.
Scalar T () const
Scalar P2 () const
 squared magnitude of spatial components
Scalar P () const
 magnitude of spatial components (magnitude of 3-momentum)
Scalar R () const
Scalar M2 () const
 vector magnitude squared (or mass squared) In case of negative mass (spacelike particles return negative values)
Scalar Mag2 () const
Scalar Mag () const
Scalar E2 () const
 energy squared
Scalar Pt2 () const
 transverse spatial component squared
Scalar Perp2 () const
Scalar Pt () const
 Transverse spatial component (P_perp or rho).
Scalar Perp () const
Scalar Rho () const
Scalar Mt2 () const
 transverse mass squared
Scalar Mt () const
 transverse mass
Scalar Et2 () const
 transverse energy squared
Scalar Et () const
 transverse energy
Scalar Phi () const
 azimuthal angle
Scalar Theta () const
 polar angle
Scalar Eta () const
 pseudorapidity
void SetPx (Scalar px)
 set X value
void SetPy (Scalar py)
 set Y value
void SetPz (Scalar pz)
 set Z value
void SetM (Scalar m)
 set T value
void SetPxPyPzE (Scalar px, Scalar py, Scalar pz, Scalar e)
 set all values
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.
void Scale (const Scalar &a)
 scale coordinate values by a scalar quantity a
bool operator== (const PxPyPzM4D &rhs) const
 Exact equality.
bool operator!= (const PxPyPzM4D &rhs) const
Scalar x () const
Scalar y () const
Scalar z () const
Scalar t () const


Detailed Description

template<class ScalarType = double>
class ROOT::Math::PxPyPzM4D< ScalarType >

Class describing a 4D coordinate system or momentum-energy vectors stored as (Px, Py, Pz, M).

This system is useful to describe ultra-relativistic particles (like electrons at LHC) to avoid numerical errors evaluating the mass when E >>> m 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

Definition at line 51 of file GenVector/PxPyPzM4D.h.


Member Typedef Documentation

template<class ScalarType = double>
typedef ScalarType ROOT::Math::PxPyPzM4D< ScalarType >::Scalar

Definition at line 55 of file GenVector/PxPyPzM4D.h.


Constructor & Destructor Documentation

template<class ScalarType = double>
ROOT::Math::PxPyPzM4D< ScalarType >::PxPyPzM4D (  )  [inline]

Default constructor with x=y=z=m=0.

Definition at line 62 of file GenVector/PxPyPzM4D.h.

template<class ScalarType = double>
ROOT::Math::PxPyPzM4D< ScalarType >::PxPyPzM4D ( Scalar  px,
Scalar  py,
Scalar  pz,
Scalar  m 
) [inline]

Constructor from x, y , z , m values.

Definition at line 68 of file GenVector/PxPyPzM4D.h.

template<class ScalarType = double>
template<class CoordSystem >
ROOT::Math::PxPyPzM4D< ScalarType >::PxPyPzM4D ( const CoordSystem &  v  )  [inline, explicit]

construct from any 4D coordinate system class implementing X(), Y(), X() and M()

Definition at line 79 of file GenVector/PxPyPzM4D.h.

template<class ScalarType = double>
ROOT::Math::PxPyPzM4D< ScalarType >::PxPyPzM4D ( const PxPyPzM4D< ScalarType > &  v  )  [inline]

copy constructor

Definition at line 88 of file GenVector/PxPyPzM4D.h.


Member Function Documentation

template<class ScalarType = double>
Scalar ROOT::Math::PxPyPzM4D< ScalarType >::E (  )  const [inline]

template<class ScalarType = double>
Scalar ROOT::Math::PxPyPzM4D< ScalarType >::E2 (  )  const [inline]

template<class ScalarType = double>
Scalar ROOT::Math::PxPyPzM4D< ScalarType >::Et (  )  const [inline]

transverse energy

Definition at line 240 of file GenVector/PxPyPzM4D.h.

References ROOT::Math::PxPyPzM4D< ScalarType >::Et2(), and ROOT::Math::sqrt().

template<class ScalarType = double>
Scalar ROOT::Math::PxPyPzM4D< ScalarType >::Et2 (  )  const [inline]

template<class ScalarType = double>
Scalar ROOT::Math::PxPyPzM4D< ScalarType >::Eta (  )  const [inline]

pseudorapidity

Definition at line 262 of file GenVector/PxPyPzM4D.h.

References ROOT::Math::Impl::Eta_FromRhoZ(), and ROOT::Math::PxPyPzM4D< ScalarType >::Pt().

template<class ScalarType = double>
void ROOT::Math::PxPyPzM4D< ScalarType >::GetCoordinates ( Scalar px,
Scalar py,
Scalar pz,
Scalar m 
) const [inline]

get internal data into 4 Scalar numbers

Definition at line 141 of file GenVector/PxPyPzM4D.h.

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

get internal data into an array of 4 Scalar numbers

Definition at line 127 of file GenVector/PxPyPzM4D.h.

template<class ScalarType = double>
Scalar ROOT::Math::PxPyPzM4D< ScalarType >::M (  )  const [inline]

Definition at line 151 of file GenVector/PxPyPzM4D.h.

Referenced by ROOT::Math::PxPyPzM4D< ScalarType >::Mag().

template<class ScalarType = double>
Scalar ROOT::Math::PxPyPzM4D< ScalarType >::M2 (  )  const [inline]

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

Definition at line 180 of file GenVector/PxPyPzM4D.h.

Referenced by ROOT::Math::PxPyPzM4D< ScalarType >::E2(), and ROOT::Math::PxPyPzM4D< ScalarType >::Mag2().

template<class ScalarType = double>
Scalar ROOT::Math::PxPyPzM4D< ScalarType >::Mag (  )  const [inline]

Definition at line 185 of file GenVector/PxPyPzM4D.h.

References ROOT::Math::PxPyPzM4D< ScalarType >::M().

template<class ScalarType = double>
Scalar ROOT::Math::PxPyPzM4D< ScalarType >::Mag2 (  )  const [inline]

Definition at line 183 of file GenVector/PxPyPzM4D.h.

References ROOT::Math::PxPyPzM4D< ScalarType >::M2().

template<class ScalarType = double>
Scalar ROOT::Math::PxPyPzM4D< ScalarType >::Mt (  )  const [inline]

template<class ScalarType = double>
Scalar ROOT::Math::PxPyPzM4D< ScalarType >::Mt2 (  )  const [inline]

transverse mass squared

Definition at line 212 of file GenVector/PxPyPzM4D.h.

References ROOT::Math::PxPyPzM4D< ScalarType >::E2().

Referenced by ROOT::Math::PxPyPzM4D< ScalarType >::Mt().

template<class ScalarType = double>
void ROOT::Math::PxPyPzM4D< 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 307 of file GenVector/PxPyPzM4D.h.

References ROOT::Math::Throw().

template<class ScalarType = double>
bool ROOT::Math::PxPyPzM4D< ScalarType >::operator!= ( const PxPyPzM4D< ScalarType > &  rhs  )  const [inline]

template<class ScalarType = double>
template<class AnyCoordSystem >
PxPyPzM4D& ROOT::Math::PxPyPzM4D< ScalarType >::operator= ( const AnyCoordSystem &  v  )  [inline]

construct from any 4D coordinate system class implementing X(), Y(), X() and M()

Definition at line 108 of file GenVector/PxPyPzM4D.h.

template<class ScalarType = double>
PxPyPzM4D& ROOT::Math::PxPyPzM4D< ScalarType >::operator= ( const PxPyPzM4D< ScalarType > &  v  )  [inline]

assignment operator

Definition at line 94 of file GenVector/PxPyPzM4D.h.

template<class ScalarType = double>
bool ROOT::Math::PxPyPzM4D< ScalarType >::operator== ( const PxPyPzM4D< ScalarType > &  rhs  )  const [inline]

Exact equality.

Definition at line 328 of file GenVector/PxPyPzM4D.h.

Referenced by ROOT::Math::PxPyPzM4D< ScalarType >::operator!=().

template<class ScalarType = double>
Scalar ROOT::Math::PxPyPzM4D< ScalarType >::P (  )  const [inline]

magnitude of spatial components (magnitude of 3-momentum)

Definition at line 173 of file GenVector/PxPyPzM4D.h.

References ROOT::Math::PxPyPzM4D< ScalarType >::P2(), and ROOT::Math::sqrt().

Referenced by ROOT::Math::PxPyPzM4D< ScalarType >::R().

template<class ScalarType = double>
Scalar ROOT::Math::PxPyPzM4D< ScalarType >::P2 (  )  const [inline]

squared magnitude of spatial components

Definition at line 168 of file GenVector/PxPyPzM4D.h.

Referenced by ROOT::Math::PxPyPzM4D< ScalarType >::E2(), and ROOT::Math::PxPyPzM4D< ScalarType >::P().

template<class ScalarType = double>
Scalar ROOT::Math::PxPyPzM4D< ScalarType >::Perp (  )  const [inline]

Definition at line 206 of file GenVector/PxPyPzM4D.h.

References ROOT::Math::PxPyPzM4D< ScalarType >::Pt().

template<class ScalarType = double>
Scalar ROOT::Math::PxPyPzM4D< ScalarType >::Perp2 (  )  const [inline]

template<class ScalarType = double>
Scalar ROOT::Math::PxPyPzM4D< ScalarType >::Phi (  )  const [inline]

azimuthal angle

Definition at line 248 of file GenVector/PxPyPzM4D.h.

References atan2().

template<class ScalarType = double>
Scalar ROOT::Math::PxPyPzM4D< ScalarType >::Pt (  )  const [inline]

template<class ScalarType = double>
Scalar ROOT::Math::PxPyPzM4D< ScalarType >::Pt2 (  )  const [inline]

transverse spatial component squared

Definition at line 199 of file GenVector/PxPyPzM4D.h.

Referenced by ROOT::Math::PxPyPzM4D< ScalarType >::Et2(), and ROOT::Math::PxPyPzM4D< ScalarType >::Perp2().

template<class ScalarType = double>
Scalar ROOT::Math::PxPyPzM4D< ScalarType >::Px (  )  const [inline]

Definition at line 148 of file GenVector/PxPyPzM4D.h.

template<class ScalarType = double>
Scalar ROOT::Math::PxPyPzM4D< ScalarType >::Py (  )  const [inline]

Definition at line 149 of file GenVector/PxPyPzM4D.h.

template<class ScalarType = double>
Scalar ROOT::Math::PxPyPzM4D< ScalarType >::Pz (  )  const [inline]

Definition at line 150 of file GenVector/PxPyPzM4D.h.

template<class ScalarType = double>
Scalar ROOT::Math::PxPyPzM4D< ScalarType >::R (  )  const [inline]

Definition at line 174 of file GenVector/PxPyPzM4D.h.

References ROOT::Math::PxPyPzM4D< ScalarType >::P().

template<class ScalarType = double>
Scalar ROOT::Math::PxPyPzM4D< ScalarType >::Rho (  )  const [inline]

Definition at line 207 of file GenVector/PxPyPzM4D.h.

References ROOT::Math::PxPyPzM4D< ScalarType >::Pt().

template<class ScalarType = double>
void ROOT::Math::PxPyPzM4D< ScalarType >::Scale ( const Scalar a  )  [inline]

scale coordinate values by a scalar quantity a

Definition at line 317 of file GenVector/PxPyPzM4D.h.

template<class ScalarType = double>
void ROOT::Math::PxPyPzM4D< ScalarType >::SetCoordinates ( Scalar  px,
Scalar  py,
Scalar  pz,
Scalar  m 
) [inline]

Set internal data based on 4 Scalar numbers.

Definition at line 133 of file GenVector/PxPyPzM4D.h.

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

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

Definition at line 119 of file GenVector/PxPyPzM4D.h.

template<class ScalarType = double>
void ROOT::Math::PxPyPzM4D< ScalarType >::SetM ( Scalar  m  )  [inline]

set T value

Definition at line 290 of file GenVector/PxPyPzM4D.h.

template<class ScalarType = double>
void ROOT::Math::PxPyPzM4D< ScalarType >::SetPx ( Scalar  px  )  [inline]

set X value

Definition at line 272 of file GenVector/PxPyPzM4D.h.

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

set all values

Definition at line 402 of file GenVector/PxPyPzM4D.h.

template<class ScalarType = double>
void ROOT::Math::PxPyPzM4D< ScalarType >::SetPy ( Scalar  py  )  [inline]

set Y value

Definition at line 278 of file GenVector/PxPyPzM4D.h.

template<class ScalarType = double>
void ROOT::Math::PxPyPzM4D< ScalarType >::SetPz ( Scalar  pz  )  [inline]

set Z value

Definition at line 284 of file GenVector/PxPyPzM4D.h.

template<class ScalarType = double>
Scalar ROOT::Math::PxPyPzM4D< ScalarType >::t (  )  const [inline]

Definition at line 341 of file GenVector/PxPyPzM4D.h.

References ROOT::Math::PxPyPzM4D< ScalarType >::E().

template<class ScalarType = double>
Scalar ROOT::Math::PxPyPzM4D< ScalarType >::T (  )  const [inline]

Definition at line 163 of file GenVector/PxPyPzM4D.h.

References ROOT::Math::PxPyPzM4D< ScalarType >::E().

template<class ScalarType = double>
Scalar ROOT::Math::PxPyPzM4D< ScalarType >::Theta (  )  const [inline]

polar angle

Definition at line 255 of file GenVector/PxPyPzM4D.h.

References atan2(), and ROOT::Math::PxPyPzM4D< ScalarType >::Pt().

template<class ScalarType = double>
Scalar ROOT::Math::PxPyPzM4D< ScalarType >::x (  )  const [inline]

Definition at line 338 of file GenVector/PxPyPzM4D.h.

References ROOT::Math::PxPyPzM4D< ScalarType >::X().

template<class ScalarType = double>
Scalar ROOT::Math::PxPyPzM4D< ScalarType >::X (  )  const [inline]

Definition at line 153 of file GenVector/PxPyPzM4D.h.

Referenced by ROOT::Math::PxPyPzM4D< ScalarType >::x().

template<class ScalarType = double>
Scalar ROOT::Math::PxPyPzM4D< ScalarType >::y (  )  const [inline]

Definition at line 339 of file GenVector/PxPyPzM4D.h.

References ROOT::Math::PxPyPzM4D< ScalarType >::Y().

template<class ScalarType = double>
Scalar ROOT::Math::PxPyPzM4D< ScalarType >::Y (  )  const [inline]

Definition at line 154 of file GenVector/PxPyPzM4D.h.

Referenced by ROOT::Math::PxPyPzM4D< ScalarType >::y().

template<class ScalarType = double>
Scalar ROOT::Math::PxPyPzM4D< ScalarType >::z (  )  const [inline]

Definition at line 340 of file GenVector/PxPyPzM4D.h.

References ROOT::Math::PxPyPzM4D< ScalarType >::Z().

template<class ScalarType = double>
Scalar ROOT::Math::PxPyPzM4D< ScalarType >::Z (  )  const [inline]

Definition at line 155 of file GenVector/PxPyPzM4D.h.

Referenced by ROOT::Math::PxPyPzM4D< ScalarType >::z().


The documentation for this class was generated from the following file:

Generated on Thu Dec 16 21:09:55 2010 for ROOT Mathematical Libraries by  doxygen 1.5.9