gdetector
Loading...
Searching...
No Matches

Runnable examples showing typical module usage patterns. More...

Collaboration diagram for gdetector examples:

Files

file  gdetector_example.cc
 Example: build detector geometry, load digitization routines, and run a small multi-threaded digitization loop.
 

Detailed Description

Ownership and lifecycle

Ownership is split between GEMC-managed objects and Geant4-managed runtime state:

Typical lifecycle:

Architecture

Design notes:

Available Options and usage

The gdetector module aggregates options from multiple dependent modules by calling gdetector::defineOptions(). The current aggregation includes:

Usage pattern:

If additional options are added by the module itself in the future, they should be listed in this section and documented at their point of definition.

Module verbosity

The module uses the logger name "gdetector" (see GDETECTOR_LOGGER). Typical verbosity behavior:

Examples

The following example demonstrates a minimal usage path including geometry reload and a multi-threaded digitization loop.

Example snippet:

auto gopts = std::make_shared<GOptions>(argc, argv, gdetector::defineOptions());
auto gdetector = std::make_shared<GDetectorConstruction>(gopts);
auto gsystems = gsystem::getSystems(gopts);
gdetector->reload_geometry(gsystems);
SystemList getSystems(const std::shared_ptr< GOptions > &gopts)



Author

© Maurizio Ungaro
e-mail: ungar.nosp@m.o@jl.nosp@m.ab.or.nosp@m.g