SHiP Geometry Service
Framework-agnostic C++20 library wrapping the SHiP GeoModel geometry behind a stable interface.
Loading...
Searching...
No Matches
IGeometryService.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: 2025 CERN for the benefit of the SHiP Collaboration
2//
3// SPDX-License-Identifier: LGPL-3.0-or-later
4#pragma once
5
6#include <string>
7
8class GeoVPhysVol;
9class G4LogicalVolume;
10
11namespace ship {
12
16 public:
17 virtual ~IGeometryService() = default;
18
20 [[nodiscard]] virtual const GeoVPhysVol* geoModelWorld() const = 0;
21
24 [[nodiscard]] virtual G4LogicalVolume* geant4WorldLogical() = 0;
25
28 [[nodiscard]] virtual G4LogicalVolume* getLogicalVolume(const std::string& name) const = 0;
29};
30
31} // namespace ship
Framework-agnostic interface to the SHiP detector geometry.
Definition IGeometryService.h:15
virtual G4LogicalVolume * getLogicalVolume(const std::string &name) const =0
Look up a G4LogicalVolume by name (via G4LogicalVolumeStore).
virtual G4LogicalVolume * geant4WorldLogical()=0
G4LogicalVolume* for the world.
virtual const GeoVPhysVol * geoModelWorld() const =0
GeoModel world physical volume (const — tree is immutable after build).
virtual ~IGeometryService()=default
Definition IGeometryService.h:11