|
G4OCCT 0.1.0
Geant4 interface to Open CASCADE Technology (OCCT) geometry definitions
|
Geant4 interface to Open CASCADE Technology (OCCT) geometry definitions.
G4OCCT provides a compatibility layer between Geant4 geometry descriptions and the Open CASCADE Technology (OCCT) geometry framework. The goal is to enable physics simulations to be driven by CAD geometry imported from STEP (and other CAD exchange) files, while retaining full compatibility with Geant4's navigation, scoring, and visualisation subsystems.
Geant4 is the de-facto standard toolkit for high-energy physics detector simulations. Its geometry is traditionally hand-coded using constructive solid geometry (CSG) primitives or tessellated meshes. Engineering designs, however, are almost universally stored in CAD tools and exchanged in formats such as STEP. G4OCCT bridges this gap by:
For more detail see the Project Goals documentation page.
G4OCCT uses a thin-wrapper approach: OCCT shapes are embedded inside Geant4 constructs so that the Geant4 navigator, scoring, and visualisation infrastructure remain unchanged.
| G4OCCT class | Inherits from | Embeds |
|---|---|---|
G4OCCTSolid | G4VSolid | TopoDS_Shape |
G4OCCTLogicalVolume | G4LogicalVolume | TopoDS_Shape (optional) |
G4OCCTPlacement | G4PVPlacement | TopLoc_Location |
Navigation queries (Inside, DistanceToIn/Out, SurfaceNormal, …) are delegated to OCCT BRep algorithms. See the Geometry Mapping and Solid Navigation Design documentation pages for details.
| Dependency | Minimum version |
|---|---|
| CMake | 3.16 |
| C++ | 20 |
| Geant4 | 11.3 |
| OpenCASCADE (OCCT) | 7.8 |
Both BUILD_TESTING and BUILD_BENCHMARKS default to OFF; enable them during development to run the CTest suite and the geantino navigator benchmarks.
After installation, integrate G4OCCT into a CMake project with:
The installed G4OCCTConfig.cmake propagates the Geant4 and OCCT dependencies automatically.
Full documentation is available at **https://eic.github.io/G4OCCT/**, including:
G4VSolid queries to OCCT algorithms.G4Material.Contributor conventions (coding style, CI setup, documentation requirements, and design principles) are described in AGENTS.md.
This project is licensed under the [GNU Lesser General Public License v2.1 or later](LICENSE) (SPDX identifier: LGPL-2.1-or-later).