Celeritas 0.6.0-dev.115+3b60a5fd
Loading...
Searching...
No Matches
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 constbbox () const =0
 Outer bounding box of geometry.
 
virtual LevelId::size_type max_depth () const =0
 Maximum nested scene/volume depth.
 
virtual VolumeMap constvolumes () const =0
 Get volume metadata.
 
virtual VolInstanceMap constvolume_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 constid_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 constid_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.

Member Function Documentation

◆ bbox()

virtual BBox const & celeritas::GeoParamsInterface::bbox ( ) const
pure virtual

Outer bounding box of geometry.

Implemented in celeritas::GeantGeoParams, celeritas::VecgeomParams, and celeritas::OrangeParams.

◆ find_volume()

virtual VolumeId celeritas::GeoParamsInterface::find_volume ( G4LogicalVolume const volume) const
pure virtual

Get the volume ID corresponding to a Geant4 logical volume.

Implemented in celeritas::GeantGeoParams, celeritas::VecgeomParams, celeritas::OrangeParams, celeritas::GeantGeoParams, and celeritas::VecgeomParams.

◆ id_to_pv()

virtual G4VPhysicalVolume const * celeritas::GeoParamsInterface::id_to_pv ( VolumeInstanceId  id) const
pure virtual

Get the Geant4 PV corresponding to a volume instance.

Implemented in celeritas::GeantGeoParams, celeritas::VecgeomParams, and celeritas::OrangeParams.

◆ max_depth()

virtual LevelId::size_type celeritas::GeoParamsInterface::max_depth ( ) const
pure virtual

Maximum nested scene/volume depth.

Implemented in celeritas::GeantGeoParams, celeritas::VecgeomParams, and celeritas::OrangeParams.

◆ supports_safety()

virtual bool celeritas::GeoParamsInterface::supports_safety ( ) const
pure virtual

Whether safety distance calculations are accurate and precise.

Implemented in celeritas::GeantGeoParams, celeritas::VecgeomParams, and celeritas::OrangeParams.

◆ volume_instances()

virtual VolInstanceMap const & celeritas::GeoParamsInterface::volume_instances ( ) const
pure virtual

Get volume instance metadata.

Implemented in celeritas::GeantGeoParams, celeritas::VecgeomParams, and celeritas::OrangeParams.

◆ volumes()

virtual VolumeMap const & celeritas::GeoParamsInterface::volumes ( ) const
pure virtual

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