16#ifndef ALGORITHMS_SPLINETIMEDEPENDENCE_H_
17#define ALGORITHMS_SPLINETIMEDEPENDENCE_H_
52 size_t splineOrder,
const std::vector<double>& times,
53 const std::vector<double>& values);
68 double getValue(
double time)
override;
87 Inform&
print(Inform& os)
const;
96 size_t splineOrder,
const std::vector<double>& times,
97 const std::vector<double>& values);
Inform & operator<<(Inform &os, const SplineTimeDependence &p)
void setSpline(size_t splineOrder, const std::vector< double > ×, const std::vector< double > &values)
const std::vector< double > & getTimes() const
Inform & print(Inform &os) const
static constexpr size_t CubicInterpolation
SplineTimeDependence * clone() override
std::vector< double > values_m
std::unique_ptr< AbstractSpline > spline_m
const std::vector< double > & getValues() const
~SplineTimeDependence() override=default
double getValue(double time) override
std::unique_ptr< AbstractSpline::Accelerator > splineAcc_m
size_t getSplineOrder() const
double getIntegral(double time) override
std::vector< double > times_m
SplineTimeDependence()=default
static constexpr size_t LinearInterpolation