|
g4system
|
The g4system module is the geometry factory layer that translates detector descriptions stored in databases (ASCII / SQLite / GDML / CAD) into runtime Geant4 volumes (solid/logical/physical).
The module is designed so that you can add new detector systems by implementing a factory and registering it, without changing the core world-building logic.
This module reads the following option keys from the runtime option provider:
useBackupMaterialNO_USE_DEFAULT_MATERIAL), GEMC treats missing materials as fatalG4_AIR), missing materials are replaced by this fallbackcheck_overlaps0 disables overlap checks1 checks overlaps at physical volume construction time2 triggers the Geant4 overlap validator with the default surface sampling> 100 trigger the Geant4 overlap validator with that many surface pointsshowPredefinedMaterialsprintSystemsMaterialsOverlap checking is controlled solely by the integer check_overlaps option above.
This module’s option schema is composed by g4system::defineOptions(), which aggregates:
Additional keys contributed by gsystem::defineOptions() (e.g. sql, gsystem, experiment, runno) control what geometry is loaded and therefore indirectly affect this module.
Most classes in this module use the common logging infrastructure (classes derived from the logger-enabled base). The following behavior is typical:
Debug messages provide fine-grained diagnostics intended for development and troubleshooting, such as pointer assignments, dependency checks, and factory dispatch details.
Example of building a world from options: