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.

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.