Celeritas 0.6.0-129+develop.846910afa
|
Shared model parameters for a VecGeom geometry. More...
#include <VecgeomParams.hh>
Public Types | |
Type aliases | |
using | VecLv = std::vector< G4LogicalVolume const * > |
using | VecPv = std::vector< G4VPhysicalVolume const * > |
using | ImplVolInstanceId = VecgeomPlacedVolumeId |
using | ImplVolInstanceMap = LabelIdMultiMap< ImplVolInstanceId > |
![]() | |
using | SpanConstVolumeId = Span< ImplVolumeId const > |
using | ImplVolumeMap = LabelIdMultiMap< ImplVolumeId > |
![]() | |
using | HostRef = HostCRef< VecgeomParamsData > |
using | DeviceRef = DeviceCRef< VecgeomParamsData > |
Public Member Functions | |
VecgeomParams (vecgeom::GeoManager const &, Ownership, VecLv const &, VecPv const &) | |
Set up vecgeom given existing an already set up VecGeom CPU world. | |
~VecgeomParams () final | |
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 |
Maximum nested geometry depth. | |
inp::Model | make_model_input () const final |
Create model parameters corresponding to our internal representation. | |
ImplVolumeMap const & | impl_volumes () const final |
Get volume metadata. | |
ImplVolInstanceMap const & | impl_volume_instances () const |
Get volume instance metadata. | |
ImplVolumeId | find_volume (G4LogicalVolume const *volume) const final |
Locate the volume ID corresponding to a Geant4 logical volume. | |
GeantPhysicalInstance | id_to_geant (VolumeInstanceId vol_id) const final |
Get the Geant4 physical volume corresponding to a volume instance ID. | |
VolumeId | volume_id (ImplVolumeId) const final |
Get the canonical volume IDs corresponding to an implementation volume. | |
HostRef const & | host_ref () const final |
Access geometry data on host. | |
DeviceRef const & | device_ref () const final |
Access geometry data on device. | |
virtual ImplVolumeId | find_volume (G4LogicalVolume const *volume) const=0 |
Get the volume ID corresponding to a Geant4 logical volume. | |
![]() | |
virtual | ~GeoParamsInterface ()=0 |
Default virtual destructor. | |
![]() | |
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. | |
Static constructor helpers | |
| |
static std::shared_ptr< VecgeomParams > | from_gdml (std::string const &filename) |
Build by loading a GDML file. | |
static std::shared_ptr< VecgeomParams > | from_gdml_g4 (std::string const &filename) |
Build by loading a GDML file using Geant4. | |
static std::shared_ptr< VecgeomParams > | from_gdml_vg (std::string const &filename) |
Build by loading a GDML file using VecGeom's (buggy) in-house loader. | |
static std::shared_ptr< VecgeomParams > | from_geant (std::shared_ptr< GeantGeoParams const > const &geo) |
Build from a Geant4 geometry. | |
Additional Inherited Members | |
![]() | |
CELER_DEFAULT_COPY_MOVE (GeoParamsInterface) | |
![]() | |
CELER_DEFAULT_COPY_MOVE (ParamsDataInterface) | |
Shared model parameters for a VecGeom geometry.
The model defines the shapes, volumes, etc.
Outer bounding box of geometry.
Implements celeritas::GeoParamsInterface.
|
inlinefinalvirtual |
Access geometry data on device.
Implements celeritas::ParamsDataInterface< VecgeomParamsData >.
|
finalvirtual |
Locate the volume ID corresponding to a Geant4 logical volume.
Implements celeritas::GeoParamsInterface.
|
virtual |
Get the volume ID corresponding to a Geant4 logical volume.
Implements celeritas::GeoParamsInterface.
|
static |
Build by loading a GDML file using Geant4.
This mode is incompatible with having an existing run manager. It will clear the geometry once complete.
|
inlinefinalvirtual |
Access geometry data on host.
Implements celeritas::ParamsDataInterface< VecgeomParamsData >.
|
finalvirtual |
Get the Geant4 physical volume corresponding to a volume instance ID.
Implements celeritas::GeoParamsInterface.
|
inline |
Get volume instance metadata.
Volume instances correspond directly to Geant4 physical volumes.
|
inlinefinalvirtual |
Get volume metadata.
Implements celeritas::GeoParamsInterface.
|
finalvirtual |
Create model parameters corresponding to our internal representation.
Currently this creates a one-to-one mapping for use when constructed from VGDML rather than Geant4.
Implements celeritas::GeoParamsInterface.
|
inline |
Maximum nested geometry depth.
|
inlinefinalvirtual |
Whether safety distance calculations are accurate and precise.
Implements celeritas::GeoParamsInterface.
|
inlinefinalvirtual |
Get the canonical volume IDs corresponding to an implementation volume.
Implements celeritas::GeoParamsInterface.