JFJochStateMachine: Generate MeasurementStatistics for running dataset

This commit is contained in:
2023-05-10 18:46:04 +02:00
parent 2aa8b5cf91
commit 6c15e07acb
2 changed files with 12 additions and 1 deletions
+11 -1
View File
@@ -172,7 +172,7 @@ void JFJochStateMachine::Start(const JFJochProtoBuf::DatasetSettings& settings)
if (measurement.valid())
measurement.get(); // In case measurement was running - clear thread
ClearMeasurementStatistics();
ClearAndSetMeasurementStatistics();
auto mod_settings = settings;
SetDatasetDefaults(mod_settings);
@@ -333,6 +333,16 @@ void JFJochStateMachine::SetFullMeasurementOutput(JFJochProtoBuf::BrokerFullStat
measurement_statistics = tmp;
}
void JFJochStateMachine::ClearAndSetMeasurementStatistics() {
std::unique_lock<std::mutex> ul(last_receiver_output_mutex);
measurement_statistics = JFJochProtoBuf::MeasurementStatistics();
measurement_statistics->set_file_prefix(experiment.GetFilePrefix());
measurement_statistics->set_detector_height(experiment.GetXPixelsNum());
measurement_statistics->set_detector_width(experiment.GetYPixelsNum());
measurement_statistics->set_detector_pixel_depth(experiment.GetPixelDepth());
}
void JFJochStateMachine::ClearMeasurementStatistics() {
std::unique_lock<std::mutex> ul(last_receiver_output_mutex);
measurement_statistics.reset();
+1
View File
@@ -43,6 +43,7 @@ class JFJochStateMachine {
std::optional<JFJochProtoBuf::MeasurementStatistics> measurement_statistics;
void SetFullMeasurementOutput(JFJochProtoBuf::BrokerFullStatus &output);
void ClearMeasurementStatistics();
void ClearAndSetMeasurementStatistics();
JFJochProtoBuf::BrokerFullStatus GetFullMeasurementOutput() const;
mutable std::mutex data_processing_settings_mutex;