28 lines
782 B
C++
28 lines
782 B
C++
#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<BaseMotion> clone() const override;
|
|
|
|
void setParameters(const std::unordered_map<std::string, double> &) override;
|
|
[[nodiscard]] std::unordered_map<std::string, double> getParameters() const override;
|
|
[[nodiscard]] std::string toString() const override;
|
|
|
|
private:
|
|
double m_angle{0};
|
|
coordinates::SphericalPos m_axis{1, 0};
|
|
};
|
|
}
|
|
|
|
#endif //RJOAC_H
|