|
Celeritas 0.7.0-dev.164+develop.929c81eeb
|
Map volumetric geometry information to surface IDs. More...
#include <SurfaceParams.hh>

Public Types | |
Type aliases | |
| using | SurfaceMap = LabelIdMultiMap< SurfaceId > |
Public Types inherited from celeritas::ParamsDataInterface< SurfaceParamsData > | |
| using | HostRef = HostCRef< SurfaceParamsData > |
| using | DeviceRef = DeviceCRef< SurfaceParamsData > |
Public Member Functions | |
| SurfaceParams (inp::Surfaces const &, VolumeParams const &volumes) | |
| Construct from surface input and volume structure information. | |
| SurfaceParams () | |
| Construct no surface data for when optical physics is disabled. | |
| bool | empty () const |
| Whether any surfaces are present. | |
| bool | disabled () const |
| Whether surfaces are disabled for non-optical problems. | |
| SurfaceId::size_type | num_surfaces () const |
| Number of surfaces. | |
| SurfaceMap const & | labels () const |
| Get surface metadata. | |
| HostRef const & | host_ref () const final |
| Reference to CPU geometry data. | |
| DeviceRef const & | device_ref () const final |
| Reference to managed GPU geometry data. | |
Public Member Functions inherited from celeritas::ParamsDataInterface< SurfaceParamsData > | |
| SurfaceParamsData< Ownership::const_reference, M > const & | ref () const |
| SurfaceParamsData< Ownership::const_reference, M > const & | ref () const |
| Dispatch a "ref" call to host or device data. | |
Additional Inherited Members | |
Protected Member Functions inherited from celeritas::ParamsDataInterface< SurfaceParamsData > | |
| CELER_DEFAULT_COPY_MOVE (ParamsDataInterface) | |
Map volumetric geometry information to surface IDs.
See the introduction to the Geometry API section (api_geometry in user manual) for a detailed description of surfaces in the detector geometry description.
The specification of surfaces using volume relationships is required by volume-based geometries such as Geant4 and VecGeom 1, so it is not currently possible to define different properties for the different faces of a volume unless those faces are surrounded by distinct geometric volumes. Since ORANGE and VecGeom 2 support true surface definitions, a future extension will allow the user to attach surface properties to, for example, different sides of a cube.
Construction requirements:
|
inlinefinalvirtual |
Reference to managed GPU geometry data.
Implements celeritas::ParamsDataInterface< SurfaceParamsData >.
|
inlinefinalvirtual |
Reference to CPU geometry data.
Implements celeritas::ParamsDataInterface< SurfaceParamsData >.