Celeritas  0.5.0-56+6b053cd
Public Member Functions | Protected Member Functions | List of all members
celeritas::GeoParamsInterface Class Referenceabstract

Interface class for accessing host geometry metadata. More...

#include <GeoParamsInterface.hh>

Inheritance diagram for celeritas::GeoParamsInterface:
Inheritance graph
[legend]

Public Types

Type aliases
using SpanConstVolumeId = Span< VolumeId const >
 
using VolumeMap = LabelIdMultiMap< VolumeId >
 
using VolInstanceMap = LabelIdMultiMap< VolumeInstanceId >
 

Public Member Functions

virtual ~GeoParamsInterface ()=0
 Default virtual destructor.
 
virtual bool supports_safety () const =0
 Whether safety distance calculations are accurate and precise.
 
virtual BBox const & bbox () const =0
 Outer bounding box of geometry.
 
virtual LevelId::size_type max_depth () const =0
 Maximum nested scene/volume depth.
 
virtual VolumeMap const & volumes () const =0
 Get volume metadata.
 
virtual VolInstanceMap const & volume_instances () const =0
 Get volume instance metadata.
 
virtual VolumeId find_volume (G4LogicalVolume const *volume) const =0
 Get the volume ID corresponding to a Geant4 logical volume.
 
virtual G4VPhysicalVolume const * id_to_pv (VolumeInstanceId id) const =0
 Get the Geant4 PV corresponding to a volume instance.
 
VolumeId::size_type num_volumes () const
 Number of volumes.
 
Label const & id_to_label (VolumeId vol_id) const
 Get the label for a placed volume ID.
 
VolumeId find_volume (std::string const &name) const
 Get the volume ID corresponding to a unique name.
 
VolumeId find_volume (Label const &label) const
 Get the volume ID corresponding to a unique label.
 
VolumeId find_volume (char const *name) const
 Get the volume ID corresponding to a unique name.
 
SpanConstVolumeId find_volumes (std::string const &name) const
 Get the volume ID corresponding to a unique name.
 

Protected Member Functions

 CELER_DEFAULT_COPY_MOVE (GeoParamsInterface)
 

Detailed Description

Interface class for accessing host geometry metadata.

This class is implemented by OrangeParams to allow navigation with the ORANGE geometry implementation, VecgeomParams for using VecGeom, and GeantGeoParams for testing with the Geant4-provided navigator.


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