Files
Jungfraujoch/common/BraggIntegrationSettings.h

32 lines
996 B
C++

// SPDX-FileCopyrightText: 2025 Filip Leonarski, Paul Scherrer Institute <filip.leonarski@psi.ch>
// SPDX-License-Identifier: GPL-3.0-only
#ifndef JFJOCH_BRAGGINTEGRATIONSETTINGS_H
#define JFJOCH_BRAGGINTEGRATIONSETTINGS_H
#include <optional>
class BraggIntegrationSettings {
float r_1 = 3;
float r_2 = 5;
float r_3 = 8;
float d_min_limit_A = 1.0;
std::optional<float> fixed_profile_radius;
public:
BraggIntegrationSettings& R1(float input);
BraggIntegrationSettings& R2(float input);
BraggIntegrationSettings& R3(float input);
BraggIntegrationSettings& DMinLimit_A(float input);
BraggIntegrationSettings& FixedProfileRadius_recipA(std::optional<float> input);
[[nodiscard]] float GetR1() const;
[[nodiscard]] float GetR2() const;
[[nodiscard]] float GetR3() const;
[[nodiscard]] std::optional<float> GetFixedProfileRadius_recipA() const;
[[nodiscard]] float GetDMinLimit_A() const;
};
#endif //JFJOCH_BRAGGINTEGRATIONSETTINGS_H