Averager.hpp

A weighted exponential averager of and its derivatives implementing Appendix A in ...

double average_time(double time) const noexcept

Returns the exponentially averaged time at time. The time is averaged along side to determine the ef...

void clear() noexcept

A function that allows for resetting the averager.

double last_time_updated() const noexcept

Returns the latest time at which the averager has sufficient data to return and its derivatives...

Averager(double avg_timescale_frac, bool average_0th_deriv_of_q) noexcept

avg_timescale_frac determines the exponential averaging timescale through avg_timescale_frac ...

bool using_average_0th_deriv_of_q() const noexcept

Returns a bool corresponding to whether average_0th_deriv_of_q is true/false.

void update(double time, const DataVector &raw_q, const DataVector ×cales) noexcept

The function responsible for updating the averaged values at time. Requires raw_q (the raw components...

const boost::optional< std::array< DataVector, DerivOrder+1 > > & operator()(double time) const noexcept

Returns and its derivatives at time, provided there is sufficient data. The averager is limited by t...

© Copyright 2017 - 2019 SXS Collaboration, Distributed under the MIT License