Files
Jungfraujoch/receiver/JFJochReceiverCurrentStatus.cpp
2024-10-08 21:04:09 +02:00

40 lines
965 B
C++

// Copyright (2019-2024) Paul Scherrer Institute
#include <cmath>
#include "JFJochReceiverCurrentStatus.h"
std::optional<JFJochReceiverStatus> JFJochReceiverCurrentStatus::GetStatus() const {
std::unique_lock ul(m);
return status;
}
void JFJochReceiverCurrentStatus::Clear() {
std::unique_lock ul(m);
status.reset();
}
void JFJochReceiverCurrentStatus::SetStatus(const JFJochReceiverStatus &in_status) {
std::unique_lock ul(m);
status = in_status;
}
void JFJochReceiverCurrentStatus::SetEfficiency(const std::optional<float> &e) {
std::unique_lock ul(m);
status->efficiency = e;
}
std::optional<float> JFJochReceiverCurrentStatus::GetProgress() const {
float tmp = progress;
if (std::isnan(tmp))
return {};
else
return tmp;
}
void JFJochReceiverCurrentStatus::SetProgress(std::optional<float> input) {
if (input.has_value())
progress = input.value();
else
progress = NAN;
}