diff --git a/VERSION b/VERSION index 78a9d191..0f0d470a 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.0.0-rc.33 +1.0.0-rc.34 diff --git a/acquisition_device/AcquisitionDevice.cpp b/acquisition_device/AcquisitionDevice.cpp index 7cd6955d..9f455c95 100644 --- a/acquisition_device/AcquisitionDevice.cpp +++ b/acquisition_device/AcquisitionDevice.cpp @@ -171,12 +171,16 @@ void AcquisitionDevice::InitializeROIMap(const uint16_t *map, size_t module_numb void AcquisitionDevice::InitializePixelMask(const uint32_t *module_mask, size_t module_number) {} -void AcquisitionDevice::InitializeROIMap(const DiffractionExperiment& experiment) { +void AcquisitionDevice::InitializeROIMap(const DiffractionExperiment& experiment, const std::vector& roi_map) { + if (roi_map.size() != experiment.GetDetectorSetup().GetGeometry().GetWidth() * + experiment.GetDetectorSetup().GetGeometry().GetHeight()) + throw JFJochException(JFJochExceptionCategory::InputParameterInvalid, "Mismatch in array size"); + std::vector tmp(RAW_MODULE_SIZE); auto offset = experiment.GetFirstModuleOfDataStream(data_stream); size_t modules = experiment.GetModulesNum(data_stream); for (int m = 0; m < modules; m++) { - experiment.ExportROIMap(tmp.data(), offset + m); + ConvertedToRawGeometry(experiment, offset + m, tmp.data(), roi_map.data()); InitializeROIMap(tmp.data(), m); } } diff --git a/acquisition_device/AcquisitionDevice.h b/acquisition_device/AcquisitionDevice.h index 8763254e..110f2aa7 100644 --- a/acquisition_device/AcquisitionDevice.h +++ b/acquisition_device/AcquisitionDevice.h @@ -100,7 +100,7 @@ public: void InitializeEmptyPixelMask(const DiffractionExperiment &experiment); // Empty Mask void InitializePixelMask(const DiffractionExperiment &experiment, const PixelMask &mask); virtual void InitializePixelMask(const uint32_t *module_mask, size_t module_number); - void InitializeROIMap(const DiffractionExperiment &experiment); + void InitializeROIMap(const DiffractionExperiment& experiment, const std::vector& raw_roi_map); void InitializeDataProcessing(const DiffractionExperiment &experiment, const RawGeomAzimuthalIntegration& azint); const AcquisitionCounters& Counters() const; diff --git a/broker/JFJochBrokerHttp.cpp b/broker/JFJochBrokerHttp.cpp index 4fa3c9d9..e8f56d14 100644 --- a/broker/JFJochBrokerHttp.cpp +++ b/broker/JFJochBrokerHttp.cpp @@ -635,3 +635,18 @@ void JFJochBrokerHttp::config_file_writer_put( state_machine.LoadFileWriterSettings(Convert(fileWriterSettings)); response.send(Pistache::Http::Code::Ok); } + +void JFJochBrokerHttp::plot_roi_mean_get(const std::optional &binning, const std::optional &compression, + Pistache::Http::ResponseWriter &response) { + GenericPlot(PlotType::ROIMean, binning, compression, response); +} + +void JFJochBrokerHttp::plot_roi_x_get(const std::optional &binning, const std::optional &compression, + Pistache::Http::ResponseWriter &response) { + GenericPlot(PlotType::ROIWeightedX, binning, compression, response); +} + +void JFJochBrokerHttp::plot_roi_y_get(const std::optional &binning, const std::optional &compression, + Pistache::Http::ResponseWriter &response) { + GenericPlot(PlotType::ROIWeightedY, binning, compression, response); +} diff --git a/broker/JFJochBrokerHttp.h b/broker/JFJochBrokerHttp.h index e1c3e0d2..332cff54 100644 --- a/broker/JFJochBrokerHttp.h +++ b/broker/JFJochBrokerHttp.h @@ -198,7 +198,9 @@ class JFJochBrokerHttp : public org::openapitools::server::api::DefaultApi { void image_buffer_start_cbor_get(Pistache::Http::ResponseWriter &response) override; void image_buffer_status_get(Pistache::Http::ResponseWriter &response) override; - + void plot_roi_mean_get(const std::optional &binning, const std::optional &compression, Pistache::Http::ResponseWriter &response) override; + void plot_roi_x_get(const std::optional &binning, const std::optional &compression, Pistache::Http::ResponseWriter &response) override; + void plot_roi_y_get(const std::optional &binning, const std::optional &compression, Pistache::Http::ResponseWriter &response) override; public: JFJochBrokerHttp(const DiffractionExperiment& experiment, std::shared_ptr &rtr); void AddDetectorSetup(const DetectorSetup &setup); diff --git a/broker/JFJochServices.cpp b/broker/JFJochServices.cpp index 3d1cfcd0..b37b2176 100644 --- a/broker/JFJochServices.cpp +++ b/broker/JFJochServices.cpp @@ -11,6 +11,8 @@ void JFJochServices::Start(const DiffractionExperiment& experiment, const JFCalibration &calibration) { logger.Info("Measurement start for: {}", experiment.GetFilePrefix()); + cannot_stop_detector = false; + if (receiver != nullptr) { logger.Info(" ... receiver start"); if (experiment.IsJungfrauConvPhotonCnt()) @@ -51,21 +53,25 @@ JFJochServicesOutput JFJochServices::Stop() { std::unique_ptr exception; + bool detector_error = false; + if (receiver != nullptr) { try { if (detector) { logger.Info("Wait for detector done"); DetectorState state = detector->GetState(); - while ((state == DetectorState::WAITING) || (state == DetectorState::BUSY)) { + while ((!cannot_stop_detector) + && ((state == DetectorState::WAITING) || (state == DetectorState::BUSY))) { // check detector state every 5 ms std::this_thread::sleep_for(std::chrono::milliseconds(5)); state = detector->GetState(); } - if (state == DetectorState::ERROR) { + if (state == DetectorState::IDLE) { + receiver->Cancel(true); // cancel silently + } else { logger.Error(" ... detector in error state"); receiver->Cancel(false); - } else if (state == DetectorState::IDLE) { - receiver->Cancel(true); // cancel silently + detector_error = true; } } logger.Info("Wait for receiver done"); @@ -103,15 +109,23 @@ JFJochServicesOutput JFJochServices::Stop() { if (exception) throw JFJochException(*exception); + if (detector_error) + throw JFJochException(JFJochExceptionCategory::Detector, "Error in detector operation"); + return ret; } void JFJochServices::Cancel() { - if (receiver != nullptr) { - if (detector) + if (detector) { + // Best effort - if detector cannot be stopped, this is OK, important to still stop receiver + try { detector->Stop(); - receiver->Cancel(false); + } catch (...) { + cannot_stop_detector = true; + } } + if (receiver != nullptr) + receiver->Cancel(false); } JFJochServices &JFJochServices::Receiver(JFJochReceiverService *input) { @@ -243,4 +257,4 @@ ImageBufferStatus JFJochServices::GetImageBufferStatus() const { void JFJochServices::ClearImageBuffer() const { if (receiver) receiver->ClearImageBuffer(); -} \ No newline at end of file +} diff --git a/broker/JFJochServices.h b/broker/JFJochServices.h index 4c1ade09..3c639bd7 100644 --- a/broker/JFJochServices.h +++ b/broker/JFJochServices.h @@ -18,6 +18,7 @@ class JFJochServices { JFJochReceiverService *receiver = nullptr; std::unique_ptr detector; + volatile bool cannot_stop_detector = false; Logger &logger; public: explicit JFJochServices(Logger &in_logger); diff --git a/broker/JFJochStateMachine.cpp b/broker/JFJochStateMachine.cpp index 5b1c47f8..05563e3d 100644 --- a/broker/JFJochStateMachine.cpp +++ b/broker/JFJochStateMachine.cpp @@ -322,7 +322,8 @@ PixelMaskStatistics JFJochStateMachine::GetPixelMaskStatistics() const { void JFJochStateMachine::MeasurementThread() { try { - auto tmp_output = services.Stop(); { + auto tmp_output = services.Stop(); + { std::unique_lock ul(m); if (tmp_output.receiver_output.writer_queue_full_warning) @@ -774,8 +775,15 @@ void JFJochStateMachine::LoadImageFormatSettings(const ImageFormatSettings &sett if (IsRunning()) throw WrongDAQStateException("Cannot change image format settings during data collection"); + bool recalc_mask = (experiment.GetPedestalG0RMSLimit() != settings.GetPedestalG0RMSLimit()); + experiment.ImportImageFormatSettings(settings); - pixel_mask.Update(settings); + + if (recalc_mask) + pixel_mask.LoadDetectorBadPixelMask(experiment, calibration.get()); + else + pixel_mask.Update(settings); + UpdatePixelMaskStatistics(pixel_mask.GetStatistics()); } diff --git a/broker/OpenAPIConvert.cpp b/broker/OpenAPIConvert.cpp index 8753c07a..3c20f289 100644 --- a/broker/OpenAPIConvert.cpp +++ b/broker/OpenAPIConvert.cpp @@ -399,6 +399,8 @@ ROIDefinition Convert(const org::openapitools::server::model::Roi_definitions& i output.boxes.emplace_back(ROIBox(i.getName(), i.getMinXPxl(), i.getMaxXPxl(), i.getMinYPxl(), i.getMaxYPxl())); for (const auto &i: input.getCircle().getRois()) output.circles.emplace_back(ROICircle(i.getName(), i.getCenterXPxl(), i.getCenterYPxl(), i.getRadiusPxl())); + for (const auto &i: input.getAzim().getRois()) + output.azimuthal.emplace_back(ROIAzimuthal(i.getName(), 2.0f * M_PI / i.getQMaxRecipA(), 2.0f * M_PI / i.getQMinRecipA())); return output; } @@ -417,6 +419,20 @@ org::openapitools::server::model::Roi_circle_list Convert(const std::vector &input) { + org::openapitools::server::model::Roi_azim_list ret{}; + std::vector tmp; + for (const auto &i: input) { + org::openapitools::server::model::Roi_azimuthal elem; + elem.setName(i.GetName()); + elem.setQMinRecipA(i.GetQMin_recipA()); + elem.setQMinRecipA(i.GetQMax_recipA()); + tmp.emplace_back(elem); + } + ret.setRois(tmp); + return ret; +} + org::openapitools::server::model::Roi_box_list Convert(const std::vector &input) { org::openapitools::server::model::Roi_box_list ret{}; std::vector tmp; @@ -437,6 +453,7 @@ org::openapitools::server::model::Roi_definitions Convert(const ROIDefinition &i org::openapitools::server::model::Roi_definitions ret{}; ret.setCircle(Convert(input.circles)); ret.setBox(Convert(input.boxes)); + ret.setAzim(Convert(input.azimuthal)); return ret; } @@ -659,7 +676,7 @@ org::openapitools::server::model::Image_buffer_status Convert(const ImageBufferS org::openapitools::server::model::File_writer_settings Convert(const FileWriterSettings& input) { org::openapitools::server::model::File_writer_settings ret; - ret.setFileWriterVersion(input.GetHDF5MasterFormatVersion()); + ret.setFormat(Convert(input.GetHDF5MasterFormatVersion())); ret.setOverwrite(input.IsOverwriteExistingFiles()); return ret; } @@ -667,6 +684,37 @@ org::openapitools::server::model::File_writer_settings Convert(const FileWriterS FileWriterSettings Convert(const org::openapitools::server::model::File_writer_settings &input) { FileWriterSettings ret; ret.OverwriteExistingFiles(input.isOverwrite()); - ret.HDF5MasterFormatVersion(input.getFileWriterVersion()); + ret.HDF5MasterFormatVersion(Convert(input.getFormat())); return ret; +} + +org::openapitools::server::model::File_writer_format Convert(FileWriterFileFormat input) { + org::openapitools::server::model::File_writer_format ret; + switch (input) { + case FileWriterFileFormat::DataOnly: + ret.setValue(org::openapitools::server::model::File_writer_format::eFile_writer_format::NONE); + break; + case FileWriterFileFormat::NXmxLegacy: + ret.setValue(org::openapitools::server::model::File_writer_format::eFile_writer_format::NXMXLEGACY); + break; + case FileWriterFileFormat::NXmxVDS: + ret.setValue(org::openapitools::server::model::File_writer_format::eFile_writer_format::NXMXVDS); + break; + default: + throw JFJochException(JFJochExceptionCategory::InputParameterInvalid, "Unknown file writer format enum value"); + } + return ret; +} + +FileWriterFileFormat Convert(const org::openapitools::server::model::File_writer_format& input) { + switch (input.getValue()) { + case org::openapitools::server::model::File_writer_format::eFile_writer_format::NONE: + return FileWriterFileFormat::DataOnly; + case org::openapitools::server::model::File_writer_format::eFile_writer_format::NXMXLEGACY: + return FileWriterFileFormat::NXmxLegacy; + case org::openapitools::server::model::File_writer_format::eFile_writer_format::NXMXVDS: + return FileWriterFileFormat::NXmxVDS; + default: + throw JFJochException(JFJochExceptionCategory::InputParameterInvalid, "Unknown file writer format enum value"); + } } \ No newline at end of file diff --git a/broker/OpenAPIConvert.h b/broker/OpenAPIConvert.h index b4c57765..bcfa46aa 100644 --- a/broker/OpenAPIConvert.h +++ b/broker/OpenAPIConvert.h @@ -26,6 +26,7 @@ #include "gen/model/File_writer_settings.h" #include "gen/model/Image_buffer_status.h" +#include "../frame_serialize/JFJochMessages.h" #include "../common/DatasetSettings.h" #include "../common/ImageFormatSettings.h" #include "../image_analysis/SpotFindingSettings.h" @@ -71,4 +72,6 @@ ZMQPreviewSettings Convert(const org::openapitools::server::model::Zeromq_previe org::openapitools::server::model::Zeromq_metadata_settings Convert(const ZMQMetadataSettings& settings); ZMQMetadataSettings Convert(const org::openapitools::server::model::Zeromq_metadata_settings& input); +org::openapitools::server::model::File_writer_format Convert(FileWriterFileFormat input); +FileWriterFileFormat Convert(const org::openapitools::server::model::File_writer_format& input); #endif //JFJOCH_OPENAPICONVERT_H diff --git a/broker/gen/api/ApiBase.h b/broker/gen/api/ApiBase.h index 775d0d9c..3b9a3155 100644 --- a/broker/gen/api/ApiBase.h +++ b/broker/gen/api/ApiBase.h @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/api/DefaultApi.cpp b/broker/gen/api/DefaultApi.cpp index 1f18d084..95453be2 100644 --- a/broker/gen/api/DefaultApi.cpp +++ b/broker/gen/api/DefaultApi.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -85,8 +85,11 @@ void DefaultApi::setupRoutes() { Routes::Get(*router, base + "/plot/receiver_delay", Routes::bind(&DefaultApi::plot_receiver_delay_get_handler, this)); Routes::Get(*router, base + "/plot/receiver_free_send_buffers", Routes::bind(&DefaultApi::plot_receiver_free_send_buffers_get_handler, this)); Routes::Get(*router, base + "/plot/roi_max_count", Routes::bind(&DefaultApi::plot_roi_max_count_get_handler, this)); + Routes::Get(*router, base + "/plot/roi_mean", Routes::bind(&DefaultApi::plot_roi_mean_get_handler, this)); Routes::Get(*router, base + "/plot/roi_sum", Routes::bind(&DefaultApi::plot_roi_sum_get_handler, this)); Routes::Get(*router, base + "/plot/roi_valid_pixels", Routes::bind(&DefaultApi::plot_roi_valid_pixels_get_handler, this)); + Routes::Get(*router, base + "/plot/roi_x", Routes::bind(&DefaultApi::plot_roi_x_get_handler, this)); + Routes::Get(*router, base + "/plot/roi_y", Routes::bind(&DefaultApi::plot_roi_y_get_handler, this)); Routes::Get(*router, base + "/plot/spot_count", Routes::bind(&DefaultApi::plot_spot_count_get_handler, this)); Routes::Get(*router, base + "/plot/strong_pixel", Routes::bind(&DefaultApi::plot_strong_pixel_get_handler, this)); Routes::Get(*router, base + "/preview/calibration.tiff", Routes::bind(&DefaultApi::preview_calibration_tiff_get_handler, this)); @@ -1460,6 +1463,43 @@ void DefaultApi::plot_roi_max_count_get_handler(const Pistache::Rest::Request &r response.send(Pistache::Http::Code::Internal_Server_Error, e.what()); } +} +void DefaultApi::plot_roi_mean_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response) { + try { + + + // Getting the query params + auto binningQuery = request.query().get("binning"); + std::optional binning; + if(binningQuery.has_value()){ + int32_t valueQuery_instance; + if(fromStringValue(binningQuery.value(), valueQuery_instance)){ + binning = valueQuery_instance; + } + } + auto compressionQuery = request.query().get("compression"); + std::optional compression; + if(compressionQuery.has_value()){ + bool valueQuery_instance; + if(fromStringValue(compressionQuery.value(), valueQuery_instance)){ + compression = valueQuery_instance; + } + } + + try { + this->plot_roi_mean_get(binning, compression, response); + } catch (Pistache::Http::HttpError &e) { + response.send(static_cast(e.code()), e.what()); + return; + } catch (std::exception &e) { + this->handleOperationException(e, response); + return; + } + + } catch (std::exception &e) { + response.send(Pistache::Http::Code::Internal_Server_Error, e.what()); + } + } void DefaultApi::plot_roi_sum_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response) { try { @@ -1534,6 +1574,80 @@ void DefaultApi::plot_roi_valid_pixels_get_handler(const Pistache::Rest::Request response.send(Pistache::Http::Code::Internal_Server_Error, e.what()); } +} +void DefaultApi::plot_roi_x_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response) { + try { + + + // Getting the query params + auto binningQuery = request.query().get("binning"); + std::optional binning; + if(binningQuery.has_value()){ + int32_t valueQuery_instance; + if(fromStringValue(binningQuery.value(), valueQuery_instance)){ + binning = valueQuery_instance; + } + } + auto compressionQuery = request.query().get("compression"); + std::optional compression; + if(compressionQuery.has_value()){ + bool valueQuery_instance; + if(fromStringValue(compressionQuery.value(), valueQuery_instance)){ + compression = valueQuery_instance; + } + } + + try { + this->plot_roi_x_get(binning, compression, response); + } catch (Pistache::Http::HttpError &e) { + response.send(static_cast(e.code()), e.what()); + return; + } catch (std::exception &e) { + this->handleOperationException(e, response); + return; + } + + } catch (std::exception &e) { + response.send(Pistache::Http::Code::Internal_Server_Error, e.what()); + } + +} +void DefaultApi::plot_roi_y_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response) { + try { + + + // Getting the query params + auto binningQuery = request.query().get("binning"); + std::optional binning; + if(binningQuery.has_value()){ + int32_t valueQuery_instance; + if(fromStringValue(binningQuery.value(), valueQuery_instance)){ + binning = valueQuery_instance; + } + } + auto compressionQuery = request.query().get("compression"); + std::optional compression; + if(compressionQuery.has_value()){ + bool valueQuery_instance; + if(fromStringValue(compressionQuery.value(), valueQuery_instance)){ + compression = valueQuery_instance; + } + } + + try { + this->plot_roi_y_get(binning, compression, response); + } catch (Pistache::Http::HttpError &e) { + response.send(static_cast(e.code()), e.what()); + return; + } catch (std::exception &e) { + this->handleOperationException(e, response); + return; + } + + } catch (std::exception &e) { + response.send(Pistache::Http::Code::Internal_Server_Error, e.what()); + } + } void DefaultApi::plot_spot_count_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response) { try { diff --git a/broker/gen/api/DefaultApi.h b/broker/gen/api/DefaultApi.h index 50950a8f..57328573 100644 --- a/broker/gen/api/DefaultApi.h +++ b/broker/gen/api/DefaultApi.h @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -119,8 +119,11 @@ private: void plot_receiver_delay_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response); void plot_receiver_free_send_buffers_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response); void plot_roi_max_count_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response); + void plot_roi_mean_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response); void plot_roi_sum_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response); void plot_roi_valid_pixels_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response); + void plot_roi_x_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response); + void plot_roi_y_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response); void plot_spot_count_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response); void plot_strong_pixel_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response); void preview_calibration_tiff_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response); @@ -567,6 +570,15 @@ private: /// Enable DEFLATE compression of output data. (optional, default to true) virtual void plot_roi_max_count_get(const std::optional &binning, const std::optional &compression, Pistache::Http::ResponseWriter &response) = 0; /// + /// Generate plot of ROI mean value + /// + /// + /// Mean of pixels within a ROI area; pixels with special values (overload, bad pixel) are excluded; binning is configurable; number will be wrong if multipixels are included! + /// + /// Binning of frames for the plot (0 = default binning) (optional, default to 0) + /// Enable DEFLATE compression of output data. (optional, default to true) + virtual void plot_roi_mean_get(const std::optional &binning, const std::optional &compression, Pistache::Http::ResponseWriter &response) = 0; + /// /// Generate ROI sum plot /// /// @@ -585,6 +597,24 @@ private: /// Enable DEFLATE compression of output data. (optional, default to true) virtual void plot_roi_valid_pixels_get(const std::optional &binning, const std::optional &compression, Pistache::Http::ResponseWriter &response) = 0; /// + /// Generate plot of ROI weighted X-coordinate + /// + /// + /// Pixel X weighted by measured counts; pixels with special values (overload, bad pixel) are excluded; binning is configurable + /// + /// Binning of frames for the plot (0 = default binning) (optional, default to 0) + /// Enable DEFLATE compression of output data. (optional, default to true) + virtual void plot_roi_x_get(const std::optional &binning, const std::optional &compression, Pistache::Http::ResponseWriter &response) = 0; + /// + /// Generate plot of ROI weighted Y-coordinate + /// + /// + /// Pixel Y weighted by measured counts; pixels with special values (overload, bad pixel) are excluded; binning is configurable + /// + /// Binning of frames for the plot (0 = default binning) (optional, default to 0) + /// Enable DEFLATE compression of output data. (optional, default to true) + virtual void plot_roi_y_get(const std::optional &binning, const std::optional &compression, Pistache::Http::ResponseWriter &response) = 0; + /// /// Generate spot count plot /// /// diff --git a/broker/gen/model/Azim_int_settings.cpp b/broker/gen/model/Azim_int_settings.cpp index bf4670dc..efa54962 100644 --- a/broker/gen/model/Azim_int_settings.cpp +++ b/broker/gen/model/Azim_int_settings.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Azim_int_settings.h b/broker/gen/model/Azim_int_settings.h index 9af055c3..4bfd90df 100644 --- a/broker/gen/model/Azim_int_settings.h +++ b/broker/gen/model/Azim_int_settings.h @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Broker_status.cpp b/broker/gen/model/Broker_status.cpp index 0f563fc5..84b1a206 100644 --- a/broker/gen/model/Broker_status.cpp +++ b/broker/gen/model/Broker_status.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Broker_status.h b/broker/gen/model/Broker_status.h index 5709e54e..8c21d970 100644 --- a/broker/gen/model/Broker_status.h +++ b/broker/gen/model/Broker_status.h @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Calibration_statistics_inner.cpp b/broker/gen/model/Calibration_statistics_inner.cpp index b6eb23bc..bd2e16c1 100644 --- a/broker/gen/model/Calibration_statistics_inner.cpp +++ b/broker/gen/model/Calibration_statistics_inner.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Calibration_statistics_inner.h b/broker/gen/model/Calibration_statistics_inner.h index ef972405..ac53397e 100644 --- a/broker/gen/model/Calibration_statistics_inner.h +++ b/broker/gen/model/Calibration_statistics_inner.h @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Dataset_settings.cpp b/broker/gen/model/Dataset_settings.cpp index dd0eef13..36cf9508 100644 --- a/broker/gen/model/Dataset_settings.cpp +++ b/broker/gen/model/Dataset_settings.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Dataset_settings.h b/broker/gen/model/Dataset_settings.h index 0a4a3f93..c065238e 100644 --- a/broker/gen/model/Dataset_settings.h +++ b/broker/gen/model/Dataset_settings.h @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Dataset_settings_unit_cell.cpp b/broker/gen/model/Dataset_settings_unit_cell.cpp index f1a740ed..9ea063f3 100644 --- a/broker/gen/model/Dataset_settings_unit_cell.cpp +++ b/broker/gen/model/Dataset_settings_unit_cell.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Dataset_settings_unit_cell.h b/broker/gen/model/Dataset_settings_unit_cell.h index 95cf1f31..5994dae2 100644 --- a/broker/gen/model/Dataset_settings_unit_cell.h +++ b/broker/gen/model/Dataset_settings_unit_cell.h @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Detector.cpp b/broker/gen/model/Detector.cpp index b6e5d207..b28bed78 100644 --- a/broker/gen/model/Detector.cpp +++ b/broker/gen/model/Detector.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Detector.h b/broker/gen/model/Detector.h index 2d9d50e2..fec869ec 100644 --- a/broker/gen/model/Detector.h +++ b/broker/gen/model/Detector.h @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Detector_list.cpp b/broker/gen/model/Detector_list.cpp index 7ac608c0..9b0daa7a 100644 --- a/broker/gen/model/Detector_list.cpp +++ b/broker/gen/model/Detector_list.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Detector_list.h b/broker/gen/model/Detector_list.h index 0470204a..2442d59f 100644 --- a/broker/gen/model/Detector_list.h +++ b/broker/gen/model/Detector_list.h @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Detector_list_element.cpp b/broker/gen/model/Detector_list_element.cpp index 85770258..09548c23 100644 --- a/broker/gen/model/Detector_list_element.cpp +++ b/broker/gen/model/Detector_list_element.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Detector_list_element.h b/broker/gen/model/Detector_list_element.h index 03a0ab0c..2c09517d 100644 --- a/broker/gen/model/Detector_list_element.h +++ b/broker/gen/model/Detector_list_element.h @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Detector_module.cpp b/broker/gen/model/Detector_module.cpp index 34519e70..9f2ffbc2 100644 --- a/broker/gen/model/Detector_module.cpp +++ b/broker/gen/model/Detector_module.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Detector_module.h b/broker/gen/model/Detector_module.h index 0820a637..902b6803 100644 --- a/broker/gen/model/Detector_module.h +++ b/broker/gen/model/Detector_module.h @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Detector_module_direction.cpp b/broker/gen/model/Detector_module_direction.cpp index 2231cbe3..8aa729a4 100644 --- a/broker/gen/model/Detector_module_direction.cpp +++ b/broker/gen/model/Detector_module_direction.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Detector_module_direction.h b/broker/gen/model/Detector_module_direction.h index 0465ffd3..272a330e 100644 --- a/broker/gen/model/Detector_module_direction.h +++ b/broker/gen/model/Detector_module_direction.h @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Detector_power_state.cpp b/broker/gen/model/Detector_power_state.cpp index b11208f4..d7496057 100644 --- a/broker/gen/model/Detector_power_state.cpp +++ b/broker/gen/model/Detector_power_state.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Detector_power_state.h b/broker/gen/model/Detector_power_state.h index 5436c113..067543de 100644 --- a/broker/gen/model/Detector_power_state.h +++ b/broker/gen/model/Detector_power_state.h @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Detector_selection.cpp b/broker/gen/model/Detector_selection.cpp index 463769b6..66436874 100644 --- a/broker/gen/model/Detector_selection.cpp +++ b/broker/gen/model/Detector_selection.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Detector_selection.h b/broker/gen/model/Detector_selection.h index 3dd19579..7e6e1513 100644 --- a/broker/gen/model/Detector_selection.h +++ b/broker/gen/model/Detector_selection.h @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Detector_settings.cpp b/broker/gen/model/Detector_settings.cpp index 23039110..21c05c44 100644 --- a/broker/gen/model/Detector_settings.cpp +++ b/broker/gen/model/Detector_settings.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Detector_settings.h b/broker/gen/model/Detector_settings.h index 662a46f8..3f87bec8 100644 --- a/broker/gen/model/Detector_settings.h +++ b/broker/gen/model/Detector_settings.h @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Detector_state.cpp b/broker/gen/model/Detector_state.cpp index 235be04b..9fd94b23 100644 --- a/broker/gen/model/Detector_state.cpp +++ b/broker/gen/model/Detector_state.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Detector_state.h b/broker/gen/model/Detector_state.h index 276c62bd..d616e035 100644 --- a/broker/gen/model/Detector_state.h +++ b/broker/gen/model/Detector_state.h @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Detector_status.cpp b/broker/gen/model/Detector_status.cpp index 216d3015..b4f8811a 100644 --- a/broker/gen/model/Detector_status.cpp +++ b/broker/gen/model/Detector_status.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Detector_status.h b/broker/gen/model/Detector_status.h index d8b394ea..c643fe36 100644 --- a/broker/gen/model/Detector_status.h +++ b/broker/gen/model/Detector_status.h @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Detector_timing.cpp b/broker/gen/model/Detector_timing.cpp index da7795d8..f9a82ef4 100644 --- a/broker/gen/model/Detector_timing.cpp +++ b/broker/gen/model/Detector_timing.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Detector_timing.h b/broker/gen/model/Detector_timing.h index 5fa89764..5358f028 100644 --- a/broker/gen/model/Detector_timing.h +++ b/broker/gen/model/Detector_timing.h @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Detector_type.cpp b/broker/gen/model/Detector_type.cpp index 7389fdd1..dcffc886 100644 --- a/broker/gen/model/Detector_type.cpp +++ b/broker/gen/model/Detector_type.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Detector_type.h b/broker/gen/model/Detector_type.h index 2925b5db..d51ce523 100644 --- a/broker/gen/model/Detector_type.h +++ b/broker/gen/model/Detector_type.h @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Error_message.cpp b/broker/gen/model/Error_message.cpp index e7db9fd8..9695c7a2 100644 --- a/broker/gen/model/Error_message.cpp +++ b/broker/gen/model/Error_message.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Error_message.h b/broker/gen/model/Error_message.h index 45f30505..25a173cd 100644 --- a/broker/gen/model/Error_message.h +++ b/broker/gen/model/Error_message.h @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/File_writer_format.cpp b/broker/gen/model/File_writer_format.cpp new file mode 100644 index 00000000..287730e5 --- /dev/null +++ b/broker/gen/model/File_writer_format.cpp @@ -0,0 +1,122 @@ +/** +* Jungfraujoch +* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. +* +* The version of the OpenAPI document: 1.0.0-rc.34 +* Contact: filip.leonarski@psi.ch +* +* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). +* https://openapi-generator.tech +* Do not edit the class manually. +*/ + + +#include "File_writer_format.h" +#include "Helpers.h" +#include +#include + +namespace org::openapitools::server::model +{ + +File_writer_format::File_writer_format() +{ + +} + +void File_writer_format::validate() const +{ + std::stringstream msg; + if (!validate(msg)) + { + throw org::openapitools::server::helpers::ValidationException(msg.str()); + } +} + +bool File_writer_format::validate(std::stringstream& msg) const +{ + return validate(msg, ""); +} + +bool File_writer_format::validate(std::stringstream& msg, const std::string& pathPrefix) const +{ + bool success = true; + const std::string _pathPrefix = pathPrefix.empty() ? "File_writer_format" : pathPrefix; + + + if (m_value == File_writer_format::eFile_writer_format::INVALID_VALUE_OPENAPI_GENERATED) + { + success = false; + msg << _pathPrefix << ": has no value;"; + } + + return success; +} + +bool File_writer_format::operator==(const File_writer_format& rhs) const +{ + return + getValue() == rhs.getValue() + + ; +} + +bool File_writer_format::operator!=(const File_writer_format& rhs) const +{ + return !(*this == rhs); +} + +void to_json(nlohmann::json& j, const File_writer_format& o) +{ + j = nlohmann::json::object(); + + switch (o.getValue()) + { + case File_writer_format::eFile_writer_format::INVALID_VALUE_OPENAPI_GENERATED: + j = "INVALID_VALUE_OPENAPI_GENERATED"; + break; + case File_writer_format::eFile_writer_format::NONE: + j = "None"; + break; + case File_writer_format::eFile_writer_format::NXMXLEGACY: + j = "NXmxLegacy"; + break; + case File_writer_format::eFile_writer_format::NXMXVDS: + j = "NXmxVDS"; + break; + } +} + +void from_json(const nlohmann::json& j, File_writer_format& o) +{ + + auto s = j.get(); + if (s == "None") { + o.setValue(File_writer_format::eFile_writer_format::NONE); + } + else if (s == "NXmxLegacy") { + o.setValue(File_writer_format::eFile_writer_format::NXMXLEGACY); + } + else if (s == "NXmxVDS") { + o.setValue(File_writer_format::eFile_writer_format::NXMXVDS); + } else { + std::stringstream ss; + ss << "Unexpected value " << s << " in json" + << " cannot be converted to enum of type" + << " File_writer_format::eFile_writer_format"; + throw std::invalid_argument(ss.str()); + } + +} + +File_writer_format::eFile_writer_format File_writer_format::getValue() const +{ + return m_value; +} +void File_writer_format::setValue(File_writer_format::eFile_writer_format value) +{ + m_value = value; +} + +} // namespace org::openapitools::server::model + diff --git a/broker/gen/model/File_writer_format.h b/broker/gen/model/File_writer_format.h new file mode 100644 index 00000000..9c32cf2d --- /dev/null +++ b/broker/gen/model/File_writer_format.h @@ -0,0 +1,80 @@ +/** +* Jungfraujoch +* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. +* +* The version of the OpenAPI document: 1.0.0-rc.34 +* Contact: filip.leonarski@psi.ch +* +* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). +* https://openapi-generator.tech +* Do not edit the class manually. +*/ +/* + * File_writer_format.h + * + * None - no master file written NXmxLegacy - legacy format with soft links to data files in the master file; necessary for DECTRIS Albula 4.0 and DECTRIS Neggia NXmxVDS - newer format with virtual dataset linking data files in the master file, also includes better metadata handling + */ + +#ifndef File_writer_format_H_ +#define File_writer_format_H_ + + +#include + +namespace org::openapitools::server::model +{ + +/// +/// None - no master file written NXmxLegacy - legacy format with soft links to data files in the master file; necessary for DECTRIS Albula 4.0 and DECTRIS Neggia NXmxVDS - newer format with virtual dataset linking data files in the master file, also includes better metadata handling +/// +class File_writer_format +{ +public: + File_writer_format(); + virtual ~File_writer_format() = default; + + enum class eFile_writer_format { + // To have a valid default value. + // Avoiding name clashes with user defined + // enum values + INVALID_VALUE_OPENAPI_GENERATED = 0, + NONE, + NXMXLEGACY, + NXMXVDS + }; + + /// + /// Validate the current data in the model. Throws a ValidationException on failure. + /// + void validate() const; + + /// + /// Validate the current data in the model. Returns false on error and writes an error + /// message into the given stringstream. + /// + bool validate(std::stringstream& msg) const; + + /// + /// Helper overload for validate. Used when one model stores another model and calls it's validate. + /// Not meant to be called outside that case. + /// + bool validate(std::stringstream& msg, const std::string& pathPrefix) const; + + bool operator==(const File_writer_format& rhs) const; + bool operator!=(const File_writer_format& rhs) const; + + ///////////////////////////////////////////// + /// File_writer_format members + + File_writer_format::eFile_writer_format getValue() const; + void setValue(File_writer_format::eFile_writer_format value); + + friend void to_json(nlohmann::json& j, const File_writer_format& o); + friend void from_json(const nlohmann::json& j, File_writer_format& o); +protected: + File_writer_format::eFile_writer_format m_value = File_writer_format::eFile_writer_format::INVALID_VALUE_OPENAPI_GENERATED; +}; + +} // namespace org::openapitools::server::model + +#endif /* File_writer_format_H_ */ diff --git a/broker/gen/model/File_writer_settings.cpp b/broker/gen/model/File_writer_settings.cpp index 2d8eb9f2..3cc0b46f 100644 --- a/broker/gen/model/File_writer_settings.cpp +++ b/broker/gen/model/File_writer_settings.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -23,8 +23,7 @@ File_writer_settings::File_writer_settings() { m_Overwrite = false; m_OverwriteIsSet = false; - m_File_writer_version = 2L; - m_File_writer_versionIsSet = false; + m_FormatIsSet = false; } @@ -47,26 +46,7 @@ bool File_writer_settings::validate(std::stringstream& msg, const std::string& p bool success = true; const std::string _pathPrefix = pathPrefix.empty() ? "File_writer_settings" : pathPrefix; - - if (fileWriterVersionIsSet()) - { - const int64_t& value = m_File_writer_version; - const std::string currentValuePath = _pathPrefix + ".fileWriterVersion"; - - - if (value < 1ll) - { - success = false; - msg << currentValuePath << ": must be greater than or equal to 1;"; - } - if (value > 2ll) - { - success = false; - msg << currentValuePath << ": must be less than or equal to 2;"; - } - - } - + return success; } @@ -79,7 +59,7 @@ bool File_writer_settings::operator==(const File_writer_settings& rhs) const ((!overwriteIsSet() && !rhs.overwriteIsSet()) || (overwriteIsSet() && rhs.overwriteIsSet() && isOverwrite() == rhs.isOverwrite())) && - ((!fileWriterVersionIsSet() && !rhs.fileWriterVersionIsSet()) || (fileWriterVersionIsSet() && rhs.fileWriterVersionIsSet() && getFileWriterVersion() == rhs.getFileWriterVersion())) + ((!formatIsSet() && !rhs.formatIsSet()) || (formatIsSet() && rhs.formatIsSet() && getFormat() == rhs.getFormat())) ; } @@ -94,8 +74,8 @@ void to_json(nlohmann::json& j, const File_writer_settings& o) j = nlohmann::json::object(); if(o.overwriteIsSet()) j["overwrite"] = o.m_Overwrite; - if(o.fileWriterVersionIsSet()) - j["file_writer_version"] = o.m_File_writer_version; + if(o.formatIsSet()) + j["format"] = o.m_Format; } @@ -106,10 +86,10 @@ void from_json(const nlohmann::json& j, File_writer_settings& o) j.at("overwrite").get_to(o.m_Overwrite); o.m_OverwriteIsSet = true; } - if(j.find("file_writer_version") != j.end()) + if(j.find("format") != j.end()) { - j.at("file_writer_version").get_to(o.m_File_writer_version); - o.m_File_writer_versionIsSet = true; + j.at("format").get_to(o.m_Format); + o.m_FormatIsSet = true; } } @@ -131,22 +111,22 @@ void File_writer_settings::unsetOverwrite() { m_OverwriteIsSet = false; } -int64_t File_writer_settings::getFileWriterVersion() const +org::openapitools::server::model::File_writer_format File_writer_settings::getFormat() const { - return m_File_writer_version; + return m_Format; } -void File_writer_settings::setFileWriterVersion(int64_t const value) +void File_writer_settings::setFormat(org::openapitools::server::model::File_writer_format const& value) { - m_File_writer_version = value; - m_File_writer_versionIsSet = true; + m_Format = value; + m_FormatIsSet = true; } -bool File_writer_settings::fileWriterVersionIsSet() const +bool File_writer_settings::formatIsSet() const { - return m_File_writer_versionIsSet; + return m_FormatIsSet; } -void File_writer_settings::unsetFile_writer_version() +void File_writer_settings::unsetFormat() { - m_File_writer_versionIsSet = false; + m_FormatIsSet = false; } diff --git a/broker/gen/model/File_writer_settings.h b/broker/gen/model/File_writer_settings.h index 9116a872..456fd6e0 100644 --- a/broker/gen/model/File_writer_settings.h +++ b/broker/gen/model/File_writer_settings.h @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -19,6 +19,7 @@ #define File_writer_settings_H_ +#include "File_writer_format.h" #include namespace org::openapitools::server::model @@ -65,20 +66,20 @@ public: bool overwriteIsSet() const; void unsetOverwrite(); /// - /// version 1 - legacy format with soft links to data files in the master file; necessary for DECTRIS Albula 4.0 and DECTRIS Neggia version 2 - newer format with virtual dataset linking data files in the master file, also includes better metadata handling + /// /// - int64_t getFileWriterVersion() const; - void setFileWriterVersion(int64_t const value); - bool fileWriterVersionIsSet() const; - void unsetFile_writer_version(); + org::openapitools::server::model::File_writer_format getFormat() const; + void setFormat(org::openapitools::server::model::File_writer_format const& value); + bool formatIsSet() const; + void unsetFormat(); friend void to_json(nlohmann::json& j, const File_writer_settings& o); friend void from_json(const nlohmann::json& j, File_writer_settings& o); protected: bool m_Overwrite; bool m_OverwriteIsSet; - int64_t m_File_writer_version; - bool m_File_writer_versionIsSet; + org::openapitools::server::model::File_writer_format m_Format; + bool m_FormatIsSet; }; diff --git a/broker/gen/model/Fpga_status_inner.cpp b/broker/gen/model/Fpga_status_inner.cpp index 6dbe2fd3..d04d4f94 100644 --- a/broker/gen/model/Fpga_status_inner.cpp +++ b/broker/gen/model/Fpga_status_inner.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Fpga_status_inner.h b/broker/gen/model/Fpga_status_inner.h index 0a9c65dc..099edda9 100644 --- a/broker/gen/model/Fpga_status_inner.h +++ b/broker/gen/model/Fpga_status_inner.h @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Helpers.cpp b/broker/gen/model/Helpers.cpp index 4e487d23..ed9d3ca6 100644 --- a/broker/gen/model/Helpers.cpp +++ b/broker/gen/model/Helpers.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Helpers.h b/broker/gen/model/Helpers.h index 65719615..3023b2c9 100644 --- a/broker/gen/model/Helpers.h +++ b/broker/gen/model/Helpers.h @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Image_buffer_status.cpp b/broker/gen/model/Image_buffer_status.cpp index 8ca7c74b..c3ce0d8c 100644 --- a/broker/gen/model/Image_buffer_status.cpp +++ b/broker/gen/model/Image_buffer_status.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Image_buffer_status.h b/broker/gen/model/Image_buffer_status.h index e0f1d219..0d215ab3 100644 --- a/broker/gen/model/Image_buffer_status.h +++ b/broker/gen/model/Image_buffer_status.h @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Image_format_settings.cpp b/broker/gen/model/Image_format_settings.cpp index 55cbff21..7f6884b6 100644 --- a/broker/gen/model/Image_format_settings.cpp +++ b/broker/gen/model/Image_format_settings.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Image_format_settings.h b/broker/gen/model/Image_format_settings.h index da710bfb..c409bc2b 100644 --- a/broker/gen/model/Image_format_settings.h +++ b/broker/gen/model/Image_format_settings.h @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Image_pusher_type.cpp b/broker/gen/model/Image_pusher_type.cpp index 80fe0e6b..aa068e2d 100644 --- a/broker/gen/model/Image_pusher_type.cpp +++ b/broker/gen/model/Image_pusher_type.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Image_pusher_type.h b/broker/gen/model/Image_pusher_type.h index 279f946f..a1b68e35 100644 --- a/broker/gen/model/Image_pusher_type.h +++ b/broker/gen/model/Image_pusher_type.h @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Instrument_metadata.cpp b/broker/gen/model/Instrument_metadata.cpp index 59f400dc..2f7203ed 100644 --- a/broker/gen/model/Instrument_metadata.cpp +++ b/broker/gen/model/Instrument_metadata.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Instrument_metadata.h b/broker/gen/model/Instrument_metadata.h index eb4574d5..c698a178 100644 --- a/broker/gen/model/Instrument_metadata.h +++ b/broker/gen/model/Instrument_metadata.h @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Jfjoch_settings.cpp b/broker/gen/model/Jfjoch_settings.cpp index b60f8eac..6ab287fb 100644 --- a/broker/gen/model/Jfjoch_settings.cpp +++ b/broker/gen/model/Jfjoch_settings.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Jfjoch_settings.h b/broker/gen/model/Jfjoch_settings.h index 42c91117..d55ff6c6 100644 --- a/broker/gen/model/Jfjoch_settings.h +++ b/broker/gen/model/Jfjoch_settings.h @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Jfjoch_statistics.cpp b/broker/gen/model/Jfjoch_statistics.cpp index c39d9dd1..dac53a85 100644 --- a/broker/gen/model/Jfjoch_statistics.cpp +++ b/broker/gen/model/Jfjoch_statistics.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Jfjoch_statistics.h b/broker/gen/model/Jfjoch_statistics.h index 80d79316..b0c31407 100644 --- a/broker/gen/model/Jfjoch_statistics.h +++ b/broker/gen/model/Jfjoch_statistics.h @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Measurement_statistics.cpp b/broker/gen/model/Measurement_statistics.cpp index b1c84f49..90532b02 100644 --- a/broker/gen/model/Measurement_statistics.cpp +++ b/broker/gen/model/Measurement_statistics.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Measurement_statistics.h b/broker/gen/model/Measurement_statistics.h index e04d2ee2..d21a72a2 100644 --- a/broker/gen/model/Measurement_statistics.h +++ b/broker/gen/model/Measurement_statistics.h @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Pcie_devices_inner.cpp b/broker/gen/model/Pcie_devices_inner.cpp index e88c0908..12253ad4 100644 --- a/broker/gen/model/Pcie_devices_inner.cpp +++ b/broker/gen/model/Pcie_devices_inner.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Pcie_devices_inner.h b/broker/gen/model/Pcie_devices_inner.h index f4c1482e..e7a2c523 100644 --- a/broker/gen/model/Pcie_devices_inner.h +++ b/broker/gen/model/Pcie_devices_inner.h @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Pixel_mask_statistics.cpp b/broker/gen/model/Pixel_mask_statistics.cpp index 9fd1d44e..c5d451e8 100644 --- a/broker/gen/model/Pixel_mask_statistics.cpp +++ b/broker/gen/model/Pixel_mask_statistics.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Pixel_mask_statistics.h b/broker/gen/model/Pixel_mask_statistics.h index bb020113..45818739 100644 --- a/broker/gen/model/Pixel_mask_statistics.h +++ b/broker/gen/model/Pixel_mask_statistics.h @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Plot.cpp b/broker/gen/model/Plot.cpp index 1a42d275..fc1d8551 100644 --- a/broker/gen/model/Plot.cpp +++ b/broker/gen/model/Plot.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Plot.h b/broker/gen/model/Plot.h index cf483b84..afe8bc8e 100644 --- a/broker/gen/model/Plot.h +++ b/broker/gen/model/Plot.h @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Plots.cpp b/broker/gen/model/Plots.cpp index 70b52b9d..9afb01e9 100644 --- a/broker/gen/model/Plots.cpp +++ b/broker/gen/model/Plots.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Plots.h b/broker/gen/model/Plots.h index a9132d4c..55dedbfd 100644 --- a/broker/gen/model/Plots.h +++ b/broker/gen/model/Plots.h @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Preview_settings.cpp b/broker/gen/model/Preview_settings.cpp index c7eaeeb1..2f95036d 100644 --- a/broker/gen/model/Preview_settings.cpp +++ b/broker/gen/model/Preview_settings.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Preview_settings.h b/broker/gen/model/Preview_settings.h index 2ffd7fc4..aa2ab35a 100644 --- a/broker/gen/model/Preview_settings.h +++ b/broker/gen/model/Preview_settings.h @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Roi_azim_list.cpp b/broker/gen/model/Roi_azim_list.cpp new file mode 100644 index 00000000..a5ff8d70 --- /dev/null +++ b/broker/gen/model/Roi_azim_list.cpp @@ -0,0 +1,131 @@ +/** +* Jungfraujoch +* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. +* +* The version of the OpenAPI document: 1.0.0-rc.34 +* Contact: filip.leonarski@psi.ch +* +* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). +* https://openapi-generator.tech +* Do not edit the class manually. +*/ + + +#include "Roi_azim_list.h" +#include "Helpers.h" + +#include + +namespace org::openapitools::server::model +{ + +Roi_azim_list::Roi_azim_list() +{ + m_RoisIsSet = false; + +} + +void Roi_azim_list::validate() const +{ + std::stringstream msg; + if (!validate(msg)) + { + throw org::openapitools::server::helpers::ValidationException(msg.str()); + } +} + +bool Roi_azim_list::validate(std::stringstream& msg) const +{ + return validate(msg, ""); +} + +bool Roi_azim_list::validate(std::stringstream& msg, const std::string& pathPrefix) const +{ + bool success = true; + const std::string _pathPrefix = pathPrefix.empty() ? "Roi_azim_list" : pathPrefix; + + + if (roisIsSet()) + { + const std::vector& value = m_Rois; + const std::string currentValuePath = _pathPrefix + ".rois"; + + + if (value.size() > 12) + { + success = false; + msg << currentValuePath << ": must have at most 12 elements;"; + } + { // Recursive validation of array elements + const std::string oldValuePath = currentValuePath; + int i = 0; + for (const org::openapitools::server::model::Roi_azimuthal& value : value) + { + const std::string currentValuePath = oldValuePath + "[" + std::to_string(i) + "]"; + + success = value.validate(msg, currentValuePath + ".rois") && success; + + i++; + } + } + + } + + return success; +} + +bool Roi_azim_list::operator==(const Roi_azim_list& rhs) const +{ + return + + + + ((!roisIsSet() && !rhs.roisIsSet()) || (roisIsSet() && rhs.roisIsSet() && getRois() == rhs.getRois())) + + ; +} + +bool Roi_azim_list::operator!=(const Roi_azim_list& rhs) const +{ + return !(*this == rhs); +} + +void to_json(nlohmann::json& j, const Roi_azim_list& o) +{ + j = nlohmann::json::object(); + if(o.roisIsSet() || !o.m_Rois.empty()) + j["rois"] = o.m_Rois; + +} + +void from_json(const nlohmann::json& j, Roi_azim_list& o) +{ + if(j.find("rois") != j.end()) + { + j.at("rois").get_to(o.m_Rois); + o.m_RoisIsSet = true; + } + +} + +std::vector Roi_azim_list::getRois() const +{ + return m_Rois; +} +void Roi_azim_list::setRois(std::vector const& value) +{ + m_Rois = value; + m_RoisIsSet = true; +} +bool Roi_azim_list::roisIsSet() const +{ + return m_RoisIsSet; +} +void Roi_azim_list::unsetRois() +{ + m_RoisIsSet = false; +} + + +} // namespace org::openapitools::server::model + diff --git a/broker/gen/model/Roi_azim_list.h b/broker/gen/model/Roi_azim_list.h new file mode 100644 index 00000000..a93404e6 --- /dev/null +++ b/broker/gen/model/Roi_azim_list.h @@ -0,0 +1,80 @@ +/** +* Jungfraujoch +* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. +* +* The version of the OpenAPI document: 1.0.0-rc.34 +* Contact: filip.leonarski@psi.ch +* +* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). +* https://openapi-generator.tech +* Do not edit the class manually. +*/ +/* + * Roi_azim_list.h + * + * List of azimuthal ROIs + */ + +#ifndef Roi_azim_list_H_ +#define Roi_azim_list_H_ + + +#include "Roi_azimuthal.h" +#include +#include + +namespace org::openapitools::server::model +{ + +/// +/// List of azimuthal ROIs +/// +class Roi_azim_list +{ +public: + Roi_azim_list(); + virtual ~Roi_azim_list() = default; + + + /// + /// Validate the current data in the model. Throws a ValidationException on failure. + /// + void validate() const; + + /// + /// Validate the current data in the model. Returns false on error and writes an error + /// message into the given stringstream. + /// + bool validate(std::stringstream& msg) const; + + /// + /// Helper overload for validate. Used when one model stores another model and calls it's validate. + /// Not meant to be called outside that case. + /// + bool validate(std::stringstream& msg, const std::string& pathPrefix) const; + + bool operator==(const Roi_azim_list& rhs) const; + bool operator!=(const Roi_azim_list& rhs) const; + + ///////////////////////////////////////////// + /// Roi_azim_list members + + /// + /// + /// + std::vector getRois() const; + void setRois(std::vector const& value); + bool roisIsSet() const; + void unsetRois(); + + friend void to_json(nlohmann::json& j, const Roi_azim_list& o); + friend void from_json(const nlohmann::json& j, Roi_azim_list& o); +protected: + std::vector m_Rois; + bool m_RoisIsSet; + +}; + +} // namespace org::openapitools::server::model + +#endif /* Roi_azim_list_H_ */ diff --git a/broker/gen/model/Roi_azimuthal.cpp b/broker/gen/model/Roi_azimuthal.cpp new file mode 100644 index 00000000..9f237820 --- /dev/null +++ b/broker/gen/model/Roi_azimuthal.cpp @@ -0,0 +1,161 @@ +/** +* Jungfraujoch +* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. +* +* The version of the OpenAPI document: 1.0.0-rc.34 +* Contact: filip.leonarski@psi.ch +* +* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). +* https://openapi-generator.tech +* Do not edit the class manually. +*/ + + +#include "Roi_azimuthal.h" +#include "Helpers.h" + +#include + +namespace org::openapitools::server::model +{ + +Roi_azimuthal::Roi_azimuthal() +{ + m_Name = ""; + m_Q_min_recipA = 0.0f; + m_Q_max_recipA = 0.0f; + +} + +void Roi_azimuthal::validate() const +{ + std::stringstream msg; + if (!validate(msg)) + { + throw org::openapitools::server::helpers::ValidationException(msg.str()); + } +} + +bool Roi_azimuthal::validate(std::stringstream& msg) const +{ + return validate(msg, ""); +} + +bool Roi_azimuthal::validate(std::stringstream& msg, const std::string& pathPrefix) const +{ + bool success = true; + const std::string _pathPrefix = pathPrefix.empty() ? "Roi_azimuthal" : pathPrefix; + + + + /* Name */ { + const std::string& value = m_Name; + const std::string currentValuePath = _pathPrefix + ".name"; + + + if (value.length() < 1) + { + success = false; + msg << currentValuePath << ": must be at least 1 characters long;"; + } + + } + + + /* Q_min_recipA */ { + const float& value = m_Q_min_recipA; + const std::string currentValuePath = _pathPrefix + ".qMinRecipA"; + + + if (value < static_cast(0.000010)) + { + success = false; + msg << currentValuePath << ": must be greater than or equal to 0.000010;"; + } + + } + + + /* Q_max_recipA */ { + const float& value = m_Q_max_recipA; + const std::string currentValuePath = _pathPrefix + ".qMaxRecipA"; + + + if (value < static_cast(0.000010)) + { + success = false; + msg << currentValuePath << ": must be greater than or equal to 0.000010;"; + } + + } + + return success; +} + +bool Roi_azimuthal::operator==(const Roi_azimuthal& rhs) const +{ + return + + + (getName() == rhs.getName()) + && + + (getQMinRecipA() == rhs.getQMinRecipA()) + && + + (getQMaxRecipA() == rhs.getQMaxRecipA()) + + + ; +} + +bool Roi_azimuthal::operator!=(const Roi_azimuthal& rhs) const +{ + return !(*this == rhs); +} + +void to_json(nlohmann::json& j, const Roi_azimuthal& o) +{ + j = nlohmann::json::object(); + j["name"] = o.m_Name; + j["q_min_recipA"] = o.m_Q_min_recipA; + j["q_max_recipA"] = o.m_Q_max_recipA; + +} + +void from_json(const nlohmann::json& j, Roi_azimuthal& o) +{ + j.at("name").get_to(o.m_Name); + j.at("q_min_recipA").get_to(o.m_Q_min_recipA); + j.at("q_max_recipA").get_to(o.m_Q_max_recipA); + +} + +std::string Roi_azimuthal::getName() const +{ + return m_Name; +} +void Roi_azimuthal::setName(std::string const& value) +{ + m_Name = value; +} +float Roi_azimuthal::getQMinRecipA() const +{ + return m_Q_min_recipA; +} +void Roi_azimuthal::setQMinRecipA(float const value) +{ + m_Q_min_recipA = value; +} +float Roi_azimuthal::getQMaxRecipA() const +{ + return m_Q_max_recipA; +} +void Roi_azimuthal::setQMaxRecipA(float const value) +{ + m_Q_max_recipA = value; +} + + +} // namespace org::openapitools::server::model + diff --git a/broker/gen/model/Roi_azimuthal.h b/broker/gen/model/Roi_azimuthal.h new file mode 100644 index 00000000..b4f4aa9e --- /dev/null +++ b/broker/gen/model/Roi_azimuthal.h @@ -0,0 +1,91 @@ +/** +* Jungfraujoch +* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. +* +* The version of the OpenAPI document: 1.0.0-rc.34 +* Contact: filip.leonarski@psi.ch +* +* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). +* https://openapi-generator.tech +* Do not edit the class manually. +*/ +/* + * Roi_azimuthal.h + * + * ROI as Q-range (or resolution range) + */ + +#ifndef Roi_azimuthal_H_ +#define Roi_azimuthal_H_ + + +#include +#include + +namespace org::openapitools::server::model +{ + +/// +/// ROI as Q-range (or resolution range) +/// +class Roi_azimuthal +{ +public: + Roi_azimuthal(); + virtual ~Roi_azimuthal() = default; + + + /// + /// Validate the current data in the model. Throws a ValidationException on failure. + /// + void validate() const; + + /// + /// Validate the current data in the model. Returns false on error and writes an error + /// message into the given stringstream. + /// + bool validate(std::stringstream& msg) const; + + /// + /// Helper overload for validate. Used when one model stores another model and calls it's validate. + /// Not meant to be called outside that case. + /// + bool validate(std::stringstream& msg, const std::string& pathPrefix) const; + + bool operator==(const Roi_azimuthal& rhs) const; + bool operator!=(const Roi_azimuthal& rhs) const; + + ///////////////////////////////////////////// + /// Roi_azimuthal members + + /// + /// Name for the ROI; used in the plots + /// + std::string getName() const; + void setName(std::string const& value); + /// + /// Minimum Q-range for the ROI + /// + float getQMinRecipA() const; + void setQMinRecipA(float const value); + /// + /// Maximum Q-range for the ROI + /// + float getQMaxRecipA() const; + void setQMaxRecipA(float const value); + + friend void to_json(nlohmann::json& j, const Roi_azimuthal& o); + friend void from_json(const nlohmann::json& j, Roi_azimuthal& o); +protected: + std::string m_Name; + + float m_Q_min_recipA; + + float m_Q_max_recipA; + + +}; + +} // namespace org::openapitools::server::model + +#endif /* Roi_azimuthal_H_ */ diff --git a/broker/gen/model/Roi_box.cpp b/broker/gen/model/Roi_box.cpp index d315eb04..d925915d 100644 --- a/broker/gen/model/Roi_box.cpp +++ b/broker/gen/model/Roi_box.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Roi_box.h b/broker/gen/model/Roi_box.h index 17db03db..f2cd7a17 100644 --- a/broker/gen/model/Roi_box.h +++ b/broker/gen/model/Roi_box.h @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Roi_box_list.cpp b/broker/gen/model/Roi_box_list.cpp index 689f54b7..048dfdec 100644 --- a/broker/gen/model/Roi_box_list.cpp +++ b/broker/gen/model/Roi_box_list.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -51,10 +51,10 @@ bool Roi_box_list::validate(std::stringstream& msg, const std::string& pathPrefi const std::string currentValuePath = _pathPrefix + ".rois"; - if (value.size() > 32) + if (value.size() > 12) { success = false; - msg << currentValuePath << ": must have at most 32 elements;"; + msg << currentValuePath << ": must have at most 12 elements;"; } { // Recursive validation of array elements const std::string oldValuePath = currentValuePath; diff --git a/broker/gen/model/Roi_box_list.h b/broker/gen/model/Roi_box_list.h index fedd36b4..b88b8d76 100644 --- a/broker/gen/model/Roi_box_list.h +++ b/broker/gen/model/Roi_box_list.h @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Roi_circle.cpp b/broker/gen/model/Roi_circle.cpp index c5b656ce..f60950dd 100644 --- a/broker/gen/model/Roi_circle.cpp +++ b/broker/gen/model/Roi_circle.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Roi_circle.h b/broker/gen/model/Roi_circle.h index d4dc2afc..edcf2f48 100644 --- a/broker/gen/model/Roi_circle.h +++ b/broker/gen/model/Roi_circle.h @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Roi_circle_list.cpp b/broker/gen/model/Roi_circle_list.cpp index 80393ba4..799212f5 100644 --- a/broker/gen/model/Roi_circle_list.cpp +++ b/broker/gen/model/Roi_circle_list.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -50,10 +50,10 @@ bool Roi_circle_list::validate(std::stringstream& msg, const std::string& pathPr const std::string currentValuePath = _pathPrefix + ".rois"; - if (value.size() > 32) + if (value.size() > 12) { success = false; - msg << currentValuePath << ": must have at most 32 elements;"; + msg << currentValuePath << ": must have at most 12 elements;"; } { // Recursive validation of array elements const std::string oldValuePath = currentValuePath; diff --git a/broker/gen/model/Roi_circle_list.h b/broker/gen/model/Roi_circle_list.h index f870b4bb..95e7d2b4 100644 --- a/broker/gen/model/Roi_circle_list.h +++ b/broker/gen/model/Roi_circle_list.h @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Roi_definitions.cpp b/broker/gen/model/Roi_definitions.cpp index c4027c00..f85ae14d 100644 --- a/broker/gen/model/Roi_definitions.cpp +++ b/broker/gen/model/Roi_definitions.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -21,6 +21,7 @@ namespace org::openapitools::server::model Roi_definitions::Roi_definitions() { + m_AzimIsSet = false; } @@ -51,7 +52,7 @@ bool Roi_definitions::validate(std::stringstream& msg, const std::string& pathPr if (!m_Circle.validate(msg, _pathPrefix + ".circle")) { msg << _pathPrefix << ": Circle is invalid;"; success = false; - } + } return success; } @@ -64,8 +65,11 @@ bool Roi_definitions::operator==(const Roi_definitions& rhs) const && (getCircle() == rhs.getCircle()) + && + ((!azimIsSet() && !rhs.azimIsSet()) || (azimIsSet() && rhs.azimIsSet() && getAzim() == rhs.getAzim())) + ; } @@ -79,6 +83,8 @@ void to_json(nlohmann::json& j, const Roi_definitions& o) j = nlohmann::json::object(); j["box"] = o.m_Box; j["circle"] = o.m_Circle; + if(o.azimIsSet()) + j["azim"] = o.m_Azim; } @@ -86,6 +92,11 @@ void from_json(const nlohmann::json& j, Roi_definitions& o) { j.at("box").get_to(o.m_Box); j.at("circle").get_to(o.m_Circle); + if(j.find("azim") != j.end()) + { + j.at("azim").get_to(o.m_Azim); + o.m_AzimIsSet = true; + } } @@ -105,6 +116,23 @@ void Roi_definitions::setCircle(org::openapitools::server::model::Roi_circle_lis { m_Circle = value; } +org::openapitools::server::model::Roi_azim_list Roi_definitions::getAzim() const +{ + return m_Azim; +} +void Roi_definitions::setAzim(org::openapitools::server::model::Roi_azim_list const& value) +{ + m_Azim = value; + m_AzimIsSet = true; +} +bool Roi_definitions::azimIsSet() const +{ + return m_AzimIsSet; +} +void Roi_definitions::unsetAzim() +{ + m_AzimIsSet = false; +} } // namespace org::openapitools::server::model diff --git a/broker/gen/model/Roi_definitions.h b/broker/gen/model/Roi_definitions.h index 726c8582..18ec997b 100644 --- a/broker/gen/model/Roi_definitions.h +++ b/broker/gen/model/Roi_definitions.h @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -20,6 +20,7 @@ #include "Roi_circle_list.h" +#include "Roi_azim_list.h" #include "Roi_box_list.h" #include @@ -69,6 +70,13 @@ public: /// org::openapitools::server::model::Roi_circle_list getCircle() const; void setCircle(org::openapitools::server::model::Roi_circle_list const& value); + /// + /// + /// + org::openapitools::server::model::Roi_azim_list getAzim() const; + void setAzim(org::openapitools::server::model::Roi_azim_list const& value); + bool azimIsSet() const; + void unsetAzim(); friend void to_json(nlohmann::json& j, const Roi_definitions& o); friend void from_json(const nlohmann::json& j, Roi_definitions& o); @@ -77,6 +85,8 @@ protected: org::openapitools::server::model::Roi_circle_list m_Circle; + org::openapitools::server::model::Roi_azim_list m_Azim; + bool m_AzimIsSet; }; diff --git a/broker/gen/model/Rotation_axis.cpp b/broker/gen/model/Rotation_axis.cpp index 3abb1788..c0a00d57 100644 --- a/broker/gen/model/Rotation_axis.cpp +++ b/broker/gen/model/Rotation_axis.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Rotation_axis.h b/broker/gen/model/Rotation_axis.h index 56735eb1..60d1b4a7 100644 --- a/broker/gen/model/Rotation_axis.h +++ b/broker/gen/model/Rotation_axis.h @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Spot_finding_settings.cpp b/broker/gen/model/Spot_finding_settings.cpp index ec324a61..da19d473 100644 --- a/broker/gen/model/Spot_finding_settings.cpp +++ b/broker/gen/model/Spot_finding_settings.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Spot_finding_settings.h b/broker/gen/model/Spot_finding_settings.h index 7763605f..c77cc18c 100644 --- a/broker/gen/model/Spot_finding_settings.h +++ b/broker/gen/model/Spot_finding_settings.h @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Standard_detector_geometry.cpp b/broker/gen/model/Standard_detector_geometry.cpp index 663ec8d0..2540ff03 100644 --- a/broker/gen/model/Standard_detector_geometry.cpp +++ b/broker/gen/model/Standard_detector_geometry.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Standard_detector_geometry.h b/broker/gen/model/Standard_detector_geometry.h index a873fc4c..72523379 100644 --- a/broker/gen/model/Standard_detector_geometry.h +++ b/broker/gen/model/Standard_detector_geometry.h @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Zeromq_metadata_settings.cpp b/broker/gen/model/Zeromq_metadata_settings.cpp index 7655008b..2d330cb8 100644 --- a/broker/gen/model/Zeromq_metadata_settings.cpp +++ b/broker/gen/model/Zeromq_metadata_settings.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Zeromq_metadata_settings.h b/broker/gen/model/Zeromq_metadata_settings.h index 387ed0f6..69ce242a 100644 --- a/broker/gen/model/Zeromq_metadata_settings.h +++ b/broker/gen/model/Zeromq_metadata_settings.h @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Zeromq_preview_settings.cpp b/broker/gen/model/Zeromq_preview_settings.cpp index 04f4eaf3..0f0f8eae 100644 --- a/broker/gen/model/Zeromq_preview_settings.cpp +++ b/broker/gen/model/Zeromq_preview_settings.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Zeromq_preview_settings.h b/broker/gen/model/Zeromq_preview_settings.h index 1a3d35de..cfb08acd 100644 --- a/broker/gen/model/Zeromq_preview_settings.h +++ b/broker/gen/model/Zeromq_preview_settings.h @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Zeromq_settings.cpp b/broker/gen/model/Zeromq_settings.cpp index b49464f8..be250c2d 100644 --- a/broker/gen/model/Zeromq_settings.cpp +++ b/broker/gen/model/Zeromq_settings.cpp @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/gen/model/Zeromq_settings.h b/broker/gen/model/Zeromq_settings.h index 022be836..527d7526 100644 --- a/broker/gen/model/Zeromq_settings.h +++ b/broker/gen/model/Zeromq_settings.h @@ -2,7 +2,7 @@ * Jungfraujoch * API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. * -* The version of the OpenAPI document: 1.0.0-rc.33 +* The version of the OpenAPI document: 1.0.0-rc.34 * Contact: filip.leonarski@psi.ch * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/broker/jfjoch_api.yaml b/broker/jfjoch_api.yaml index b877bd8e..b5780934 100644 --- a/broker/jfjoch_api.yaml +++ b/broker/jfjoch_api.yaml @@ -5,7 +5,7 @@ info: API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates. - version: 1.0.0-rc.33 + version: 1.0.0-rc.34 contact: name: Filip Leonarski (Paul Scherrer Institute) email: filip.leonarski@psi.ch @@ -292,6 +292,17 @@ components: example: 90 minimum: 0 maximum: 360 + file_writer_format: + type: string + enum: + - "None" + - "NXmxLegacy" + - "NXmxVDS" + default: "NXmxLegacy" + description: | + None - no master file written + NXmxLegacy - legacy format with soft links to data files in the master file; necessary for DECTRIS Albula 4.0 and DECTRIS Neggia + NXmxVDS - newer format with virtual dataset linking data files in the master file, also includes better metadata handling file_writer_settings: type: object properties: @@ -300,15 +311,8 @@ components: default: false description: | Inform jfjoch_write to overwrite existing files. Otherwise files would be saved with .h5.{timestamp}.tmp suffix. - file_writer_version: - type: integer - format: int64 - minimum: 1 - maximum: 2 - default: 2 - description: | - version 1 - legacy format with soft links to data files in the master file; necessary for DECTRIS Albula 4.0 and DECTRIS Neggia - version 2 - newer format with virtual dataset linking data files in the master file, also includes better metadata handling + format: + $ref: '#/components/schemas/file_writer_format' pixel_mask_statistics: type: object properties: @@ -1067,6 +1071,28 @@ components: type: string description: "Enumerate field for automated analysis" enum: ["WrongDAQState", "Other"] + roi_azimuthal: + type: object + description: "ROI as Q-range (or resolution range)" + required: + - name + - q_min_recipA + - q_max_recipA + properties: + name: + type: string + minLength: 1 + description: "Name for the ROI; used in the plots" + q_min_recipA: + type: number + format: float + minimum: 0.00001 + description: "Minimum Q-range for the ROI" + q_max_recipA: + type: number + format: float + minimum: 0.00001 + description: "Maximum Q-range for the ROI" roi_circle: type: object description: "Circular ROI" @@ -1136,7 +1162,7 @@ components: properties: rois: type: array - maxItems: 32 + maxItems: 12 items: $ref: "#/components/schemas/roi_circle" roi_box_list: @@ -1145,9 +1171,18 @@ components: properties: rois: type: array - maxItems: 32 + maxItems: 12 items: $ref: "#/components/schemas/roi_box" + roi_azim_list: + type: object + description: "List of azimuthal ROIs" + properties: + rois: + type: array + maxItems: 12 + items: + $ref: "#/components/schemas/roi_azimuthal" roi_definitions: type: object required: @@ -1159,6 +1194,8 @@ components: $ref: '#/components/schemas/roi_box_list' circle: $ref: '#/components/schemas/roi_circle_list' + azim: + $ref: '#/components/schemas/roi_azim_list' instrument_metadata: type: object description: "Metadata for a measurement instrument" @@ -2388,6 +2425,69 @@ paths: schema: type: string description: Exception error + /plot/roi_mean: + get: + summary: Generate plot of ROI mean value + description: Mean of pixels within a ROI area; pixels with special values (overload, bad pixel) are excluded; binning is configurable; number will be wrong if multipixels are included! + parameters: + - $ref: '#/components/parameters/binning' + - $ref: '#/components/parameters/compression' + responses: + "200": + description: Response will be by default compressed with deflate algorithm, if using curl, use --compressed option. + content: + application/json: + schema: + $ref: '#/components/schemas/plots' + "400": + description: Input parsing or validation error + content: + text/plain: + schema: + type: string + description: Exception error + /plot/roi_x: + get: + summary: Generate plot of ROI weighted X-coordinate + description: Pixel X weighted by measured counts; pixels with special values (overload, bad pixel) are excluded; binning is configurable + parameters: + - $ref: '#/components/parameters/binning' + - $ref: '#/components/parameters/compression' + responses: + "200": + description: Response will be by default compressed with deflate algorithm, if using curl, use --compressed option. + content: + application/json: + schema: + $ref: '#/components/schemas/plots' + "400": + description: Input parsing or validation error + content: + text/plain: + schema: + type: string + description: Exception error + /plot/roi_y: + get: + summary: Generate plot of ROI weighted Y-coordinate + description: Pixel Y weighted by measured counts; pixels with special values (overload, bad pixel) are excluded; binning is configurable + parameters: + - $ref: '#/components/parameters/binning' + - $ref: '#/components/parameters/compression' + responses: + "200": + description: Response will be by default compressed with deflate algorithm, if using curl, use --compressed option. + content: + application/json: + schema: + $ref: '#/components/schemas/plots' + "400": + description: Input parsing or validation error + content: + text/plain: + schema: + type: string + description: Exception error /plot/receiver_delay: get: summary: Generate receiver delay plot diff --git a/broker/redoc-static.html b/broker/redoc-static.html index e4ce5c50..fbae5dea 100644 --- a/broker/redoc-static.html +++ b/broker/redoc-static.html @@ -349,7 +349,7 @@ data-styled.g137[id="sc-kqGpvY"]{content:"bAFwPb,"}/*!sc*/ -

Jungfraujoch (1.0.0-rc.33)

Download OpenAPI specification:Download

Filip Leonarski (Paul Scherrer Institute): filip.leonarski@psi.ch License: GPL-3.0

Jungfraujoch (1.0.0-rc.34)

Download OpenAPI specification:Download

Filip Leonarski (Paul Scherrer Institute): filip.leonarski@psi.ch License: GPL-3.0

API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). @@ -657,8 +657,10 @@ If value is not provided bit depth is adjusted automatically based on the image " class="sc-eeDSqt sc-eBMFzZ bSgSrX cWARBq">

This can only be done when detector is Idle, Error or Inactive states.

Request Body schema: application/json
overwrite
boolean
Default: false

Inform jfjoch_write to overwrite existing files. Otherwise files would be saved with .h5.{timestamp}.tmp suffix.

-
file_writer_version
integer <int64> [ 1 .. 2 ]
Default: 2

version 1 - legacy format with soft links to data files in the master file; necessary for DECTRIS Albula 4.0 and DECTRIS Neggia
version 2 - newer format with virtual dataset linking data files in the master file, also includes better metadata handling

+
format
string (file_writer_format)
Default: "NXmxLegacy"
Enum: "None" "NXmxLegacy" "NXmxVDS"

None - no master file written +NXmxLegacy - legacy format with soft links to data files in the master file; necessary for DECTRIS Albula 4.0 and DECTRIS Neggia
NXmxVDS - newer format with virtual dataset linking data files in the master file, also includes better metadata handling

Responses

Request samples

Content type
application/json
{
  • "overwrite": false,
  • "file_writer_version": 2
}

Response samples

Content type
application/json
{
  • "msg": "Detector in wrong state",
  • "reason": "WrongDAQState"
}

Get file writer settings

http://localhost:5232/config/file_writer

Request samples

Content type
application/json
{
  • "overwrite": false,
  • "format": "None"
}

Response samples

Content type
application/json
{
  • "msg": "Detector in wrong state",
  • "reason": "WrongDAQState"
}

Get file writer settings

Can be done anytime

Responses

Response samples

Content type
application/json
{
  • "overwrite": false,
  • "file_writer_version": 2
}

Change instrument metadata

http://localhost:5232/config/file_writer

Response samples

Content type
application/json
{
  • "overwrite": false,
  • "format": "None"
}

Change instrument metadata

This can only be done when detector is Idle, Error or Inactive states.

Request Body schema: application/json
source_name
required
string
source_type
string
Default: ""

OK

Response samples

Content type
application/json
{
  • "box": {
    },
  • "circle": {
    }
}

Upload ROI definitions

Request Body schema: application/json
required
object (roi_box_list)
http://localhost:5232/config/roi

Response samples

Content type
application/json
{
  • "box": {
    },
  • "circle": {
    },
  • "azim": {
    }
}

Upload ROI definitions

Request Body schema: application/json
required
object (roi_box_list)

List of box ROIs

-
required
object (roi_circle_list)
required
object (roi_circle_list)

List of circular ROIs

+
object (roi_azim_list)

List of azimuthal ROIs

Responses

Request samples

Content type
application/json
{
  • "box": {
    },
  • "circle": {
    }
}

Response samples

Content type
application/json
{
  • "msg": "Detector in wrong state",
  • "reason": "WrongDAQState"
}

Generate background estimate plot

http://localhost:5232/config/roi

Request samples

Content type
application/json
{
  • "box": {
    },
  • "circle": {
    },
  • "azim": {
    }
}

Response samples

Content type
application/json
{
  • "msg": "Detector in wrong state",
  • "reason": "WrongDAQState"
}

Generate background estimate plot

Mean intensity for d = 3 - 5 A per image; binning is configurable

query Parameters
binning
integer

Binning of frames for the plot (0 = default binning)

@@ -1135,7 +1139,43 @@ Address follows ZeroMQ convention for sockets - in practice ipc:// " class="sc-eeDSqt sc-eBMFzZ bSgSrX cWARBq sc-dCFGXG gKOXES">

Input parsing or validation error

Response samples

Content type
application/json
{
  • "title": "string",
  • "plot": [
    ]
}

Generate receiver delay plot

http://localhost:5232/plot/roi_valid_pixels

Response samples

Content type
application/json
{
  • "title": "string",
  • "plot": [
    ]
}

Generate plot of ROI mean value

Mean of pixels within a ROI area; pixels with special values (overload, bad pixel) are excluded; binning is configurable; number will be wrong if multipixels are included!

+
query Parameters
binning
integer

Binning of frames for the plot (0 = default binning)

+
compression
boolean
Default: true

Enable DEFLATE compression of output data.

+

Responses

Response samples

Content type
application/json
{
  • "title": "string",
  • "plot": [
    ]
}

Generate plot of ROI weighted X-coordinate

Pixel X weighted by measured counts; pixels with special values (overload, bad pixel) are excluded; binning is configurable

+
query Parameters
binning
integer

Binning of frames for the plot (0 = default binning)

+
compression
boolean
Default: true

Enable DEFLATE compression of output data.

+

Responses

Response samples

Content type
application/json
{
  • "title": "string",
  • "plot": [
    ]
}

Generate plot of ROI weighted Y-coordinate

Pixel Y weighted by measured counts; pixels with special values (overload, bad pixel) are excluded; binning is configurable

+
query Parameters
binning
integer

Binning of frames for the plot (0 = default binning)

+
compression
boolean
Default: true

Enable DEFLATE compression of output data.

+

Responses

Response samples

Content type
application/json
{
  • "title": "string",
  • "plot": [
    ]
}

Generate receiver delay plot

Amount of frames the receiver is behind the FPGA for each image - used for internal debugging; binning is configurable

query Parameters
binning
integer

Binning of frames for the plot (0 = default binning)

@@ -1147,7 +1187,7 @@ Address follows ZeroMQ convention for sockets - in practice ipc:// " class="sc-eeDSqt sc-eBMFzZ bSgSrX cWARBq sc-dCFGXG gKOXES">

Input parsing or validation error

Response samples

Content type
application/json
{
  • "title": "string",
  • "plot": [
    ]
}

Generate receiver free send buffer plot

http://localhost:5232/plot/receiver_delay

Response samples

Content type
application/json
{
  • "title": "string",
  • "plot": [
    ]
}

Generate receiver free send buffer plot

Amount of send buffers available during frame processing - used for internal debugging; binning is configurable

query Parameters
binning
integer

Binning of frames for the plot (0 = default binning)

@@ -1159,7 +1199,7 @@ Address follows ZeroMQ convention for sockets - in practice ipc:// " class="sc-eeDSqt sc-eBMFzZ bSgSrX cWARBq sc-dCFGXG gKOXES">

Input parsing or validation error

Response samples

Content type
application/json
{
  • "title": "string",
  • "plot": [
    ]
}

Generate image collection efficiency plot

http://localhost:5232/plot/receiver_free_send_buffers

Response samples

Content type
application/json
{
  • "title": "string",
  • "plot": [
    ]
}

Generate image collection efficiency plot

Ratio of collected and expected packets per image; binning is configurable

query Parameters
binning
integer

Binning of frames for the plot (0 = default binning)

@@ -1171,7 +1211,7 @@ Address follows ZeroMQ convention for sockets - in practice ipc:// " class="sc-eeDSqt sc-eBMFzZ bSgSrX cWARBq sc-dCFGXG gKOXES">

Input parsing or validation error

Response samples

Content type
application/json
{
  • "title": "string",
  • "plot": [
    ]
}

Generate plot with number of received packets per image

http://localhost:5232/plot/image_collection_efficiency

Response samples

Content type
application/json
{
  • "title": "string",
  • "plot": [
    ]
}

Generate plot with number of received packets per image

Number of collected packets per image; binning is configurable

query Parameters
binning
integer

Binning of frames for the plot (0 = default binning)

@@ -1183,7 +1223,7 @@ Address follows ZeroMQ convention for sockets - in practice ipc:// " class="sc-eeDSqt sc-eBMFzZ bSgSrX cWARBq sc-dCFGXG gKOXES">

Input parsing or validation error

Response samples

Content type
application/json
{
  • "title": "string",
  • "plot": [
    ]
}

Generate radial integration profile

http://localhost:5232/plot/packets_received

Response samples

Content type
application/json
{
  • "title": "string",
  • "plot": [
    ]
}

Generate radial integration profile

Generate average radial integration profile

query Parameters
compression
boolean
Default: true

Enable DEFLATE compression of output data.

@@ -1191,13 +1231,13 @@ Address follows ZeroMQ convention for sockets - in practice ipc:// " class="sc-eeDSqt sc-eBMFzZ bSgSrX cWARBq sc-dCFGXG gKOXES">

Everything OK

Response samples

Content type
application/json
{
  • "title": "string",
  • "plot": [
    ]
}

Get general statistics

query Parameters
compression
boolean
Default: true
http://localhost:5232/plot/azim_int

Response samples

Content type
application/json
{
  • "title": "string",
  • "plot": [
    ]
}

Get general statistics

query Parameters
compression
boolean
Default: true

Enable DEFLATE compression of output data.

Responses

Response samples

Content type
application/json
{
  • "detector": {
    },
  • "detector_list": {
    },
  • "detector_settings": {
    },
  • "image_format_settings": {
    },
  • "instrument_metadata": {
    },
  • "file_writer_settings": {
    },
  • "data_processing_settings": {
    },
  • "measurement": {
    },
  • "broker": {
    },
  • "fpga": [
    ],
  • "calibration": [
    ],
  • "zeromq_preview": {
    },
  • "zeromq_metadata": {
    },
  • "pixel_mask": {
    },
  • "roi": {
    },
  • "az_int": {
    }
}

Get data collection statistics

http://localhost:5232/statistics

Response samples

Content type
application/json
{
  • "detector": {
    },
  • "detector_list": {
    },
  • "detector_settings": {
    },
  • "image_format_settings": {
    },
  • "instrument_metadata": {
    },
  • "file_writer_settings": {
    },
  • "data_processing_settings": {
    },
  • "measurement": {
    },
  • "broker": {
    },
  • "fpga": [
    ],
  • "calibration": [
    ],
  • "zeromq_preview": {
    },
  • "zeromq_metadata": {
    },
  • "pixel_mask": {
    },
  • "roi": {
    },
  • "az_int": {
    }
}

Get data collection statistics

Results of the last data collection

Responses

Response samples

Content type
application/json
{
  • "file_prefix": "string",
  • "run_number": 0,
  • "experiment_group": "string",
  • "images_expected": 0,
  • "images_collected": 0,
  • "images_sent": 0,
  • "images_discarded_lossy_compression": 0,
  • "max_image_number_sent": 0,
  • "collection_efficiency": 1,
  • "compression_ratio": 5.3,
  • "cancelled": true,
  • "max_receiver_delay": 0,
  • "indexing_rate": 0.1,
  • "detector_width": 0,
  • "detector_height": 0,
  • "detector_pixel_depth": 2,
  • "bkg_estimate": 0.1,
  • "unit_cell": "string",
  • "error_pixels": 0.1,
  • "saturated_pixels": 0.1,
  • "roi_beam_pixels": 0.1,
  • "roi_beam_sum": 0.1
}

Get calibration statistics

http://localhost:5232/statistics/data_collection

Response samples

Content type
application/json
{
  • "file_prefix": "string",
  • "run_number": 0,
  • "experiment_group": "string",
  • "images_expected": 0,
  • "images_collected": 0,
  • "images_sent": 0,
  • "images_discarded_lossy_compression": 0,
  • "max_image_number_sent": 0,
  • "collection_efficiency": 1,
  • "compression_ratio": 5.3,
  • "cancelled": true,
  • "max_receiver_delay": 0,
  • "indexing_rate": 0.1,
  • "detector_width": 0,
  • "detector_height": 0,
  • "detector_pixel_depth": 2,
  • "bkg_estimate": 0.1,
  • "unit_cell": "string",
  • "error_pixels": 0.1,
  • "saturated_pixels": 0.1,
  • "roi_beam_pixels": 0.1,
  • "roi_beam_sum": 0.1
}

Get calibration statistics

Statistics are provided for each module/storage cell separately

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get last preview image in JPEG format using custom settings

Request Body schema: application/json
saturation
required
integer <int64> [ 0 .. 65535 ]
http://localhost:5232/statistics/calibration

Response samples

Content type
application/json
[
  • {
    }
]

Get last preview image in JPEG format using custom settings

Request Body schema: application/json
saturation
required
integer <int64> [ 0 .. 65535 ]

Saturation value to set contrast in the preview image

show_spots
boolean
Default: true

Show spot finding results on the image

@@ -1233,7 +1273,7 @@ Address follows ZeroMQ convention for sockets - in practice ipc:// " class="sc-eeDSqt sc-eBMFzZ bSgSrX cWARBq sc-dCFGXG gKOXES">

Error within Jungfraujoch code - see output message.

Request samples

Content type
application/json
{
  • "saturation": 65535,
  • "show_spots": true,
  • "show_roi": false,
  • "jpeg_quality": 100,
  • "show_indexed": false,
  • "show_user_mask": false,
  • "resolution_ring": 0.1
}

Response samples

Content type
application/json
{
  • "msg": "Detector in wrong state",
  • "reason": "WrongDAQState"
}

Get last preview image in JPEG format using default settings

Responses

Request samples

Content type
application/json
{
  • "saturation": 65535,
  • "show_spots": true,
  • "show_roi": false,
  • "jpeg_quality": 100,
  • "show_indexed": false,
  • "show_user_mask": false,
  • "resolution_ring": 0.1
}

Response samples

Content type
application/json
{
  • "msg": "Detector in wrong state",
  • "reason": "WrongDAQState"
}

Get last preview image in JPEG format using default settings

Responses

Response samples

Content type
application/json
{
  • "msg": "Detector in wrong state",
  • "reason": "WrongDAQState"
}

Get mask of the detector (TIFF)

http://localhost:5232/config/user_mask

Response samples

Content type
application/json
{
  • "msg": "Detector in wrong state",
  • "reason": "WrongDAQState"
}

Get mask of the detector (TIFF)

Get full pixel mask of the detector See NXmx standard for meaning of pixel values

@@ -1323,7 +1363,7 @@ User mask is not automatically applied - i.e. pixels with user mask will have a " class="sc-eeDSqt sc-eBMFzZ bSgSrX cWARBq sc-dCFGXG gKOXES">

Error within Jungfraujoch code - see output message.

Response samples

Content type
application/json
{
  • "msg": "Detector in wrong state",
  • "reason": "WrongDAQState"
}

Get pedestal in TIFF format

query Parameters
gain_level
required
integer
http://localhost:5232/config/user_mask.tiff

Response samples

Content type
application/json
{
  • "msg": "Detector in wrong state",
  • "reason": "WrongDAQState"
}

Get pedestal in TIFF format

query Parameters
gain_level
required
integer

Gain level (0, 1, 2)

sc
integer

Storage cell number

@@ -1343,7 +1383,7 @@ User mask is not automatically applied - i.e. pixels with user mask will have a " class="sc-eeDSqt sc-eBMFzZ bSgSrX cWARBq sc-dCFGXG gKOXES">

Error within Jungfraujoch code - see output message.

Response samples

Content type
application/json
{
  • "msg": "Detector in wrong state",
  • "reason": "WrongDAQState"
}

Get image message in CBOR format

http://localhost:5232/image_buffer/start.cbor

Response samples

Content type
application/json
{
  • "msg": "Detector in wrong state",
  • "reason": "WrongDAQState"
}

Get image message in CBOR format

Contains full image data and metadata. The image must come from the latest data collection.

query Parameters
image_number
integer <int64>

Image number. If omitted, the image with the highest number in the image buffer will be provided.

@@ -1355,7 +1395,7 @@ User mask is not automatically applied - i.e. pixels with user mask will have a " class="sc-eeDSqt sc-eBMFzZ bSgSrX cWARBq sc-dCFGXG gKOXES">

Error within Jungfraujoch code - see output message.

Response samples

Content type
application/json
{
  • "msg": "Detector in wrong state",
  • "reason": "WrongDAQState"
}

Clear image buffer

http://localhost:5232/image_buffer/image.cbor

Response samples

Content type
application/json
{
  • "msg": "Detector in wrong state",
  • "reason": "WrongDAQState"
}

Clear image buffer

Turns off image buffer for the last data collection. Can be only run when Jungfraujoch is not collecting data.

Responses

Response samples

Content type
application/json
{
  • "msg": "Detector in wrong state",
  • "reason": "WrongDAQState"
}

Get status of the image buffers

http://localhost:5232/image_buffer/clear

Response samples

Content type
application/json
{
  • "msg": "Detector in wrong state",
  • "reason": "WrongDAQState"
}

Get status of the image buffers

Can be run at any stage of Jungfraujoch operation, including during data collection. @@ -1375,13 +1415,13 @@ then image might be replaced in the buffer between calling /images and /image.cb " class="sc-eeDSqt sc-eBMFzZ bSgSrX cWARBq sc-dCFGXG gKOXES">

Error within Jungfraujoch code - see output message.

Response samples

Content type
application/json
{
  • "image_numbers": [
    ],
  • "total_slots": 0,
  • "available_slots": 0
}

Get Jungfraujoch version of jfjoch_broker

Responses

Response samples

Content type
application/json
{
  • "image_numbers": [
    ],
  • "total_slots": 0,
  • "available_slots": 0
}

Get Jungfraujoch version of jfjoch_broker

Responses