Celeritas  0.5.0-56+6b053cd
Public Member Functions | Static Public Member Functions | List of all members
celeritas::VecgeomParams Class Referencefinal

Shared model parameters for a VecGeom geometry. More...

#include <VecgeomParams.hh>

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

Public Member Functions

 VecgeomParams (std::string const &gdml_filename)
 Construct from a GDML input.
 
 VecgeomParams (G4VPhysicalVolume const *world)
 Translate a geometry from Geant4.
 
 ~VecgeomParams ()
 Clean up vecgeom on destruction.
 
bool supports_safety () const final
 Whether safety distance calculations are accurate and precise.
 
BBox const & bbox () const final
 Outer bounding box of geometry.
 
LevelId::size_type max_depth () const final
 Maximum nested geometry depth.
 
VolumeMap const & volumes () const final
 Get volume metadata.
 
VolInstanceMap const & volume_instances () const final
 Get volume instance metadata. More...
 
VolumeId find_volume (G4LogicalVolume const *volume) const final
 Locate the volume ID corresponding to a Geant4 logical volume.
 
G4VPhysicalVolume const * id_to_pv (VolumeInstanceId vol_id) const final
 Get the Geant4 physical volume corresponding to a volume instance ID.
 
HostRef const & host_ref () const final
 Access geometry data on host.
 
DeviceRef const & device_ref () const final
 Access geometry data on device.
 
virtual VolumeId find_volume (G4LogicalVolume const *volume) const=0
 Get the volume ID corresponding to a Geant4 logical volume.
 
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.
 
- Public Member Functions inherited from celeritas::GeoParamsInterface
virtual ~GeoParamsInterface ()=0
 Default virtual destructor.
 
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.
 
- Public Member Functions inherited from celeritas::ParamsDataInterface< VecgeomParamsData >
VecgeomParamsData< Ownership::const_reference, M > const & ref () const
 Dispatch a "ref" call to host or device data.
 

Static Public Member Functions

static bool use_surface_tracking ()
 Whether surface tracking is being used.
 
static bool use_vgdml ()
 Whether VecGeom GDML is used to load the geometry.
 

Additional Inherited Members

- Public Types inherited from celeritas::GeoParamsInterface
using SpanConstVolumeId = Span< VolumeId const >
 
using VolumeMap = LabelIdMultiMap< VolumeId >
 
using VolInstanceMap = LabelIdMultiMap< VolumeInstanceId >
 
- Public Types inherited from celeritas::ParamsDataInterface< VecgeomParamsData >
using HostRef = HostCRef< VecgeomParamsData >
 
using DeviceRef = DeviceCRef< VecgeomParamsData >
 
- Protected Member Functions inherited from celeritas::GeoParamsInterface
 CELER_DEFAULT_COPY_MOVE (GeoParamsInterface)
 
- Protected Member Functions inherited from celeritas::ParamsDataInterface< VecgeomParamsData >
 CELER_DEFAULT_COPY_MOVE (ParamsDataInterface)
 

Detailed Description

Shared model parameters for a VecGeom geometry.

The model defines the shapes, volumes, etc.

Member Function Documentation

◆ volume_instances()

auto celeritas::VecgeomParams::volume_instances ( ) const
inlinefinalvirtual

Get volume instance metadata.

Volume instances correspond directly to Geant4 physical volumes.

Implements celeritas::GeoParamsInterface.


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