Celeritas 0.6.0-89+develop.74e3f0f0
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)
 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 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.

Construction requirements:

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: