SpECTRE  v2024.04.12
control_system::FutureMeasurements Class Reference

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)
 

Detailed Description

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.

Member Function Documentation

◆ update()

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\).


The documentation for this class was generated from the following file: