51 explicit GWorld(
const std::shared_ptr<GOptions>& gopts);
92 std::shared_ptr<GOptions> gopts;
96 std::unique_ptr<SystemMap> gsystemsMap = std::make_unique<SystemMap>();
110 std::map<std::string, std::shared_ptr<GModifier>> gmodifiersMap;
123 [[nodiscard]]
GVolume* searchForVolume(
const std::string& volumeName,
const std::string& purpose)
const;
135 std::map<std::string, std::unique_ptr<GSystemFactory>> createSystemFactory();
151 void load_gmodifiers();
163 void assignG4Names();
Geometry volume record loaded into a GSystem.
Builds the “world” as a collection of systems, volumes, and post-load modifiers.
int get_number_of_volumes() const
Returns the number of systems currently registered in the world.
std::vector< std::string > getSensitiveDetectorsList()
Collect the list of sensitive detector identifiers.
GWorld(const std::shared_ptr< GOptions > &gopts)
Construct the world from configuration.
SystemMap * getSystemsMap() const
Returns a pointer to the internal system map.
std::vector< SystemPtr > SystemList
std::map< std::string, SystemPtr > SystemMap
Option definitions and extraction helpers for the gsystem module.