Celeritas  0.5.0-56+6b053cd
Classes | Public Types | Public Member Functions | Static Public Member Functions | List of all members
celeritas::ParticleParams Class Referencefinal

Data management for Standard Model particle classifications. More...

#include <ParticleParams.hh>

Inheritance diagram for celeritas::ParticleParams:
Inheritance graph
[legend]

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< ParticleParamsfrom_import (ImportData const &data)
 Construct with imported data.
 

Additional Inherited Members

- Protected Member Functions inherited from celeritas::ParamsDataInterface< ParticleParamsData >
 CELER_DEFAULT_COPY_MOVE (ParamsDataInterface)
 

Detailed Description

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.


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