Celeritas 0.6.0-dev.115+3b60a5fd
Loading...
Searching...
No Matches
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 () final
 Clean up vecgeom on destruction.
 
bool supports_safety () const final
 Whether safety distance calculations are accurate and precise.
 
BBox constbbox () const final
 Outer bounding box of geometry.
 
LevelId::size_type max_depth () const final
 Maximum nested geometry depth.
 
VolumeMap constvolumes () const final
 Get volume metadata.
 
VolInstanceMap constvolume_instances () const final
 Get volume instance metadata.
 
VolumeId find_volume (G4LogicalVolume const *volume) const final
 Locate the volume ID corresponding to a Geant4 logical volume.
 
G4VPhysicalVolume constid_to_pv (VolumeInstanceId vol_id) const final
 Get the Geant4 physical volume corresponding to a volume instance ID.
 
HostRef consthost_ref () const final
 Access geometry data on host.
 
DeviceRef constdevice_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 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.
 
- Public Member Functions inherited from celeritas::ParamsDataInterface< VecgeomParamsData >
VecgeomParamsData< Ownership::const_reference, M > const & ref () const
 
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

◆ bbox()

BBox const & celeritas::VecgeomParams::bbox ( ) const
inlinefinalvirtual

Outer bounding box of geometry.

Implements celeritas::GeoParamsInterface.

◆ device_ref()

DeviceRef const & celeritas::VecgeomParams::device_ref ( ) const
inlinefinalvirtual

Access geometry data on device.

Implements celeritas::ParamsDataInterface< VecgeomParamsData >.

◆ find_volume() [1/2]

VolumeId celeritas::VecgeomParams::find_volume ( G4LogicalVolume const volume) const
finalvirtual

Locate the volume ID corresponding to a Geant4 logical volume.

Implements celeritas::GeoParamsInterface.

◆ find_volume() [2/2]

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

Get the volume ID corresponding to a Geant4 logical volume.

Implements celeritas::GeoParamsInterface.

◆ host_ref()

HostRef const & celeritas::VecgeomParams::host_ref ( ) const
inlinefinalvirtual

Access geometry data on host.

Implements celeritas::ParamsDataInterface< VecgeomParamsData >.

◆ id_to_pv()

G4VPhysicalVolume const * celeritas::VecgeomParams::id_to_pv ( VolumeInstanceId  vol_id) const
finalvirtual

Get the Geant4 physical volume corresponding to a volume instance ID.

Implements celeritas::GeoParamsInterface.

◆ max_depth()

LevelId::size_type celeritas::VecgeomParams::max_depth ( ) const
inlinefinalvirtual

Maximum nested geometry depth.

Implements celeritas::GeoParamsInterface.

◆ supports_safety()

bool celeritas::VecgeomParams::supports_safety ( ) const
inlinefinalvirtual

Whether safety distance calculations are accurate and precise.

Implements celeritas::GeoParamsInterface.

◆ volume_instances()

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

Get volume instance metadata.

Volume instances correspond directly to Geant4 physical volumes.

Implements celeritas::GeoParamsInterface.

◆ volumes()

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

Get volume metadata.

Implements celeritas::GeoParamsInterface.


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