Celeritas 0.6.0-67+develop.47f47c88
Loading...
Searching...
No Matches
Public Member Functions | List of all members
celeritas::SurfaceParams Class Referencefinal

Map volumetric geometry information to surface IDs. More...

#include <SurfaceParams.hh>

Inheritance diagram for celeritas::SurfaceParams:
Inheritance graph
[legend]

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)
 
bool empty () const
 Whether any surfaces are present.
 
SurfaceId::size_type num_surfaces () const
 Number of surfaces.
 
SurfaceMap constlabels () const
 Get surface metadata.
 
HostRef consthost_ref () const final
 Reference to CPU geometry data.
 
DeviceRef constdevice_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)
 

Detailed Description

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.

Member Function Documentation

◆ device_ref()

DeviceRef const & celeritas::SurfaceParams::device_ref ( ) const
inlinefinalvirtual

Reference to managed GPU geometry data.

Implements celeritas::ParamsDataInterface< SurfaceParamsData >.

◆ host_ref()

HostRef const & celeritas::SurfaceParams::host_ref ( ) const
inlinefinalvirtual

Reference to CPU geometry data.

Implements celeritas::ParamsDataInterface< SurfaceParamsData >.


The documentation for this class was generated from the following files: