Celeritas 0.6.0-dev.115+3b60a5fd
Loading...
Searching...
No Matches
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 constid_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 consthost_ref () const final
 Access material properties on the host.
 
DeviceRef constdevice_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
 
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. See celeritas::PDGNumber for details on the PDG code used during construction.

Member Function Documentation

◆ device_ref()

DeviceRef const & celeritas::ParticleParams::device_ref ( ) const
inlinefinalvirtual

Access material properties on the device.

Implements celeritas::ParamsDataInterface< ParticleParamsData >.

◆ find()

ParticleId celeritas::ParticleParams::find ( PDGNumber  pdg_code) const
inline

Find the ID from a PDG code.

Todo:
Multiple particles can share a "generic" PDG code so this should be a multimap.

◆ host_ref()

HostRef const & celeritas::ParticleParams::host_ref ( ) const
inlinefinalvirtual

Access material properties on the host.

Implements celeritas::ParamsDataInterface< ParticleParamsData >.


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