Celeritas 0.6.0-93+develop.7a7d9941
Loading...
Searching...
No Matches
Public Member Functions | List of all members
celeritas::optical::VolumeSurfaceSelector Class Reference

Retrieve the surface ID between two volume instances. More...

#include <VolumeSurfaceSelector.hh>

Public Member Functions

CELER_FUNCTION VolumeSurfaceSelector (NativeCRef< SurfaceParamsData > const &params, VolumeId pre_volume, VolumeInstanceId pre_volume_inst)
 Construct with pre-volume IDs.
 
CELER_FUNCTION VolumeSurfaceSelector (NativeCRef< SurfaceParamsData > const &params, GeoTrackView const &geo)
 Convenience constructor to use IDs from geometry.
 
CELER_FUNCTION SurfaceId operator() (VolumeId post_volume, VolumeInstanceId post_volume_inst) const
 Select surface based on post-volume IDs.
 
CELER_FUNCTION SurfaceId operator() (GeoTrackView const &) const
 Convenience function to use IDs from geometry.
 

Detailed Description

Retrieve the surface ID between two volume instances.

Given (old, new) physical volumes P0, P1 corresponding to logical volumes L0, L1

This behavior differs from Geant4's order of precedence, which considers if there's a mother-daughter relation between L0 and L1 when both have a boundary surface:

When multiple layers are implemented, this selector will be responsible for determining the ordering of the layers between the volumes, including both interface and boundary surfaces.

Member Function Documentation

◆ operator()()

CELER_FUNCTION SurfaceId celeritas::optical::VolumeSurfaceSelector::operator() ( VolumeId  post_volume,
VolumeInstanceId  post_volume_inst 
) const
inline

Select surface based on post-volume IDs.

Returns an invalid SurfaceId if no surface data exists for the volumes.


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