25 const std::vector<double>& f,
const std::vector<double>& p,
const std::vector<double>&
a,
26 const std::vector<double>& o)
27 : f_m(f), p_m(p), a_m(
a), o_m(o) {
32 for (
size_t i = 0; i <
f_m.size(); i++) {
33 const auto f =
f_m[i];
46 const auto angle = 2.0 *
Physics::pi * f * time + p;
47 result +=
a / 2.0 * std::sin(angle) + o;
54 for (
size_t i = 0; i <
f_m.size(); i++) {
55 const auto f =
f_m[i];
80 os << std::scientific;
82 for (
size_t i = 0; i < this->
f_m.size(); i++) {
89 for (
size_t i = 0; i < this->
p_m.size(); i++) {
96 for (
size_t i = 0; i < this->
a_m.size(); i++) {
103 for (
size_t i = 0; i < this->
o_m.size(); i++) {
Inform & endl(Inform &inf)
constexpr double two_pi
The value of.
constexpr double pi
The value of.
std::vector< double > f_m
SinusoidalTimeDependence * clone() override
Inform & print(Inform &os) const
std::vector< double > a_m
std::vector< double > o_m
SinusoidalTimeDependence()=default
double getIntegral(double time) override
double getValue(double time) override
std::vector< double > p_m
std::ios_base::fmtflags FmtFlags_t