JFJochStateMachine: Generate MeasurementStatistics for running dataset
This commit is contained in:
@@ -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();
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user