16#include <unordered_map>
48 [[nodiscard]] std::string_view
className()
const override {
return "G4NativeSystemFactory"; }
66 std::unordered_map<std::string, G4Volume*>* g4s)
override;
Implements solid creation for Geant4 CSG primitives and validates constructor parameter counts.
std::string_view className() const override
Human-readable name used for logging.
std::vector< double > checkAndReturnParameters(const GVolume *s)
Validate the number of parameters for the given primitive and return them as numeric values.
G4VSolid * buildSolid(const GVolume *s, std::unordered_map< std::string, G4Volume * > *g4s) override
Create (or reuse) a native Geant4 solid based on the GVolume "type".
Base class orchestrating the conversion of a GVolume into a Geant4 representation.
G4ObjectsFactory(const std::shared_ptr< GOptions > &g)
Construct a factory using the global option set.
Factory that builds Geant4 native primitive solids (G4Box, G4Cons, G4Trap, ...) from GEMC GVolume rec...
Abstract factory that converts a GEMC DB GVolume into Geant4 objects.
Conventions, labels, and error codes used by the g4system geometry/material layer.