Celeritas 0.6.0-110+develop.c7dc37d1
Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
celeritas::VolumeAccessorInterface< V, VI, CVI > Class Template Referenceabstract

Interface for accessing the volume graph. More...

#include <VolumeVisitor.hh>

Inheritance diagram for celeritas::VolumeAccessorInterface< V, VI, CVI >:
Inheritance graph
[legend]

Public Types

using VolumeRef = V
 A lightweight identifier for a volume: OpaqueId or pointer.
 
using VolumeInstanceRef = VI
 A lightweight identifier for a volume instance.
 
using ContainerVolInstRef = CVI
 Container of child volume instances.
 

Public Member Functions

virtual VolumeRef volume (VolumeInstanceRef parent)=0
 Outgoing volume node from an instance.
 
virtual ContainerVolInstRef children (VolumeRef parent)=0
 Outgoing instance nodes from a volume.
 

Detailed Description

template<class V, class VI, class CVI = std::vector<VI>>
class celeritas::VolumeAccessorInterface< V, VI, CVI >

Interface for accessing the volume graph.

Template Parameters
VLightweight volume reference
VILightweight volume instance reference
CVIContainer of volume instance references

Note that this helper class is a template interface specification, not a required base class. Providing the type aliases and member functions is all that's needed.

Member Function Documentation

◆ children()

template<class V , class VI , class CVI = std::vector<VI>>
virtual ContainerVolInstRef celeritas::VolumeAccessorInterface< V, VI, CVI >::children ( VolumeRef  parent)
pure virtual

Outgoing instance nodes from a volume.

Implemented in celeritas::GeantVolumeAccessor, and celeritas::VecgeomVolumeAccessor.

◆ volume()

template<class V , class VI , class CVI = std::vector<VI>>
virtual VolumeRef celeritas::VolumeAccessorInterface< V, VI, CVI >::volume ( VolumeInstanceRef  parent)
pure virtual

Outgoing volume node from an instance.

Implemented in celeritas::GeantVolumeAccessor, and celeritas::VecgeomVolumeAccessor.


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