cpp/motions/isosmallangle.cpp
2024-08-23 18:33:38 +02:00

23 lines
536 B
C++

//
// Created by dominik on 8/21/24.
//
#include "isosmallangle.h"
#include <algorithm>
SmallAngle::SmallAngle(const double delta, const double eta, const double chi, std::mt19937_64 &rng) : Motion(delta, eta, rng), m_chi(chi) {};
SmallAngle::SmallAngle(std::mt19937_64 &rng) : Motion(rng) {
}
void SmallAngle::initialize() {
m_prev_pos = draw_position();
};
double SmallAngle::jump() {
const double gamma{2 * M_PI * m_uni_dist(m_rng)};
m_prev_pos = rotate(m_prev_pos, gamma, m_chi);
return omega_q(m_prev_pos);
}