Celeritas 0.6.0-67+develop.47f47c88
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Public Attributes | List of all members
celeritas::SurfaceParamsData< W, M > Struct Template Reference

Persistent data for mapping between volumes and their surfaces. More...

#include <SurfaceData.hh>

Public Types

template<class T >
using VolumeItems = Collection< T, W, M, VolumeId >
 
template<class T >
using Items = Collection< T, W, M >
 

Public Member Functions

CELER_FUNCTION operator bool () const
 True if surfaces are present.
 
template<Ownership W2, MemSpace M2>
SurfaceParamsDataoperator= (SurfaceParamsData< W2, M2 > const &other)
 Assign from another set of data.
 

Public Attributes

SurfaceId::size_type num_surfaces {0}
 Number of surfaces.
 
VolumeItems< VolumeSurfaceRecordvolume_surfaces
 Surface properties for logical volumes.
 
Items< VolumeInstanceIdvolume_instance_ids
 Backend storage for PV->PV mapping.
 
Items< SurfaceIdsurface_ids
 Backend storage for surface interfaces.
 

Detailed Description

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

Persistent data for mapping between volumes and their surfaces.

This structure stores device-compatible data relating volumes and their surfaces, primarily for optical physics at material interfaces.

If no "interface" surfaces are present then the backend storage arrays will be empty.

Todo:
We might want to have separate arrays for boundary and interface surfaces since models typically have one or the other but not both, and it could potentially reduce memory access requirements.

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