#include "LorentzVector.fh"
#include "Transverse.h"
#include "ThePEG/Utilities/Direction.h"
#include "ThePEG/Utilities/UnitIO.h"
#include "LorentzRotation.h"
#include "ThreeVector.h"
Go to the source code of this file.
Namespaces | |
namespace | ThePEG |
Classes | |
class | ThePEG::LorentzVector< Value > |
A 4-component Lorentz vector. More... | |
struct | ThePEG::ThePEG::BinaryOpTraits< LorentzVector< T >, U > |
Template for multiplication by scalar. More... | |
struct | ThePEG::ThePEG::BinaryOpTraits< T, LorentzVector< U > > |
Template for multiplication by scalar. More... | |
Functions | |
void | errorIf (bool condition, const std::string &message) |
Debug helper function. | |
template<typename Value> | |
bool | ThePEG::operator== (const LorentzVector< Value > &a, const LorentzVector< Value > &b) |
Equality. | |
ostream & | ThePEG::operator<< (ostream &os, const LorentzVector< double > &v) |
Stream output. Format . | |
template<typename Value> | |
double | ThePEG::dirPlus (const LorentzVector< Value > &p) |
Return the positive light-cone component. | |
template<typename Value> | |
double | ThePEG::dirMinus (const LorentzVector< Value > &p) |
Return the negative light-cone component. | |
template<typename Value> | |
double | ThePEG::dirZ (const LorentzVector< Value > &p) |
Return the component along the positive z-axis. | |
template<typename Value> | |
double | ThePEG::dirTheta (const LorentzVector< Value > &p) |
Return the polar angle wrt. | |
template<typename Value> | |
double | ThePEG::dirCosTheta (const LorentzVector< Value > &p) |
Return the cosine of the polar angle wrt. | |
template<typename Value> | |
ThreeVector< Value > | ThePEG::dirBoostVector (const LorentzVector< Value > &p) |
Get the boost vector for the LorentzVector. | |
template<typename Value> | |
LorentzVector< Value > | ThePEG::lightCone (Value plus, Value minus, Value x, Value y) |
Create a LorentzVector giving its light-cone and transverse components. | |
template<typename Value> | |
LorentzVector< Value > | ThePEG::lightCone (Value plus, Value minus) |
Create a LorentzVector giving its light-cone components. | |
template<typename Value> | |
LorentzVector< Value > | ThePEG::lightCone (Value plus, Value minus, Transverse< Value > pt) |
Create a LorentzVector giving its light-cone and transverse components. | |
template<typename Value> | |
LorentzVector< Value > | ThePEG::lightConeDir (Value plus, Value minus, Value x=Value(), Value y=Value()) |
Create a LorentzVector giving its light-cone and transverse components. | |
template<typename Value> | |
LorentzVector< Value > | ThePEG::lightConeDir (Value plus, Value minus, Transverse< Value > pt) |
Create a LorentzVector giving its light-cone and transverse components. | |
template<typename OStream, typename UnitT, typename Value> | |
void | ThePEG::ounitstream (OStream &os, const LorentzVector< Value > &p, UnitT &u) |
Output a LorentzVector with units to a stream. | |
template<typename IStream, typename UnitT, typename Value> | |
void | ThePEG::iunitstream (IStream &is, LorentzVector< Value > &p, UnitT &u) |
Input a LorentzVector with units from a stream. | |
Basic mathematical operations | |
template<typename Value> | |
LorentzVector< double > | ThePEG::operator/ (const LorentzVector< Value > &v, Value a) |
template<typename Value> | |
LorentzVector< Value > | ThePEG::operator- (const LorentzVector< Value > &v) |
template<typename ValueA, typename ValueB> | |
LorentzVector< ValueA > | ThePEG::operator+ (LorentzVector< ValueA > a, const LorentzVector< ValueB > &b) |
template<typename ValueA, typename ValueB> | |
LorentzVector< ValueA > | ThePEG::operator- (LorentzVector< ValueA > a, const LorentzVector< ValueB > &b) |
template<typename Value> | |
LorentzVector< Value > | ThePEG::operator* (const LorentzVector< Value > &a, double b) |
template<typename Value> | |
LorentzVector< Value > | ThePEG::operator* (double b, LorentzVector< Value > a) |
template<typename ValueA, typename ValueB> | |
LorentzVector< typename BinaryOpTraits< ValueA, ValueB > ::MulT > | ThePEG::operator* (ValueB a, const LorentzVector< ValueA > &v) |
template<typename ValueA, typename ValueB> | |
LorentzVector< typename BinaryOpTraits< ValueA, ValueB > ::MulT > | ThePEG::operator* (const LorentzVector< ValueA > &v, ValueB b) |
template<typename ValueA, typename ValueB> | |
LorentzVector< typename BinaryOpTraits< ValueA, ValueB > ::DivT > | ThePEG::operator/ (const LorentzVector< ValueA > &v, ValueB b) |
Scalar product with metric \f$(+,-,-,-)\f$ | |
template<typename ValueA, typename ValueB> | |
BinaryOpTraits< ValueA, ValueB > ::MulT | ThePEG::operator* (const LorentzVector< ValueA > &a, const LorentzVector< ValueB > &b) |
template<typename Value> | |
BinaryOpTraits< Value, Value > ::MulT | ThePEG::operator* (const LorentzVector< Value > &a, const LorentzVector< Value > &b) |
Lorentz vectors can be created with any unit type as template parameter. All basic mathematical operations are supported, as well as a subset of the CLHEP LorentzVector functionality.
Definition in file LorentzVector.h.