|
Celeritas 0.7.0-dev.168+develop.6e17e5869
|
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> | |
| SurfaceParamsData & | operator= (SurfaceParamsData< W2, M2 > const &other) |
| Assign from another set of data. | |
Public Attributes | |
| SurfaceId::size_type | num_surfaces {0} |
| Number of surfaces. | |
| VolumeItems< VolumeSurfaceRecord > | volume_surfaces |
| Surface properties for logical volumes. | |
| Items< VolumeInstanceId > | volume_instance_ids |
| Items< SurfaceId > | surface_ids |
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.
| Items<SurfaceId> celeritas::SurfaceParamsData< W, M >::surface_ids |
Backend storage for surface interfaces
| Items<VolumeInstanceId> celeritas::SurfaceParamsData< W, M >::volume_instance_ids |
Backend storage for surface interfaces