Standalone execution

The StandaloneInput and OpticalStandaloneInput provide the complete configuration required to run a standalone Celeritas simulation, for example, using the celer-sim and celer-optical applications. They specify the system and problem configuration, how the physics data is loaded, and the events that are run.

struct StandaloneInput

Celeritas setup for standalone apps.

The order of initialization and loading (see celeritas::setup::Problem ) follows the member declarations:

  • System attributes (GPU activation etc.) are set first

  • Problem info is loaded

  • Geant4 is initialized (if not using full ROOT data)

  • Geant4 data is loaded (also if not using full ROOT)

  • External Geant4 data files (such as EM LOW) are loaded

  • Optional control/diagnostic overrides are loaded

  • Events are loaded

The input Problem can be an embedded struct or a path to a file to import.

Public Members

System system

System attributes.

Problem problem

Base problem options and input data.

GeantSetup geant_setup

Set up Geant4 (if all the data isn’t already loaded into Problem)

PhysicsImport physics_import

Whether using Geant4 or loading from ROOT.

Events events

Primary particles.

struct OpticalStandaloneInput

Celeritas setup for standalone optical-only apps.

Public Members

System system

System attributes.

OpticalProblem problem

Base problem options and input data.

GeantOpticalPhysicsOptions geant_setup

Set up Geant4 (if all the data isn’t already loaded into Problem)

std::unordered_set<std::string> detectors

Optical detector detector (SensDet aux) names.