SpECTRE
v2024.09.16
|
Class for computing the upcoming measurement times for a control system measurement. More...
#include <FutureMeasurements.hpp>
Public Member Functions | |
FutureMeasurements (size_t measurements_per_update, double first_measurement_time) | |
std::optional< double > | next_measurement () const |
Next measurement time, if known. | |
std::optional< double > | next_update () const |
Next measurement that triggers an update, if known. | |
void | pop_front () |
Remove the earliest measurement form the list, generally because it has been performed. | |
void | update (const domain::FunctionsOfTime::FunctionOfTime &measurement_timescale) |
Calculate and store measurement times up through the expiration time of the argument. More... | |
void | pup (PUP::er &p) |
Friends | |
bool | operator== (const FutureMeasurements &lhs, const FutureMeasurements &rhs) |
Class for computing the upcoming measurement times for a control system measurement.
At any time, the measurement timescales can be queried to find the spacing between control system measurements. Most uses, however, require the actual measurement times, and sometimes need to know times of control-system update triggers. This class calculates these quantities from the timescales.
void control_system::FutureMeasurements::update | ( | const domain::FunctionsOfTime::FunctionOfTime & | measurement_timescale | ) |
Calculate and store measurement times up through the expiration time of the argument.
Given a measurement time \(t_i\), the next measurement will occur at \(t_{i+1} = t_i + \tau_m(t_i)\), where \(\tau_m(t)\) is the measurement timescale at time \(t\).