ThePEG::Lorentz5Vector< Value > Class Template Reference

The Lorentz5Vector inherits from the LorentzVector class. More...

#include <Lorentz5Vector.h>

Inheritance diagram for ThePEG::Lorentz5Vector< Value >:

ThePEG::LorentzVector< Value >

List of all members.

Public Types

typedef BinaryOpTraits< Value,
Value >::MulT 
Value2
 Template argument typedef.

Public Member Functions

Lorentz5Vectortransform (const LorentzRotation &r)
 Perform a Lorentz transformation.
Value x () const
 Component access.
Value y () const
Value z () const
Value t () const
Constructors and destructor.
 Lorentz5Vector ()
 Constructor giving the null vector.
 Lorentz5Vector (Value m)
 Constructor giving the invariant length.
 Lorentz5Vector (Value x, Value y, Value z, Value t=Value())
 Constructor giving the components x, y, z, t.
 Lorentz5Vector (Value x, Value y, Value z, Value t, Value tau)
 Constructor giving the components x, y, z, t and invariant length.
 Lorentz5Vector (const ThreeVector< Value > &p, Value e)
 Constructor giving a 3-Vector and a time component.
 Lorentz5Vector (Value m, const ThreeVector< Value > &p)
 Constructor giving an invariant length and a 3-Vector component.
 Lorentz5Vector (const ThreeVector< Value > &p, Value t, Value tau)
 Constructor giving a 3-Vector, a time component and an invariant length.
 Lorentz5Vector (const LorentzVector< Value > &p, Value m)
 Constructor giving a LorentzVector and an invariant length.
 Lorentz5Vector (const LorentzVector< Value > &p)
 Copy from HepLorentzVector constructor.
Assignment and set functions.
void setTau (Value a)
 Set invariant length/mass.
void setMass (Value a)
 Set invariant length/mass.
Lorentz5Vectoroperator= (const LorentzVector< Value > &q)
 Assignment.
Rescale functions to make consistent.
void rescaleEnergy ()
 Rescale energy, so that the invariant length/mass of the LorentzVector agrees with the current one.
void rescaleRho ()
 Rescale spatial component, so that the invariant length/mass of the LorentzVector agrees with the current one.
void rescaleMass ()
 Set the invariant length/mass member, so that it agrees with the invariant length/mass of the LorentzVector.
Check consistency.
double massError () const
 Return the relative inconsistency in the mass component.
double energyError () const
 Return the relative inconsistency in the energy component.
double rhoError () const
 Return the relative inconsistency in the spatial components.
Access components.
Value2 mass2 () const
 Mass/invariant length component squared.
Value2 tau2 () const
 Mass/invariant length component squared.
Value mass () const
 Mass/invariant length component.
Value tau () const
 Mass/invariant length component.
Value dirPlus () const
 Return the positive negative light-cone components (depending on the value of Direction<0>.
Value dirMinus () const
 Return the positive negative light-cone components (depending on the value of Direction<0>.

Private Attributes

Value mm
 The invariant mass/length member.


Detailed Description

template<typename Value>
class ThePEG::Lorentz5Vector< Value >

The Lorentz5Vector inherits from the LorentzVector class.

It is templated on the type of the member variables. The Lorentz5Vector class is a LorentzVector with an extra member for the invariant length/mass of the vector. Note that an object of the Lorentz5Vector class may be internally inconsistent in that the invariant length/mass of the LorentzVector class need not be the same as the member variable representing the invariant length/mass. The degree of inconsistency can be accessed with the massError(), energyError() and rhoError() methods and an object can be made consistent using the rescaleMass(), rescaleEnergy() or rescaleRho() methods.

See also:
Math

Definition at line 42 of file Lorentz5Vector.h.


Member Typedef Documentation

template<typename Value>
typedef BinaryOpTraits<Value,Value>::MulT ThePEG::Lorentz5Vector< Value >::Value2

Template argument typedef.

Reimplemented from ThePEG::LorentzVector< Value >.

Definition at line 47 of file Lorentz5Vector.h.


Constructor & Destructor Documentation

template<typename Value>
ThePEG::Lorentz5Vector< Value >::Lorentz5Vector ( Value  x,
Value  y,
Value  z,
Value  t = Value() 
) [inline]

Constructor giving the components x, y, z, t.

The invariant length is set to LorentzVector::mag().

Definition at line 77 of file Lorentz5Vector.h.

template<typename Value>
ThePEG::Lorentz5Vector< Value >::Lorentz5Vector ( Value  x,
Value  y,
Value  z,
Value  t,
Value  tau 
) [inline]

Constructor giving the components x, y, z, t and invariant length.

May result in an inconsistent Lorentz5Vector.

Definition at line 84 of file Lorentz5Vector.h.

template<typename Value>
ThePEG::Lorentz5Vector< Value >::Lorentz5Vector ( const ThreeVector< Value > &  p,
Value  e 
) [inline]

Constructor giving a 3-Vector and a time component.

The invariant length is set to LorentzVector::mag().

Definition at line 91 of file Lorentz5Vector.h.

template<typename Value>
ThePEG::Lorentz5Vector< Value >::Lorentz5Vector ( Value  m,
const ThreeVector< Value > &  p 
) [inline]

Constructor giving an invariant length and a 3-Vector component.

The time component is set to the corresponding value.

Definition at line 98 of file Lorentz5Vector.h.

template<typename Value>
ThePEG::Lorentz5Vector< Value >::Lorentz5Vector ( const ThreeVector< Value > &  p,
Value  t,
Value  tau 
) [inline]

Constructor giving a 3-Vector, a time component and an invariant length.

May result in an inconsistent Lorentz5Vector.

Definition at line 105 of file Lorentz5Vector.h.

template<typename Value>
ThePEG::Lorentz5Vector< Value >::Lorentz5Vector ( const LorentzVector< Value > &  p,
Value  m 
) [inline]

Constructor giving a LorentzVector and an invariant length.

May result in an inconsistent Lorentz5Vector.

Definition at line 112 of file Lorentz5Vector.h.

template<typename Value>
ThePEG::Lorentz5Vector< Value >::Lorentz5Vector ( const LorentzVector< Value > &  p  )  [inline]

Copy from HepLorentzVector constructor.

The invariant length is set to LorentzVector::mag().

Definition at line 119 of file Lorentz5Vector.h.


Member Function Documentation

template<typename Value>
Lorentz5Vector& ThePEG::Lorentz5Vector< Value >::operator= ( const LorentzVector< Value > &  q  )  [inline]

Assignment.

The invariant length is kept fixed. May result in an inconsistent Lorentz5Vector.

Definition at line 139 of file Lorentz5Vector.h.

template<typename Value>
Value2 ThePEG::Lorentz5Vector< Value >::mass2 (  )  const [inline]

template<typename Value>
Value2 ThePEG::Lorentz5Vector< Value >::tau2 (  )  const [inline]

Mass/invariant length component squared.

m2() gives the same calculated from the LorentzVector

Definition at line 211 of file Lorentz5Vector.h.

template<typename Value>
Value ThePEG::Lorentz5Vector< Value >::mass (  )  const [inline]

template<typename Value>
Value ThePEG::Lorentz5Vector< Value >::tau (  )  const [inline]

Mass/invariant length component.

m() gives the same calculated from the LorentzVector

Definition at line 224 of file Lorentz5Vector.h.


Member Data Documentation

template<typename Value>
Value ThePEG::Lorentz5Vector< Value >::mm [private]


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

Generated on Thu Apr 29 12:43:26 2010 for ThePEG by  doxygen 1.5.5