Celeritas 0.6.0-92+develop.2b343e9f
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Public Attributes | List of all members
celeritas::SurfacePhysicsMapData< W, M > Struct Template Reference

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>
SurfacePhysicsMapDataoperator= (SurfacePhysicsMapData< W2, M2 > const &other)
 Assign from another set of data.
 

Public Attributes

SurfaceItems< ActionIdaction_ids
 
SurfaceItems< ModelSurfaceIdmodel_surface_ids
 

Detailed Description

template<Ownership W, MemSpace M>
struct celeritas::SurfacePhysicsMapData< W, M >

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.

Todo:

support for layers

generalize to other ID types/subtypes and use for volumetric physics to eliminate some of the complexity?


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