1#ifndef AMPGEN_PARTICLEPROPERTIES_H
2#define AMPGEN_PARTICLEPROPERTIES_H
30 double mass()
const {
return m_mass *
MeV; }
39 int G()
const {
return m_Gparity; }
40 int P()
const {
return m_parity; }
41 int C()
const {
return m_Cparity; }
42 int R()
const {
return m_Rexist; }
43 int pdgID()
const {
return m_pdgID; }
45 int charge()
const {
return m_charge; }
46 char S()
const {
return m_status; }
47 std::string
I()
const {
return m_isospin; }
48 std::string
J()
const;
49 std::string
label()
const {
return m_texName; }
52 bool isValid()
const {
return m_isValid; }
60 void setProperty(
const std::string& key,
const std::string& value);
69 void print( std::ostream& out = std::cout )
const;
85 double m_mErrMinus{0};
88 double m_wErrMinus{0};
97 std::string m_isospin{
""};
98 std::string m_name{
""};
99 std::string m_texName{
""};
100 std::string m_chargeString{
""};
103 QuarkContent m_quarkContent;
105 bool m_customName = {
false};
108 int chargeFromString(
const std::string& ch,
bool& status )
const;
Class that contains the PDG properties (mass, width, charges, etc.) for a single particle species,...
double width() const
Returns width of particle in MeV.
bool operator==(const ParticleProperties &rhs) const
int G() const
Returns the G-parity of the particle.
bool isBoson() const
Check if the particle is a boson, i.e. if the spin 0, 1, 2...
std::string label() const
Returns the LaTeX formatted label for the particle.
const QuarkContent & quarkContent() const
Returns the particle's quark content.
double radius() const
Returns the effective interaction radius of the particle, i.e. for the Blatt-Weisskopf factors.
std::string spinName() const
Returns the name of the particles spin.
bool isFermion() const
Check if the particle is a fermion, i.e. if the spin 1/2, 3/2, ...
void removeDistinctAnti()
bool operator<=(const ParticleProperties &rhs) const
bool isPhoton() const
Check if the particle is a photon.
void setProperty(const std::string &key, const std::string &value)
set a propery of a particle by key
bool isNeutrino() const
Check if the particle is a neutrino.
bool isValid() const
Check if the particle properties have been configured correctly.
double mErrPlus() const
Returns +ve uncertainty on particle mass in MeV.
void print(std::ostream &out=std::cout) const
ParticleProperties anti() const
Return the antiparticle of this particle.
int pdgID() const
Returns the PDG id of the particle.
bool operator>=(const ParticleProperties &rhs) const
void setLabel(const std::string &label)
Set the LaTeX label of the particle.
int P() const
Returns the parity of the particle.
int R() const
Returns the R-parity of the particle.
bool operator>(const ParticleProperties &rhs) const
int twoSpin() const
Returns twice the spin of the particle.
double lifetime() const
Returns the lifetime of the particle in ns.
double wErrMinus() const
Returns -ve uncertainty on particle width in MeV.
bool isNonResonant() const
Check is this is a nonresonant ‘quasi-particle’.
ParticleProperties(const std::string &pdg_string="")
Constructor from a string formatted by the PDG convention.
std::vector< int > polarisations() const
bool hasDistinctAnti() const
Check if the particle has a distinct antiparticle.
static const ParticleProperties * get(const std::string &name, const bool &quiet=false)
std::string I() const
Returns the isospin of the particle as a string.
double wErrPlus() const
Returns +ve uncertainty on particle width in MeV.
char S() const
Returns the existence status of the particle, i.e. whether it is confirmed by multiple experiments.
bool antiThis()
Change this particle to its antiparticle.
void setName(const std::string &name)
Set the name of the particle.
std::string name() const
Returns the particle name.
double mass() const
Returns mass of particle in MeV.
bool operator<(const ParticleProperties &rhs) const
int C() const
Returns the C-parity of the particle.
int charge() const
Returns the (electrical) charge of the particle.
double mErrMinus() const
Returns -ve uncertainty on particle mass in MeV.
std::ostream & operator<<(std::ostream &os, const CompiledExpressionBase &expression)