#ifndef RJOAC_H #define RJOAC_H #include "base.h" #include "coordinates.h" namespace motions { class RandomJumpOnCone final: public BaseMotion { public: RandomJumpOnCone(double, double, double); RandomJumpOnCone(); void initialize(std::mt19937_64& rng) override; double jump(std::mt19937_64& rng) override; [[nodiscard]] std::unique_ptr clone() const override; void setParameters(const std::unordered_map &) override; [[nodiscard]] std::unordered_map getParameters() const override; [[nodiscard]] std::string toString() const override; private: double m_angle{0}; coordinates::SphericalPos m_axis{1, 0}; }; } #endif //RJOAC_H