thepeg is hosted by Hepforge, IPPP Durham
ThePEG  2.2.1
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. More...
 
using BasePair = pair< Value, Value >
 Template argument typedef. More...
 

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.


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