Celeritas 0.6.0-129+develop.846910afa
|
Persistent model data for an ORANGE geometry. More...
#include <OrangeParams.hh>
Public Types | |
Type aliases | |
using | SurfaceMap = LabelIdMultiMap< ImplSurfaceId > |
using | UniverseMap = LabelIdMultiMap< UniverseId > |
using | SPConstVolumes = std::shared_ptr< VolumeParams const > |
![]() | |
using | SpanConstVolumeId = Span< ImplVolumeId const > |
using | ImplVolumeMap = LabelIdMultiMap< ImplVolumeId > |
![]() | |
using | HostRef = HostCRef< OrangeParamsData > |
using | DeviceRef = DeviceCRef< OrangeParamsData > |
Public Member Functions | |
OrangeParams (OrangeInput &&input) | |
Advanced usage: construct from explicit host data. | |
OrangeParams (OrangeInput &&input, SPConstVolumes &&volumes) | |
Advanced usage: construct from explicit host data and volumes. | |
~OrangeParams () final | |
Default destructor to define vtable externally. | |
CELER_DELETE_COPY_MOVE (OrangeParams) | |
bool | supports_safety () const final |
Whether safety distance calculations are accurate and precise. | |
BBox const & | bbox () const final |
Outer bounding box of geometry. | |
size_type | max_depth () const |
Maximum universe depth. | |
inp::Model | make_model_input () const final |
Create model parameters corresponding to our internal representation. | |
SurfaceMap const & | surfaces () const |
Get surface metadata. | |
UniverseMap const & | universes () const |
Get universe metadata. | |
ImplVolumeMap const & | impl_volumes () const final |
Get volume metadata. | |
ImplVolumeId | find_volume (G4LogicalVolume const *volume) const final |
Locate the volume ID corresponding to a Geant4 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. | |
VolumeInstanceId | volume_instance_id (ImplVolumeId) const |
Get the canonical volume instance corresponding to an implementation volume. | |
HostRef const & | host_ref () const final |
Reference to CPU geometry data. | |
DeviceRef const & | device_ref () const final |
Reference to managed GPU geometry data. | |
![]() | |
virtual | ~GeoParamsInterface ()=0 |
Default virtual destructor. | |
![]() | |
OrangeParamsData< Ownership::const_reference, M > const & | ref () const |
OrangeParamsData< Ownership::const_reference, M > const & | ref () const |
Dispatch a "ref" call to host or device data. | |
Static Public Member Functions | |
Static constructor helpers | |
| |
static std::shared_ptr< OrangeParams > | from_gdml (std::string const &filename) |
Build by loading a GDML file. | |
static std::shared_ptr< OrangeParams > | from_geant (std::shared_ptr< GeantGeoParams const > const &geo, SPConstVolumes volumes) |
Build from a Geant4 world. | |
static std::shared_ptr< OrangeParams > | from_geant (std::shared_ptr< GeantGeoParams const > const &geo) |
Build from a Geant4 world (no volumes available?). | |
static std::shared_ptr< OrangeParams > | from_json (std::string const &filename) |
Build from a JSON input. | |
Additional Inherited Members | |
![]() | |
CELER_DEFAULT_COPY_MOVE (GeoParamsInterface) | |
![]() | |
CELER_DEFAULT_COPY_MOVE (ParamsDataInterface) | |
Persistent model data for an ORANGE geometry.
This class initializes and manages the data used by ORANGE (surfaces, volumes) and provides a host-based interface for them.
|
finaldefault |
Default destructor to define vtable externally.
Needed due to a buggy LLVM optimization that causes dynamic-casts in downstream libraries to fail: see https://github.com/celeritas-project/celeritas/pull/1436 .
Outer bounding box of geometry.
Implements celeritas::GeoParamsInterface.
|
inlinefinalvirtual |
Reference to managed GPU geometry data.
Implements celeritas::ParamsDataInterface< OrangeParamsData >.
|
inlinefinalvirtual |
Locate the volume ID corresponding to a Geant4 volume.
Implements celeritas::GeoParamsInterface.
|
static |
Build by loading a GDML file.
This mode is incompatible with having an existing run manager.
|
inlinefinalvirtual |
Reference to CPU geometry data.
Implements celeritas::ParamsDataInterface< OrangeParamsData >.
|
inlinefinalvirtual |
Get the Geant4 physical volume corresponding to a volume instance ID.
g4org::Converter
Implements celeritas::GeoParamsInterface.
|
inlinefinalvirtual |
Get volume metadata.
Implements celeritas::GeoParamsInterface.
|
finalvirtual |
Create model parameters corresponding to our internal representation.
This currently just maps volumes to volume instances to allow tests to pass when Geant4 is disabled and the real volume hierarchy is unavailable.
Implements celeritas::GeoParamsInterface.
|
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.
|
inline |
Get the canonical volume instance corresponding to an implementation volume.
This may be null if the local volume corresponds to a "background" volume or "outside".