Problem setup¶
Virtually all attributes of the problem and its execution are defined through
the Problem input class, which is set up in part by the user and in part by
external applications as directed by the user.
-
struct Problem
Celeritas problem input definition.
This should specify all the information necessary to track particles within Celeritas for offloading or standalone execution. (It does not contain system configuration such as GPU, or event/offload information.)
Multiple problems can be run independently across the same program execution.
Eventually this class and its daughters will subsume all the data in
celeritas/io/and all the input options from Models, Processes, Params, and other classes that are not implementation details.After loading, the struct will be able to be serialized to ROOT or JSON or some other struct for reproducibility.
Public Members
-
Model model
Geometry, material, and region definitions.
-
Physics physics
Physics models and options.
-
Field field
Set up the magnetic field.
-
Scoring scoring
Manage scoring of hits and other quantities.
-
Tracking tracking
Tuning options that affect the physics.
-
Control control
Low-level performance tuning and simulation control options.
-
Diagnostics diagnostics
Monte Carlo tracking, performance, and debugging diagnostics.
-
Model model
The OpticalProblem input class provides the corresponding configuration for
problems in which only optical photons are transported. It shares the same
overall structure as Problem but includes options specific to optical
simulations.
-
struct OpticalProblem
Celeritas optical-only problem input definition.
- Todo:
Add OpticalDiagnostics
Diagnostics
-
Timers timers
Set up step or action timers.
-
std::optional<StepDiagnostic> step
Bin number of steps per track.
-
std::string perfetto_file
Write Perfetto tracing data to this filename.
-
std::string offload_file
Write primary generation data to this file.
-
std::string output_file = {"-"}
Write Celeritas diagnostics to this file (“-” is stdout)
Public Members
-
Model model
Geometry, material, and region definitions.
-
OpticalPhysics physics
Physics models and options.
-
OpticalGenerator generator
Optical photon generation mechanism.
-
OpticalTrackingLimits limits
Hard cutoffs for counters.
-
OpticalStateCapacity capacity
Per-process state sizes for optical tracking loop.
-
OpticalDetector detectors
User scoring configuration for optical detectors.
-
size_type num_streams = {}
Number of streams.
-
unsigned int seed = {}
Random number generator seed.