32 lines
996 B
C++
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
|