OPAL (Object Oriented Parallel Accelerator Library) 2022.1
OPAL
Static Public Member Functions | Static Private Attributes | List of all members
ParticleProperties Class Reference

#include <ParticleProperties.h>

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().

◆ getParticleChargeInCoulomb()

double ParticleProperties::getParticleChargeInCoulomb ( const ParticleType type)
static

Definition at line 45 of file ParticleProperties.cpp.

References getParticleCharge(), and Physics::q_e.

Referenced by BeamStrippingPhysics::transformToSecondary().

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 BeamStrippingPhysics::transformToSecondary(), and Beam::update().

◆ getParticleType()

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

Definition at line 24 of file ParticleProperties.cpp.

References bmParticleType_s, and UNNAMED.

Referenced by PartBunchBase< T, Dim >::setPType(), and Beam::update().

◆ getParticleTypeString()

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

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 65 of file ParticleProperties.h.

Referenced by getParticleMass().


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