Celeritas  0.5.0-56+6b053cd
Public Member Functions | Public Attributes | List of all members
celeritas::ProcessGroup Struct Reference

Processes for a single particle type. More...

#include <PhysicsData.hh>

Public Member Functions

CELER_FUNCTION operator bool () const
 True if assigned and valid.
 
CELER_FUNCTION ParticleProcessId::size_type size () const
 Number of processes that apply.
 

Public Attributes

ItemRange< ProcessIdprocesses
 Processes that apply [ppid].
 
ValueGridArray< ItemRange< ValueTable > > tables
 [vgt][ppid]
 
ItemRange< IntegralXsProcessintegral_xs
 [ppid]
 
ItemRange< ModelGroupmodels
 Model applicability [ppid].
 
ParticleProcessId eloss_ppid {}
 Process with de/dx and range tables.
 
bool has_at_rest {}
 Whether the particle type has an at-rest process.
 

Detailed Description

Processes for a single particle type.

Each index should be accessed with type ParticleProcessId. The "tables" are a fixed-size number of ItemRange references to ValueTables. The first index of the table (hard-coded) corresponds to ValueGridType; the second index is a ParticleProcessId. So the cross sections for ParticleProcessId{2} would be

tables[ValueGridType::macro_xs][2]
ValueGridArray< ItemRange< ValueTable > > tables
[vgt][ppid]
Definition: PhysicsData.hh:133

. This awkward access is encapsulated by the PhysicsTrackView. integral_xs will only be assigned if the integral approach is used and the particle has continuous-discrete processes.


The documentation for this struct was generated from the following file: