Celeritas 0.6.0-92+develop.2b343e9f
|
Device-compatible map between surface+layer IDs and actions/indices. More...
#include <SurfacePhysicsMapData.hh>
Public Types | |
using | SurfaceLayer = SurfaceModel::SurfaceLayer |
using | ModelSurfaceId = SurfaceModel::ModelSurfaceId |
template<class T > | |
using | SurfaceItems = Collection< T, W, M, SurfaceId > |
Public Member Functions | |
CELER_FUNCTION | operator bool () const |
True if assigned. | |
template<Ownership W2, MemSpace M2> | |
SurfacePhysicsMapData & | operator= (SurfacePhysicsMapData< W2, M2 > const &other) |
Assign from another set of data. | |
Public Attributes | |
SurfaceItems< ActionId > | action_ids |
SurfaceItems< ModelSurfaceId > | model_surface_ids |
Device-compatible map between surface+layer IDs and actions/indices.
One or more instances of these should be stored as member data inside a downstream ParamsData class. For instance, optical surface physics will have one map for roughness, one for reflectivity, and one for interaction.
support for layers
generalize to other ID types/subtypes and use for volumetric physics to eliminate some of the complexity?