ROOT::Math::LorentzVector< CoordSystem > Class Template Reference
[GenVector]

Class describing a generic LorentzVector in the 4D space-time, using the specified coordinate system for the spatial vector part. More...

#include <LorentzVector.h>

Collaboration diagram for ROOT::Math::LorentzVector< CoordSystem >:

Collaboration graph
[legend]

List of all members.

Public Types

typedef CoordSystem::Scalar Scalar
typedef CoordSystem CoordinateType
typedef DisplacementVector3D
< Cartesian3D< Scalar > > 
BetaVector

Public Member Functions

 LorentzVector ()
 default constructor of an empty vector (Px = Py = Pz = E = 0 )
 LorentzVector (const Scalar &a, const Scalar &b, const Scalar &c, const Scalar &d)
 generic constructors from four scalar values.
template<class Coords >
 LorentzVector (const LorentzVector< Coords > &v)
 constructor from a LorentzVector expressed in different coordinates, or using a different Scalar type
template<class ForeignLorentzVector >
 LorentzVector (const ForeignLorentzVector &v)
 Construct from a foreign 4D vector type, for example, HepLorentzVector Precondition: v must implement methods x(), y(), z(), and t().
template<class OtherCoords >
LorentzVectoroperator= (const LorentzVector< OtherCoords > &v)
 Assignment operator from a lorentz vector of arbitrary type.
template<class ForeignLorentzVector >
LorentzVectoroperator= (const ForeignLorentzVector &v)
 assignment from any other Lorentz vector implementing x(), y(), z() and t()
const CoordSystem & Coordinates () const
 Retrieve a const reference to the coordinates object.
LorentzVector< CoordSystem > & SetCoordinates (const Scalar src[])
 Set internal data based on an array of 4 Scalar numbers.
LorentzVector< CoordSystem > & SetCoordinates (Scalar a, Scalar b, Scalar c, Scalar d)
 Set internal data based on 4 Scalar numbers.
template<class IT >
LorentzVector< CoordSystem > & SetCoordinates (IT begin, IT end)
 Set internal data based on 4 Scalars at *begin to *end.
void GetCoordinates (Scalar &a, Scalar &b, Scalar &c, Scalar &d) const
 get internal data into 4 Scalar numbers
void GetCoordinates (Scalar dest[]) const
 get internal data into an array of 4 Scalar numbers
template<class IT >
void GetCoordinates (IT begin, IT end) const
 get internal data into 4 Scalars at *begin to *end
template<class IT >
void GetCoordinates (IT begin) const
 get internal data into 4 Scalars at *begin
LorentzVector< CoordSystem > & SetXYZT (Scalar xx, Scalar yy, Scalar zz, Scalar tt)
 set the values of the vector from the cartesian components (x,y,z,t) (if the vector is held in another coordinates, like (Pt,eta,phi,m) then (x, y, z, t) are converted to that form)
LorentzVector< CoordSystem > & SetPxPyPzE (Scalar xx, Scalar yy, Scalar zz, Scalar ee)
bool operator== (const LorentzVector &rhs) const
 Exact equality.
bool operator!= (const LorentzVector &rhs) const
Scalar Px () const
 spatial X component
Scalar X () const
Scalar Py () const
 spatial Y component
Scalar Y () const
Scalar Pz () const
 spatial Z component
Scalar Z () const
Scalar E () const
 return 4-th component (time, or energy for a 4-momentum vector)
Scalar T () const
Scalar M2 () const
 return magnitude (mass) squared M2 = T**2 - X**2 - Y**2 - Z**2 (we use -,-,-,+ metric)
Scalar M () const
 return magnitude (mass) using the (-,-,-,+) metric.
Scalar R () const
 return the spatial (3D) magnitude ( sqrt(X**2 + Y**2 + Z**2) )
Scalar P () const
Scalar P2 () const
 return the square of the spatial (3D) magnitude ( X**2 + Y**2 + Z**2 )
Scalar Perp2 () const
 return the square of the transverse spatial component ( X**2 + Y**2 )
Scalar Pt () const
 return the transverse spatial component sqrt ( X**2 + Y**2 )
Scalar Rho () const
Scalar Mt2 () const
 return the transverse mass squared

\[ m_t^2 = E^2 - p{_z}^2 \]


Scalar Mt () const
 return the transverse mass

\[ \sqrt{ m_t^2 = E^2 - p{_z}^2} X sign(E^ - p{_z}^2) \]


Scalar Et2 () const
 return the transverse energy squared

\[ e_t = \frac{E^2 p_{\perp}^2 }{ |p|^2 } \]


Scalar Et () const
 return the transverse energy

\[ e_t = \sqrt{ \frac{E^2 p_{\perp}^2 }{ |p|^2 } } X sign(E) \]


Scalar Phi () const
 azimuthal Angle
Scalar Theta () const
 polar Angle
Scalar Eta () const
 pseudorapidity

\[ \eta = - \ln { \tan { \frac { \theta} {2} } } \]


::ROOT::Math::DisplacementVector3D
< Cartesian3D< Scalar > > 
Vect () const
 get the spatial components of the Vector in a DisplacementVector based on Cartesian Coordinates
template<class OtherLorentzVector >
Scalar Dot (const OtherLorentzVector &q) const
 scalar (Dot) product of two LorentzVector vectors (metric is -,-,-,+) Enable the product using any other LorentzVector implementing the x(), y() , y() and t() member functions
template<class OtherLorentzVector >
LorentzVectoroperator+= (const OtherLorentzVector &q)
 Self addition with another Vector ( v+= q ) Enable the addition with any other LorentzVector.
template<class OtherLorentzVector >
LorentzVectoroperator-= (const OtherLorentzVector &q)
 Self subtraction of another Vector from this ( v-= q ) Enable the addition with any other LorentzVector.
template<class OtherLorentzVector >
LorentzVector operator+ (const OtherLorentzVector &v2) const
 addition of two LorentzVectors (v3 = v1 + v2) Enable the addition with any other LorentzVector
template<class OtherLorentzVector >
LorentzVector operator- (const OtherLorentzVector &v2) const
 subtraction of two LorentzVectors (v3 = v1 - v2) Enable the subtraction of any other LorentzVector
LorentzVectoroperator*= (Scalar a)
 multiplication by a scalar quantity v *= a
LorentzVectoroperator/= (Scalar a)
 division by a scalar quantity v /= a
LorentzVector operator* (const Scalar &a) const
 product of a LorentzVector by a scalar quantity
LorentzVector< CoordSystem > operator/ (const Scalar &a) const
 Divide a LorentzVector by a scalar quantity.
LorentzVector operator- () const
 Negative of a LorentzVector (q = - v ).
LorentzVector operator+ () const
Scalar Rapidity () const
 Rapidity relative to the Z axis: .5 log [(E+Pz)/(E-Pz)].
Scalar ColinearRapidity () const
 Rapidity in the direction of travel: atanh (|P|/E)=.5 log[(E+P)/(E-P)].
bool isTimelike () const
 Determine if momentum-energy can represent a physical massive particle.
bool isLightlike (Scalar tolerance=100 *std::numeric_limits< Scalar >::epsilon()) const
 Determine if momentum-energy can represent a massless particle.
bool isSpacelike () const
 Determine if momentum-energy is spacelike, and represents a tachyon.
BetaVector BoostToCM () const
 The beta vector for the boost that would bring this vector into its center of mass frame (zero momentum).
template<class Other4Vector >
BetaVector BoostToCM (const Other4Vector &v) const
 The beta vector for the boost that would bring this vector into its center of mass frame (zero momentum).
Scalar Beta () const
 Return beta scalar value.
Scalar Gamma () const
 Return Gamma scalar value.
Scalar x () const
Scalar y () const
Scalar z () const
Scalar t () const
Scalar px () const
Scalar py () const
Scalar pz () const
Scalar e () const
Scalar r () const
Scalar theta () const
Scalar phi () const
Scalar rho () const
Scalar eta () const
Scalar pt () const
Scalar perp2 () const
Scalar mag2 () const
Scalar mag () const
Scalar mt () const
Scalar mt2 () const
Scalar energy () const
Scalar mass () const
Scalar mass2 () const
LorentzVector< CoordSystem > & SetE (Scalar a)
 Methods setting a Single-component Work only if the component is one of which the vector is represented.
LorentzVector< CoordSystem > & SetEta (Scalar a)
LorentzVector< CoordSystem > & SetM (Scalar a)
LorentzVector< CoordSystem > & SetPhi (Scalar a)
LorentzVector< CoordSystem > & SetPt (Scalar a)
LorentzVector< CoordSystem > & SetPx (Scalar a)
LorentzVector< CoordSystem > & SetPy (Scalar a)
LorentzVector< CoordSystem > & SetPz (Scalar a)


Detailed Description

template<class CoordSystem>
class ROOT::Math::LorentzVector< CoordSystem >

Class describing a generic LorentzVector in the 4D space-time, using the specified coordinate system for the spatial vector part.

The metric used for the LorentzVector is (-,-,-,+). In the case of LorentzVector we don't distinguish the concepts of points and displacement vectors as in the 3D case, since the main use case for 4D Vectors is to describe the kinematics of relativistic particles. A LorentzVector behaves like a DisplacementVector in 4D. The Minkowski components could be viewed as v and t, or for kinematic 4-vectors, as p and E.

Definition at line 54 of file GenVector/LorentzVector.h.


Member Typedef Documentation

template<class CoordSystem>
typedef DisplacementVector3D< Cartesian3D<Scalar> > ROOT::Math::LorentzVector< CoordSystem >::BetaVector

Definition at line 524 of file GenVector/LorentzVector.h.

template<class CoordSystem>
typedef CoordSystem ROOT::Math::LorentzVector< CoordSystem >::CoordinateType

Definition at line 61 of file GenVector/LorentzVector.h.

template<class CoordSystem>
typedef CoordSystem::Scalar ROOT::Math::LorentzVector< CoordSystem >::Scalar

Definition at line 60 of file GenVector/LorentzVector.h.


Constructor & Destructor Documentation

template<class CoordSystem>
ROOT::Math::LorentzVector< CoordSystem >::LorentzVector (  )  [inline]

default constructor of an empty vector (Px = Py = Pz = E = 0 )

Definition at line 66 of file GenVector/LorentzVector.h.

template<class CoordSystem>
ROOT::Math::LorentzVector< CoordSystem >::LorentzVector ( const Scalar a,
const Scalar b,
const Scalar c,
const Scalar d 
) [inline]

generic constructors from four scalar values.

The association between values and coordinate depends on the coordinate system. For PxPyPzE4D,

Parameters:
a scalar value (Px)
b scalar value (Py)
c scalar value (Pz)
d scalar value (E)

Definition at line 77 of file GenVector/LorentzVector.h.

template<class CoordSystem>
template<class Coords >
ROOT::Math::LorentzVector< CoordSystem >::LorentzVector ( const LorentzVector< Coords > &  v  )  [inline, explicit]

constructor from a LorentzVector expressed in different coordinates, or using a different Scalar type

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

template<class CoordSystem>
template<class ForeignLorentzVector >
ROOT::Math::LorentzVector< CoordSystem >::LorentzVector ( const ForeignLorentzVector< CoordSystem > &  v  )  [inline, explicit]

Construct from a foreign 4D vector type, for example, HepLorentzVector Precondition: v must implement methods x(), y(), z(), and t().

Definition at line 96 of file GenVector/LorentzVector.h.


Member Function Documentation

template<class CoordSystem>
Scalar ROOT::Math::LorentzVector< CoordSystem >::Beta (  )  const [inline]

template<class CoordSystem>
template<class Other4Vector >
BetaVector ROOT::Math::LorentzVector< CoordSystem >::BoostToCM ( const Other4Vector &  v  )  const [inline]

The beta vector for the boost that would bring this vector into its center of mass frame (zero momentum).

Definition at line 552 of file GenVector/LorentzVector.h.

References ROOT::Math::LorentzVector< CoordSystem >::E(), ROOT::Math::DisplacementVector3D< CoordSystem, Tag >::Mag2(), and ROOT::Math::LorentzVector< CoordSystem >::Vect().

template<class CoordSystem>
BetaVector ROOT::Math::LorentzVector< CoordSystem >::BoostToCM (  )  const [inline]

The beta vector for the boost that would bring this vector into its center of mass frame (zero momentum).

Definition at line 530 of file GenVector/LorentzVector.h.

References ROOT::Math::LorentzVector< CoordSystem >::E(), ROOT::Math::LorentzVector< CoordSystem >::M2(), ROOT::Math::LorentzVector< CoordSystem >::P(), and ROOT::Math::LorentzVector< CoordSystem >::Vect().

template<class CoordSystem>
Scalar ROOT::Math::LorentzVector< CoordSystem >::ColinearRapidity (  )  const [inline]

Rapidity in the direction of travel: atanh (|P|/E)=.5 log[(E+P)/(E-P)].

Definition at line 492 of file GenVector/LorentzVector.h.

References ROOT::Math::LorentzVector< CoordSystem >::E(), log(), and ROOT::Math::LorentzVector< CoordSystem >::P().

template<class CoordSystem>
const CoordSystem& ROOT::Math::LorentzVector< CoordSystem >::Coordinates (  )  const [inline]

Retrieve a const reference to the coordinates object.

Definition at line 157 of file GenVector/LorentzVector.h.

Referenced by ROOT::Math::LorentzVector< CoordSystem >::operator=().

template<class CoordSystem>
template<class OtherLorentzVector >
Scalar ROOT::Math::LorentzVector< CoordSystem >::Dot ( const OtherLorentzVector< CoordSystem > &  q  )  const [inline]

scalar (Dot) product of two LorentzVector vectors (metric is -,-,-,+) Enable the product using any other LorentzVector implementing the x(), y() , y() and t() member functions

Parameters:
q any LorentzVector implementing the x(), y() , z() and t() member functions
Returns:
the result of v.q of type according to the base scalar type of v

Definition at line 364 of file GenVector/LorentzVector.h.

References ROOT::Math::LorentzVector< CoordSystem >::t(), ROOT::Math::LorentzVector< CoordSystem >::x(), ROOT::Math::LorentzVector< CoordSystem >::y(), and ROOT::Math::LorentzVector< CoordSystem >::z().

template<class CoordSystem>
Scalar ROOT::Math::LorentzVector< CoordSystem >::e (  )  const [inline]

Definition at line 623 of file GenVector/LorentzVector.h.

template<class CoordSystem>
Scalar ROOT::Math::LorentzVector< CoordSystem >::E (  )  const [inline]

template<class CoordSystem>
Scalar ROOT::Math::LorentzVector< CoordSystem >::energy (  )  const [inline]

Definition at line 638 of file GenVector/LorentzVector.h.

template<class CoordSystem>
Scalar ROOT::Math::LorentzVector< CoordSystem >::Et (  )  const [inline]

return the transverse energy

\[ e_t = \sqrt{ \frac{E^2 p_{\perp}^2 }{ |p|^2 } } X sign(E) \]

Definition at line 326 of file GenVector/LorentzVector.h.

template<class CoordSystem>
Scalar ROOT::Math::LorentzVector< CoordSystem >::Et2 (  )  const [inline]

return the transverse energy squared

\[ e_t = \frac{E^2 p_{\perp}^2 }{ |p|^2 } \]

Definition at line 320 of file GenVector/LorentzVector.h.

template<class CoordSystem>
Scalar ROOT::Math::LorentzVector< CoordSystem >::eta (  )  const [inline]

Definition at line 628 of file GenVector/LorentzVector.h.

template<class CoordSystem>
Scalar ROOT::Math::LorentzVector< CoordSystem >::Eta (  )  const [inline]

pseudorapidity

\[ \eta = - \ln { \tan { \frac { \theta} {2} } } \]

Definition at line 342 of file GenVector/LorentzVector.h.

template<class CoordSystem>
Scalar ROOT::Math::LorentzVector< CoordSystem >::Gamma (  )  const [inline]

template<class CoordSystem>
template<class IT >
void ROOT::Math::LorentzVector< CoordSystem >::GetCoordinates ( IT  begin  )  const [inline]

get internal data into 4 Scalars at *begin

Definition at line 214 of file GenVector/LorentzVector.h.

References ROOT::Math::LorentzVector< CoordSystem >::GetCoordinates().

template<class CoordSystem>
template<class IT >
void ROOT::Math::LorentzVector< CoordSystem >::GetCoordinates ( IT  begin,
IT  end 
) const [inline]

get internal data into 4 Scalars at *begin to *end

Definition at line 204 of file GenVector/LorentzVector.h.

References ROOT::Math::LorentzVector< CoordSystem >::GetCoordinates().

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

get internal data into an array of 4 Scalar numbers

Definition at line 197 of file GenVector/LorentzVector.h.

template<class CoordSystem>
void ROOT::Math::LorentzVector< CoordSystem >::GetCoordinates ( Scalar a,
Scalar b,
Scalar c,
Scalar d 
) const [inline]

get internal data into 4 Scalar numbers

Definition at line 191 of file GenVector/LorentzVector.h.

Referenced by ROOT::Math::LorentzVector< CoordSystem >::GetCoordinates().

template<class CoordSystem>
bool ROOT::Math::LorentzVector< CoordSystem >::isLightlike ( Scalar  tolerance = 100*std::numeric_limits<Scalar>::epsilon()  )  const [inline]

Determine if momentum-energy can represent a massless particle.

Definition at line 510 of file GenVector/LorentzVector.h.

References ROOT::Math::LorentzVector< CoordSystem >::E(), and ROOT::Math::LorentzVector< CoordSystem >::P().

template<class CoordSystem>
bool ROOT::Math::LorentzVector< CoordSystem >::isSpacelike (  )  const [inline]

Determine if momentum-energy is spacelike, and represents a tachyon.

Definition at line 520 of file GenVector/LorentzVector.h.

References ROOT::Math::LorentzVector< CoordSystem >::E(), and ROOT::Math::LorentzVector< CoordSystem >::P().

template<class CoordSystem>
bool ROOT::Math::LorentzVector< CoordSystem >::isTimelike (  )  const [inline]

Determine if momentum-energy can represent a physical massive particle.

Definition at line 503 of file GenVector/LorentzVector.h.

References ROOT::Math::LorentzVector< CoordSystem >::E(), and ROOT::Math::LorentzVector< CoordSystem >::P().

template<class CoordSystem>
Scalar ROOT::Math::LorentzVector< CoordSystem >::M (  )  const [inline]

return magnitude (mass) using the (-,-,-,+) metric.

If M2 is negative (space-like vector) a GenVector_exception is suggested and if continuing, - sqrt( -M2) is returned

Definition at line 283 of file GenVector/LorentzVector.h.

template<class CoordSystem>
Scalar ROOT::Math::LorentzVector< CoordSystem >::M2 (  )  const [inline]

return magnitude (mass) squared M2 = T**2 - X**2 - Y**2 - Z**2 (we use -,-,-,+ metric)

Definition at line 277 of file GenVector/LorentzVector.h.

Referenced by ROOT::Math::LorentzVector< CoordSystem >::Beta(), and ROOT::Math::LorentzVector< CoordSystem >::BoostToCM().

template<class CoordSystem>
Scalar ROOT::Math::LorentzVector< CoordSystem >::mag (  )  const [inline]

Definition at line 632 of file GenVector/LorentzVector.h.

template<class CoordSystem>
Scalar ROOT::Math::LorentzVector< CoordSystem >::mag2 (  )  const [inline]

Definition at line 631 of file GenVector/LorentzVector.h.

template<class CoordSystem>
Scalar ROOT::Math::LorentzVector< CoordSystem >::mass (  )  const [inline]

Definition at line 639 of file GenVector/LorentzVector.h.

template<class CoordSystem>
Scalar ROOT::Math::LorentzVector< CoordSystem >::mass2 (  )  const [inline]

Definition at line 640 of file GenVector/LorentzVector.h.

template<class CoordSystem>
Scalar ROOT::Math::LorentzVector< CoordSystem >::mt (  )  const [inline]

Definition at line 633 of file GenVector/LorentzVector.h.

template<class CoordSystem>
Scalar ROOT::Math::LorentzVector< CoordSystem >::Mt (  )  const [inline]

return the transverse mass

\[ \sqrt{ m_t^2 = E^2 - p{_z}^2} X sign(E^ - p{_z}^2) \]

Definition at line 314 of file GenVector/LorentzVector.h.

template<class CoordSystem>
Scalar ROOT::Math::LorentzVector< CoordSystem >::mt2 (  )  const [inline]

Definition at line 634 of file GenVector/LorentzVector.h.

template<class CoordSystem>
Scalar ROOT::Math::LorentzVector< CoordSystem >::Mt2 (  )  const [inline]

return the transverse mass squared

\[ m_t^2 = E^2 - p{_z}^2 \]

Definition at line 308 of file GenVector/LorentzVector.h.

template<class CoordSystem>
bool ROOT::Math::LorentzVector< CoordSystem >::operator!= ( const LorentzVector< CoordSystem > &  rhs  )  const [inline]

template<class CoordSystem>
LorentzVector ROOT::Math::LorentzVector< CoordSystem >::operator* ( const Scalar a  )  const [inline]

product of a LorentzVector by a scalar quantity

Parameters:
a scalar quantity of type a
Returns:
a new mathcoreLorentzVector q = v * a same type as v

Definition at line 445 of file GenVector/LorentzVector.h.

Referenced by ROOT::Math::LorentzVector< CoordSystem >::operator-().

template<class CoordSystem>
LorentzVector& ROOT::Math::LorentzVector< CoordSystem >::operator*= ( Scalar  a  )  [inline]

multiplication by a scalar quantity v *= a

Definition at line 427 of file GenVector/LorentzVector.h.

template<class CoordSystem>
LorentzVector ROOT::Math::LorentzVector< CoordSystem >::operator+ (  )  const [inline]

Definition at line 471 of file GenVector/LorentzVector.h.

template<class CoordSystem>
template<class OtherLorentzVector >
LorentzVector ROOT::Math::LorentzVector< CoordSystem >::operator+ ( const OtherLorentzVector< CoordSystem > &  v2  )  const [inline]

addition of two LorentzVectors (v3 = v1 + v2) Enable the addition with any other LorentzVector

Parameters:
v2 any LorentzVector implementing the x(), y() , z() and t() member functions
Returns:
a new LorentzVector of the same type as v1

Definition at line 401 of file GenVector/LorentzVector.h.

template<class CoordSystem>
template<class OtherLorentzVector >
LorentzVector& ROOT::Math::LorentzVector< CoordSystem >::operator+= ( const OtherLorentzVector< CoordSystem > &  q  )  [inline]

Self addition with another Vector ( v+= q ) Enable the addition with any other LorentzVector.

Parameters:
q any LorentzVector implementing the x(), y() , z() and t() member functions

Definition at line 375 of file GenVector/LorentzVector.h.

References ROOT::Math::LorentzVector< CoordSystem >::SetXYZT(), ROOT::Math::LorentzVector< CoordSystem >::t(), ROOT::Math::LorentzVector< CoordSystem >::x(), ROOT::Math::LorentzVector< CoordSystem >::y(), and ROOT::Math::LorentzVector< CoordSystem >::z().

template<class CoordSystem>
LorentzVector ROOT::Math::LorentzVector< CoordSystem >::operator- (  )  const [inline]

Negative of a LorentzVector (q = - v ).

Returns:
a new LorentzVector with opposite direction and time

Definition at line 466 of file GenVector/LorentzVector.h.

References ROOT::Math::LorentzVector< CoordSystem >::operator*().

template<class CoordSystem>
template<class OtherLorentzVector >
LorentzVector ROOT::Math::LorentzVector< CoordSystem >::operator- ( const OtherLorentzVector< CoordSystem > &  v2  )  const [inline]

subtraction of two LorentzVectors (v3 = v1 - v2) Enable the subtraction of any other LorentzVector

Parameters:
v2 any LorentzVector implementing the x(), y() , z() and t() member functions
Returns:
a new LorentzVector of the same type as v1

Definition at line 416 of file GenVector/LorentzVector.h.

template<class CoordSystem>
template<class OtherLorentzVector >
LorentzVector& ROOT::Math::LorentzVector< CoordSystem >::operator-= ( const OtherLorentzVector< CoordSystem > &  q  )  [inline]

Self subtraction of another Vector from this ( v-= q ) Enable the addition with any other LorentzVector.

Parameters:
q any LorentzVector implementing the x(), y() , z() and t() member functions

Definition at line 388 of file GenVector/LorentzVector.h.

References ROOT::Math::LorentzVector< CoordSystem >::SetXYZT(), ROOT::Math::LorentzVector< CoordSystem >::t(), ROOT::Math::LorentzVector< CoordSystem >::x(), ROOT::Math::LorentzVector< CoordSystem >::y(), and ROOT::Math::LorentzVector< CoordSystem >::z().

template<class CoordSystem>
LorentzVector<CoordSystem> ROOT::Math::LorentzVector< CoordSystem >::operator/ ( const Scalar a  )  const [inline]

Divide a LorentzVector by a scalar quantity.

Parameters:
a scalar quantity of type a
Returns:
a new mathcoreLorentzVector q = v / a same type as v

Definition at line 456 of file GenVector/LorentzVector.h.

template<class CoordSystem>
LorentzVector& ROOT::Math::LorentzVector< CoordSystem >::operator/= ( Scalar  a  )  [inline]

division by a scalar quantity v /= a

Definition at line 435 of file GenVector/LorentzVector.h.

template<class CoordSystem>
template<class ForeignLorentzVector >
LorentzVector& ROOT::Math::LorentzVector< CoordSystem >::operator= ( const ForeignLorentzVector< CoordSystem > &  v  )  [inline]

assignment from any other Lorentz vector implementing x(), y(), z() and t()

Definition at line 131 of file GenVector/LorentzVector.h.

References ROOT::Math::LorentzVector< CoordSystem >::SetXYZT().

template<class CoordSystem>
template<class OtherCoords >
LorentzVector& ROOT::Math::LorentzVector< CoordSystem >::operator= ( const LorentzVector< OtherCoords > &  v  )  [inline]

Assignment operator from a lorentz vector of arbitrary type.

Definition at line 121 of file GenVector/LorentzVector.h.

References ROOT::Math::LorentzVector< CoordSystem >::Coordinates().

template<class CoordSystem>
bool ROOT::Math::LorentzVector< CoordSystem >::operator== ( const LorentzVector< CoordSystem > &  rhs  )  const [inline]

Exact equality.

Definition at line 242 of file GenVector/LorentzVector.h.

Referenced by ROOT::Math::LorentzVector< CoordSystem >::operator!=().

template<class CoordSystem>
Scalar ROOT::Math::LorentzVector< CoordSystem >::P (  )  const [inline]

template<class CoordSystem>
Scalar ROOT::Math::LorentzVector< CoordSystem >::P2 (  )  const [inline]

return the square of the spatial (3D) magnitude ( X**2 + Y**2 + Z**2 )

Definition at line 292 of file GenVector/LorentzVector.h.

References ROOT::Math::LorentzVector< CoordSystem >::P().

Referenced by ROOT::Math::LorentzVector< CoordSystem >::Beta(), and ROOT::Math::LorentzVector< CoordSystem >::Gamma().

template<class CoordSystem>
Scalar ROOT::Math::LorentzVector< CoordSystem >::perp2 (  )  const [inline]

Definition at line 630 of file GenVector/LorentzVector.h.

template<class CoordSystem>
Scalar ROOT::Math::LorentzVector< CoordSystem >::Perp2 (  )  const [inline]

return the square of the transverse spatial component ( X**2 + Y**2 )

Definition at line 296 of file GenVector/LorentzVector.h.

template<class CoordSystem>
Scalar ROOT::Math::LorentzVector< CoordSystem >::phi (  )  const [inline]

Definition at line 626 of file GenVector/LorentzVector.h.

template<class CoordSystem>
Scalar ROOT::Math::LorentzVector< CoordSystem >::Phi (  )  const [inline]

azimuthal Angle

Definition at line 331 of file GenVector/LorentzVector.h.

template<class CoordSystem>
Scalar ROOT::Math::LorentzVector< CoordSystem >::pt (  )  const [inline]

Definition at line 629 of file GenVector/LorentzVector.h.

template<class CoordSystem>
Scalar ROOT::Math::LorentzVector< CoordSystem >::Pt (  )  const [inline]

return the transverse spatial component sqrt ( X**2 + Y**2 )

Definition at line 301 of file GenVector/LorentzVector.h.

template<class CoordSystem>
Scalar ROOT::Math::LorentzVector< CoordSystem >::px (  )  const [inline]

Definition at line 620 of file GenVector/LorentzVector.h.

template<class CoordSystem>
Scalar ROOT::Math::LorentzVector< CoordSystem >::Px (  )  const [inline]

spatial X component

Definition at line 256 of file GenVector/LorentzVector.h.

template<class CoordSystem>
Scalar ROOT::Math::LorentzVector< CoordSystem >::py (  )  const [inline]

Definition at line 621 of file GenVector/LorentzVector.h.

template<class CoordSystem>
Scalar ROOT::Math::LorentzVector< CoordSystem >::Py (  )  const [inline]

spatial Y component

Definition at line 261 of file GenVector/LorentzVector.h.

template<class CoordSystem>
Scalar ROOT::Math::LorentzVector< CoordSystem >::pz (  )  const [inline]

Definition at line 622 of file GenVector/LorentzVector.h.

template<class CoordSystem>
Scalar ROOT::Math::LorentzVector< CoordSystem >::Pz (  )  const [inline]

spatial Z component

Definition at line 266 of file GenVector/LorentzVector.h.

Referenced by ROOT::Math::LorentzVector< CoordSystem >::Rapidity().

template<class CoordSystem>
Scalar ROOT::Math::LorentzVector< CoordSystem >::r (  )  const [inline]

Definition at line 624 of file GenVector/LorentzVector.h.

template<class CoordSystem>
Scalar ROOT::Math::LorentzVector< CoordSystem >::R (  )  const [inline]

return the spatial (3D) magnitude ( sqrt(X**2 + Y**2 + Z**2) )

Definition at line 287 of file GenVector/LorentzVector.h.

template<class CoordSystem>
Scalar ROOT::Math::LorentzVector< CoordSystem >::Rapidity (  )  const [inline]

Rapidity relative to the Z axis: .5 log [(E+Pz)/(E-Pz)].

Definition at line 480 of file GenVector/LorentzVector.h.

References ROOT::Math::LorentzVector< CoordSystem >::E(), log(), and ROOT::Math::LorentzVector< CoordSystem >::Pz().

template<class CoordSystem>
Scalar ROOT::Math::LorentzVector< CoordSystem >::rho (  )  const [inline]

Definition at line 627 of file GenVector/LorentzVector.h.

template<class CoordSystem>
Scalar ROOT::Math::LorentzVector< CoordSystem >::Rho (  )  const [inline]

Definition at line 302 of file GenVector/LorentzVector.h.

template<class CoordSystem>
template<class IT >
LorentzVector<CoordSystem>& ROOT::Math::LorentzVector< CoordSystem >::SetCoordinates ( IT  begin,
IT  end 
) [inline]

Set internal data based on 4 Scalars at *begin to *end.

Definition at line 181 of file GenVector/LorentzVector.h.

References ROOT::Math::LorentzVector< CoordSystem >::SetCoordinates().

template<class CoordSystem>
LorentzVector<CoordSystem>& ROOT::Math::LorentzVector< CoordSystem >::SetCoordinates ( Scalar  a,
Scalar  b,
Scalar  c,
Scalar  d 
) [inline]

Set internal data based on 4 Scalar numbers.

Definition at line 172 of file GenVector/LorentzVector.h.

template<class CoordSystem>
LorentzVector<CoordSystem>& ROOT::Math::LorentzVector< CoordSystem >::SetCoordinates ( const Scalar  src[]  )  [inline]

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

Definition at line 164 of file GenVector/LorentzVector.h.

Referenced by ROOT::Math::operator>>(), and ROOT::Math::LorentzVector< CoordSystem >::SetCoordinates().

template<class CoordSystem>
LorentzVector<CoordSystem>& ROOT::Math::LorentzVector< CoordSystem >::SetE ( Scalar  a  )  [inline]

Methods setting a Single-component Work only if the component is one of which the vector is represented.

For example SetE will work for a PxPyPzE Vector but not for a PxPyPzM Vector.

Definition at line 648 of file GenVector/LorentzVector.h.

template<class CoordSystem>
LorentzVector<CoordSystem>& ROOT::Math::LorentzVector< CoordSystem >::SetEta ( Scalar  a  )  [inline]

Definition at line 649 of file GenVector/LorentzVector.h.

template<class CoordSystem>
LorentzVector<CoordSystem>& ROOT::Math::LorentzVector< CoordSystem >::SetM ( Scalar  a  )  [inline]

Definition at line 650 of file GenVector/LorentzVector.h.

template<class CoordSystem>
LorentzVector<CoordSystem>& ROOT::Math::LorentzVector< CoordSystem >::SetPhi ( Scalar  a  )  [inline]

Definition at line 651 of file GenVector/LorentzVector.h.

template<class CoordSystem>
LorentzVector<CoordSystem>& ROOT::Math::LorentzVector< CoordSystem >::SetPt ( Scalar  a  )  [inline]

Definition at line 652 of file GenVector/LorentzVector.h.

template<class CoordSystem>
LorentzVector<CoordSystem>& ROOT::Math::LorentzVector< CoordSystem >::SetPx ( Scalar  a  )  [inline]

Definition at line 653 of file GenVector/LorentzVector.h.

template<class CoordSystem>
LorentzVector<CoordSystem>& ROOT::Math::LorentzVector< CoordSystem >::SetPxPyPzE ( Scalar  xx,
Scalar  yy,
Scalar  zz,
Scalar  ee 
) [inline]

Definition at line 232 of file GenVector/LorentzVector.h.

template<class CoordSystem>
LorentzVector<CoordSystem>& ROOT::Math::LorentzVector< CoordSystem >::SetPy ( Scalar  a  )  [inline]

Definition at line 654 of file GenVector/LorentzVector.h.

template<class CoordSystem>
LorentzVector<CoordSystem>& ROOT::Math::LorentzVector< CoordSystem >::SetPz ( Scalar  a  )  [inline]

Definition at line 655 of file GenVector/LorentzVector.h.

template<class CoordSystem>
LorentzVector<CoordSystem>& ROOT::Math::LorentzVector< CoordSystem >::SetXYZT ( Scalar  xx,
Scalar  yy,
Scalar  zz,
Scalar  tt 
) [inline]

set the values of the vector from the cartesian components (x,y,z,t) (if the vector is held in another coordinates, like (Pt,eta,phi,m) then (x, y, z, t) are converted to that form)

Definition at line 228 of file GenVector/LorentzVector.h.

Referenced by ROOT::Math::VectorUtil::Mult(), ROOT::Math::LorentzVector< CoordSystem >::operator+=(), ROOT::Math::LorentzVector< CoordSystem >::operator-=(), and ROOT::Math::LorentzVector< CoordSystem >::operator=().

template<class CoordSystem>
Scalar ROOT::Math::LorentzVector< CoordSystem >::t (  )  const [inline]

template<class CoordSystem>
Scalar ROOT::Math::LorentzVector< CoordSystem >::T (  )  const [inline]

template<class CoordSystem>
Scalar ROOT::Math::LorentzVector< CoordSystem >::theta (  )  const [inline]

Definition at line 625 of file GenVector/LorentzVector.h.

template<class CoordSystem>
Scalar ROOT::Math::LorentzVector< CoordSystem >::Theta (  )  const [inline]

polar Angle

Definition at line 336 of file GenVector/LorentzVector.h.

template<class CoordSystem>
::ROOT::Math::DisplacementVector3D<Cartesian3D<Scalar> > ROOT::Math::LorentzVector< CoordSystem >::Vect (  )  const [inline]

template<class CoordSystem>
Scalar ROOT::Math::LorentzVector< CoordSystem >::x (  )  const [inline]

template<class CoordSystem>
Scalar ROOT::Math::LorentzVector< CoordSystem >::X (  )  const [inline]

template<class CoordSystem>
Scalar ROOT::Math::LorentzVector< CoordSystem >::y (  )  const [inline]

template<class CoordSystem>
Scalar ROOT::Math::LorentzVector< CoordSystem >::Y (  )  const [inline]

template<class CoordSystem>
Scalar ROOT::Math::LorentzVector< CoordSystem >::z (  )  const [inline]

template<class CoordSystem>
Scalar ROOT::Math::LorentzVector< CoordSystem >::Z (  )  const [inline]


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

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