Celeritas
0.5.0-86+4a8eea4
|
Type definitions for simulation management. More...
#include <cstdint>
#include "corecel/Config.hh"
#include "corecel/Assert.hh"
#include "corecel/Macros.hh"
#include "corecel/OpaqueId.hh"
#include "corecel/Types.hh"
#include "corecel/sys/ThreadId.hh"
#include "geocel/Types.hh"
Classes | |
struct | celeritas::StepLimit |
Step length and limiting action to take. More... | |
Typedefs | |
using | celeritas::ElementId = OpaqueId< struct ElementRecord > |
Opaque index to ElementRecord in the global vector of elements. | |
using | celeritas::EventId = OpaqueId< struct Event_ > |
Zero-indexed counter for the initiating event for a track. | |
using | celeritas::UniqueEventId = OpaqueId< struct Event_, std::uint64_t > |
Unique identifier for an event used by external applications. | |
using | celeritas::IsotopeId = OpaqueId< struct IsotopeRecord > |
Opaque index to IsotopeRecord in a vector. | |
using | celeritas::MaterialId = OpaqueId< struct Material_ > |
Opaque index of a material modified by physics options. | |
using | celeritas::ModelId = OpaqueId< struct Model_ > |
Opaque index of model in the list of physics processes. | |
using | celeritas::OpticalMaterialId = OpaqueId< struct OpticalMaterial_ > |
Opaque index to a material with optical properties. | |
using | celeritas::ParticleId = OpaqueId< struct Particle_ > |
Opaque index to ParticleRecord in a vector: represents a particle type. | |
using | celeritas::ProcessId = OpaqueId< struct Process_ > |
Opaque index of physics process. | |
using | celeritas::TrackId = OpaqueId< struct Track_ > |
Unique ID (for an event) of a track among all primaries and secondaries. | |
using | celeritas::ChannelId = OpaqueId< struct Channel_ > |
Opaque index of particle-nucleon cascade channel. | |
using | celeritas::DetectorId = OpaqueId< struct Detector_ > |
Opaque index for mapping volume-specific "sensitive detector" objects. | |
using | celeritas::ElementComponentId = OpaqueId< struct MatElementComponent > |
Opaque index to one elemental component datum in a particular material. | |
using | celeritas::IsotopeComponentId = OpaqueId< struct ElIsotopeComponent > |
Opaque index to one isotopic component datum in a particular element. | |
using | celeritas::ParticleProcessId = OpaqueId< ProcessId > |
Opaque index of a process applicable to a single particle type. | |
using | celeritas::ParticleModelId = OpaqueId< ModelId > |
Opaque index of a model applicable to a single particle type. | |
using | celeritas::SubshellId = OpaqueId< struct Subshell_ > |
Opaque index of electron subshell. | |
Enumerations | |
enum class | celeritas::MatterState { unspecified = 0 , solid , liquid , gas , size_ } |
Physical state of matter. | |
enum class | celeritas::TrackStatus : std::uint_least8_t { inactive = 0 , initializing , alive , begin_dying_ , errored = begin_dying_ , killed , size_ } |
Whether a track slot is alive, inactive, or dying inside a step iteration. More... | |
enum class | celeritas::StepPoint { pre , post , size_ } |
Differentiate between result data at the beginning and end of a step. | |
enum class | celeritas::TrackOrder { none , begin_layout_ , init_charge = begin_layout_ , end_layout_ , begin_reindex_ = end_layout_ , reindex_shuffle = begin_reindex_ , reindex_status , reindex_particle_type , begin_reindex_action_ , reindex_along_step_action = begin_reindex_action_ , reindex_step_limit_action , reindex_both_action , end_reindex_action_ , end_reindex_ = end_reindex_action_ , size_ = end_reindex_ } |
Change the ordering or thread mapping of track slots. More... | |
enum class | celeritas::MscStepLimitAlgorithm { minimal , safety , safety_plus , distance_to_boundary , size_ } |
Algorithm used to calculate the multiple scattering step limit. | |
enum class | celeritas::NuclearFormFactorType { none , flat , exponential , gaussian , size_ } |
Nuclear form factor model for Coulomb scattering. | |
Functions | |
CELER_CONSTEXPR_FUNCTION bool | celeritas::is_track_valid (TrackStatus status) |
Whether a track is in a consistent, valid state. | |
char const * | celeritas::to_cstring (Interp value) |
Get a string corresponding to an interpolation. | |
char const * | celeritas::to_cstring (MatterState value) |
Get a string corresponding to a state of matter. | |
char const * | celeritas::to_cstring (TrackStatus value) |
Get a string corresponding to a track status. | |
char const * | celeritas::to_cstring (TrackOrder value) |
Get a string corresponding to a track ordering policy. | |
char const * | celeritas::to_cstring (MscStepLimitAlgorithm value) |
Get a string corresponding to the MSC step limit algorithm. | |
char const * | celeritas::to_cstring (NuclearFormFactorType value) |
Get a string corresponding to the nuclear form factor model. | |
Type definitions for simulation management.
|
strong |
Change the ordering or thread mapping of track slots.
There are three categories of track sorting:
none
)init_charge
)reindex_status
, reindex_particle_type
), actions (reindex_along_step_action
, reindex_step_limit_action
, reindex_both_action
).reindex_shuffle
).
|
strong |
Whether a track slot is alive, inactive, or dying inside a step iteration.
Each track slot has a state marking its transition between death and life.
inactive
. If not filled with a new track, it is inactive for the rest of the step iteration.initializing
. If an error occurs during initialization it is errored
.alive
.errored
or killed
.