Geant4 geometry¶
Celeritas defines mappings to the underlying Geant4 geometry objects for integration in the rest of the code base. There is limited support for executing the main simulation engine using Geant4 navigation states.
-
class GeantGeoParams : public celeritas::GeoParamsInterface, public celeritas::ParamsDataInterface<GeantGeoParamsData>¶
Shared Geant4 geometry model wrapper.
This can be constructed directly by loading a GDML file, or in-memory using an existing physical volume. One “gotcha” is that due to persistent static variables in Geant4, the volume IDs will be offset if a geometry has been loaded and closed previously.
The
VolumeId
used by Celeritas is equal to the index of aG4LogicalVolume
in theG4LogicalVolumeStore
. Due to potential resetting of the geometry, the “volume instance ID” for the logical volume may be offset from this index.Analogously, the
G4VPhysicalVolume
is equivalent to the index in its store. Due to the way Geant4 represents “parameterised” and “replicated” placements, a single PV may correspond to multiple spatial placements and is dismabiguated withReplicaId
, which corresponds to the PV’s “copy
number”.