thepeg is hosted by Hepforge, IPPP Durham
ThePEG 2.3.0
ThePEG::Transverse< Value > Class Template Reference

Transverse represents the transverse components of a LorentzVector. More...

#include <Transverse.h>

Inheritance diagram for ThePEG::Transverse< Value >:

Public Types

using Value2 = decltype(sqr(std::declval< Value >()))
 Template argument typedef.
 
using BasePair = pair< Value, Value >
 Template argument typedef.
 

Public Member Functions

Constructors.
 Transverse ()
 Default constructor.
 
 Transverse (const BasePair &p)
 Constructor from underlying representation.
 
 Transverse (Value x, Value y)
 Constructor from x and y components.
 
 Transverse (const ThreeVector< Value > &p)
 Constructor taking the transverse parts of a ThreeVector.
 
 Transverse (const LorentzVector< Value > &p)
 Constructor taking the transverse parts of a LorentzVector.
 
 Transverse (const Lorentz5Vector< Value > &p)
 Constructor taking the transverse parts of a Lorentz5Vector.
 
Assignment operators.
const Transverseoperator= (const BasePair &p)
 Assignment from underlying representation.
 
const Transverseoperator= (const ThreeVector< Value > &p)
 Assignment taking the transverse parts of a ThreeVector.
 
const Transverseoperator= (const LorentzVector< Value > &p)
 Assignment taking the transverse parts of a LorentzVector.
 
const Transverseoperator= (const Lorentz5Vector< Value > &p)
 Assignment taking the transverse parts of a Lorentz5Vector.
 
Arithmetric operations
Transverse operator- () const
 Unary minus.
 
Transverse operator- (const Transverse &pt) const
 Binary minus.
 
Transverseoperator-= (const Transverse &pt)
 Assign-subtract.
 
Transverse operator+ (const Transverse &pt) const
 Addition.
 
Transverseoperator+= (const Transverse &pt)
 Assign-add.
 
Transverseoperator*= (double a)
 Multiply-assign with a scalar.
 
Transverseoperator/= (double a)
 Divide-assign with a scalar.
 
Access coordinates.
Value x () const
 The x-component.
 
Value y () const
 The y-component.
 
Value2 pt2 () const
 The magnitude squared.
 
Value pt () const
 The magnitude.
 
double phi () const
 The azimuth angle.
 

Detailed Description

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

Transverse represents the transverse components of a LorentzVector.

It inherits from std::pair<Value,Value> and can be used anywhere such a pair is called for. It can also be created directly from a ThreeVector, LorentzVector and Lorentz5Momentum.

See also
Lorentz5Vector

Definition at line 30 of file Transverse.h.

Member Typedef Documentation

◆ BasePair

template<typename Value >
using ThePEG::Transverse< Value >::BasePair = pair<Value,Value>

Template argument typedef.

Definition at line 38 of file Transverse.h.

◆ Value2

template<typename Value >
using ThePEG::Transverse< Value >::Value2 = decltype(sqr(std::declval<Value>()))

Template argument typedef.

Definition at line 35 of file Transverse.h.

Constructor & Destructor Documentation

◆ Transverse() [1/6]

template<typename Value >
ThePEG::Transverse< Value >::Transverse ( )
inline

Default constructor.

Definition at line 47 of file Transverse.h.

Referenced by ThePEG::Transverse< Value >::operator+(), and ThePEG::Transverse< Value >::operator-().

◆ Transverse() [2/6]

template<typename Value >
ThePEG::Transverse< Value >::Transverse ( const BasePair p)
inline

Constructor from underlying representation.

Definition at line 52 of file Transverse.h.

◆ Transverse() [3/6]

template<typename Value >
ThePEG::Transverse< Value >::Transverse ( Value  x,
Value  y 
)
inline

Constructor from x and y components.

Definition at line 57 of file Transverse.h.

◆ Transverse() [4/6]

template<typename Value >
ThePEG::Transverse< Value >::Transverse ( const ThreeVector< Value > &  p)
inline

Constructor taking the transverse parts of a ThreeVector.

Definition at line 62 of file Transverse.h.

◆ Transverse() [5/6]

template<typename Value >
ThePEG::Transverse< Value >::Transverse ( const LorentzVector< Value > &  p)
inline

Constructor taking the transverse parts of a LorentzVector.

Definition at line 67 of file Transverse.h.

◆ Transverse() [6/6]

template<typename Value >
ThePEG::Transverse< Value >::Transverse ( const Lorentz5Vector< Value > &  p)
inline

Constructor taking the transverse parts of a Lorentz5Vector.

Definition at line 72 of file Transverse.h.

Member Function Documentation

◆ operator*=()

template<typename Value >
Transverse & ThePEG::Transverse< Value >::operator*= ( double  a)
inline

Multiply-assign with a scalar.

Definition at line 153 of file Transverse.h.

◆ operator+()

template<typename Value >
Transverse ThePEG::Transverse< Value >::operator+ ( const Transverse< Value > &  pt) const
inline

◆ operator+=()

template<typename Value >
Transverse & ThePEG::Transverse< Value >::operator+= ( const Transverse< Value > &  pt)
inline

Assign-add.

Definition at line 144 of file Transverse.h.

References ThePEG::Transverse< Value >::pt().

◆ operator-() [1/2]

template<typename Value >
Transverse ThePEG::Transverse< Value >::operator- ( ) const
inline

◆ operator-() [2/2]

template<typename Value >
Transverse ThePEG::Transverse< Value >::operator- ( const Transverse< Value > &  pt) const
inline

◆ operator-=()

template<typename Value >
Transverse & ThePEG::Transverse< Value >::operator-= ( const Transverse< Value > &  pt)
inline

Assign-subtract.

Definition at line 128 of file Transverse.h.

References ThePEG::Transverse< Value >::pt().

◆ operator/=()

template<typename Value >
Transverse & ThePEG::Transverse< Value >::operator/= ( double  a)
inline

Divide-assign with a scalar.

Definition at line 162 of file Transverse.h.

◆ operator=() [1/4]

template<typename Value >
const Transverse & ThePEG::Transverse< Value >::operator= ( const BasePair p)
inline

Assignment from underlying representation.

Definition at line 80 of file Transverse.h.

◆ operator=() [2/4]

template<typename Value >
const Transverse & ThePEG::Transverse< Value >::operator= ( const Lorentz5Vector< Value > &  p)
inline

Assignment taking the transverse parts of a Lorentz5Vector.

Definition at line 104 of file Transverse.h.

References ThePEG::Lorentz5Vector< Value >::x().

◆ operator=() [3/4]

template<typename Value >
const Transverse & ThePEG::Transverse< Value >::operator= ( const LorentzVector< Value > &  p)
inline

Assignment taking the transverse parts of a LorentzVector.

Definition at line 96 of file Transverse.h.

◆ operator=() [4/4]

template<typename Value >
const Transverse & ThePEG::Transverse< Value >::operator= ( const ThreeVector< Value > &  p)
inline

Assignment taking the transverse parts of a ThreeVector.

Definition at line 88 of file Transverse.h.

◆ phi()

template<typename Value >
double ThePEG::Transverse< Value >::phi ( ) const
inline

The azimuth angle.

Definition at line 194 of file Transverse.h.

References ThePEG::Transverse< Value >::x(), and ThePEG::Transverse< Value >::y().

◆ pt()

◆ pt2()

template<typename Value >
Value2 ThePEG::Transverse< Value >::pt2 ( ) const
inline

The magnitude squared.

Definition at line 184 of file Transverse.h.

References ThePEG::sqr(), ThePEG::Transverse< Value >::x(), and ThePEG::Transverse< Value >::y().

Referenced by ThePEG::Transverse< Value >::pt().

◆ x()

◆ y()


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