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 Input data 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.