Celeritas 0.6.0-129+develop.846910afa
Loading...
Searching...
No Matches
Classes | Public Member Functions | List of all members
celeritas::optical::VolumeSurfaceSelector Class Reference

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

#include <VolumeSurfaceSelector.hh>

Classes

struct  OrientedSurface
 

Public Member Functions

CELER_FUNCTION VolumeSurfaceSelector (VolumeSurfaceView pre_surface, VolumeInstanceId pre_volume_inst)
 Construct with pre-volume IDs.
 
CELER_FUNCTION OrientedSurface operator() (VolumeSurfaceView const &post_volume, VolumeInstanceId post_volume_inst) const
 Select surface based on post-volume IDs.
 

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 auto celeritas::optical::VolumeSurfaceSelector::operator() ( VolumeSurfaceView const post_surface,
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: