LorentzVector
class.
More...
#include <Lorentz5Vector.h>
Public Types | |
typedef BinaryOpTraits< Value, Value >::MulT | Value2 |
Template argument typedef. | |
Public Member Functions | |
Lorentz5Vector & | transform (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. | |
Lorentz5Vector & | operator= (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. |
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.
Definition at line 42 of file Lorentz5Vector.h.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Value2 ThePEG::Lorentz5Vector< Value >::mass2 | ( | ) | const [inline] |
Mass/invariant length component squared.
m2() gives the same calculated from the LorentzVector
Definition at line 205 of file Lorentz5Vector.h.
Referenced by ThePEG::Lorentz5Vector< QTY< 0, 1, 0 >::Type >::energyError(), ThePEG::Lorentz5Vector< QTY< 0, 1, 0 >::Type >::massError(), ThePEG::Particle::perpmass2(), ThePEG::Lorentz5Vector< QTY< 0, 1, 0 >::Type >::rescaleEnergy(), ThePEG::Lorentz5Vector< QTY< 0, 1, 0 >::Type >::rescaleRho(), ThePEG::Lorentz5Vector< QTY< 0, 1, 0 >::Type >::rhoError(), and ThePEG::Lorentz5Vector< QTY< 0, 1, 0 >::Type >::tau2().
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.
Value ThePEG::Lorentz5Vector< Value >::mass | ( | ) | const [inline] |
Mass/invariant length component.
m() gives the same calculated from the LorentzVector
Definition at line 217 of file Lorentz5Vector.h.
Referenced by ThePEG::Helicity::WaveFunctionBase::mass(), ThePEG::Particle::mass(), ThePEG::HepMCTraitsBase< HepMC::GenEvent, HepMC::GenParticle, HepMC::GenVertex, HepMC::Polarization, HepMC::PdfInfo >::newParticle(), ThePEG::ounitstream(), and ThePEG::Lorentz5Vector< QTY< 0, 1, 0 >::Type >::tau().
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.
Value ThePEG::Lorentz5Vector< Value >::mm [private] |
The invariant mass/length member.
Definition at line 261 of file Lorentz5Vector.h.
Referenced by ThePEG::Lorentz5Vector< QTY< 0, 1, 0 >::Type >::mass(), ThePEG::Lorentz5Vector< QTY< 0, 1, 0 >::Type >::mass2(), ThePEG::Lorentz5Vector< QTY< 0, 1, 0 >::Type >::rescaleMass(), ThePEG::Lorentz5Vector< QTY< 0, 1, 0 >::Type >::setMass(), and ThePEG::Lorentz5Vector< QTY< 0, 1, 0 >::Type >::setTau().