Interfaces¶
These classes manage access to geometric information throughout the codebase.
-
class VolumeParams¶
Define and manage a hierarchy of volumes and instances thereof.
See the introduction to the Geometry API section for a detailed description of volumes in the detector geometry description. This class abstracts the graph of volumes, relating nodes (VolumeId, aka logical volume) to edges (VolumeInstanceId, aka physical volume) and providing the means to determine the path (VolumeUniqueInstanceId, aka touchable history) of a track state. In conjunction with
GeantGeoParams
this allows conversion between the Celeritas geometry implementation and the Geant4 geometry navigation.
-
class SurfaceParams : public celeritas::ParamsDataInterface<SurfaceParamsData>¶
Map volumetric geometry information to surface IDs.
See the introduction to the Geometry API section for a detailed description of surfaces in the detector geometry description.
The specification of surfaces using volume relationships is required by volume-based geometries such as Geant4 and VecGeom 1, so it is not currently possible to define different properties for the different faces of a volume unless those faces are surrounded by distinct geometric volumes. Since ORANGE and VecGeom 2 support true surface definitions, a future extension will allow the user to attach surface properties to, for example, different sides of a cube.
-
class GeoParamsInterface¶
Interface class for accessing host geometry metadata.
This class is implemented by
OrangeParams
to allow navigation with the ORANGE geometry implementation,VecgeomParams
for using VecGeom, andGeantGeoParams
for testing with the Geant4-provided navigator.Subclassed by celeritas::GeantGeoParams, celeritas::OrangeParams, celeritas::VecgeomParams
-
struct GeantPhysicalInstance¶
Unique placement/replica of a Geant4 physical volume.
This should correspond to a
VolumeInstanceId
and be a unique instantiation of a Geant4 physical volume (PV). Some Geant4 PVs are “parameterised” or “replica” types, which allows a single instance to be mutated at runtime to form a sort of array. If the pointed-to physical volume is not a replica/parameterised volume,replica
is false. Otherwise, it corresponds to the PV’s copy number, which can be used to reconstruct the placed volume instance.