Celeritas
0.5.0-56+6b053cd
|
Optical photon distribution data. More...
#include <OffloadData.hh>
Public Types | |
template<class T > | |
using | StateItems = StateCollection< T, W, M > |
template<class T > | |
using | Items = Collection< T, W, M > |
Public Member Functions | |
CELER_FUNCTION size_type | size () const |
Number of states. | |
CELER_FUNCTION | operator bool () const |
Whether all data are assigned and valid. | |
template<Ownership W2, MemSpace M2> | |
OffloadStateData & | operator= (OffloadStateData< W2, M2 > &other) |
Assign from another set of data. | |
Public Attributes | |
StateItems< OffloadPreStepData > | step |
Items< optical::GeneratorDistributionData > | cerenkov |
Items< optical::GeneratorDistributionData > | scintillation |
Items< size_type > | offsets |
Optical photon distribution data.
The distributions are stored in separate Cerenkov and scintillation buffers indexed by the current buffer size plus the track slot ID. The data is compacted at the end of each step by removing all invalid distributions. The order of the distributions in the buffers is guaranteed to be reproducible.