28 lines
876 B
C++
28 lines
876 B
C++
// SPDX-FileCopyrightText: 2025 Filip Leonarski, Paul Scherrer Institute <filip.leonarski@psi.ch>
|
|
// SPDX-License-Identifier: GPL-3.0-only
|
|
|
|
#include "RotationParameters.h"
|
|
|
|
RotationParameters::RotationParameters(uint64_t moving_average_elems)
|
|
: profile_radius(moving_average_elems), beam_x(moving_average_elems), beam_y(moving_average_elems), mosaicity(moving_average_elems) {}
|
|
|
|
float RotationParameters::ProfileRadius(float input) {
|
|
profile_radius.Add(input);
|
|
return profile_radius.Read().value_or(input);
|
|
}
|
|
|
|
float RotationParameters::Mosaicity(float input) {
|
|
mosaicity.Add(input);
|
|
return mosaicity.Read().value_or(input);
|
|
}
|
|
|
|
float RotationParameters::BeamX(float input) {
|
|
beam_x.Add(input);
|
|
return beam_x.Read().value_or(input);
|
|
}
|
|
|
|
float RotationParameters::BeamY(float input) {
|
|
beam_y.Add(input);
|
|
return beam_y.Read().value_or(input);
|
|
}
|