Celeritas 0.6.0-93+develop.7a7d9941
|
Retrieve the surface ID between two volume instances. More...
#include <VolumeSurfaceSelector.hh>
Public Member Functions | |
CELER_FUNCTION | VolumeSurfaceSelector (NativeCRef< SurfaceParamsData > const ¶ms, VolumeId pre_volume, VolumeInstanceId pre_volume_inst) |
Construct with pre-volume IDs. | |
CELER_FUNCTION | VolumeSurfaceSelector (NativeCRef< SurfaceParamsData > const ¶ms, 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. | |
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.
|
inline |
Select surface based on post-volume IDs.
Returns an invalid SurfaceId
if no surface data exists for the volumes.