cpp/times/base.h
2024-09-16 19:52:51 +02:00

31 lines
612 B
C++

//
// Created by dominik on 8/12/24.
//
#ifndef RWSIM_TIMESBASE_H
#define RWSIM_TIMESBASE_H
#include <random>
class Distribution {
public:
virtual ~Distribution() = default;
Distribution(double, std::mt19937_64&);
explicit Distribution(std::mt19937_64&);
[[nodiscard]] double getTau() const { return m_tau; }
void setTau(const double tau) { m_tau = tau;}
virtual void initialize() = 0;
virtual void draw_tau() = 0;
[[nodiscard]] double tau_wait() const;
protected:
double m_tau{1.};
double m_tau_jump{1.};
std::mt19937_64& m_rng;
};
#endif //RWSIM_TIMESBASE_H