|
SpECTRE
v2025.08.19
|
Definition of a portion of a measurement for the control systems. More...
#include <Submeasurement.hpp>
Classes | |
| struct | test |
Definition of a portion of a measurement for the control systems.
These structs are referenced from structs conforming to the Measurement protocol. They define independent parts of a control system measurement, such as individual horizon-finds in a two-horizon measurement.
A conforming struct must provide
interpolation_target_tag type alias templated on the control systems using this submeasurement. (This template parameter must be used in the call to RunCallbacks discussed below.) This alias may be void if the submeasurement does not use an interpolation target tag. This is only used to collect the tags that must be registered in the metavariables.horizon_metavars type alias templated on the control systems using this submeasurement. (This template parameter must be used in the call to RunCallbacks discussed below.) This alias may be void if the submeasurement does not find a horizon. This is only used to collect the tags that must be registered in the metavariables.event type alias also templated on the control systems" using this submeasurement which is an Event. It is templated on the control systems because the event usually takes the interpolation_target_tag or horizon_metavars as a template parameter. Currently, this event must be fully functional when it is default constructed. It will not be constructed with any arguments.The event will be run on every element, and they must collectively result in a single call on one chare (which need not be one of the element chares) to control_system::RunCallbacks<ConformingStructBeingDefinedHere, ControlSystems>::apply. This will almost always require performing a reduction. The ControlSystems template parameter passed to RunCallbacks here must be the same type that was passed to the interpolation_target_tag (or horizon_metavars) and event type aliases. The ControlSystems template parameter will be a list of all control systems that use the same Submeasurement.
Here's an example for a class conforming to this protocol: