Input¶
Note
This section is a sneak preview of Celeritas 1.0 input. It is not currently exposed to users.
All front ends to Celeritas, and the library interface for external
integration, use a single interface to define properties about the simulation
to be run. This interface is a nested set of simple struct objects that are
used both to enable options and to set up low-level C++ data structures. Many
of the struct names in the inp
namespace correspond to runtime Celeritas
classes and objects.
The highest-level problem definition input is:
-
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 following sections describe the members and their configuration options.
Note that most input classes (namespace inp
) match up with the runtime
classes that they help construct. Many of these definitions allow selection
between hard-coded C++ types via std::variant and optional types using
std::optional.
Problems are loaded into the framework or application front end via Setting up problems.