Compare commits

..

45 Commits

Author SHA1 Message Date
02039b9f1c Merge branch '2507-indexing-issues' into 'main'
v1.0.0-rc.61

See merge request jungfraujoch/nextgendcu!147
2025-07-08 07:16:59 +02:00
e4ec9fb38f v1.0.0-rc.61 2025-07-08 07:16:59 +02:00
3c67b5a900 Merge branch '2507-1.0.0-rc.60' into 'main'
v1.0.0-rc.60

See merge request jungfraujoch/nextgendcu!146
2025-07-05 18:52:42 +02:00
fbaf15aa07 v1.0.0-rc.60 2025-07-05 18:52:42 +02:00
016e86cbc5 Merge branch '2506-1.0.0-rc.59' into 'main'
v1.0.0-rc.59

See merge request jungfraujoch/nextgendcu!145
2025-07-03 22:32:07 +02:00
f5ef540ca0 v1.0.0-rc.59 2025-07-03 22:32:07 +02:00
5f8b1d7de7 Merge branch '2506-1.0.0-rc.58' into 'main'
v1.0.0-rc.58

See merge request jungfraujoch/nextgendcu!144
2025-07-03 15:10:05 +02:00
7ad4a3337b v1.0.0-rc.58 2025-07-03 15:10:04 +02:00
1fb9919a00 Merge branch '2506-1.0.0-rc.57' into 'main'
v1.0.0-rc.57

See merge request jungfraujoch/nextgendcu!143
2025-07-02 20:04:35 +02:00
8fa8b612bb v1.0.0-rc.57 2025-07-02 20:04:35 +02:00
81c72bcf3d Merge branch '1.0.0-rc.56' into 'main'
v1.0.0-rc.56

See merge request jungfraujoch/nextgendcu!142
2025-07-02 12:40:46 +02:00
05e162ea5d v1.0.0-rc.56 2025-07-02 12:40:45 +02:00
776065c636 Merge branch '2506-1.0.0-rc.55' into 'main'
v1.0.0-rc.55

See merge request jungfraujoch/nextgendcu!141
2025-07-01 10:03:22 +02:00
9592e4ab92 NeuralNetInferenceClient: Fix wrong HTTP address 2025-07-01 09:18:44 +02:00
58d68ec4bc CHANGELOG: Update 2025-06-30 21:30:49 +02:00
92288c60d7 NeuralNetInferenceClient: Accept PixelMask 2025-06-30 21:29:48 +02:00
dba2544c48 VERSION: 1.0.0-rc.55 2025-06-30 21:06:53 +02:00
d6dbe53955 NeuralNetInferenceClient: Handle case of unsigned data 2025-06-29 13:07:40 +02:00
39faa49d86 DiffractionExperiment: Remove potential bug with control reaching function without returning value 2025-06-29 13:05:03 +02:00
7d7dbbcf79 Merge branch '2506-1.0.0-rc.54' into 'main'
1.0.0-rc.54

See merge request jungfraujoch/nextgendcu!140
2025-06-29 10:56:38 +02:00
99de57fe6f 1.0.0-rc.54 2025-06-29 10:56:38 +02:00
c5b41c7830 Merge branch '2506-1.0.0-rc.53' into 'main'
v1.0.0-rc.53

See merge request jungfraujoch/nextgendcu!139
2025-06-24 16:43:47 +02:00
c41858f80d v1.0.0-rc.53 2025-06-24 16:43:47 +02:00
a322689b2a Merge branch '2506-viewer-fixes' into 'main'
v1.0.0-rc.52

See merge request jungfraujoch/nextgendcu!138
2025-06-23 20:57:00 +02:00
1d256b2cf5 v1.0.0-rc.52 2025-06-23 20:57:00 +02:00
a59b6a0c37 Merge branch '2506-bug-in-plots' into 'main'
Bug fix for plotting

See merge request jungfraujoch/nextgendcu!137
2025-06-22 19:45:55 +02:00
f40d178545 Bug fix for plotting 2025-06-22 17:24:37 +02:00
7184fa5b5a Merge branch '2506-spot-filters' into 'main'
v1.0.0-rc.51

See merge request jungfraujoch/nextgendcu!136
2025-06-22 13:15:10 +02:00
50eaaaaf29 v1.0.0-rc.51 2025-06-22 13:15:10 +02:00
aa13b1cd0b Merge branch '2506-test-bug' into 'main'
v1.0.0-rc.50

See merge request jungfraujoch/nextgendcu!135
2025-06-20 09:52:26 +02:00
0d1b388f4d v1.0.0-rc.50 2025-06-20 09:52:26 +02:00
2bd9f4a424 Merge branch '2506-ring-current' into 'main'
v1.0.0-rc49

See merge request jungfraujoch/nextgendcu!134
2025-06-18 15:19:18 +02:00
fb87f376c8 v1.0.0-rc49 2025-06-18 15:19:18 +02:00
c464c00906 Merge branch '2506-uc-bug' into 'main'
VERSION to 1.0.0-rc.48

See merge request jungfraujoch/nextgendcu!133
2025-06-17 19:29:44 +02:00
259e17e483 VERSION to 1.0.0-rc.48 2025-06-17 17:20:43 +02:00
42c2edc2e5 Merge branch '2506-minor-fixes' into 'main'
v1.0.0-rc.47

See merge request jungfraujoch/nextgendcu!132
2025-06-17 16:28:28 +02:00
8e449fc581 v1.0.0-rc.47 2025-06-17 16:28:28 +02:00
29a3dde4df Merge branch '2506-viewer-dependencies' into 'main'
v1.0.0-rc.46

See merge request jungfraujoch/nextgendcu!131
2025-06-17 14:56:48 +02:00
9b8f7a7f88 v1.0.0-rc.46 2025-06-17 14:56:48 +02:00
7d0f783767 Merge branch '2506-missing-commit' into 'main'
v1.0.0-rc.45: missing commits

See merge request jungfraujoch/nextgendcu!130
2025-06-16 14:10:37 +02:00
07b78f846c v1.0.0-rc.45: missing commits 2025-06-16 14:10:36 +02:00
e018e5a9a1 Merge branch '2506-pixel-size-det' into 'main'
v1.0.0-rc.45

See merge request jungfraujoch/nextgendcu!129
2025-06-16 12:48:17 +02:00
ab5f502c8e v1.0.0-rc.45 2025-06-16 12:48:17 +02:00
da4d8868b3 Merge branch '2506-grid-scan-result' into 'main'
v1.0.0-rc.44

See merge request jungfraujoch/nextgendcu!128
2025-06-15 17:46:46 +02:00
b59a03ff02 v1.0.0-rc.44 2025-06-15 17:46:46 +02:00
309 changed files with 4702 additions and 2518 deletions

View File

@@ -39,12 +39,19 @@ SET(HDF5_BUILD_CPP_LIB OFF)
SET(HDF5_ENABLE_Z_LIB_SUPPORT OFF)
SET(HDF5_EXTERNALLY_CONFIGURED 1)
# TIFF
SET(jbig OFF)
SET(zstd OFF)
SET(lzma OFF)
SET(jpeg OFF)
SET(old-jpeg OFF)
# PNG
set(PNG_SHARED OFF)
set(PNG_STATIC ON)
set(PNG_EXECUTABLES OFF)
set(PNG_TESTS OFF)
INCLUDE(CheckLanguage)
CHECK_LANGUAGE(CUDA)
@@ -81,6 +88,13 @@ FetchContent_Declare(tiff
GIT_TAG v4.6.0
EXCLUDE_FROM_ALL)
FetchContent_Declare(
png
GIT_REPOSITORY https://github.com/pnggroup/libpng
GIT_TAG v1.6.49
EXCLUDE_FROM_ALL
)
FetchContent_Declare(hdf5
GIT_REPOSITORY https://github.com/HDFGroup/hdf5/
GIT_TAG hdf5_1.14.5
@@ -118,7 +132,7 @@ FetchContent_Declare(
EXCLUDE_FROM_ALL
)
FetchContent_MakeAvailable(pistache_http zstd sls_detector_package catch2 hdf5 tiff)
FetchContent_MakeAvailable(pistache_http zstd sls_detector_package catch2 hdf5 tiff png)
ADD_SUBDIRECTORY(jungfrau)
ADD_SUBDIRECTORY(compression)

View File

@@ -1 +1 @@
1.0.0-rc.43
1.0.0-rc.61

View File

@@ -10,13 +10,13 @@
#include "../preview/JFJochTIFF.h"
JFJochBrokerHttp::JFJochBrokerHttp(const DiffractionExperiment &experiment, std::shared_ptr<Pistache::Rest::Router> &rtr)
: DefaultApi(rtr) {
: DefaultApi(rtr),
state_machine(experiment, services, logger) {
Pistache::Rest::Routes::Get(*rtr, "/", Pistache::Rest::Routes::bind(&JFJochBrokerHttp::GetStaticFile, this));
Pistache::Rest::Routes::Get(*rtr, "/frontend", Pistache::Rest::Routes::bind(&JFJochBrokerHttp::GetStaticFile, this));
Pistache::Rest::Routes::Get(*rtr, "/frontend/*", Pistache::Rest::Routes::bind(&JFJochBrokerHttp::GetStaticFile, this));
Pistache::Rest::Routes::Get(*rtr, "/frontend/assets/*", Pistache::Rest::Routes::bind(&JFJochBrokerHttp::GetStaticFile, this));
state_machine.NotThreadSafe_Experiment() = experiment;
init();
}
@@ -472,13 +472,14 @@ void JFJochBrokerHttp::image_buffer_image_jpeg_get(const std::optional<int64_t>
const std::optional<bool> &showUserMask,
const std::optional<bool> &showRoi,
const std::optional<bool> &showSpots,
const std::optional<bool> &showBeamCenter,
const std::optional<float> &saturation,
const std::optional<int64_t> &jpegQuality,
const std::optional<float> &showResRing,
const std::optional<std::string> &color,
Pistache::Http::ResponseWriter &response) {
int64_t image_id = id.value_or(ImageBuffer::MaxImage);
PreviewJPEGSettings settings{};
PreviewImageSettings settings{};
settings.show_user_mask = showUserMask.value_or(true);
settings.show_roi = showRoi.value_or(false);
@@ -487,7 +488,37 @@ void JFJochBrokerHttp::image_buffer_image_jpeg_get(const std::optional<int64_t>
settings.jpeg_quality = jpegQuality.value_or(100);
settings.resolution_ring = showResRing;
settings.scale = ConvertColorScale(color);
settings.show_beam_center = showBeamCenter.value_or(true);
settings.format = PreviewImageFormat::JPEG;
std::string s = state_machine.GetPreviewJPEG(settings, image_id);
if (!s.empty())
response.send(Pistache::Http::Code::Ok, s, Pistache::Http::Mime::MediaType::fromString("image/jpeg"));
else
response.send(Pistache::Http::Code::Not_Found);
}
void JFJochBrokerHttp::image_buffer_image_png_get(const std::optional<int64_t> &id,
const std::optional<bool> &showUserMask,
const std::optional<bool> &showRoi,
const std::optional<bool> &showSpots,
const std::optional<bool> &showBeamCenter,
const std::optional<float> &saturation,
const std::optional<int64_t> &jpegQuality,
const std::optional<float> &showResRing,
const std::optional<std::string> &color,
Pistache::Http::ResponseWriter &response) {
int64_t image_id = id.value_or(ImageBuffer::MaxImage);
PreviewImageSettings settings{};
settings.show_user_mask = showUserMask.value_or(true);
settings.show_roi = showRoi.value_or(false);
settings.show_spots = showSpots.value_or(true);
settings.saturation_value = saturation.value_or(10);
settings.jpeg_quality = jpegQuality.value_or(100);
settings.resolution_ring = showResRing;
settings.scale = ConvertColorScale(color);
settings.show_beam_center = showBeamCenter.value_or(true);
settings.format = PreviewImageFormat::PNG;
std::string s = state_machine.GetPreviewJPEG(settings, image_id);
if (!s.empty())
response.send(Pistache::Http::Code::Ok, s, Pistache::Http::Mime::MediaType::fromString("image/jpeg"));
@@ -575,8 +606,8 @@ void JFJochBrokerHttp::config_indexing_put(const org::openapitools::server::mode
response.send(Pistache::Http::Code::Ok);
}
void JFJochBrokerHttp::result_grid_scan_get(Pistache::Http::ResponseWriter &response) {
auto ret = state_machine.GetGridScanResult();
void JFJochBrokerHttp::result_scan_get(Pistache::Http::ResponseWriter &response) {
auto ret = state_machine.GetScanResult();
if (ret.has_value())
ProcessOutput(Convert(ret.value()), response, true);
else

View File

@@ -26,7 +26,7 @@ class JFJochBrokerHttp : public org::openapitools::server::api::DefaultApi {
void fpga_status_get(Pistache::Http::ResponseWriter &response) override;
JFJochStateMachine state_machine {services, logger};
JFJochStateMachine state_machine;
std::string frontend_directory;
void config_detector_get(Pistache::Http::ResponseWriter &response) override;
@@ -147,16 +147,27 @@ class JFJochBrokerHttp : public org::openapitools::server::api::DefaultApi {
void image_buffer_image_cbor_get(const std::optional<int64_t> &id,
Pistache::Http::ResponseWriter &response) override;
void image_buffer_image_jpeg_get(const std::optional<int64_t> &id,
const std::optional<bool> &showUserMask,
const std::optional<bool> &showRoi,
const std::optional<bool> &showSpots,
const std::optional<bool> &showBeamCenter,
const std::optional<float> &saturation,
const std::optional<int64_t> &jpegQuality,
const std::optional<float> &showResRing,
const std::optional<std::string> &color,
Pistache::Http::ResponseWriter &response) override;
void image_buffer_image_png_get(const std::optional<int64_t> &id,
const std::optional<bool> &showUserMask,
const std::optional<bool> &showRoi,
const std::optional<bool> &showSpots,
const std::optional<bool> &showBeamCenter,
const std::optional<float> &saturation,
const std::optional<int64_t> &jpegQuality,
const std::optional<float> &showResRing,
const std::optional<std::string> &color,
Pistache::Http::ResponseWriter &response) override;
void image_buffer_image_tiff_get(const std::optional<int64_t> &id, Pistache::Http::ResponseWriter &response) override;
void image_buffer_start_cbor_get(Pistache::Http::ResponseWriter &response) override;
@@ -171,8 +182,7 @@ class JFJochBrokerHttp : public org::openapitools::server::api::DefaultApi {
void config_indexing_put(const org::openapitools::server::model::Indexing_settings &indexingSettings,
Pistache::Http::ResponseWriter &response) override;
void result_grid_scan_get(Pistache::Http::ResponseWriter &response) override;
void result_scan_get(Pistache::Http::ResponseWriter &response) override;
public:
JFJochBrokerHttp(const DiffractionExperiment& experiment, std::shared_ptr<Pistache::Rest::Router> &rtr);
void AddDetectorSetup(const DetectorSetup &setup);

View File

@@ -171,7 +171,7 @@ std::optional<DetectorStatus> JFJochServices::GetDetectorStatus() const {
return {};
}
std::string JFJochServices::GetPreviewJPEG(const PreviewJPEGSettings &settings, int64_t image_number) const {
std::string JFJochServices::GetPreviewJPEG(const PreviewImageSettings &settings, int64_t image_number) const {
if (receiver != nullptr)
return receiver->GetJPEGFromBuffer(settings, image_number);
else

View File

@@ -44,7 +44,7 @@ public:
std::optional<DetectorStatus> GetDetectorStatus() const;
std::string GetPreviewJPEG(const PreviewJPEGSettings &settings, int64_t image_number) const;
std::string GetPreviewJPEG(const PreviewImageSettings &settings, int64_t image_number) const;
std::string GetPreviewTIFF(int64_t image_number) const;
void GetXFELPulseID(std::vector<uint64_t> &v) const;

View File

@@ -8,8 +8,11 @@
#include "pistache/net.h"
#include "../common/CUDAWrapper.h"
JFJochStateMachine::JFJochStateMachine(JFJochServices &in_services, Logger &in_logger)
: logger(in_logger),
JFJochStateMachine::JFJochStateMachine(const DiffractionExperiment& in_experiment,
JFJochServices &in_services,
Logger &in_logger)
: experiment(in_experiment),
logger(in_logger),
services(in_services),
pixel_mask(experiment),
current_detector_setup(0),
@@ -20,7 +23,10 @@ JFJochStateMachine::JFJochStateMachine(JFJochServices &in_services, Logger &in_l
indexing_possible = (get_gpu_count() >= 0);
if (!indexing_possible)
data_processing_settings.indexing = false;
data_processing_settings.resolution_estimate = false;
resolution_estimate_possible = !experiment.GetInferenceServerAddress().empty();
if (!resolution_estimate_possible)
data_processing_settings.resolution_estimate = false;
SupressTIFFErrors();
}
@@ -252,6 +258,8 @@ void JFJochStateMachine::Initialize() {
SetState(JFJochState::Busy, "Configuring detector", BrokerStatus::MessageSeverity::Info);
scan_result = {}; // Clear scan result
measurement = std::async(std::launch::async, &JFJochStateMachine::InitializeThread, this, std::move(ul));
}
@@ -337,8 +345,7 @@ void JFJochStateMachine::MeasurementThread() {
auto tmp_output = services.Stop();
{
std::unique_lock ul(m);
SetGridScanResult(tmp_output.receiver_output.grid_scan_result);
scan_result = tmp_output.receiver_output.scan_result;
if (tmp_output.receiver_output.writer_queue_full_warning)
SetState(JFJochState::Idle,
@@ -477,7 +484,7 @@ void JFJochStateMachine::LoadDetectorSettings(const DetectorSettings &settings)
}
}
DiffractionExperiment &JFJochStateMachine::NotThreadSafe_Experiment() {
DiffractionExperiment JFJochStateMachine::Experiment() {
return experiment;
}
@@ -510,14 +517,15 @@ void JFJochStateMachine::SetSpotFindingSettings(const SpotFindingSettings &setti
std::unique_lock ul(data_processing_settings_mutex);
DiffractionExperiment::CheckDataProcessingSettings(settings);
data_processing_settings = settings;
// If there is no capability to use the features, make sure these are disabled
if (!indexing_possible)
data_processing_settings.indexing = false;
if (!resolution_estimate_possible)
data_processing_settings.resolution_estimate = false;
data_processing_settings = settings;
services.SetSpotFindingSettings(data_processing_settings);
}
@@ -555,6 +563,7 @@ DetectorList JFJochStateMachine::GetDetectorsList() const {
tmp.min_count_time = i.GetMinCountTime();
tmp.readout_time = i.GetReadOutTime();
tmp.detector_type = i.GetDetectorType();
tmp.pixel_size_mm = i.GetPixelSize_mm();
ret.detector.emplace_back(std::move(tmp));
}
ret.current_id = current_detector_setup;
@@ -643,7 +652,7 @@ void JFJochStateMachine::ResetError() noexcept {
}
}
std::string JFJochStateMachine::GetPreviewJPEG(const PreviewJPEGSettings &settings, int64_t image_number) const {
std::string JFJochStateMachine::GetPreviewJPEG(const PreviewImageSettings &settings, int64_t image_number) const {
return services.GetPreviewJPEG(settings, image_number);
}
@@ -918,12 +927,10 @@ void JFJochStateMachine::SetIndexingSettings(const IndexingSettings &input) {
}
}
void JFJochStateMachine::SetGridScanResult(const std::optional<GridScanResult> &input) {
std::unique_lock ul(grid_scan_result_mutex);
grid_scan_result = input;
}
std::optional<ScanResult> JFJochStateMachine::GetScanResult() const {
std::unique_lock ul(m);
if (IsRunning())
throw WrongDAQStateException("Cannot check scan result, when running");
std::optional<GridScanResult> JFJochStateMachine::GetGridScanResult() const {
std::unique_lock ul(grid_scan_result_mutex);
return grid_scan_result;
}
return scan_result;
}

View File

@@ -39,6 +39,7 @@ struct DetectorListElement {
std::chrono::microseconds min_frame_time;
std::chrono::microseconds min_count_time;
DetectorType detector_type;
float pixel_size_mm;
};
struct DetectorList {
@@ -105,6 +106,7 @@ class JFJochStateMachine {
std::unique_ptr<JFCalibration> calibration;
PixelMask pixel_mask;
int64_t current_detector_setup; // Lock only on change
std::optional<ScanResult> scan_result;
mutable std::mutex calibration_statistics_mutex;
std::vector<JFCalibrationModuleStatistics> calibration_statistics;
@@ -121,9 +123,6 @@ class JFJochStateMachine {
mutable std::mutex roi_mutex;
ROIDefinition roi;
mutable std::mutex grid_scan_result_mutex;
std::optional<GridScanResult> grid_scan_result;
bool indexing_possible;
bool resolution_estimate_possible;
@@ -148,10 +147,10 @@ class JFJochStateMachine {
void TakePedestalInternalG2(std::unique_lock<std::mutex> &ul, int32_t storage_cell = 0);
void ImportDetectorSettings(const DetectorSettings& input);
void UpdateROIDefinition();
void SetGridScanResult(const std::optional<GridScanResult>& input);
public:
JFJochStateMachine(JFJochServices &in_services, Logger &logger);
JFJochStateMachine(const DiffractionExperiment& experiment,
JFJochServices &in_services,
Logger &logger);
~JFJochStateMachine();
void Initialize();
@@ -197,7 +196,7 @@ public:
void SetRadialIntegrationSettings(const AzimuthalIntegrationSettings& settings);
AzimuthalIntegrationSettings GetRadialIntegrationSettings() const;
std::string GetPreviewJPEG(const PreviewJPEGSettings& settings, int64_t image_number) const;
std::string GetPreviewJPEG(const PreviewImageSettings& settings, int64_t image_number) const;
std::string GetPreviewTIFF(int64_t image_number) const;
std::string GetPedestalTIFF(size_t gain_level, size_t sc) const;
@@ -205,7 +204,7 @@ public:
void LoadInternalGeneratorImageTIFF(const std::string &s, uint64_t image_number);
// Not thread safe - only for configuration in serial context
DiffractionExperiment& NotThreadSafe_Experiment();
DiffractionExperiment Experiment();
// Function for debug only - UNSAFE for real operation
void DebugOnly_SetState(JFJochState state,
@@ -243,7 +242,7 @@ public:
void ClearImageBuffer() const;
void AddDetectorSetup(const DetectorSetup& setup); // Not thread safe, only during setup
std::optional<GridScanResult> GetGridScanResult() const;
std::optional<ScanResult> GetScanResult() const;
};

View File

@@ -21,11 +21,7 @@ SpotFindingSettings Convert(const org::openapitools::server::model::Spot_finding
ret.indexing = input.isIndexing();
ret.resolution_estimate = input.isResolutionEstimate();
ret.quick_integration = input.isQuickIntegration();
ret.quick_integration_d_min_A = input.getQuickIntegrationHighResA();
if (input.filterPowderRingsIsSet())
ret.filter_spots_powder_ring = input.isFilterPowderRings();
if (input.minSpotCountPowderRingIsSet())
ret.min_spot_count_powder_ring = input.getMinSpotCountPowderRing();
ret.cutoff_spot_count_low_res = input.getHighResolutionLimitForSpotCountLowRes();
return ret;
}
@@ -40,11 +36,9 @@ org::openapitools::server::model::Spot_finding_settings Convert(const SpotFindin
ret.setLowResolutionLimit(input.low_resolution_limit);
ret.setEnable(input.enable);
ret.setIndexing(input.indexing);
ret.setFilterPowderRings(input.filter_spots_powder_ring);
ret.setMinSpotCountPowderRing(input.min_spot_count_powder_ring);
ret.setHighResolutionLimitForSpotCountLowRes(input.cutoff_spot_count_low_res);
ret.setResolutionEstimate(input.resolution_estimate);
ret.setQuickIntegration(input.quick_integration);
ret.setQuickIntegrationHighResA(input.quick_integration_d_min_A);
return ret;
}
@@ -376,6 +370,7 @@ org::openapitools::server::model::Detector_list Convert(const DetectorList &inpu
d.setMinFrameTimeUs(input.detector[i].min_frame_time.count());
d.setMinCountTimeUs(input.detector[i].min_count_time.count());
d.setReadoutTimeUs(input.detector[i].readout_time.count());
d.setPixelSizeMm(input.detector[i].pixel_size_mm);
d.setType(Convert(input.detector[i].detector_type));
dets.emplace_back(std::move(d));
}
@@ -566,8 +561,11 @@ GoniometerAxis Convert(const org::openapitools::server::model::Rotation_axis& in
if (input.helicalStepUmIsSet())
helical = ConvertOpenAPI(input.getHelicalStepUm());
return {input.getName(), input.getStart(), input.getStep(),
GoniometerAxis axis{input.getName(), input.getStart(), input.getStep(),
ConvertOpenAPI(input.getVector()), helical};
if (input.screeningWedgeDegIsSet())
axis.ScreeningWedge(input.getScreeningWedgeDeg());
return axis;
}
GridScanSettings Convert(const org::openapitools::server::model::Grid_scan& input) {
@@ -658,6 +656,10 @@ DatasetSettings Convert(const org::openapitools::server::model::Dataset_settings
ret.PoniRot2_rad(input.getPoniRot2Rad());
ret.PoniRot3_rad(input.getPoniRot3Rad());
if (input.ringCurrentMAIsSet())
ret.RingCurrent_mA(input.getRingCurrentMA());
if (input.sampleTemperatureKIsSet())
ret.SampleTemperature_K(input.getSampleTemperatureK());
return ret;
}
@@ -805,6 +807,9 @@ PlotType ConvertPlotType(const std::optional<std::string>& input) {
if (input == "azint") return PlotType::AzInt;
if (input == "azint_1d") return PlotType::AzInt1D;
if (input == "spot_count") return PlotType::SpotCount;
if (input == "spot_count_low_res") return PlotType::SpotCountLowRes;
if (input == "spot_count_indexed") return PlotType::SpotCountIndexed;
if (input == "spot_count_ice") return PlotType::SpotCountIceRing;
if (input == "indexing_rate") return PlotType::IndexingRate;
if (input == "indexing_unit_cell_length") return PlotType::IndexingUnitCellLength;
if (input == "mosaicity") return PlotType::IndexingMosaicity;
@@ -847,13 +852,6 @@ ColorScaleEnum ConvertColorScale(const std::optional<std::string>& input) {
"Color scale unknown");
}
org::openapitools::server::model::Grid_plot Convert(const GridPlot& input) {
org::openapitools::server::model::Grid_plot ret;
ret.setWidth(input.GetWidth());
ret.setData(input.GetPlot());
return ret;
}
IndexingSettings Convert(const org::openapitools::server::model::Indexing_settings &input) {
IndexingSettings ret;
switch (input.getAlgorithm().getValue()) {
@@ -866,6 +864,9 @@ IndexingSettings Convert(const org::openapitools::server::model::Indexing_settin
case org::openapitools::server::model::Indexing_algorithm::eIndexing_algorithm::FFBIDX:
ret.Algorithm(IndexingAlgorithmEnum::FFBIDX);
break;
case org::openapitools::server::model::Indexing_algorithm::eIndexing_algorithm::AUTO:
ret.Algorithm(IndexingAlgorithmEnum::Auto);
break;
default:
throw JFJochException(JFJochExceptionCategory::InputParameterInvalid, "Unknown indexing algorithm");
}
@@ -889,8 +890,11 @@ org::openapitools::server::model::Indexing_settings Convert(const IndexingSettin
org::openapitools::server::model::Indexing_algorithm tmp;
switch (input.GetAlgorithm()) {
case IndexingAlgorithmEnum::Auto:
tmp.setValue(org::openapitools::server::model::Indexing_algorithm::eIndexing_algorithm::AUTO);
break;
case IndexingAlgorithmEnum::FFBIDX:
tmp.setValue(org::openapitools::server::model::Indexing_algorithm::eIndexing_algorithm::FFBIDX);
tmp.setValue(org::openapitools::server::model::Indexing_algorithm::eIndexing_algorithm::FFBIDX);
break;
case IndexingAlgorithmEnum::FFT:
tmp.setValue(org::openapitools::server::model::Indexing_algorithm::eIndexing_algorithm::FFT);
@@ -903,13 +907,51 @@ org::openapitools::server::model::Indexing_settings Convert(const IndexingSettin
return ret;
}
org::openapitools::server::model::Grid_scan_result Convert(const GridScanResult& input) {
org::openapitools::server::model::Grid_scan_result ret;
ret.setBFactor(input.b_factor);
ret.setMosaicity(input.mosaicity);
ret.setDetImg(input.det_img);
ret.setBkgEstimate(input.bkg);
ret.setIndexedLattices(input.indexing_solution);
ret.setSpotCount(input.spots);
org::openapitools::server::model::Scan_result Convert(const ScanResult& input) {
org::openapitools::server::model::Scan_result ret;
ret.setFilePrefix(input.file_prefix);
std::vector<org::openapitools::server::model::Scan_result_images_inner> v;
for (const auto &i : input.images) {
org::openapitools::server::model::Scan_result_images_inner tmp;
tmp.setEfficiency(i.collection_efficiency);
tmp.setNumber(i.number);
if (i.bkg.has_value())
tmp.setBkg(i.bkg.value());
std::optional<uint64_t> pixel_sum;
if (i.pixel_sum.has_value())
tmp.setPixelSum(i.pixel_sum.value());
if (i.max_viable_pixel.has_value())
tmp.setMax(i.max_viable_pixel.value());
if (i.sat_pixels.has_value())
tmp.setSat(i.sat_pixels.value());
tmp.setSpots(i.spot_count);
if (i.spot_count_low_res.has_value())
tmp.setSpotsLowRes(i.spot_count_low_res.value());
if (i.spot_count_indexed.has_value())
tmp.setSpotsIndexed(i.spot_count_indexed.value());
if (i.indexing_solution.has_value())
tmp.setIndex(i.indexing_solution.value());
if (i.mosaicity.has_value())
tmp.setMos(i.mosaicity.value());
if (i.b_factor.has_value())
tmp.setB(i.b_factor.value());
if (i.uc.has_value()) {
org::openapitools::server::model::Unit_cell uc;
uc.setA(i.uc->a);
uc.setB(i.uc->b);
uc.setC(i.uc->c);
uc.setAlpha(i.uc->alpha);
uc.setBeta(i.uc->beta);
uc.setGamma(i.uc->gamma);
tmp.setUc(uc);
}
if (i.xfel_pulse_id.has_value())
tmp.setXfelPulseid(i.xfel_pulse_id.value());
if (i.res.has_value())
tmp.setRes(i.res.value());
v.emplace_back(std::move(tmp));
}
ret.setImages(v);
return ret;
}

View File

@@ -27,7 +27,7 @@
#include "gen/model/Rotation_axis.h"
#include "gen/model/Grid_scan.h"
#include "gen/model/Indexing_settings.h"
#include "gen/model/Grid_scan_result.h"
#include "gen/model/Scan_result.h"
#include "../common/JFJochMessages.h"
#include "../common/DatasetSettings.h"
@@ -37,8 +37,7 @@
#include "../common/DetectorSettings.h"
#include "../jungfrau/JFCalibration.h"
#include "../common/InstrumentMetadata.h"
#include "Grid_plots.h"
#include "../common/GridScanResult.h"
#include "../common/ScanResult.h"
SpotFindingSettings Convert(const org::openapitools::server::model::Spot_finding_settings &input);
org::openapitools::server::model::Spot_finding_settings Convert(const SpotFindingSettings &input);
@@ -84,11 +83,9 @@ ZMQMetadataSettings Convert(const org::openapitools::server::model::Zeromq_metad
org::openapitools::server::model::File_writer_format Convert(FileWriterFormat input);
FileWriterFormat Convert(const org::openapitools::server::model::File_writer_format& input);
org::openapitools::server::model::Grid_plot Convert(const GridPlot& input);
PlotType ConvertPlotType(const std::optional<std::string>& input);
ColorScaleEnum ConvertColorScale(const std::optional<std::string>& input);
org::openapitools::server::model::Grid_scan_result Convert(const GridScanResult& input);
org::openapitools::server::model::Scan_result Convert(const ScanResult& input);
#endif //JFJOCH_OPENAPICONVERT_H

View File

@@ -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.43
* The version of the OpenAPI document: 1.0.0-rc.61
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -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.43
* The version of the OpenAPI document: 1.0.0-rc.61
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -72,6 +72,7 @@ void DefaultApi::setupRoutes() {
Routes::Post(*router, base + "/image_buffer/clear", Routes::bind(&DefaultApi::image_buffer_clear_post_handler, this));
Routes::Get(*router, base + "/image_buffer/image.cbor", Routes::bind(&DefaultApi::image_buffer_image_cbor_get_handler, this));
Routes::Get(*router, base + "/image_buffer/image.jpeg", Routes::bind(&DefaultApi::image_buffer_image_jpeg_get_handler, this));
Routes::Get(*router, base + "/image_buffer/image.png", Routes::bind(&DefaultApi::image_buffer_image_png_get_handler, this));
Routes::Get(*router, base + "/image_buffer/image.tiff", Routes::bind(&DefaultApi::image_buffer_image_tiff_get_handler, this));
Routes::Get(*router, base + "/image_buffer/start.cbor", Routes::bind(&DefaultApi::image_buffer_start_cbor_get_handler, this));
Routes::Get(*router, base + "/image_buffer/status", Routes::bind(&DefaultApi::image_buffer_status_get_handler, this));
@@ -79,7 +80,7 @@ void DefaultApi::setupRoutes() {
Routes::Post(*router, base + "/pedestal", Routes::bind(&DefaultApi::pedestal_post_handler, this));
Routes::Get(*router, base + "/preview/pedestal.tiff", Routes::bind(&DefaultApi::preview_pedestal_tiff_get_handler, this));
Routes::Get(*router, base + "/preview/plot", Routes::bind(&DefaultApi::preview_plot_get_handler, this));
Routes::Get(*router, base + "/result/grid_scan", Routes::bind(&DefaultApi::result_grid_scan_get_handler, this));
Routes::Get(*router, base + "/result/scan", Routes::bind(&DefaultApi::result_scan_get_handler, this));
Routes::Post(*router, base + "/start", Routes::bind(&DefaultApi::start_post_handler, this));
Routes::Get(*router, base + "/statistics/calibration", Routes::bind(&DefaultApi::statistics_calibration_get_handler, this));
Routes::Get(*router, base + "/statistics/data_collection", Routes::bind(&DefaultApi::statistics_data_collection_get_handler, this));
@@ -1022,6 +1023,14 @@ void DefaultApi::image_buffer_image_jpeg_get_handler(const Pistache::Rest::Reque
showSpots = valueQuery_instance;
}
}
auto showBeamCenterQuery = request.query().get("show_beam_center");
std::optional<bool> showBeamCenter;
if(showBeamCenterQuery.has_value()){
bool valueQuery_instance;
if(fromStringValue(showBeamCenterQuery.value(), valueQuery_instance)){
showBeamCenter = valueQuery_instance;
}
}
auto saturationQuery = request.query().get("saturation");
std::optional<float> saturation;
if(saturationQuery.has_value()){
@@ -1056,7 +1065,100 @@ void DefaultApi::image_buffer_image_jpeg_get_handler(const Pistache::Rest::Reque
}
try {
this->image_buffer_image_jpeg_get(id, showUserMask, showRoi, showSpots, saturation, jpegQuality, showResRing, color, response);
this->image_buffer_image_jpeg_get(id, showUserMask, showRoi, showSpots, showBeamCenter, saturation, jpegQuality, showResRing, color, response);
} catch (Pistache::Http::HttpError &e) {
response.send(static_cast<Pistache::Http::Code>(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::image_buffer_image_png_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response) {
try {
// Getting the query params
auto idQuery = request.query().get("id");
std::optional<int64_t> id;
if(idQuery.has_value()){
int64_t valueQuery_instance;
if(fromStringValue(idQuery.value(), valueQuery_instance)){
id = valueQuery_instance;
}
}
auto showUserMaskQuery = request.query().get("show_user_mask");
std::optional<bool> showUserMask;
if(showUserMaskQuery.has_value()){
bool valueQuery_instance;
if(fromStringValue(showUserMaskQuery.value(), valueQuery_instance)){
showUserMask = valueQuery_instance;
}
}
auto showRoiQuery = request.query().get("show_roi");
std::optional<bool> showRoi;
if(showRoiQuery.has_value()){
bool valueQuery_instance;
if(fromStringValue(showRoiQuery.value(), valueQuery_instance)){
showRoi = valueQuery_instance;
}
}
auto showSpotsQuery = request.query().get("show_spots");
std::optional<bool> showSpots;
if(showSpotsQuery.has_value()){
bool valueQuery_instance;
if(fromStringValue(showSpotsQuery.value(), valueQuery_instance)){
showSpots = valueQuery_instance;
}
}
auto showBeamCenterQuery = request.query().get("show_beam_center");
std::optional<bool> showBeamCenter;
if(showBeamCenterQuery.has_value()){
bool valueQuery_instance;
if(fromStringValue(showBeamCenterQuery.value(), valueQuery_instance)){
showBeamCenter = valueQuery_instance;
}
}
auto saturationQuery = request.query().get("saturation");
std::optional<float> saturation;
if(saturationQuery.has_value()){
float valueQuery_instance;
if(fromStringValue(saturationQuery.value(), valueQuery_instance)){
saturation = valueQuery_instance;
}
}
auto jpegQualityQuery = request.query().get("jpeg_quality");
std::optional<int64_t> jpegQuality;
if(jpegQualityQuery.has_value()){
int64_t valueQuery_instance;
if(fromStringValue(jpegQualityQuery.value(), valueQuery_instance)){
jpegQuality = valueQuery_instance;
}
}
auto showResRingQuery = request.query().get("show_res_ring");
std::optional<float> showResRing;
if(showResRingQuery.has_value()){
float valueQuery_instance;
if(fromStringValue(showResRingQuery.value(), valueQuery_instance)){
showResRing = valueQuery_instance;
}
}
auto colorQuery = request.query().get("color");
std::optional<std::string> color;
if(colorQuery.has_value()){
std::string valueQuery_instance;
if(fromStringValue(colorQuery.value(), valueQuery_instance)){
color = valueQuery_instance;
}
}
try {
this->image_buffer_image_png_get(id, showUserMask, showRoi, showSpots, showBeamCenter, saturation, jpegQuality, showResRing, color, response);
} catch (Pistache::Http::HttpError &e) {
response.send(static_cast<Pistache::Http::Code>(e.code()), e.what());
return;
@@ -1273,12 +1375,12 @@ void DefaultApi::preview_plot_get_handler(const Pistache::Rest::Request &request
}
}
void DefaultApi::result_grid_scan_get_handler(const Pistache::Rest::Request &, Pistache::Http::ResponseWriter response) {
void DefaultApi::result_scan_get_handler(const Pistache::Rest::Request &, Pistache::Http::ResponseWriter response) {
try {
try {
this->result_grid_scan_get(response);
this->result_scan_get(response);
} catch (Pistache::Http::HttpError &e) {
response.send(static_cast<Pistache::Http::Code>(e.code()), e.what());
return;

View File

@@ -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.43
* The version of the OpenAPI document: 1.0.0-rc.61
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -39,7 +39,6 @@
#include "Error_message.h"
#include "File_writer_settings.h"
#include "Fpga_status_inner.h"
#include "Grid_scan_result.h"
#include "Image_buffer_status.h"
#include "Image_format_settings.h"
#include "Indexing_settings.h"
@@ -48,6 +47,7 @@
#include "Measurement_statistics.h"
#include "Plots.h"
#include "Roi_definitions.h"
#include "Scan_result.h"
#include "Spot_finding_settings.h"
#include "Zeromq_metadata_settings.h"
#include "Zeromq_preview_settings.h"
@@ -107,6 +107,7 @@ private:
void image_buffer_clear_post_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void image_buffer_image_cbor_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void image_buffer_image_jpeg_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void image_buffer_image_png_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void image_buffer_image_tiff_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void image_buffer_start_cbor_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void image_buffer_status_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
@@ -114,7 +115,7 @@ private:
void pedestal_post_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void preview_pedestal_tiff_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void preview_plot_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void result_grid_scan_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void result_scan_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void start_post_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void statistics_calibration_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
void statistics_data_collection_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
@@ -443,11 +444,28 @@ private:
/// <param name="showUserMask">Show user mask (optional, default to false)</param>
/// <param name="showRoi">Show ROI areas on the image (optional, default to false)</param>
/// <param name="showSpots">Show spot finding results on the image (optional, default to true)</param>
/// <param name="showBeamCenter">Show beam center on the image (optional, default to true)</param>
/// <param name="saturation">Saturation value to set contrast in the preview image (optional, default to 10.0f)</param>
/// <param name="jpegQuality">Quality of JPEG image (100 - highest; 0 - lowest) (optional, default to 100L)</param>
/// <param name="showResRing">Show resolution ring, provided in Angstrom (optional, default to 0.1f)</param>
/// <param name="color">Color scale for preview image: 0 - indigo, 1 - viridis, 2 - B/W, 3 - heat (optional, default to &quot;indigo&quot;)</param>
virtual void image_buffer_image_jpeg_get(const std::optional<int64_t> &id, const std::optional<bool> &showUserMask, const std::optional<bool> &showRoi, const std::optional<bool> &showSpots, const std::optional<float> &saturation, const std::optional<int64_t> &jpegQuality, const std::optional<float> &showResRing, const std::optional<std::string> &color, Pistache::Http::ResponseWriter &response) = 0;
virtual void image_buffer_image_jpeg_get(const std::optional<int64_t> &id, const std::optional<bool> &showUserMask, const std::optional<bool> &showRoi, const std::optional<bool> &showSpots, const std::optional<bool> &showBeamCenter, const std::optional<float> &saturation, const std::optional<int64_t> &jpegQuality, const std::optional<float> &showResRing, const std::optional<std::string> &color, Pistache::Http::ResponseWriter &response) = 0;
/// <summary>
/// Get preview image in PNG format using custom settings
/// </summary>
/// <remarks>
///
/// </remarks>
/// <param name="id">Image ID in the image buffer. Special values: -1 - last image in the buffer, -2: last indexed image in the buffer (optional, default to -1L)</param>
/// <param name="showUserMask">Show user mask (optional, default to false)</param>
/// <param name="showRoi">Show ROI areas on the image (optional, default to false)</param>
/// <param name="showSpots">Show spot finding results on the image (optional, default to true)</param>
/// <param name="showBeamCenter">Show beam center on the image (optional, default to true)</param>
/// <param name="saturation">Saturation value to set contrast in the preview image (optional, default to 10.0f)</param>
/// <param name="jpegQuality">Quality of JPEG image (100 - highest; 0 - lowest) (optional, default to 100L)</param>
/// <param name="showResRing">Show resolution ring, provided in Angstrom (optional, default to 0.1f)</param>
/// <param name="color">Color scale for preview image: 0 - indigo, 1 - viridis, 2 - B/W, 3 - heat (optional, default to &quot;indigo&quot;)</param>
virtual void image_buffer_image_png_get(const std::optional<int64_t> &id, const std::optional<bool> &showUserMask, const std::optional<bool> &showRoi, const std::optional<bool> &showSpots, const std::optional<bool> &showBeamCenter, const std::optional<float> &saturation, const std::optional<int64_t> &jpegQuality, const std::optional<float> &showResRing, const std::optional<std::string> &color, Pistache::Http::ResponseWriter &response) = 0;
/// <summary>
/// Get preview image in TIFF format
/// </summary>
@@ -506,12 +524,12 @@ private:
/// <param name="azintUnit">Unit used for azim int. (optional, default to &quot;Q_recipA&quot;)</param>
virtual void preview_plot_get(const std::optional<std::string> &type, const std::optional<int32_t> &binning, const std::optional<bool> &compression, const std::optional<bool> &experimentalCoord, const std::optional<std::string> &azintUnit, Pistache::Http::ResponseWriter &response) = 0;
/// <summary>
/// Get grid scan result
/// Get full scan result
/// </summary>
/// <remarks>
///
/// </remarks>
virtual void result_grid_scan_get(Pistache::Http::ResponseWriter &response) = 0;
virtual void result_scan_get(Pistache::Http::ResponseWriter &response) = 0;
/// <summary>
/// Start detector
/// </summary>

View File

@@ -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.43
* The version of the OpenAPI document: 1.0.0-rc.61
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -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.43
* The version of the OpenAPI document: 1.0.0-rc.61
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -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.43
* The version of the OpenAPI document: 1.0.0-rc.61
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -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.43
* The version of the OpenAPI document: 1.0.0-rc.61
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -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.43
* The version of the OpenAPI document: 1.0.0-rc.61
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -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.43
* The version of the OpenAPI document: 1.0.0-rc.61
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -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.43
* The version of the OpenAPI document: 1.0.0-rc.61
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -67,6 +67,10 @@ Dataset_settings::Dataset_settings()
m_Save_calibrationIsSet = false;
m_Polarization_factor = 0.0f;
m_Polarization_factorIsSet = false;
m_Ring_current_mA = 0.0f;
m_Ring_current_mAIsSet = false;
m_Sample_temperature_K = 0.0f;
m_Sample_temperature_KIsSet = false;
m_Poni_rot1_rad = 0.0f;
m_Poni_rot1_radIsSet = false;
m_Poni_rot2_rad = 0.0f;
@@ -309,6 +313,34 @@ bool Dataset_settings::validate(std::stringstream& msg, const std::string& pathP
}
if (ringCurrentMAIsSet())
{
const float& value = m_Ring_current_mA;
const std::string currentValuePath = _pathPrefix + ".ringCurrentMA";
if (value < static_cast<float>(0.0))
{
success = false;
msg << currentValuePath << ": must be greater than or equal to 0.0;";
}
}
if (sampleTemperatureKIsSet())
{
const float& value = m_Sample_temperature_K;
const std::string currentValuePath = _pathPrefix + ".sampleTemperatureK";
if (value < static_cast<float>(0.0))
{
success = false;
msg << currentValuePath << ": must be greater than or equal to 0.0;";
}
}
if (poniRot1RadIsSet())
{
const float& value = m_Poni_rot1_rad;
@@ -456,6 +488,12 @@ bool Dataset_settings::operator==(const Dataset_settings& rhs) const
((!polarizationFactorIsSet() && !rhs.polarizationFactorIsSet()) || (polarizationFactorIsSet() && rhs.polarizationFactorIsSet() && getPolarizationFactor() == rhs.getPolarizationFactor())) &&
((!ringCurrentMAIsSet() && !rhs.ringCurrentMAIsSet()) || (ringCurrentMAIsSet() && rhs.ringCurrentMAIsSet() && getRingCurrentMA() == rhs.getRingCurrentMA())) &&
((!sampleTemperatureKIsSet() && !rhs.sampleTemperatureKIsSet()) || (sampleTemperatureKIsSet() && rhs.sampleTemperatureKIsSet() && getSampleTemperatureK() == rhs.getSampleTemperatureK())) &&
((!poniRot1RadIsSet() && !rhs.poniRot1RadIsSet()) || (poniRot1RadIsSet() && rhs.poniRot1RadIsSet() && getPoniRot1Rad() == rhs.getPoniRot1Rad())) &&
@@ -528,6 +566,10 @@ void to_json(nlohmann::json& j, const Dataset_settings& o)
j["save_calibration"] = o.m_Save_calibration;
if(o.polarizationFactorIsSet())
j["polarization_factor"] = o.m_Polarization_factor;
if(o.ringCurrentMAIsSet())
j["ring_current_mA"] = o.m_Ring_current_mA;
if(o.sampleTemperatureKIsSet())
j["sample_temperature_K"] = o.m_Sample_temperature_K;
if(o.poniRot1RadIsSet())
j["poni_rot1_rad"] = o.m_Poni_rot1_rad;
if(o.poniRot2RadIsSet())
@@ -660,6 +702,16 @@ void from_json(const nlohmann::json& j, Dataset_settings& o)
j.at("polarization_factor").get_to(o.m_Polarization_factor);
o.m_Polarization_factorIsSet = true;
}
if(j.find("ring_current_mA") != j.end())
{
j.at("ring_current_mA").get_to(o.m_Ring_current_mA);
o.m_Ring_current_mAIsSet = true;
}
if(j.find("sample_temperature_K") != j.end())
{
j.at("sample_temperature_K").get_to(o.m_Sample_temperature_K);
o.m_Sample_temperature_KIsSet = true;
}
if(j.find("poni_rot1_rad") != j.end())
{
j.at("poni_rot1_rad").get_to(o.m_Poni_rot1_rad);
@@ -1106,6 +1158,40 @@ void Dataset_settings::unsetPolarization_factor()
{
m_Polarization_factorIsSet = false;
}
float Dataset_settings::getRingCurrentMA() const
{
return m_Ring_current_mA;
}
void Dataset_settings::setRingCurrentMA(float const value)
{
m_Ring_current_mA = value;
m_Ring_current_mAIsSet = true;
}
bool Dataset_settings::ringCurrentMAIsSet() const
{
return m_Ring_current_mAIsSet;
}
void Dataset_settings::unsetRing_current_mA()
{
m_Ring_current_mAIsSet = false;
}
float Dataset_settings::getSampleTemperatureK() const
{
return m_Sample_temperature_K;
}
void Dataset_settings::setSampleTemperatureK(float const value)
{
m_Sample_temperature_K = value;
m_Sample_temperature_KIsSet = true;
}
bool Dataset_settings::sampleTemperatureKIsSet() const
{
return m_Sample_temperature_KIsSet;
}
void Dataset_settings::unsetSample_temperature_K()
{
m_Sample_temperature_KIsSet = false;
}
float Dataset_settings::getPoniRot1Rad() const
{
return m_Poni_rot1_rad;
@@ -1157,11 +1243,11 @@ void Dataset_settings::unsetPoni_rot3_rad()
{
m_Poni_rot3_radIsSet = false;
}
org::openapitools::server::model::Dataset_settings_unit_cell Dataset_settings::getUnitCell() const
org::openapitools::server::model::Unit_cell Dataset_settings::getUnitCell() const
{
return m_Unit_cell;
}
void Dataset_settings::setUnitCell(org::openapitools::server::model::Dataset_settings_unit_cell const& value)
void Dataset_settings::setUnitCell(org::openapitools::server::model::Unit_cell const& value)
{
m_Unit_cell = value;
m_Unit_cellIsSet = true;

View File

@@ -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.43
* The version of the OpenAPI document: 1.0.0-rc.61
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -22,8 +22,8 @@
#include "Grid_scan.h"
#include <nlohmann/json.hpp>
#include "Rotation_axis.h"
#include "Unit_cell.h"
#include <string>
#include "Dataset_settings_unit_cell.h"
#include <nlohmann/json.hpp>
namespace org::openapitools::server::model
@@ -244,6 +244,20 @@ public:
bool polarizationFactorIsSet() const;
void unsetPolarization_factor();
/// <summary>
/// Ring current at the beginning of the data collection
/// </summary>
float getRingCurrentMA() const;
void setRingCurrentMA(float const value);
bool ringCurrentMAIsSet() const;
void unsetRing_current_mA();
/// <summary>
/// Sample temperature in Kelvin
/// </summary>
float getSampleTemperatureK() const;
void setSampleTemperatureK(float const value);
bool sampleTemperatureKIsSet() const;
void unsetSample_temperature_K();
/// <summary>
/// PONI angle rot1 (see PyFAI documentation for details) in radians
/// </summary>
float getPoniRot1Rad() const;
@@ -267,8 +281,8 @@ public:
/// <summary>
///
/// </summary>
org::openapitools::server::model::Dataset_settings_unit_cell getUnitCell() const;
void setUnitCell(org::openapitools::server::model::Dataset_settings_unit_cell const& value);
org::openapitools::server::model::Unit_cell getUnitCell() const;
void setUnitCell(org::openapitools::server::model::Unit_cell const& value);
bool unitCellIsSet() const;
void unsetUnit_cell();
@@ -329,13 +343,17 @@ protected:
bool m_Save_calibrationIsSet;
float m_Polarization_factor;
bool m_Polarization_factorIsSet;
float m_Ring_current_mA;
bool m_Ring_current_mAIsSet;
float m_Sample_temperature_K;
bool m_Sample_temperature_KIsSet;
float m_Poni_rot1_rad;
bool m_Poni_rot1_radIsSet;
float m_Poni_rot2_rad;
bool m_Poni_rot2_radIsSet;
float m_Poni_rot3_rad;
bool m_Poni_rot3_radIsSet;
org::openapitools::server::model::Dataset_settings_unit_cell m_Unit_cell;
org::openapitools::server::model::Unit_cell m_Unit_cell;
bool m_Unit_cellIsSet;
};

View File

@@ -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.43
* The version of the OpenAPI document: 1.0.0-rc.61
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -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.43
* The version of the OpenAPI document: 1.0.0-rc.61
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -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.43
* The version of the OpenAPI document: 1.0.0-rc.61
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -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.43
* The version of the OpenAPI document: 1.0.0-rc.61
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -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.43
* The version of the OpenAPI document: 1.0.0-rc.61
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -29,6 +29,8 @@ Detector_list_element::Detector_list_element()
m_Nmodules = 0L;
m_Width = 0L;
m_Height = 0L;
m_Pixel_size_mm = 0.0f;
m_Pixel_size_mmIsSet = false;
m_Readout_time_us = 0L;
m_Min_frame_time_us = 0L;
m_Min_count_time_us = 0L;
@@ -69,7 +71,7 @@ bool Detector_list_element::validate(std::stringstream& msg, const std::string&
}
}
return success;
}
@@ -102,6 +104,9 @@ bool Detector_list_element::operator==(const Detector_list_element& rhs) const
(getHeight() == rhs.getHeight())
&&
((!pixelSizeMmIsSet() && !rhs.pixelSizeMmIsSet()) || (pixelSizeMmIsSet() && rhs.pixelSizeMmIsSet() && getPixelSizeMm() == rhs.getPixelSizeMm())) &&
(getReadoutTimeUs() == rhs.getReadoutTimeUs())
&&
@@ -133,6 +138,8 @@ void to_json(nlohmann::json& j, const Detector_list_element& o)
j["nmodules"] = o.m_Nmodules;
j["width"] = o.m_Width;
j["height"] = o.m_Height;
if(o.pixelSizeMmIsSet())
j["pixel_size_mm"] = o.m_Pixel_size_mm;
j["readout_time_us"] = o.m_Readout_time_us;
j["min_frame_time_us"] = o.m_Min_frame_time_us;
j["min_count_time_us"] = o.m_Min_count_time_us;
@@ -151,6 +158,11 @@ void from_json(const nlohmann::json& j, Detector_list_element& o)
j.at("nmodules").get_to(o.m_Nmodules);
j.at("width").get_to(o.m_Width);
j.at("height").get_to(o.m_Height);
if(j.find("pixel_size_mm") != j.end())
{
j.at("pixel_size_mm").get_to(o.m_Pixel_size_mm);
o.m_Pixel_size_mmIsSet = true;
}
j.at("readout_time_us").get_to(o.m_Readout_time_us);
j.at("min_frame_time_us").get_to(o.m_Min_frame_time_us);
j.at("min_count_time_us").get_to(o.m_Min_count_time_us);
@@ -226,6 +238,23 @@ void Detector_list_element::setHeight(int64_t const value)
{
m_Height = value;
}
float Detector_list_element::getPixelSizeMm() const
{
return m_Pixel_size_mm;
}
void Detector_list_element::setPixelSizeMm(float const value)
{
m_Pixel_size_mm = value;
m_Pixel_size_mmIsSet = true;
}
bool Detector_list_element::pixelSizeMmIsSet() const
{
return m_Pixel_size_mmIsSet;
}
void Detector_list_element::unsetPixel_size_mm()
{
m_Pixel_size_mmIsSet = false;
}
int64_t Detector_list_element::getReadoutTimeUs() const
{
return m_Readout_time_us;

View File

@@ -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.43
* The version of the OpenAPI document: 1.0.0-rc.61
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -102,6 +102,13 @@ public:
/// <summary>
///
/// </summary>
float getPixelSizeMm() const;
void setPixelSizeMm(float const value);
bool pixelSizeMmIsSet() const;
void unsetPixel_size_mm();
/// <summary>
///
/// </summary>
int64_t getReadoutTimeUs() const;
void setReadoutTimeUs(int64_t const value);
/// <summary>
@@ -141,6 +148,8 @@ protected:
int64_t m_Height;
float m_Pixel_size_mm;
bool m_Pixel_size_mmIsSet;
int64_t m_Readout_time_us;
int64_t m_Min_frame_time_us;

View File

@@ -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.43
* The version of the OpenAPI document: 1.0.0-rc.61
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -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.43
* The version of the OpenAPI document: 1.0.0-rc.61
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -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.43
* The version of the OpenAPI document: 1.0.0-rc.61
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -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.43
* The version of the OpenAPI document: 1.0.0-rc.61
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -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.43
* The version of the OpenAPI document: 1.0.0-rc.61
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -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.43
* The version of the OpenAPI document: 1.0.0-rc.61
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -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.43
* The version of the OpenAPI document: 1.0.0-rc.61
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -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.43
* The version of the OpenAPI document: 1.0.0-rc.61
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -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.43
* The version of the OpenAPI document: 1.0.0-rc.61
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -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.43
* The version of the OpenAPI document: 1.0.0-rc.61
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -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.43
* The version of the OpenAPI document: 1.0.0-rc.61
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -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.43
* The version of the OpenAPI document: 1.0.0-rc.61
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -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.43
* The version of the OpenAPI document: 1.0.0-rc.61
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -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.43
* The version of the OpenAPI document: 1.0.0-rc.61
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -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.43
* The version of the OpenAPI document: 1.0.0-rc.61
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -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.43
* The version of the OpenAPI document: 1.0.0-rc.61
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -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.43
* The version of the OpenAPI document: 1.0.0-rc.61
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -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.43
* The version of the OpenAPI document: 1.0.0-rc.61
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -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.43
* The version of the OpenAPI document: 1.0.0-rc.61
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -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.43
* The version of the OpenAPI document: 1.0.0-rc.61
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -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.43
* The version of the OpenAPI document: 1.0.0-rc.61
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -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.43
* The version of the OpenAPI document: 1.0.0-rc.61
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -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.43
* The version of the OpenAPI document: 1.0.0-rc.61
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -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.43
* The version of the OpenAPI document: 1.0.0-rc.61
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -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.43
* The version of the OpenAPI document: 1.0.0-rc.61
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -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.43
* The version of the OpenAPI document: 1.0.0-rc.61
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -1,139 +0,0 @@
/**
* 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.40
* 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 "Grid_plot.h"
#include "Helpers.h"
#include <sstream>
namespace org::openapitools::server::model
{
Grid_plot::Grid_plot()
{
m_Width = 0L;
}
void Grid_plot::validate() const
{
std::stringstream msg;
if (!validate(msg))
{
throw org::openapitools::server::helpers::ValidationException(msg.str());
}
}
bool Grid_plot::validate(std::stringstream& msg) const
{
return validate(msg, "");
}
bool Grid_plot::validate(std::stringstream& msg, const std::string& pathPrefix) const
{
bool success = true;
const std::string _pathPrefix = pathPrefix.empty() ? "Grid_plot" : pathPrefix;
/* Data */ {
const std::vector<float>& value = m_Data;
const std::string currentValuePath = _pathPrefix + ".data";
{ // Recursive validation of array elements
const std::string oldValuePath = currentValuePath;
int i = 0;
for (const float& value : value)
{
const std::string currentValuePath = oldValuePath + "[" + std::to_string(i) + "]";
i++;
}
}
}
/* Width */ {
const int64_t& value = m_Width;
const std::string currentValuePath = _pathPrefix + ".width";
if (value < 1ll)
{
success = false;
msg << currentValuePath << ": must be greater than or equal to 1;";
}
}
return success;
}
bool Grid_plot::operator==(const Grid_plot& rhs) const
{
return
(getData() == rhs.getData())
&&
(getWidth() == rhs.getWidth())
;
}
bool Grid_plot::operator!=(const Grid_plot& rhs) const
{
return !(*this == rhs);
}
void to_json(nlohmann::json& j, const Grid_plot& o)
{
j = nlohmann::json::object();
j["data"] = o.m_Data;
j["width"] = o.m_Width;
}
void from_json(const nlohmann::json& j, Grid_plot& o)
{
j.at("data").get_to(o.m_Data);
j.at("width").get_to(o.m_Width);
}
std::vector<float> Grid_plot::getData() const
{
return m_Data;
}
void Grid_plot::setData(std::vector<float> const value)
{
m_Data = value;
}
int64_t Grid_plot::getWidth() const
{
return m_Width;
}
void Grid_plot::setWidth(int64_t const value)
{
m_Width = value;
}
} // namespace org::openapitools::server::model

View File

@@ -1,139 +0,0 @@
/**
* 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.40
* 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 "Grid_plots.h"
#include "Helpers.h"
#include <sstream>
namespace org::openapitools::server::model
{
Grid_plots::Grid_plots()
{
m_Width = 0L;
}
void Grid_plots::validate() const
{
std::stringstream msg;
if (!validate(msg))
{
throw org::openapitools::server::helpers::ValidationException(msg.str());
}
}
bool Grid_plots::validate(std::stringstream& msg) const
{
return validate(msg, "");
}
bool Grid_plots::validate(std::stringstream& msg, const std::string& pathPrefix) const
{
bool success = true;
const std::string _pathPrefix = pathPrefix.empty() ? "Grid_plots" : pathPrefix;
/* Plots */ {
const std::vector<org::openapitools::server::model::Grid_plot>& value = m_Plots;
const std::string currentValuePath = _pathPrefix + ".plots";
{ // Recursive validation of array elements
const std::string oldValuePath = currentValuePath;
int i = 0;
for (const org::openapitools::server::model::Grid_plot& value : value)
{
const std::string currentValuePath = oldValuePath + "[" + std::to_string(i) + "]";
success = value.validate(msg, currentValuePath + ".plots") && success;
i++;
}
}
}
/* Width */ {
const int64_t& value = m_Width;
const std::string currentValuePath = _pathPrefix + ".width";
if (value < 1ll)
{
success = false;
msg << currentValuePath << ": must be greater than or equal to 1;";
}
}
return success;
}
bool Grid_plots::operator==(const Grid_plots& rhs) const
{
return
(getPlots() == rhs.getPlots())
&&
(getWidth() == rhs.getWidth())
;
}
bool Grid_plots::operator!=(const Grid_plots& rhs) const
{
return !(*this == rhs);
}
void to_json(nlohmann::json& j, const Grid_plots& o)
{
j = nlohmann::json::object();
j["plots"] = o.m_Plots;
j["width"] = o.m_Width;
}
void from_json(const nlohmann::json& j, Grid_plots& o)
{
j.at("plots").get_to(o.m_Plots);
j.at("width").get_to(o.m_Width);
}
std::vector<org::openapitools::server::model::Grid_plot> Grid_plots::getPlots() const
{
return m_Plots;
}
void Grid_plots::setPlots(std::vector<org::openapitools::server::model::Grid_plot> const& value)
{
m_Plots = value;
}
int64_t Grid_plots::getWidth() const
{
return m_Width;
}
void Grid_plots::setWidth(int64_t const value)
{
m_Width = value;
}
} // namespace org::openapitools::server::model

View File

@@ -1,85 +0,0 @@
/**
* 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.40
* 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.
*/
/*
* Grid_plots.h
*
*
*/
#ifndef Grid_plots_H_
#define Grid_plots_H_
#include <vector>
#include "Grid_plot.h"
#include <nlohmann/json.hpp>
namespace org::openapitools::server::model
{
/// <summary>
///
/// </summary>
class Grid_plots
{
public:
Grid_plots();
virtual ~Grid_plots() = default;
/// <summary>
/// Validate the current data in the model. Throws a ValidationException on failure.
/// </summary>
void validate() const;
/// <summary>
/// Validate the current data in the model. Returns false on error and writes an error
/// message into the given stringstream.
/// </summary>
bool validate(std::stringstream& msg) const;
/// <summary>
/// Helper overload for validate. Used when one model stores another model and calls it's validate.
/// Not meant to be called outside that case.
/// </summary>
bool validate(std::stringstream& msg, const std::string& pathPrefix) const;
bool operator==(const Grid_plots& rhs) const;
bool operator!=(const Grid_plots& rhs) const;
/////////////////////////////////////////////
/// Grid_plots members
/// <summary>
///
/// </summary>
std::vector<org::openapitools::server::model::Grid_plot> getPlots() const;
void setPlots(std::vector<org::openapitools::server::model::Grid_plot> const& value);
/// <summary>
///
/// </summary>
int64_t getWidth() const;
void setWidth(int64_t const value);
friend void to_json(nlohmann::json& j, const Grid_plots& o);
friend void from_json(const nlohmann::json& j, Grid_plots& o);
protected:
std::vector<org::openapitools::server::model::Grid_plot> m_Plots;
int64_t m_Width;
};
} // namespace org::openapitools::server::model
#endif /* Grid_plots_H_ */

View File

@@ -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.43
* The version of the OpenAPI document: 1.0.0-rc.61
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -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.43
* The version of the OpenAPI document: 1.0.0-rc.61
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -1,281 +0,0 @@
/**
* 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.43
* 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 "Grid_scan_result.h"
#include "Helpers.h"
#include <sstream>
namespace org::openapitools::server::model
{
Grid_scan_result::Grid_scan_result()
{
}
void Grid_scan_result::validate() const
{
std::stringstream msg;
if (!validate(msg))
{
throw org::openapitools::server::helpers::ValidationException(msg.str());
}
}
bool Grid_scan_result::validate(std::stringstream& msg) const
{
return validate(msg, "");
}
bool Grid_scan_result::validate(std::stringstream& msg, const std::string& pathPrefix) const
{
bool success = true;
const std::string _pathPrefix = pathPrefix.empty() ? "Grid_scan_result" : pathPrefix;
/* Det_img */ {
const std::vector<int64_t>& value = m_Det_img;
const std::string currentValuePath = _pathPrefix + ".detImg";
{ // Recursive validation of array elements
const std::string oldValuePath = currentValuePath;
int i = 0;
for (const int64_t& value : value)
{
const std::string currentValuePath = oldValuePath + "[" + std::to_string(i) + "]";
i++;
}
}
}
/* Bkg_estimate */ {
const std::vector<float>& value = m_Bkg_estimate;
const std::string currentValuePath = _pathPrefix + ".bkgEstimate";
{ // Recursive validation of array elements
const std::string oldValuePath = currentValuePath;
int i = 0;
for (const float& value : value)
{
const std::string currentValuePath = oldValuePath + "[" + std::to_string(i) + "]";
i++;
}
}
}
/* Spot_count */ {
const std::vector<int64_t>& value = m_Spot_count;
const std::string currentValuePath = _pathPrefix + ".spotCount";
{ // Recursive validation of array elements
const std::string oldValuePath = currentValuePath;
int i = 0;
for (const int64_t& value : value)
{
const std::string currentValuePath = oldValuePath + "[" + std::to_string(i) + "]";
i++;
}
}
}
/* Indexed_lattices */ {
const std::vector<int64_t>& value = m_Indexed_lattices;
const std::string currentValuePath = _pathPrefix + ".indexedLattices";
{ // Recursive validation of array elements
const std::string oldValuePath = currentValuePath;
int i = 0;
for (const int64_t& value : value)
{
const std::string currentValuePath = oldValuePath + "[" + std::to_string(i) + "]";
i++;
}
}
}
/* Mosaicity */ {
const std::vector<float>& value = m_Mosaicity;
const std::string currentValuePath = _pathPrefix + ".mosaicity";
{ // Recursive validation of array elements
const std::string oldValuePath = currentValuePath;
int i = 0;
for (const float& value : value)
{
const std::string currentValuePath = oldValuePath + "[" + std::to_string(i) + "]";
i++;
}
}
}
/* B_factor */ {
const std::vector<float>& value = m_B_factor;
const std::string currentValuePath = _pathPrefix + ".bFactor";
{ // Recursive validation of array elements
const std::string oldValuePath = currentValuePath;
int i = 0;
for (const float& value : value)
{
const std::string currentValuePath = oldValuePath + "[" + std::to_string(i) + "]";
i++;
}
}
}
return success;
}
bool Grid_scan_result::operator==(const Grid_scan_result& rhs) const
{
return
(getDetImg() == rhs.getDetImg())
&&
(getBkgEstimate() == rhs.getBkgEstimate())
&&
(getSpotCount() == rhs.getSpotCount())
&&
(getIndexedLattices() == rhs.getIndexedLattices())
&&
(getMosaicity() == rhs.getMosaicity())
&&
(getBFactor() == rhs.getBFactor())
;
}
bool Grid_scan_result::operator!=(const Grid_scan_result& rhs) const
{
return !(*this == rhs);
}
void to_json(nlohmann::json& j, const Grid_scan_result& o)
{
j = nlohmann::json::object();
j["det_img"] = o.m_Det_img;
j["bkg_estimate"] = o.m_Bkg_estimate;
j["spot_count"] = o.m_Spot_count;
j["indexed_lattices"] = o.m_Indexed_lattices;
j["mosaicity"] = o.m_Mosaicity;
j["b_factor"] = o.m_B_factor;
}
void from_json(const nlohmann::json& j, Grid_scan_result& o)
{
j.at("det_img").get_to(o.m_Det_img);
j.at("bkg_estimate").get_to(o.m_Bkg_estimate);
j.at("spot_count").get_to(o.m_Spot_count);
j.at("indexed_lattices").get_to(o.m_Indexed_lattices);
j.at("mosaicity").get_to(o.m_Mosaicity);
j.at("b_factor").get_to(o.m_B_factor);
}
std::vector<int64_t> Grid_scan_result::getDetImg() const
{
return m_Det_img;
}
void Grid_scan_result::setDetImg(std::vector<int64_t> const value)
{
m_Det_img = value;
}
std::vector<float> Grid_scan_result::getBkgEstimate() const
{
return m_Bkg_estimate;
}
void Grid_scan_result::setBkgEstimate(std::vector<float> const value)
{
m_Bkg_estimate = value;
}
std::vector<int64_t> Grid_scan_result::getSpotCount() const
{
return m_Spot_count;
}
void Grid_scan_result::setSpotCount(std::vector<int64_t> const value)
{
m_Spot_count = value;
}
std::vector<int64_t> Grid_scan_result::getIndexedLattices() const
{
return m_Indexed_lattices;
}
void Grid_scan_result::setIndexedLattices(std::vector<int64_t> const value)
{
m_Indexed_lattices = value;
}
std::vector<float> Grid_scan_result::getMosaicity() const
{
return m_Mosaicity;
}
void Grid_scan_result::setMosaicity(std::vector<float> const value)
{
m_Mosaicity = value;
}
std::vector<float> Grid_scan_result::getBFactor() const
{
return m_B_factor;
}
void Grid_scan_result::setBFactor(std::vector<float> const value)
{
m_B_factor = value;
}
} // namespace org::openapitools::server::model

View File

@@ -1,112 +0,0 @@
/**
* 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.43
* 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.
*/
/*
* Grid_scan_result.h
*
* Results of a grid scan
*/
#ifndef Grid_scan_result_H_
#define Grid_scan_result_H_
#include <vector>
#include <nlohmann/json.hpp>
namespace org::openapitools::server::model
{
/// <summary>
/// Results of a grid scan
/// </summary>
class Grid_scan_result
{
public:
Grid_scan_result();
virtual ~Grid_scan_result() = default;
/// <summary>
/// Validate the current data in the model. Throws a ValidationException on failure.
/// </summary>
void validate() const;
/// <summary>
/// Validate the current data in the model. Returns false on error and writes an error
/// message into the given stringstream.
/// </summary>
bool validate(std::stringstream& msg) const;
/// <summary>
/// Helper overload for validate. Used when one model stores another model and calls it's validate.
/// Not meant to be called outside that case.
/// </summary>
bool validate(std::stringstream& msg, const std::string& pathPrefix) const;
bool operator==(const Grid_scan_result& rhs) const;
bool operator!=(const Grid_scan_result& rhs) const;
/////////////////////////////////////////////
/// Grid_scan_result members
/// <summary>
/// Detector image number for a given cell
/// </summary>
std::vector<int64_t> getDetImg() const;
void setDetImg(std::vector<int64_t> const value);
/// <summary>
///
/// </summary>
std::vector<float> getBkgEstimate() const;
void setBkgEstimate(std::vector<float> const value);
/// <summary>
///
/// </summary>
std::vector<int64_t> getSpotCount() const;
void setSpotCount(std::vector<int64_t> const value);
/// <summary>
///
/// </summary>
std::vector<int64_t> getIndexedLattices() const;
void setIndexedLattices(std::vector<int64_t> const value);
/// <summary>
///
/// </summary>
std::vector<float> getMosaicity() const;
void setMosaicity(std::vector<float> const value);
/// <summary>
///
/// </summary>
std::vector<float> getBFactor() const;
void setBFactor(std::vector<float> const value);
friend void to_json(nlohmann::json& j, const Grid_scan_result& o);
friend void from_json(const nlohmann::json& j, Grid_scan_result& o);
protected:
std::vector<int64_t> m_Det_img;
std::vector<float> m_Bkg_estimate;
std::vector<int64_t> m_Spot_count;
std::vector<int64_t> m_Indexed_lattices;
std::vector<float> m_Mosaicity;
std::vector<float> m_B_factor;
};
} // namespace org::openapitools::server::model
#endif /* Grid_scan_result_H_ */

View File

@@ -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.43
* The version of the OpenAPI document: 1.0.0-rc.61
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -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.43
* The version of the OpenAPI document: 1.0.0-rc.61
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -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.43
* The version of the OpenAPI document: 1.0.0-rc.61
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -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.43
* The version of the OpenAPI document: 1.0.0-rc.61
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -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.43
* The version of the OpenAPI document: 1.0.0-rc.61
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -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.43
* The version of the OpenAPI document: 1.0.0-rc.61
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -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.43
* The version of the OpenAPI document: 1.0.0-rc.61
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -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.43
* The version of the OpenAPI document: 1.0.0-rc.61
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -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.43
* The version of the OpenAPI document: 1.0.0-rc.61
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -81,6 +81,9 @@ void to_json(nlohmann::json& j, const Indexing_algorithm& o)
case Indexing_algorithm::eIndexing_algorithm::FFT:
j = "FFT";
break;
case Indexing_algorithm::eIndexing_algorithm::AUTO:
j = "Auto";
break;
case Indexing_algorithm::eIndexing_algorithm::NONE:
j = "None";
break;
@@ -97,6 +100,9 @@ void from_json(const nlohmann::json& j, Indexing_algorithm& o)
else if (s == "FFT") {
o.setValue(Indexing_algorithm::eIndexing_algorithm::FFT);
}
else if (s == "Auto") {
o.setValue(Indexing_algorithm::eIndexing_algorithm::AUTO);
}
else if (s == "None") {
o.setValue(Indexing_algorithm::eIndexing_algorithm::NONE);
} else {

View File

@@ -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.43
* The version of the OpenAPI document: 1.0.0-rc.61
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
@@ -40,6 +40,7 @@ public:
INVALID_VALUE_OPENAPI_GENERATED = 0,
FFBIDX,
FFT,
AUTO,
NONE
};

View File

@@ -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.43
* The version of the OpenAPI document: 1.0.0-rc.61
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -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.43
* The version of the OpenAPI document: 1.0.0-rc.61
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -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.43
* The version of the OpenAPI document: 1.0.0-rc.61
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -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.43
* The version of the OpenAPI document: 1.0.0-rc.61
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -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.43
* The version of the OpenAPI document: 1.0.0-rc.61
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -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.43
* The version of the OpenAPI document: 1.0.0-rc.61
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -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.43
* The version of the OpenAPI document: 1.0.0-rc.61
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -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.43
* The version of the OpenAPI document: 1.0.0-rc.61
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -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.43
* The version of the OpenAPI document: 1.0.0-rc.61
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -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.43
* The version of the OpenAPI document: 1.0.0-rc.61
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -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.43
* The version of the OpenAPI document: 1.0.0-rc.61
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -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.43
* The version of the OpenAPI document: 1.0.0-rc.61
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -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.43
* The version of the OpenAPI document: 1.0.0-rc.61
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -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.43
* The version of the OpenAPI document: 1.0.0-rc.61
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -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.43
* The version of the OpenAPI document: 1.0.0-rc.61
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -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.43
* The version of the OpenAPI document: 1.0.0-rc.61
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -1,224 +0,0 @@
/**
* 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.40
* 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 "Plot_type_enum.h"
#include "Helpers.h"
#include <stdexcept>
#include <sstream>
namespace org::openapitools::server::model
{
Plot_type_enum::Plot_type_enum()
{
}
void Plot_type_enum::validate() const
{
std::stringstream msg;
if (!validate(msg))
{
throw org::openapitools::server::helpers::ValidationException(msg.str());
}
}
bool Plot_type_enum::validate(std::stringstream& msg) const
{
return validate(msg, "");
}
bool Plot_type_enum::validate(std::stringstream& msg, const std::string& pathPrefix) const
{
bool success = true;
const std::string _pathPrefix = pathPrefix.empty() ? "Plot_type_enum" : pathPrefix;
if (m_value == Plot_type_enum::ePlot_type_enum::INVALID_VALUE_OPENAPI_GENERATED)
{
success = false;
msg << _pathPrefix << ": has no value;";
}
return success;
}
bool Plot_type_enum::operator==(const Plot_type_enum& rhs) const
{
return
getValue() == rhs.getValue()
;
}
bool Plot_type_enum::operator!=(const Plot_type_enum& rhs) const
{
return !(*this == rhs);
}
void to_json(nlohmann::json& j, const Plot_type_enum& o)
{
j = nlohmann::json::object();
switch (o.getValue())
{
case Plot_type_enum::ePlot_type_enum::INVALID_VALUE_OPENAPI_GENERATED:
j = "INVALID_VALUE_OPENAPI_GENERATED";
break;
case Plot_type_enum::ePlot_type_enum::BKG_ESTIMATE:
j = "bkg_estimate";
break;
case Plot_type_enum::ePlot_type_enum::AZINT:
j = "azint";
break;
case Plot_type_enum::ePlot_type_enum::SPOT_COUNT:
j = "spot_count";
break;
case Plot_type_enum::ePlot_type_enum::INDEXING_RATE:
j = "indexing_rate";
break;
case Plot_type_enum::ePlot_type_enum::INDEXING_UNIT_CELL_LENGTH:
j = "indexing_unit_cell_length";
break;
case Plot_type_enum::ePlot_type_enum::INDEXING_UNIT_CELL_ANGLE:
j = "indexing_unit_cell_angle";
break;
case Plot_type_enum::ePlot_type_enum::ERROR_PIXELS:
j = "error_pixels";
break;
case Plot_type_enum::ePlot_type_enum::IMAGE_COLLECTION_EFFICIENCY:
j = "image_collection_efficiency";
break;
case Plot_type_enum::ePlot_type_enum::RECEIVER_DELAY:
j = "receiver_delay";
break;
case Plot_type_enum::ePlot_type_enum::RECEIVER_FREE_SEND_BUF:
j = "receiver_free_send_buf";
break;
case Plot_type_enum::ePlot_type_enum::STRONG_PIXELS:
j = "strong_pixels";
break;
case Plot_type_enum::ePlot_type_enum::ROI_SUM:
j = "roi_sum";
break;
case Plot_type_enum::ePlot_type_enum::ROI_MEAN:
j = "roi_mean";
break;
case Plot_type_enum::ePlot_type_enum::ROI_MAX_COUNT:
j = "roi_max_count";
break;
case Plot_type_enum::ePlot_type_enum::ROI_PIXELS:
j = "roi_pixels";
break;
case Plot_type_enum::ePlot_type_enum::ROI_WEIGHTED_X:
j = "roi_weighted_x";
break;
case Plot_type_enum::ePlot_type_enum::ROI_WEIGHTED_Y:
j = "roi_weighted_y";
break;
case Plot_type_enum::ePlot_type_enum::PACKETS_RECEIVED:
j = "packets_received";
break;
case Plot_type_enum::ePlot_type_enum::MAX_PIXEL_VALUE:
j = "max_pixel_value";
break;
case Plot_type_enum::ePlot_type_enum::RESOLUTION_ESTIMATE:
j = "resolution_estimate";
break;
}
}
void from_json(const nlohmann::json& j, Plot_type_enum& o)
{
auto s = j.get<std::string>();
if (s == "bkg_estimate") {
o.setValue(Plot_type_enum::ePlot_type_enum::BKG_ESTIMATE);
}
else if (s == "azint") {
o.setValue(Plot_type_enum::ePlot_type_enum::AZINT);
}
else if (s == "spot_count") {
o.setValue(Plot_type_enum::ePlot_type_enum::SPOT_COUNT);
}
else if (s == "indexing_rate") {
o.setValue(Plot_type_enum::ePlot_type_enum::INDEXING_RATE);
}
else if (s == "indexing_unit_cell_length") {
o.setValue(Plot_type_enum::ePlot_type_enum::INDEXING_UNIT_CELL_LENGTH);
}
else if (s == "indexing_unit_cell_angle") {
o.setValue(Plot_type_enum::ePlot_type_enum::INDEXING_UNIT_CELL_ANGLE);
}
else if (s == "error_pixels") {
o.setValue(Plot_type_enum::ePlot_type_enum::ERROR_PIXELS);
}
else if (s == "image_collection_efficiency") {
o.setValue(Plot_type_enum::ePlot_type_enum::IMAGE_COLLECTION_EFFICIENCY);
}
else if (s == "receiver_delay") {
o.setValue(Plot_type_enum::ePlot_type_enum::RECEIVER_DELAY);
}
else if (s == "receiver_free_send_buf") {
o.setValue(Plot_type_enum::ePlot_type_enum::RECEIVER_FREE_SEND_BUF);
}
else if (s == "strong_pixels") {
o.setValue(Plot_type_enum::ePlot_type_enum::STRONG_PIXELS);
}
else if (s == "roi_sum") {
o.setValue(Plot_type_enum::ePlot_type_enum::ROI_SUM);
}
else if (s == "roi_mean") {
o.setValue(Plot_type_enum::ePlot_type_enum::ROI_MEAN);
}
else if (s == "roi_max_count") {
o.setValue(Plot_type_enum::ePlot_type_enum::ROI_MAX_COUNT);
}
else if (s == "roi_pixels") {
o.setValue(Plot_type_enum::ePlot_type_enum::ROI_PIXELS);
}
else if (s == "roi_weighted_x") {
o.setValue(Plot_type_enum::ePlot_type_enum::ROI_WEIGHTED_X);
}
else if (s == "roi_weighted_y") {
o.setValue(Plot_type_enum::ePlot_type_enum::ROI_WEIGHTED_Y);
}
else if (s == "packets_received") {
o.setValue(Plot_type_enum::ePlot_type_enum::PACKETS_RECEIVED);
}
else if (s == "max_pixel_value") {
o.setValue(Plot_type_enum::ePlot_type_enum::MAX_PIXEL_VALUE);
}
else if (s == "resolution_estimate") {
o.setValue(Plot_type_enum::ePlot_type_enum::RESOLUTION_ESTIMATE);
} else {
std::stringstream ss;
ss << "Unexpected value " << s << " in json"
<< " cannot be converted to enum of type"
<< " Plot_type_enum::ePlot_type_enum";
throw std::invalid_argument(ss.str());
}
}
Plot_type_enum::ePlot_type_enum Plot_type_enum::getValue() const
{
return m_value;
}
void Plot_type_enum::setValue(Plot_type_enum::ePlot_type_enum value)
{
m_value = value;
}
} // namespace org::openapitools::server::model

View File

@@ -1,97 +0,0 @@
/**
* 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.40
* 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.
*/
/*
* Plot_type_enum.h
*
*
*/
#ifndef Plot_type_enum_H_
#define Plot_type_enum_H_
#include <nlohmann/json.hpp>
namespace org::openapitools::server::model
{
/// <summary>
///
/// </summary>
class Plot_type_enum
{
public:
Plot_type_enum();
virtual ~Plot_type_enum() = default;
enum class ePlot_type_enum {
// To have a valid default value.
// Avoiding name clashes with user defined
// enum values
INVALID_VALUE_OPENAPI_GENERATED = 0,
BKG_ESTIMATE,
AZINT,
SPOT_COUNT,
INDEXING_RATE,
INDEXING_UNIT_CELL_LENGTH,
INDEXING_UNIT_CELL_ANGLE,
ERROR_PIXELS,
IMAGE_COLLECTION_EFFICIENCY,
RECEIVER_DELAY,
RECEIVER_FREE_SEND_BUF,
STRONG_PIXELS,
ROI_SUM,
ROI_MEAN,
ROI_MAX_COUNT,
ROI_PIXELS,
ROI_WEIGHTED_X,
ROI_WEIGHTED_Y,
PACKETS_RECEIVED,
MAX_PIXEL_VALUE,
RESOLUTION_ESTIMATE
};
/// <summary>
/// Validate the current data in the model. Throws a ValidationException on failure.
/// </summary>
void validate() const;
/// <summary>
/// Validate the current data in the model. Returns false on error and writes an error
/// message into the given stringstream.
/// </summary>
bool validate(std::stringstream& msg) const;
/// <summary>
/// Helper overload for validate. Used when one model stores another model and calls it's validate.
/// Not meant to be called outside that case.
/// </summary>
bool validate(std::stringstream& msg, const std::string& pathPrefix) const;
bool operator==(const Plot_type_enum& rhs) const;
bool operator!=(const Plot_type_enum& rhs) const;
/////////////////////////////////////////////
/// Plot_type_enum members
Plot_type_enum::ePlot_type_enum getValue() const;
void setValue(Plot_type_enum::ePlot_type_enum value);
friend void to_json(nlohmann::json& j, const Plot_type_enum& o);
friend void from_json(const nlohmann::json& j, Plot_type_enum& o);
protected:
Plot_type_enum::ePlot_type_enum m_value = Plot_type_enum::ePlot_type_enum::INVALID_VALUE_OPENAPI_GENERATED;
};
} // namespace org::openapitools::server::model
#endif /* Plot_type_enum_H_ */

View File

@@ -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.43
* The version of the OpenAPI document: 1.0.0-rc.61
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -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.43
* The version of the OpenAPI document: 1.0.0-rc.61
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -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.43
* The version of the OpenAPI document: 1.0.0-rc.61
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -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.43
* The version of the OpenAPI document: 1.0.0-rc.61
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -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.43
* The version of the OpenAPI document: 1.0.0-rc.61
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -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.43
* The version of the OpenAPI document: 1.0.0-rc.61
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -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.43
* The version of the OpenAPI document: 1.0.0-rc.61
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -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.43
* The version of the OpenAPI document: 1.0.0-rc.61
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -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.43
* The version of the OpenAPI document: 1.0.0-rc.61
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -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.43
* The version of the OpenAPI document: 1.0.0-rc.61
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -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.43
* The version of the OpenAPI document: 1.0.0-rc.61
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

View File

@@ -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.43
* The version of the OpenAPI document: 1.0.0-rc.61
* Contact: filip.leonarski@psi.ch
*
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).

Some files were not shown because too many files have changed in this diff Show More