Celeritas 0.6.0-91+develop.2f018e72
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 data is consistent.
 
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
 
Items< SurfaceIdsurface_ids
 

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 SurfaceParams is constructed with an empty surface input (no user-provided surfaces for an optical physics run) it will be correctly sized but have no surfaces. It can also be constructed in a "not very useful" but valid state for EM-only physics: the volume surfaces array can be empty.

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

Member Data Documentation

◆ surface_ids

template<Ownership W, MemSpace M>
Items<SurfaceId> celeritas::SurfaceParamsData< W, M >::surface_ids

Backend storage for surface interfaces

◆ volume_instance_ids

template<Ownership W, MemSpace M>
Items<VolumeInstanceId> celeritas::SurfaceParamsData< W, M >::volume_instance_ids

Backend storage for surface interfaces


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