Celeritas
0.5.0-86+4a8eea4
|
Data management for Standard Model particle classifications. More...
#include <ParticleParams.hh>
Classes | |
struct | ParticleInput |
Define a particle's input data. More... | |
Public Types | |
using | Input = std::vector< ParticleInput > |
Input data to construct this class. | |
Public Types inherited from celeritas::ParamsDataInterface< ParticleParamsData > | |
using | HostRef = HostCRef< ParticleParamsData > |
using | DeviceRef = DeviceCRef< ParticleParamsData > |
Public Member Functions | |
ParticleParams (Input const &defs) | |
Construct with a vector of particle definitions. | |
ParticleId::size_type | size () const |
Number of particle definitions. | |
std::string const & | id_to_label (ParticleId id) const |
Get particle name. | |
PDGNumber | id_to_pdg (ParticleId id) const |
Get PDG code for a particle ID. | |
ParticleId | find (std::string const &name) const |
Find the ID from a name. | |
ParticleId | find (PDGNumber pdg_code) const |
Find the ID from a PDG code. | |
ParticleView | get (ParticleId id) const |
Get particle properties in host code. | |
HostRef const & | host_ref () const final |
Access material properties on the host. | |
DeviceRef const & | device_ref () const final |
Access material properties on the device. | |
Public Member Functions inherited from celeritas::ParamsDataInterface< ParticleParamsData > | |
ParticleParamsData< Ownership::const_reference, M > const & | ref () const |
Dispatch a "ref" call to host or device data. | |
Static Public Member Functions | |
static std::shared_ptr< ParticleParams > | from_import (ImportData const &data) |
Construct with imported data. | |
Additional Inherited Members | |
Protected Member Functions inherited from celeritas::ParamsDataInterface< ParticleParamsData > | |
CELER_DEFAULT_COPY_MOVE (ParamsDataInterface) | |
Data management for Standard Model particle classifications.
This class represents "per-problem" shared data about standard model particles being used.
The ParticleParams is constructed on the host with a vector that combines metadata (used for debugging output and interfacing with physics setup) and data (used for on-device transport). Each entry in the construction is assigned a unique ParticleId
used for runtime access.
The PDG Monte Carlo number is a unique "standard model" identifier for a particle. See "Monte Carlo Particle Numbering Scheme" in the "Review of Particle Physics": https://pdg.lbl.gov/2020/reviews/rpp2020-rev-monte-carlo-numbering.pdf It should be used to identify particle types during construction time.