ant
A2 ant: class-based analysis framework
ant::LorentzVec Struct Reference

A Lorentz vector (x,y,z,E), diag(-1,-1,-1, 1) More...

#include <LorentzVec.h>

+ Inheritance diagram for ant::LorentzVec:
+ Collaboration diagram for ant::LorentzVec:

Public Member Functions

 LorentzVec () noexcept=default
 
 LorentzVec (const LorentzVec &) noexcept=default
 
 LorentzVec (LorentzVec &&) noexcept=default
 
 LorentzVec (const vec3 &p_, const double E_) noexcept
 
LorentzVecoperator= (const LorentzVec &) noexcept=default
 
LorentzVecoperator= (LorentzVec &&) noexcept=default
 
 operator TLorentzVector () const noexcept
 
 LorentzVec (const TLorentzVector &other) noexcept
 
LorentzVecoperator= (const TLorentzVector other) noexcept
 
LorentzVecoperator+= (const LorentzVec &other) noexcept
 
LorentzVecoperator-= (const LorentzVec &other) noexcept
 
LorentzVec operator+ (const LorentzVec &other) const noexcept
 
LorentzVec operator- (const LorentzVec &other) const noexcept
 
double M2 () const noexcept
 
double M () const
 
double Theta () const
 
double Phi () const
 
double P () const
 
bool operator== (const LorentzVec &other) const noexcept
 
bool operator!= (const LorentzVec &other) const noexcept
 
LorentzVecoperator*= (const double a) noexcept
 
LorentzVecoperator/= (const double a) noexcept
 
LorentzVec operator* (const double a) const noexcept
 
LorentzVec operator/ (const double a) const noexcept
 
double Beta () const noexcept
 
double Gamma () const noexcept
 Gamma = 1 / sqrt(1-beta^2) More...
 
double Dot (const LorentzVec &other) const noexcept
 
vec3 BoostVector () const noexcept
 
void Boost (const vec3 &b) noexcept
 
double Angle (const vec3 &other) const
 
double Angle (const LorentzVec &other) const
 
template<class Archive >
void serialize (Archive &archive)
 

Static Public Member Functions

static LorentzVec EPThetaPhi (const double E, const double p, const double theta, const double phi) noexcept
 
static LorentzVec AtRest (const double restmass)
 

Public Attributes

vec3 p = {}
 
double E = {}
 

Friends

std::ostream & operator<< (std::ostream &s, const LorentzVec &o)
 

Detailed Description

A Lorentz vector (x,y,z,E), diag(-1,-1,-1, 1)

Constructor & Destructor Documentation

◆ LorentzVec() [1/5]

ant::LorentzVec::LorentzVec ( )
defaultnoexcept

◆ LorentzVec() [2/5]

ant::LorentzVec::LorentzVec ( const LorentzVec )
defaultnoexcept

◆ LorentzVec() [3/5]

ant::LorentzVec::LorentzVec ( LorentzVec &&  )
defaultnoexcept

◆ LorentzVec() [4/5]

ant::LorentzVec::LorentzVec ( const vec3 p_,
const double  E_ 
)
inlinenoexcept

◆ LorentzVec() [5/5]

LorentzVec::LorentzVec ( const TLorentzVector &  other)
noexcept

Member Function Documentation

◆ Angle() [1/2]

double ant::LorentzVec::Angle ( const vec3 other) const
inline

◆ Angle() [2/2]

double ant::LorentzVec::Angle ( const LorentzVec other) const
inline

◆ AtRest()

static LorentzVec ant::LorentzVec::AtRest ( const double  restmass)
inlinestatic

◆ Beta()

double ant::LorentzVec::Beta ( ) const
inlinenoexcept

◆ Boost()

void ant::LorentzVec::Boost ( const vec3 b)
inlinenoexcept

◆ BoostVector()

vec3 ant::LorentzVec::BoostVector ( ) const
inlinenoexcept

◆ Dot()

double ant::LorentzVec::Dot ( const LorentzVec other) const
inlinenoexcept

◆ EPThetaPhi()

static LorentzVec ant::LorentzVec::EPThetaPhi ( const double  E,
const double  p,
const double  theta,
const double  phi 
)
inlinestaticnoexcept

◆ Gamma()

double ant::LorentzVec::Gamma ( ) const
inlinenoexcept

Gamma = 1 / sqrt(1-beta^2)

Returns

◆ M()

double ant::LorentzVec::M ( ) const
inline

◆ M2()

double ant::LorentzVec::M2 ( ) const
inlinenoexcept

◆ operator TLorentzVector()

LorentzVec::operator TLorentzVector ( ) const
noexcept

◆ operator!=()

bool ant::LorentzVec::operator!= ( const LorentzVec other) const
inlinenoexcept

◆ operator*()

LorentzVec ant::LorentzVec::operator* ( const double  a) const
inlinenoexcept

◆ operator*=()

LorentzVec& ant::LorentzVec::operator*= ( const double  a)
inlinenoexcept

◆ operator+()

LorentzVec ant::LorentzVec::operator+ ( const LorentzVec other) const
inlinenoexcept

◆ operator+=()

LorentzVec& ant::LorentzVec::operator+= ( const LorentzVec other)
inlinenoexcept

◆ operator-()

LorentzVec ant::LorentzVec::operator- ( const LorentzVec other) const
inlinenoexcept

◆ operator-=()

LorentzVec& ant::LorentzVec::operator-= ( const LorentzVec other)
inlinenoexcept

◆ operator/()

LorentzVec ant::LorentzVec::operator/ ( const double  a) const
inlinenoexcept

◆ operator/=()

LorentzVec& ant::LorentzVec::operator/= ( const double  a)
inlinenoexcept

◆ operator=() [1/3]

LorentzVec& ant::LorentzVec::operator= ( const LorentzVec )
defaultnoexcept

◆ operator=() [2/3]

LorentzVec& ant::LorentzVec::operator= ( LorentzVec &&  )
defaultnoexcept

◆ operator=() [3/3]

LorentzVec & LorentzVec::operator= ( const TLorentzVector  other)
noexcept

◆ operator==()

bool ant::LorentzVec::operator== ( const LorentzVec other) const
inlinenoexcept

◆ P()

double ant::LorentzVec::P ( ) const
inline

◆ Phi()

double ant::LorentzVec::Phi ( ) const
inline

◆ serialize()

template<class Archive >
void ant::LorentzVec::serialize ( Archive &  archive)
inline

◆ Theta()

double ant::LorentzVec::Theta ( ) const
inline

Friends And Related Function Documentation

◆ operator<<

std::ostream& operator<< ( std::ostream &  s,
const LorentzVec o 
)
friend

Member Data Documentation

◆ E

double ant::LorentzVec::E = {}

◆ p

vec3 ant::LorentzVec::p = {}

The documentation for this struct was generated from the following files: