8#include <GeoModelKernel/GeoVPhysVol.h>
25 static std::unique_ptr<SHiPGeometryService>
fromSource();
28 static std::unique_ptr<SHiPGeometryService>
fromFile(
const std::string& dbPath);
47 mutable std::once_flag m_g4ConversionDone;
48 G4LogicalVolume* m_g4WorldLV{
nullptr};
Framework-agnostic interface to the SHiP detector geometry.
Definition IGeometryService.h:15
Concrete implementation of IGeometryService backed by GeoModel.
Definition SHiPGeometryService.h:22
SHiPGeometryService & operator=(const SHiPGeometryService &)=delete
const GeoVPhysVol * geoModelWorld() const override
GeoModel world physical volume (const — tree is immutable after build).
Definition SHiPGeometryService.cpp:56
static std::unique_ptr< SHiPGeometryService > fromSource()
Build geometry from the C++ SHiPGeometryBuilder.
Definition SHiPGeometryService.cpp:25
SHiPGeometryService(const SHiPGeometryService &)=delete
G4LogicalVolume * getLogicalVolume(const std::string &name) const override
Look up a G4LogicalVolume by name (via G4LogicalVolumeStore).
Definition SHiPGeometryService.cpp:70
G4LogicalVolume * geant4WorldLogical() override
G4LogicalVolume* for the world.
Definition SHiPGeometryService.cpp:60
~SHiPGeometryService() override=default
SHiPGeometryService & operator=(SHiPGeometryService &&)=delete
SHiPGeometryService(SHiPGeometryService &&)=delete
static std::unique_ptr< SHiPGeometryService > fromFile(const std::string &dbPath)
Load geometry from a previously written GeoModel SQLite database.
Definition SHiPGeometryService.cpp:38
Definition IGeometryService.h:11