OPALX (Object Oriented Parallel Accelerator Library for Exascal) MINIorX
OPALX
ParticleProperties Class Reference

#include <ParticleProperties.h>

Collaboration diagram for ParticleProperties:

Static Public Member Functions

static ParticleType getParticleType (const std::string &str)
static std::string getParticleTypeString (const ParticleType &type)
static double getParticleMass (const ParticleType &type)
static double getParticleCharge (const ParticleType &type)
static double getParticleChargeInCoulomb (const ParticleType &type)

Static Private Attributes

static const boost::bimap< ParticleType, std::string > bmParticleType_s
static const std::map< ParticleType, double > particleMass_m
static const std::map< ParticleType, double > particleCharge_m

Detailed Description

Definition at line 51 of file ParticleProperties.h.

Member Function Documentation

◆ getParticleCharge()

double ParticleProperties::getParticleCharge ( const ParticleType & type)
static

Definition at line 41 of file ParticleProperties.cpp.

References particleCharge_m.

Referenced by getParticleChargeInCoulomb(), and Beam::update().

Here is the caller graph for this function:

◆ getParticleChargeInCoulomb()

double ParticleProperties::getParticleChargeInCoulomb ( const ParticleType & type)
static

Definition at line 45 of file ParticleProperties.cpp.

References getParticleCharge(), and Physics::q_e.

Here is the call graph for this function:

◆ getParticleMass()

double ParticleProperties::getParticleMass ( const ParticleType & type)
static

Definition at line 37 of file ParticleProperties.cpp.

References particleMass_m.

Referenced by Beam::update().

Here is the caller graph for this function:

◆ getParticleType()

ParticleType ParticleProperties::getParticleType ( const std::string & str)
static

Definition at line 24 of file ParticleProperties.cpp.

References bmParticleType_s, and UNNAMED.

Referenced by Beam::update().

Here is the caller graph for this function:

◆ getParticleTypeString()

std::string ParticleProperties::getParticleTypeString ( const ParticleType & type)
static

Definition at line 33 of file ParticleProperties.cpp.

References bmParticleType_s.

Member Data Documentation

◆ bmParticleType_s

const boost::bimap< ParticleType, std::string > ParticleProperties::bmParticleType_s
staticprivate
Initial value:
=
boost::assign::list_of<const boost::bimap<ParticleType, std::string>::relation>
(ParticleType::UNNAMED, "UNNAMED")
(ParticleType::ELECTRON, "ELECTRON")
(ParticleType::POSITRON, "POSITRON")
(ParticleType::ANTIPROTON, "ANTIPROTON")
(ParticleType::DEUTERON, "DEUTERON")
(ParticleType::HYDROGEN, "HYDROGEN")
(ParticleType::URANIUM, "URANIUM")

Definition at line 63 of file ParticleProperties.h.

Referenced by getParticleType(), and getParticleTypeString().

◆ particleCharge_m

const std::map< ParticleType, double > ParticleProperties::particleCharge_m
staticprivate

◆ particleMass_m

const std::map< ParticleType, double > ParticleProperties::particleMass_m
staticprivate
Initial value:
= {
}
constexpr double m_xe
The xenon-129 (fully-stripped) rest mass in GeV.
Definition Physics.h:120
constexpr double m_alpha
The alpha particle rest mass in GeV.
Definition Physics.h:123
constexpr double m_u
The uranium-238 (fully-stripped) rest mass in GeV.
Definition Physics.h:111
constexpr double m_p
The proton rest mass in GeV.
Definition Physics.h:90
constexpr double m_h3p
The H3+ rest mass in GeV.
Definition Physics.h:132
constexpr double m_h2p
The H2+ rest mass in GeV.
Definition Physics.h:129
constexpr double m_e
The electron rest mass in GeV.
Definition Physics.h:78
constexpr double m_hm
The H- rest mass in GeV.
Definition Physics.h:108
constexpr double m_h
The hydrogen atom rest mass in GeV.
Definition Physics.h:126
constexpr double m_mu
The muon rest mass in GeV.
Definition Physics.h:114
constexpr double m_c
The carbon-12 (fully-stripped) rest mass in GeV.
Definition Physics.h:105
constexpr double m_d
The deuteron rest mass in GeV.
Definition Physics.h:117

Definition at line 67 of file ParticleProperties.h.

Referenced by getParticleMass().


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