User application and framework integration¶
When integrating with user applications or frameworks, FrameworkInput is
used to define the system configuration and select the Celeritas physics to
enable (via PhysicsFromGeant). Additional custom physics can be
added via the adjust member to set or change any loaded data.
-
struct FrameworkInput
Describe how to import data into celeritas via an
Inputdata structure.The order of initialization and loading follows the member declarations:
System attributes (GPU activation etc.) are set
Geant4 data is imported
External Geant4 data files (such as EM LOW) are loaded
Optional framework-defined adjustments are applied
- Todo:
Add an input option for kill_offload/disable
Public Members
-
System system
Base system configuration.
-
PhysicsFromGeant physics_import
Configure what data to load from Geant4.
-
std::function<void(Problem&)> adjust
User application/framework-defined adjustments.
-
std::function<void(OpticalProblem&)> adjust_optical
User application/framework-defined optical adjustments.