Celeritas 0.6.0-99+develop.f278deeb
|
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 | SpanConstVolumeId = Span< VolumeId const > |
using | VolumeMap = LabelIdMultiMap< VolumeId > |
using | VolInstanceMap = LabelIdMultiMap< VolumeInstanceId > |
![]() | |
using | HostRef = HostCRef< VecgeomParamsData > |
using | DeviceRef = DeviceCRef< VecgeomParamsData > |
Public Member Functions | |
VecgeomParams (vecgeom::GeoManager const &, Ownership, VecLv const &, VecPv &&) | |
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 final |
Maximum nested geometry depth. | |
inp::Model | make_model_input () const final |
Create model parameters corresponding to our internal representation. | |
VolumeMap const & | volumes () const final |
Get volume metadata. | |
VolInstanceMap const & | volume_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. | |
GeantPhysicalInstance | id_to_geant (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. | |
![]() | |
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.
celeritas::VecgeomParams::VecgeomParams | ( | vecgeom::GeoManager const & | geo, |
Ownership | owns, | ||
VecLv const & | lv, | ||
VecPv && | pv | ||
) |
Set up vecgeom given existing an already set up VecGeom CPU world.
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.
|
finalvirtual |
Create model parameters corresponding to our internal representation.
This could be used to eliminate the "gaps" from the [TEMP]
volumes.
Implements celeritas::GeoParamsInterface.
|
inlinefinalvirtual |
|
inlinefinalvirtual |
Whether safety distance calculations are accurate and precise.
Implements celeritas::GeoParamsInterface.
|
inlinefinalvirtual |
Get volume instance metadata.
Volume instances correspond directly to Geant4 physical volumes.
Implements celeritas::GeoParamsInterface.
|
inlinefinalvirtual |
Get volume metadata.
Implements celeritas::GeoParamsInterface.