Celeritas
0.5.0-56+6b053cd
|
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< ProcessId > | processes |
Processes that apply [ppid]. | |
ValueGridArray< ItemRange< ValueTable > > | tables |
[vgt][ppid] | |
ItemRange< IntegralXsProcess > | integral_xs |
[ppid] | |
ItemRange< ModelGroup > | models |
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. | |
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
. 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.