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

Base TParticle class. More...

#include <TParticle.h>

+ Inheritance diagram for ant::TParticle:
+ Collaboration diagram for ant::TParticle:

Public Member Functions

const ParticleTypeDatabase::TypeType () const
 
 TParticle (const ParticleTypeDatabase::Type &type_, ant::mev_t Ek_, ant::radian_t theta_, ant::radian_t phi_)
 
 TParticle (const ParticleTypeDatabase::Type &type_, const LorentzVec &lorentzvector_)
 
 TParticle (const ParticleTypeDatabase::Type &type_, const TCandidatePtr &candidate)
 
mev_t Ek () const
 
void ChangeType (const ParticleTypeDatabase::Type &newtype)
 
template<class Archive >
void save (Archive &archive) const
 
template<class Archive >
void load (Archive &archive)
 
 TParticle (const TParticle &)=delete
 
TParticleoperator= (const TParticle &)=delete
 
 TParticle (TParticle &&)=default
 
TParticleoperator= (TParticle &&)=default
 
 TParticle ()
 
- Public Member Functions inherited from ant::LorentzVec
 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 double CalcAngle (const TParticlePtr &p1, const TParticlePtr &p2)
 
- Static Public Member Functions inherited from ant::LorentzVec
static LorentzVec EPThetaPhi (const double E, const double p, const double theta, const double phi) noexcept
 
static LorentzVec AtRest (const double restmass)
 

Public Attributes

TCandidatePtr Candidate
 
- Public Attributes inherited from ant::LorentzVec
vec3 p = {}
 
double E = {}
 

Protected Attributes

const ParticleTypeDatabase::Typetype
 

Friends

std::ostream & operator<< (std::ostream &stream, const TParticle &o)
 

Detailed Description

Base TParticle class.

Constructor & Destructor Documentation

◆ TParticle() [1/6]

TParticle::TParticle ( const ParticleTypeDatabase::Type type_,
ant::mev_t  Ek_,
ant::radian_t  theta_,
ant::radian_t  phi_ 
)

◆ TParticle() [2/6]

ant::TParticle::TParticle ( const ParticleTypeDatabase::Type type_,
const LorentzVec lorentzvector_ 
)
inline

◆ TParticle() [3/6]

ant::TParticle::TParticle ( const ParticleTypeDatabase::Type type_,
const TCandidatePtr candidate 
)
inline

◆ TParticle() [4/6]

ant::TParticle::TParticle ( const TParticle )
delete

◆ TParticle() [5/6]

ant::TParticle::TParticle ( TParticle &&  )
default

◆ TParticle() [6/6]

ant::TParticle::TParticle ( )
inline

Member Function Documentation

◆ CalcAngle()

static double ant::TParticle::CalcAngle ( const TParticlePtr p1,
const TParticlePtr p2 
)
inlinestatic

◆ ChangeType()

void TParticle::ChangeType ( const ParticleTypeDatabase::Type newtype)

◆ Ek()

mev_t ant::TParticle::Ek ( ) const
inline

◆ load()

template<class Archive >
void ant::TParticle::load ( Archive &  archive)
inline

◆ operator=() [1/2]

TParticle& ant::TParticle::operator= ( const TParticle )
delete

◆ operator=() [2/2]

TParticle& ant::TParticle::operator= ( TParticle &&  )
default

◆ save()

template<class Archive >
void ant::TParticle::save ( Archive &  archive) const
inline

◆ Type()

const ParticleTypeDatabase::Type& ant::TParticle::Type ( ) const
inline

Friends And Related Function Documentation

◆ operator<<

std::ostream& operator<< ( std::ostream &  stream,
const TParticle o 
)
friend

Member Data Documentation

◆ Candidate

TCandidatePtr ant::TParticle::Candidate

◆ type

const ParticleTypeDatabase::Type* ant::TParticle::type
protected

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