version 1.0.0-rc.26
This commit is contained in:
@@ -114,11 +114,11 @@ test:x86:gcc:
|
||||
- mkdir -p build
|
||||
- cd build
|
||||
- cmake -DCMAKE_BUILD_TYPE=Release ..
|
||||
- make -j48 jfjoch_test HDF5DatasetWriteTest
|
||||
- make -j48 jfjoch_test jfjoch_hdf5_test
|
||||
- cd tests
|
||||
- ./jfjoch_test -r junit -o report.xml
|
||||
- cd ../tools
|
||||
- ./HDF5DatasetWriteTest ../../tests/test_data/compression_benchmark.h5
|
||||
- ./jfjoch_hdf5_test ../../tests/test_data/compression_benchmark.h5
|
||||
artifacts:
|
||||
expire_in: 1 week
|
||||
reports:
|
||||
@@ -142,9 +142,9 @@ test:x86:crystfel:
|
||||
- mkdir -p build
|
||||
- cd build
|
||||
- cmake -DCMAKE_BUILD_TYPE=Release ..
|
||||
- make -j8 HDF5DatasetWriteTest
|
||||
- make -j8 jfjoch_hdf5_test
|
||||
- cd ../tests/crystfel
|
||||
- HDF5DATASET_WRITE_TEST_IMAGES_PER_FILE=0 ../../build/tools/HDF5DatasetWriteTest ../../tests/test_data/compression_benchmark.h5 10
|
||||
- ../../build/tools/jfjoch_hdf5_test ../../tests/test_data/compression_benchmark.h5 10
|
||||
- indexamajig -i writing_test.lst -g jf4m.geom -o x.stream --indexing=xgandalf
|
||||
|
||||
test:x86:xds_durin:
|
||||
@@ -165,9 +165,9 @@ test:x86:xds_durin:
|
||||
- mkdir -p build
|
||||
- cd build
|
||||
- cmake -DCMAKE_BUILD_TYPE=Release ..
|
||||
- make -j8 HDF5DatasetWriteTest
|
||||
- make -j8 jfjoch_hdf5_test
|
||||
- cd ../tests/xds_durin
|
||||
- HDF5DATASET_WRITE_TEST_IMAGES_PER_FILE=0 ../../build/tools/HDF5DatasetWriteTest ../../tests/test_data/compression_benchmark.h5 25
|
||||
- ../../build/tools/jfjoch_hdf5_test ../../tests/test_data/compression_benchmark.h5 25
|
||||
- xds_par |grep -a1 ISa |tail -n1
|
||||
|
||||
test:x86:xds_neggia:
|
||||
@@ -188,9 +188,9 @@ test:x86:xds_neggia:
|
||||
- mkdir -p build
|
||||
- cd build
|
||||
- cmake -DCMAKE_BUILD_TYPE=Release ..
|
||||
- make -j8 HDF5DatasetWriteTest
|
||||
- make -j8 jfjoch_hdf5_test
|
||||
- cd ../tests/xds_neggia
|
||||
- HDF5DATASET_WRITE_TEST_IMAGES_PER_FILE=0 ../../build/tools/HDF5DatasetWriteTest ../../tests/test_data/compression_benchmark.h5 25
|
||||
- ../../build/tools/jfjoch_hdf5_test ../../tests/test_data/compression_benchmark.h5 25
|
||||
- xds_par |grep -a1 ISa |tail -n1
|
||||
|
||||
test:x86:xia2.ssx:
|
||||
@@ -212,9 +212,9 @@ test:x86:xia2.ssx:
|
||||
- mkdir -p dials_test
|
||||
- cd build
|
||||
- cmake -DCMAKE_BUILD_TYPE=Release ..
|
||||
- make -j8 HDF5DatasetWriteTest
|
||||
- make -j8 jfjoch_hdf5_test
|
||||
- cd ../dials_test
|
||||
- ../build/tools/HDF5DatasetWriteTest ../tests/test_data/compression_benchmark.h5 100
|
||||
- ../build/tools/jfjoch_hdf5_test ../tests/test_data/compression_benchmark.h5 100
|
||||
- source /usr/local/dials-v3-17-0/dials_env.sh
|
||||
- xia2.ssx image=writing_test_master.h5 space_group=P43212 unit_cell=78.551,78.551,36.914,90.000,90.000,90.000
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ AcquisitionCounters::AcquisitionCounters()
|
||||
total_packets(0), expected_frames(0), acquisition_finished(false) {}
|
||||
|
||||
void AcquisitionCounters::Reset(const DiffractionExperiment &experiment, uint16_t data_stream) {
|
||||
std::unique_lock<std::shared_mutex> ul(m);
|
||||
std::unique_lock ul(m);
|
||||
acquisition_finished = false;
|
||||
|
||||
slowest_frame_number = 0;
|
||||
@@ -47,7 +47,7 @@ void AcquisitionCounters::Reset(const DiffractionExperiment &experiment, uint16_
|
||||
}
|
||||
|
||||
void AcquisitionCounters::UpdateCounters(const Completion *c) {
|
||||
std::unique_lock<std::shared_mutex> ul(m);
|
||||
std::unique_lock ul(m);
|
||||
|
||||
if (c->module_number >= nmodules)
|
||||
throw JFJochException(JFJochExceptionCategory::InputParameterInvalid,
|
||||
@@ -83,7 +83,7 @@ void AcquisitionCounters::UpdateCounters(const Completion *c) {
|
||||
}
|
||||
|
||||
void AcquisitionCounters::SetAcquisitionFinished() {
|
||||
std::unique_lock<std::shared_mutex> ul(m);
|
||||
std::unique_lock ul(m);
|
||||
acquisition_finished = true;
|
||||
data_updated.notify_all();
|
||||
}
|
||||
@@ -100,7 +100,7 @@ uint64_t AcquisitionCounters::GetBufferHandle(size_t frame, uint16_t module_numb
|
||||
}
|
||||
|
||||
uint64_t AcquisitionCounters::GetBufferHandleAndClear(size_t frame, uint16_t module_number) {
|
||||
std::unique_lock<std::shared_mutex> ul(m);
|
||||
std::unique_lock ul(m);
|
||||
if (frame >= expected_frames)
|
||||
throw JFJochException(JFJochExceptionCategory::ArrayOutOfBounds,
|
||||
"GetBufferHandleAndClear Wrong frame number: " + std::to_string(frame));
|
||||
@@ -114,7 +114,7 @@ uint64_t AcquisitionCounters::GetBufferHandleAndClear(size_t frame, uint16_t mod
|
||||
}
|
||||
|
||||
uint64_t AcquisitionCounters::GetPedestalBufferHandle(size_t storage_cell, uint16_t module_number) const {
|
||||
std::unique_lock<std::shared_mutex> ul(m);
|
||||
std::unique_lock ul(m);
|
||||
if (storage_cell >= 16)
|
||||
throw JFJochException(JFJochExceptionCategory::ArrayOutOfBounds,
|
||||
"GetBufferHandleAndClear Wrong frame number: " + std::to_string(storage_cell));
|
||||
@@ -197,7 +197,7 @@ uint64_t AcquisitionCounters::GetTotalPackets() const {
|
||||
}
|
||||
|
||||
uint64_t AcquisitionCounters::GetTotalPackets(uint16_t module_number) const {
|
||||
std::unique_lock<std::shared_mutex> ul(m);
|
||||
std::unique_lock ul(m);
|
||||
|
||||
if (module_number >= nmodules)
|
||||
throw JFJochException(JFJochExceptionCategory::ArrayOutOfBounds,
|
||||
|
||||
@@ -380,6 +380,18 @@ void JFJochBrokerHttp::plot_indexing_rate_get(const std::optional<int32_t> &binn
|
||||
GenericPlot(PlotType::IndexingRate, binning, compression, response);
|
||||
}
|
||||
|
||||
void JFJochBrokerHttp::plot_indexing_unit_cell_get(const std::optional<int32_t> &binning,
|
||||
const std::optional<bool> &compression,
|
||||
Pistache::Http::ResponseWriter &response) {
|
||||
GenericPlot(PlotType::IndexingUnitCellLength, binning, compression, response);
|
||||
}
|
||||
|
||||
void JFJochBrokerHttp::plot_indexing_unit_cell_angle_get(const std::optional<int32_t> &binning,
|
||||
const std::optional<bool> &compression,
|
||||
Pistache::Http::ResponseWriter &response) {
|
||||
GenericPlot(PlotType::IndexingUnitCellAngle, binning, compression, response);
|
||||
}
|
||||
|
||||
void JFJochBrokerHttp::plot_receiver_delay_get(const std::optional<int32_t> &binning,
|
||||
const std::optional<bool>& compression,
|
||||
Pistache::Http::ResponseWriter &response) {
|
||||
@@ -542,6 +554,10 @@ void JFJochBrokerHttp::statistics_get(const std::optional<bool> &compression, Pi
|
||||
if (!zeromq_prev.address.empty())
|
||||
statistics.setZeromqPreview(Convert(zeromq_prev));
|
||||
|
||||
auto zeromq_metadata = state_machine.GetMetadataSocketSettings();
|
||||
if (!zeromq_metadata.address.empty())
|
||||
statistics.setZeromqMetadata(Convert(zeromq_metadata));
|
||||
|
||||
nlohmann::json j = statistics;
|
||||
if (!compression.has_value() || compression.value())
|
||||
response.setCompression(Pistache::Http::Header::Encoding::Deflate);
|
||||
@@ -560,4 +576,13 @@ void JFJochBrokerHttp::config_zeromq_preview_put(
|
||||
response.send(Pistache::Http::Code::Ok);
|
||||
}
|
||||
|
||||
void JFJochBrokerHttp::config_zeromq_metadata_get(Pistache::Http::ResponseWriter &response) {
|
||||
ProcessOutput(Convert(state_machine.GetMetadataSocketSettings()), response);
|
||||
}
|
||||
|
||||
void JFJochBrokerHttp::config_zeromq_metadata_put(
|
||||
const org::openapitools::server::model::Zeromq_metadata_settings &zeromqMetadataSettings,
|
||||
Pistache::Http::ResponseWriter &response) {
|
||||
state_machine.SetMetadataSocketSettings(Convert(zeromqMetadataSettings));
|
||||
response.send(Pistache::Http::Code::Ok);
|
||||
}
|
||||
|
||||
@@ -170,6 +170,12 @@ class JFJochBrokerHttp : public org::openapitools::server::api::DefaultApi {
|
||||
config_zeromq_preview_put(const org::openapitools::server::model::Zeromq_preview_settings &zeromqPreviewSettings,
|
||||
Pistache::Http::ResponseWriter &response) override;
|
||||
|
||||
void config_zeromq_metadata_get(Pistache::Http::ResponseWriter &response) override;
|
||||
|
||||
void config_zeromq_metadata_put(
|
||||
const org::openapitools::server::model::Zeromq_metadata_settings &zeromqMetadataSettings,
|
||||
Pistache::Http::ResponseWriter &response) override;
|
||||
|
||||
void config_mask_get(Pistache::Http::ResponseWriter &response) override;
|
||||
|
||||
void config_user_mask_get(Pistache::Http::ResponseWriter &response) override;
|
||||
@@ -177,6 +183,11 @@ class JFJochBrokerHttp : public org::openapitools::server::api::DefaultApi {
|
||||
void config_user_mask_put(const Pistache::Rest::Request &request,
|
||||
Pistache::Http::ResponseWriter &response) override;
|
||||
|
||||
void plot_indexing_unit_cell_get(const std::optional<int32_t> &binning, const std::optional<bool> &compression,
|
||||
Pistache::Http::ResponseWriter &response) override;
|
||||
|
||||
void plot_indexing_unit_cell_angle_get(const std::optional<int32_t> &binning, const std::optional<bool> &compression,
|
||||
Pistache::Http::ResponseWriter &response) override;
|
||||
public:
|
||||
JFJochBrokerHttp(const DiffractionExperiment& experiment, std::shared_ptr<Pistache::Rest::Router> &rtr);
|
||||
void AddDetectorSetup(const DetectorSetup &setup);
|
||||
|
||||
@@ -175,4 +175,9 @@ void ParseReceiverSettings(const org::openapitools::server::model::Jfjoch_settin
|
||||
service.PreviewSocket(input.getZeromqPreview().getSocketAddress());
|
||||
service.PreviewSocketSettings(Convert(input.getZeromqPreview()));
|
||||
}
|
||||
|
||||
if (input.zeromqMetadataIsSet()) {
|
||||
service.MetadataSocket(input.getZeromqMetadata().getSocketAddress());
|
||||
service.MetadataSocketSettings(Convert(input.getZeromqMetadata()));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -205,11 +205,21 @@ std::vector<DeviceStatus> JFJochServices::GetDeviceStatus() const {
|
||||
ZMQPreviewSettings JFJochServices::GetPreviewSocketSettings() {
|
||||
if (receiver)
|
||||
return receiver->GetPreviewSocketSettings();
|
||||
else
|
||||
return {};
|
||||
return {};
|
||||
}
|
||||
|
||||
ZMQMetadataSettings JFJochServices::GetMetadataSocketSettings() {
|
||||
if (receiver)
|
||||
return receiver->GetMetadataSocketSettings();
|
||||
return {};
|
||||
}
|
||||
|
||||
void JFJochServices::SetPreviewSocketSettings(const ZMQPreviewSettings &input) {
|
||||
if (receiver)
|
||||
receiver->PreviewSocketSettings(input);
|
||||
}
|
||||
|
||||
void JFJochServices::SetMetadataSocketSettings(const ZMQMetadataSettings &input) {
|
||||
if (receiver)
|
||||
receiver->MetadataSocketSettings(input);
|
||||
}
|
||||
|
||||
@@ -53,6 +53,9 @@ public:
|
||||
|
||||
void SetPreviewSocketSettings(const ZMQPreviewSettings &input);
|
||||
ZMQPreviewSettings GetPreviewSocketSettings();
|
||||
|
||||
void SetMetadataSocketSettings(const ZMQMetadataSettings &input);
|
||||
ZMQMetadataSettings GetMetadataSocketSettings();
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -7,10 +7,12 @@
|
||||
#include "../preview/JFJochTIFF.h"
|
||||
|
||||
JFJochStateMachine::JFJochStateMachine(JFJochServices &in_services, Logger &in_logger)
|
||||
: services(in_services),
|
||||
logger(in_logger),
|
||||
data_processing_settings(DiffractionExperiment::DefaultDataProcessingSettings()),
|
||||
pixel_mask(experiment) {
|
||||
: logger(in_logger),
|
||||
services(in_services),
|
||||
pixel_mask(experiment),
|
||||
current_detector_setup(0),
|
||||
data_processing_settings(DiffractionExperiment::DefaultDataProcessingSettings()),
|
||||
pixel_mask_statistics({0,0,0}) {
|
||||
SupressTIFFErrors();
|
||||
}
|
||||
|
||||
@@ -203,7 +205,7 @@ void JFJochStateMachine::TakePedestalInternalG2(std::unique_lock<std::mutex> &ul
|
||||
}
|
||||
|
||||
void JFJochStateMachine::Initialize() {
|
||||
std::unique_lock<std::mutex> ul(m);
|
||||
std::unique_lock ul(m);
|
||||
|
||||
if (IsRunning())
|
||||
throw WrongDAQStateException ("Cannot initialize during measurement");
|
||||
@@ -221,7 +223,7 @@ void JFJochStateMachine::Initialize() {
|
||||
}
|
||||
|
||||
void JFJochStateMachine::Pedestal() {
|
||||
std::unique_lock<std::mutex> ul(m);
|
||||
std::unique_lock ul(m);
|
||||
|
||||
if (state != JFJochState::Idle)
|
||||
throw WrongDAQStateException ("Must be idle to take pedestal");
|
||||
@@ -245,13 +247,13 @@ void JFJochStateMachine::InitializeThread(std::unique_lock<std::mutex> ul) {
|
||||
}
|
||||
|
||||
void JFJochStateMachine::Trigger() {
|
||||
std::unique_lock<std::mutex> ul(m);
|
||||
std::unique_lock ul(m);
|
||||
if (state == JFJochState::Measuring)
|
||||
services.Trigger();
|
||||
}
|
||||
|
||||
void JFJochStateMachine::Start(const DatasetSettings& settings) {
|
||||
std::unique_lock<std::mutex> ul(m);
|
||||
std::unique_lock ul(m);
|
||||
|
||||
if (state != JFJochState::Idle)
|
||||
throw WrongDAQStateException ("Must be idle to start measurement");
|
||||
@@ -297,11 +299,11 @@ void JFJochStateMachine::MeasurementThread() {
|
||||
try {
|
||||
auto tmp_output = services.Stop();
|
||||
{
|
||||
std::unique_lock<std::mutex> ul(m);
|
||||
std::unique_lock ul(m);
|
||||
state = JFJochState::Idle;
|
||||
}
|
||||
} catch (...) {
|
||||
std::unique_lock<std::mutex> ul(m);
|
||||
std::unique_lock ul(m);
|
||||
state = JFJochState::Error;
|
||||
}
|
||||
c.notify_all();
|
||||
@@ -309,7 +311,7 @@ void JFJochStateMachine::MeasurementThread() {
|
||||
|
||||
void JFJochStateMachine::Cancel() {
|
||||
// This is inconsistency in naming - need to solve later
|
||||
std::unique_lock<std::mutex> ul(m);
|
||||
std::unique_lock ul(m);
|
||||
if ((state == JFJochState::Pedestal) || (state == JFJochState::Measuring)) {
|
||||
services.Cancel();
|
||||
cancel_sequence = true;
|
||||
@@ -317,12 +319,12 @@ void JFJochStateMachine::Cancel() {
|
||||
}
|
||||
|
||||
void JFJochStateMachine::DebugOnly_SetState(JFJochState in_state) {
|
||||
std::unique_lock<std::mutex> ul(m);
|
||||
std::unique_lock ul(m);
|
||||
state = in_state;
|
||||
}
|
||||
|
||||
void JFJochStateMachine::Deactivate() {
|
||||
std::unique_lock<std::mutex> ul(m);
|
||||
std::unique_lock ul(m);
|
||||
try {
|
||||
if (measurement.valid())
|
||||
measurement.get();
|
||||
@@ -371,27 +373,27 @@ std::optional<MeasurementStatistics> JFJochStateMachine::GetMeasurementStatistic
|
||||
}
|
||||
|
||||
std::vector<JFCalibrationModuleStatistics> JFJochStateMachine::GetCalibrationStatistics() const {
|
||||
std::unique_lock<std::mutex> ul(calibration_statistics_mutex);
|
||||
std::unique_lock ul(calibration_statistics_mutex);
|
||||
return calibration_statistics;
|
||||
}
|
||||
|
||||
void JFJochStateMachine::SetCalibrationStatistics(const std::vector<JFCalibrationModuleStatistics> &input) {
|
||||
std::unique_lock<std::mutex> ul(calibration_statistics_mutex);
|
||||
std::unique_lock ul(calibration_statistics_mutex);
|
||||
calibration_statistics = input;
|
||||
}
|
||||
|
||||
DetectorSettings JFJochStateMachine::GetDetectorSettings() const {
|
||||
std::unique_lock<std::mutex> ul(experiment_detector_settings_mutex);
|
||||
std::unique_lock ul(experiment_detector_settings_mutex);
|
||||
return experiment.GetDetectorSettings();
|
||||
}
|
||||
|
||||
void JFJochStateMachine::ImportDetectorSettings(const DetectorSettings &input) {
|
||||
std::unique_lock<std::mutex> ul(experiment_detector_settings_mutex);
|
||||
std::unique_lock ul(experiment_detector_settings_mutex);
|
||||
experiment.ImportDetectorSettings(input);
|
||||
}
|
||||
|
||||
void JFJochStateMachine::LoadDetectorSettings(const DetectorSettings &settings) {
|
||||
std::unique_lock<std::mutex> ul(m);
|
||||
std::unique_lock ul(m);
|
||||
switch (state) {
|
||||
case JFJochState::Inactive:
|
||||
case JFJochState::Error:
|
||||
@@ -425,14 +427,14 @@ MultiLinePlot JFJochStateMachine::GetPlots(const PlotRequest &request) const {
|
||||
}
|
||||
|
||||
void JFJochStateMachine::SetSpotFindingSettings(const SpotFindingSettings &settings) {
|
||||
std::unique_lock<std::mutex> ul(data_processing_settings_mutex);
|
||||
std::unique_lock ul(data_processing_settings_mutex);
|
||||
DiffractionExperiment::CheckDataProcessingSettings(settings);
|
||||
data_processing_settings = settings;
|
||||
services.SetSpotFindingSettings(settings);
|
||||
}
|
||||
|
||||
SpotFindingSettings JFJochStateMachine::GetSpotFindingSettings() const {
|
||||
std::unique_lock<std::mutex> ul(data_processing_settings_mutex);
|
||||
std::unique_lock ul(data_processing_settings_mutex);
|
||||
return data_processing_settings;
|
||||
}
|
||||
|
||||
@@ -441,7 +443,7 @@ JFJochState JFJochStateMachine::GetState() const {
|
||||
}
|
||||
|
||||
void JFJochStateMachine::AddDetectorSetup(const DetectorSetup &setup) {
|
||||
std::unique_lock<std::mutex> ul(m);
|
||||
std::unique_lock ul(m);
|
||||
|
||||
if (detector_setup.empty()) {
|
||||
experiment.Detector(setup);
|
||||
@@ -453,7 +455,7 @@ void JFJochStateMachine::AddDetectorSetup(const DetectorSetup &setup) {
|
||||
}
|
||||
|
||||
DetectorList JFJochStateMachine::GetDetectorsList() const {
|
||||
std::unique_lock<std::mutex> ul(m);
|
||||
std::unique_lock ul(m);
|
||||
DetectorList ret;
|
||||
|
||||
for (const auto & i : detector_setup) {
|
||||
@@ -477,7 +479,7 @@ std::optional<DetectorStatus> JFJochStateMachine::GetDetectorStatus() const {
|
||||
}
|
||||
|
||||
void JFJochStateMachine::SelectDetector(int64_t id) {
|
||||
std::unique_lock<std::mutex> ul(m);
|
||||
std::unique_lock ul(m);
|
||||
|
||||
if ((id < 0) || (id >= detector_setup.size()))
|
||||
throw JFJochException(JFJochExceptionCategory::ArrayOutOfBounds, "Detector doesn't exist");
|
||||
@@ -498,7 +500,7 @@ void JFJochStateMachine::SelectDetector(int64_t id) {
|
||||
}
|
||||
|
||||
void JFJochStateMachine::SetRadialIntegrationSettings(const AzimuthalIntegrationSettings &settings) {
|
||||
std::unique_lock<std::mutex> ul(m);
|
||||
std::unique_lock ul(m);
|
||||
|
||||
if (IsRunning())
|
||||
throw WrongDAQStateException ("Cannot change radial integration settings during data collection");
|
||||
@@ -507,7 +509,7 @@ void JFJochStateMachine::SetRadialIntegrationSettings(const AzimuthalIntegration
|
||||
}
|
||||
|
||||
AzimuthalIntegrationSettings JFJochStateMachine::GetRadialIntegrationSettings() const {
|
||||
std::unique_lock<std::mutex> ul(m);
|
||||
std::unique_lock ul(m);
|
||||
return experiment.GetRadialIntegrationSettings();
|
||||
}
|
||||
|
||||
@@ -527,7 +529,7 @@ bool JFJochStateMachine::IsRunning() const {
|
||||
}
|
||||
|
||||
JFJochState JFJochStateMachine::WaitTillMeasurementDone() {
|
||||
std::unique_lock<std::mutex> ul(m);
|
||||
std::unique_lock ul(m);
|
||||
|
||||
c.wait(ul, [&] { return !IsRunning(); });
|
||||
|
||||
@@ -535,7 +537,7 @@ JFJochState JFJochStateMachine::WaitTillMeasurementDone() {
|
||||
}
|
||||
|
||||
JFJochState JFJochStateMachine::WaitTillMeasurementDone(std::chrono::milliseconds timeout) {
|
||||
std::unique_lock<std::mutex> ul(m);
|
||||
std::unique_lock ul(m);
|
||||
|
||||
c.wait_for(ul, timeout, [&] { return !IsRunning(); });
|
||||
|
||||
@@ -561,7 +563,7 @@ std::string JFJochStateMachine::GetPreviewTIFF(bool calibration) const {
|
||||
}
|
||||
|
||||
std::string JFJochStateMachine::GetPedestalTIFF(size_t gain_level, size_t sc) const {
|
||||
std::unique_lock<std::mutex> ul(m);
|
||||
std::unique_lock ul(m);
|
||||
|
||||
if (state != JFJochState::Idle)
|
||||
throw WrongDAQStateException ("Pedestal can be only retrieved in Idle state");
|
||||
@@ -575,7 +577,7 @@ std::string JFJochStateMachine::GetPedestalTIFF(size_t gain_level, size_t sc) co
|
||||
}
|
||||
|
||||
void JFJochStateMachine::LoadInternalGeneratorImage(const void *data, size_t size, uint64_t image_number) {
|
||||
std::unique_lock<std::mutex> ul(m);
|
||||
std::unique_lock ul(m);
|
||||
|
||||
if (state != JFJochState::Idle)
|
||||
throw WrongDAQStateException ("Can change internal generator image only when detector in Idle state");
|
||||
@@ -595,7 +597,7 @@ void JFJochStateMachine::LoadInternalGeneratorImage(const void *data, size_t siz
|
||||
}
|
||||
|
||||
void JFJochStateMachine::LoadInternalGeneratorImageTIFF(const std::string &s, uint64_t image_number) {
|
||||
std::unique_lock<std::mutex> ul(m);
|
||||
std::unique_lock ul(m);
|
||||
|
||||
if (state != JFJochState::Idle)
|
||||
throw WrongDAQStateException ("Can change internal generator image only when detector in Idle state");
|
||||
@@ -610,7 +612,7 @@ void JFJochStateMachine::LoadInternalGeneratorImageTIFF(const std::string &s, ui
|
||||
}
|
||||
|
||||
void JFJochStateMachine::SetBoxROI(const std::vector<ROIBox> &input) {
|
||||
std::unique_lock<std::mutex> ul(m);
|
||||
std::unique_lock ul(m);
|
||||
|
||||
if (IsRunning())
|
||||
throw WrongDAQStateException ("ROI can be modified only when detector is not running");
|
||||
@@ -619,7 +621,7 @@ void JFJochStateMachine::SetBoxROI(const std::vector<ROIBox> &input) {
|
||||
}
|
||||
|
||||
void JFJochStateMachine::SetCircleROI(const std::vector<ROICircle> &input) {
|
||||
std::unique_lock<std::mutex> ul(m);
|
||||
std::unique_lock ul(m);
|
||||
|
||||
if (IsRunning())
|
||||
throw WrongDAQStateException ("ROI can be modified only when detector is not running");
|
||||
@@ -628,12 +630,12 @@ void JFJochStateMachine::SetCircleROI(const std::vector<ROICircle> &input) {
|
||||
}
|
||||
|
||||
std::vector<ROIBox> JFJochStateMachine::GetBoxROI() const {
|
||||
std::unique_lock<std::mutex> ul(m);
|
||||
std::unique_lock ul(m);
|
||||
return experiment.ROI().GetROIBox();
|
||||
}
|
||||
|
||||
std::vector<ROICircle> JFJochStateMachine::GetCircleROI() const {
|
||||
std::unique_lock<std::mutex> ul(m);
|
||||
std::unique_lock ul(m);
|
||||
return experiment.ROI().GetROICircle();
|
||||
}
|
||||
|
||||
@@ -650,31 +652,31 @@ std::vector<uint64_t> JFJochStateMachine::GetXFELEventCode() const {
|
||||
}
|
||||
|
||||
std::string JFJochStateMachine::GetFullPixelMaskTIFF() const {
|
||||
std::unique_lock<std::mutex> ul(m);
|
||||
std::unique_lock ul(m);
|
||||
std::vector v = pixel_mask.GetMask(experiment);
|
||||
return WriteTIFFToString(v.data(), experiment.GetXPixelsNum(), experiment.GetYPixelsNum(),
|
||||
sizeof(uint32_t), false);
|
||||
}
|
||||
|
||||
std::string JFJochStateMachine::GetUserPixelMaskTIFF() const {
|
||||
std::unique_lock<std::mutex> ul(m);
|
||||
std::unique_lock ul(m);
|
||||
std::vector v = pixel_mask.GetUserMask(experiment);
|
||||
return WriteTIFFToString(v.data(), experiment.GetXPixelsNum(), experiment.GetYPixelsNum(),
|
||||
sizeof(uint32_t), false);
|
||||
}
|
||||
|
||||
std::vector<uint32_t> JFJochStateMachine::GetFullPixelMask() const {
|
||||
std::unique_lock<std::mutex> ul(m);
|
||||
std::unique_lock ul(m);
|
||||
return pixel_mask.GetMask(experiment);
|
||||
}
|
||||
|
||||
std::vector<uint32_t> JFJochStateMachine::GetUserPixelMask() const {
|
||||
std::unique_lock<std::mutex> ul(m);
|
||||
std::unique_lock ul(m);
|
||||
return pixel_mask.GetUserMask(experiment);
|
||||
}
|
||||
|
||||
void JFJochStateMachine::SetUserPixelMask(const std::vector<uint32_t> &v) {
|
||||
std::unique_lock<std::mutex> ul(m);
|
||||
std::unique_lock ul(m);
|
||||
|
||||
if (state != JFJochState::Idle)
|
||||
throw WrongDAQStateException ("User mask can be only modified in Idle state");
|
||||
@@ -689,12 +691,12 @@ void JFJochStateMachine::SetUserPixelMask(const std::vector<uint32_t> &v) {
|
||||
}
|
||||
|
||||
InstrumentMetadata JFJochStateMachine::GetInstrumentMetadata() const {
|
||||
std::unique_lock<std::mutex> ul(m);
|
||||
std::unique_lock ul(m);
|
||||
return experiment.GetInstrumentMetadata();
|
||||
}
|
||||
|
||||
void JFJochStateMachine::LoadInstrumentMetadata(const InstrumentMetadata &settings) {
|
||||
std::unique_lock<std::mutex> ul(m);
|
||||
std::unique_lock ul(m);
|
||||
|
||||
if (IsRunning())
|
||||
throw WrongDAQStateException ("Cannot change instrument metadata during data collection");
|
||||
@@ -703,15 +705,15 @@ void JFJochStateMachine::LoadInstrumentMetadata(const InstrumentMetadata &settin
|
||||
}
|
||||
|
||||
ImageFormatSettings JFJochStateMachine::GetImageFormatSettings() const {
|
||||
std::unique_lock<std::mutex> ul(m);
|
||||
std::unique_lock ul(m);
|
||||
return experiment.GetImageFormatSettings();
|
||||
}
|
||||
|
||||
void JFJochStateMachine::LoadImageFormatSettings(const ImageFormatSettings &settings) {
|
||||
std::unique_lock<std::mutex> ul(m);
|
||||
std::unique_lock ul(m);
|
||||
|
||||
if (IsRunning())
|
||||
throw WrongDAQStateException ("Cannot change instrument metadata during data collection");
|
||||
throw WrongDAQStateException ("Cannot change image format settings during data collection");
|
||||
|
||||
experiment.ImportImageFormatSettings(settings);
|
||||
pixel_mask.Update(settings);
|
||||
@@ -719,7 +721,7 @@ void JFJochStateMachine::LoadImageFormatSettings(const ImageFormatSettings &sett
|
||||
}
|
||||
|
||||
void JFJochStateMachine::RawImageFormatSettings() {
|
||||
std::unique_lock<std::mutex> ul(m);
|
||||
std::unique_lock ul(m);
|
||||
|
||||
if (IsRunning())
|
||||
throw WrongDAQStateException ("Cannot change instrument metadata during data collection");
|
||||
@@ -728,7 +730,7 @@ void JFJochStateMachine::RawImageFormatSettings() {
|
||||
}
|
||||
|
||||
void JFJochStateMachine::ConvImageFormatSettings() {
|
||||
std::unique_lock<std::mutex> ul(m);
|
||||
std::unique_lock ul(m);
|
||||
|
||||
if (IsRunning())
|
||||
throw WrongDAQStateException ("Cannot change instrument metadata during data collection");
|
||||
@@ -747,3 +749,11 @@ void JFJochStateMachine::SetPreviewSocketSettings(const ZMQPreviewSettings &inpu
|
||||
ZMQPreviewSettings JFJochStateMachine::GetPreviewSocketSettings() {
|
||||
return services.GetPreviewSocketSettings();
|
||||
}
|
||||
|
||||
void JFJochStateMachine::SetMetadataSocketSettings(const ZMQMetadataSettings &input) {
|
||||
services.SetMetadataSocketSettings(input);
|
||||
}
|
||||
|
||||
ZMQMetadataSettings JFJochStateMachine::GetMetadataSocketSettings() {
|
||||
return services.GetMetadataSocketSettings();
|
||||
}
|
||||
|
||||
@@ -193,6 +193,9 @@ public:
|
||||
void SetPreviewSocketSettings(const ZMQPreviewSettings &input);
|
||||
ZMQPreviewSettings GetPreviewSocketSettings();
|
||||
|
||||
void SetMetadataSocketSettings(const ZMQMetadataSettings &input);
|
||||
ZMQMetadataSettings GetMetadataSocketSettings();
|
||||
|
||||
PixelMaskStatistics GetPixelMaskStatistics() const;
|
||||
};
|
||||
|
||||
|
||||
@@ -574,7 +574,16 @@ ZMQPreviewSettings Convert(const org::openapitools::server::model::Zeromq_previe
|
||||
ret.period = std::chrono::milliseconds(input.getPeriodMs());
|
||||
else
|
||||
ret.period = {};
|
||||
ret.send_start_message = input.isSendStartMessage();
|
||||
ret.address = "";
|
||||
return ret;
|
||||
}
|
||||
|
||||
ZMQMetadataSettings Convert(const org::openapitools::server::model::Zeromq_metadata_settings &input) {
|
||||
ZMQMetadataSettings ret;
|
||||
if (input.isEnabled())
|
||||
ret.period = std::chrono::milliseconds(input.getPeriodMs());
|
||||
else
|
||||
ret.period = {};
|
||||
ret.address = "";
|
||||
return ret;
|
||||
}
|
||||
@@ -585,7 +594,15 @@ org::openapitools::server::model::Zeromq_preview_settings Convert(const ZMQPrevi
|
||||
if (settings.period.has_value())
|
||||
ret.setPeriodMs(settings.period.value().count() / 1000);
|
||||
ret.setSocketAddress(settings.address);
|
||||
ret.setSendStartMessage(settings.send_start_message);
|
||||
return ret;
|
||||
}
|
||||
|
||||
org::openapitools::server::model::Zeromq_metadata_settings Convert(const ZMQMetadataSettings &settings) {
|
||||
org::openapitools::server::model::Zeromq_metadata_settings ret;
|
||||
ret.setEnabled(settings.period.has_value());
|
||||
if (settings.period.has_value())
|
||||
ret.setPeriodMs(settings.period.value().count() / 1000);
|
||||
ret.setSocketAddress(settings.address);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
@@ -22,6 +22,8 @@
|
||||
#include "gen/model/Dataset_settings.h"
|
||||
#include "gen/model/Fpga_status_inner.h"
|
||||
#include "gen/model/Pixel_mask_statistics.h"
|
||||
#include "gen/model/Zeromq_preview_settings.h"
|
||||
#include "gen/model/Zeromq_metadata_settings.h"
|
||||
|
||||
#include "../common/DatasetSettings.h"
|
||||
#include "../common/ImageFormatSettings.h"
|
||||
@@ -30,7 +32,6 @@
|
||||
#include "../common/DetectorSettings.h"
|
||||
#include "../jungfrau/JFCalibration.h"
|
||||
#include "../common/InstrumentMetadata.h"
|
||||
#include "Zeromq_preview_settings.h"
|
||||
|
||||
SpotFindingSettings Convert(const org::openapitools::server::model::Spot_finding_settings &input);
|
||||
org::openapitools::server::model::Spot_finding_settings Convert(const SpotFindingSettings &input);
|
||||
@@ -63,5 +64,7 @@ org::openapitools::server::model::Pixel_mask_statistics Convert(const PixelMaskS
|
||||
|
||||
org::openapitools::server::model::Zeromq_preview_settings Convert(const ZMQPreviewSettings& settings);
|
||||
ZMQPreviewSettings Convert(const org::openapitools::server::model::Zeromq_preview_settings& input);
|
||||
org::openapitools::server::model::Zeromq_metadata_settings Convert(const ZMQMetadataSettings& settings);
|
||||
ZMQMetadataSettings Convert(const org::openapitools::server::model::Zeromq_metadata_settings& input);
|
||||
|
||||
#endif //JFJOCH_OPENAPICONVERT_H
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
* Jungfraujoch
|
||||
* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates.
|
||||
*
|
||||
* The version of the OpenAPI document: 1.0.0-rc.25
|
||||
* The version of the OpenAPI document: 1.0.0-rc.26
|
||||
* Contact: filip.leonarski@psi.ch
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
|
||||
@@ -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.25
|
||||
* The version of the OpenAPI document: 1.0.0-rc.26
|
||||
* Contact: filip.leonarski@psi.ch
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
@@ -56,6 +56,8 @@ void DefaultApi::setupRoutes() {
|
||||
Routes::Put(*router, base + "/config/user_mask", Routes::bind(&DefaultApi::config_user_mask_put_handler, this));
|
||||
Routes::Get(*router, base + "/config/user_mask.tiff", Routes::bind(&DefaultApi::config_user_mask_tiff_get_handler, this));
|
||||
Routes::Put(*router, base + "/config/user_mask.tiff", Routes::bind(&DefaultApi::config_user_mask_tiff_put_handler, this));
|
||||
Routes::Get(*router, base + "/config/zeromq_metadata", Routes::bind(&DefaultApi::config_zeromq_metadata_get_handler, this));
|
||||
Routes::Put(*router, base + "/config/zeromq_metadata", Routes::bind(&DefaultApi::config_zeromq_metadata_put_handler, this));
|
||||
Routes::Get(*router, base + "/config/zeromq_preview", Routes::bind(&DefaultApi::config_zeromq_preview_get_handler, this));
|
||||
Routes::Put(*router, base + "/config/zeromq_preview", Routes::bind(&DefaultApi::config_zeromq_preview_put_handler, this));
|
||||
Routes::Post(*router, base + "/deactivate", Routes::bind(&DefaultApi::deactivate_post_handler, this));
|
||||
@@ -68,6 +70,8 @@ void DefaultApi::setupRoutes() {
|
||||
Routes::Get(*router, base + "/plot/error_pixel", Routes::bind(&DefaultApi::plot_error_pixel_get_handler, this));
|
||||
Routes::Get(*router, base + "/plot/image_collection_efficiency", Routes::bind(&DefaultApi::plot_image_collection_efficiency_get_handler, this));
|
||||
Routes::Get(*router, base + "/plot/indexing_rate", Routes::bind(&DefaultApi::plot_indexing_rate_get_handler, this));
|
||||
Routes::Get(*router, base + "/plot/indexing_unit_cell_angle", Routes::bind(&DefaultApi::plot_indexing_unit_cell_angle_get_handler, this));
|
||||
Routes::Get(*router, base + "/plot/indexing_unit_cell", Routes::bind(&DefaultApi::plot_indexing_unit_cell_get_handler, this));
|
||||
Routes::Get(*router, base + "/plot/receiver_delay", Routes::bind(&DefaultApi::plot_receiver_delay_get_handler, this));
|
||||
Routes::Get(*router, base + "/plot/receiver_free_send_buffers", Routes::bind(&DefaultApi::plot_receiver_free_send_buffers_get_handler, this));
|
||||
Routes::Get(*router, base + "/plot/roi_max_count", Routes::bind(&DefaultApi::plot_roi_max_count_get_handler, this));
|
||||
@@ -633,6 +637,56 @@ void DefaultApi::config_user_mask_tiff_put_handler(const Pistache::Rest::Request
|
||||
response.send(Pistache::Http::Code::Internal_Server_Error, e.what());
|
||||
}
|
||||
|
||||
}
|
||||
void DefaultApi::config_zeromq_metadata_get_handler(const Pistache::Rest::Request &, Pistache::Http::ResponseWriter response) {
|
||||
try {
|
||||
|
||||
|
||||
try {
|
||||
this->config_zeromq_metadata_get(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::config_zeromq_metadata_put_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response) {
|
||||
try {
|
||||
|
||||
|
||||
// Getting the body param
|
||||
|
||||
Zeromq_metadata_settings zeromqMetadataSettings;
|
||||
|
||||
try {
|
||||
nlohmann::json::parse(request.body()).get_to(zeromqMetadataSettings);
|
||||
zeromqMetadataSettings.validate();
|
||||
} catch (std::exception &e) {
|
||||
this->handleParsingException(e, response);
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
this->config_zeromq_metadata_put(zeromqMetadataSettings, 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::config_zeromq_preview_get_handler(const Pistache::Rest::Request &, Pistache::Http::ResponseWriter response) {
|
||||
try {
|
||||
@@ -955,6 +1009,80 @@ void DefaultApi::plot_indexing_rate_get_handler(const Pistache::Rest::Request &r
|
||||
response.send(Pistache::Http::Code::Internal_Server_Error, e.what());
|
||||
}
|
||||
|
||||
}
|
||||
void DefaultApi::plot_indexing_unit_cell_angle_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response) {
|
||||
try {
|
||||
|
||||
|
||||
// Getting the query params
|
||||
auto binningQuery = request.query().get("binning");
|
||||
std::optional<int32_t> binning;
|
||||
if(binningQuery.has_value()){
|
||||
int32_t valueQuery_instance;
|
||||
if(fromStringValue(binningQuery.value(), valueQuery_instance)){
|
||||
binning = valueQuery_instance;
|
||||
}
|
||||
}
|
||||
auto compressionQuery = request.query().get("compression");
|
||||
std::optional<bool> compression;
|
||||
if(compressionQuery.has_value()){
|
||||
bool valueQuery_instance;
|
||||
if(fromStringValue(compressionQuery.value(), valueQuery_instance)){
|
||||
compression = valueQuery_instance;
|
||||
}
|
||||
}
|
||||
|
||||
try {
|
||||
this->plot_indexing_unit_cell_angle_get(binning, compression, 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::plot_indexing_unit_cell_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response) {
|
||||
try {
|
||||
|
||||
|
||||
// Getting the query params
|
||||
auto binningQuery = request.query().get("binning");
|
||||
std::optional<int32_t> binning;
|
||||
if(binningQuery.has_value()){
|
||||
int32_t valueQuery_instance;
|
||||
if(fromStringValue(binningQuery.value(), valueQuery_instance)){
|
||||
binning = valueQuery_instance;
|
||||
}
|
||||
}
|
||||
auto compressionQuery = request.query().get("compression");
|
||||
std::optional<bool> compression;
|
||||
if(compressionQuery.has_value()){
|
||||
bool valueQuery_instance;
|
||||
if(fromStringValue(compressionQuery.value(), valueQuery_instance)){
|
||||
compression = valueQuery_instance;
|
||||
}
|
||||
}
|
||||
|
||||
try {
|
||||
this->plot_indexing_unit_cell_get(binning, compression, 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::plot_receiver_delay_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response) {
|
||||
try {
|
||||
|
||||
@@ -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.25
|
||||
* The version of the OpenAPI document: 1.0.0-rc.26
|
||||
* Contact: filip.leonarski@psi.ch
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
@@ -47,6 +47,7 @@
|
||||
#include "Roi_box_list.h"
|
||||
#include "Roi_circle_list.h"
|
||||
#include "Spot_finding_settings.h"
|
||||
#include "Zeromq_metadata_settings.h"
|
||||
#include "Zeromq_preview_settings.h"
|
||||
#include <string>
|
||||
#include <vector>
|
||||
@@ -88,6 +89,8 @@ private:
|
||||
void config_user_mask_put_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
|
||||
void config_user_mask_tiff_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
|
||||
void config_user_mask_tiff_put_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
|
||||
void config_zeromq_metadata_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
|
||||
void config_zeromq_metadata_put_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
|
||||
void config_zeromq_preview_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
|
||||
void config_zeromq_preview_put_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
|
||||
void deactivate_post_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
|
||||
@@ -100,6 +103,8 @@ private:
|
||||
void plot_error_pixel_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
|
||||
void plot_image_collection_efficiency_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
|
||||
void plot_indexing_rate_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
|
||||
void plot_indexing_unit_cell_angle_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
|
||||
void plot_indexing_unit_cell_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
|
||||
void plot_receiver_delay_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
|
||||
void plot_receiver_free_send_buffers_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
|
||||
void plot_roi_max_count_get_handler(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter response);
|
||||
@@ -324,6 +329,21 @@ private:
|
||||
/// </remarks>
|
||||
virtual void config_user_mask_tiff_put(const Pistache::Rest::Request &request, Pistache::Http::ResponseWriter &response) = 0;
|
||||
/// <summary>
|
||||
/// Get ZeroMQ metadata socket settings
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
///
|
||||
/// </remarks>
|
||||
virtual void config_zeromq_metadata_get(Pistache::Http::ResponseWriter &response) = 0;
|
||||
/// <summary>
|
||||
/// Set ZeroMQ metadata settings
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Jungfraujoch can generate metadata message stream on ZeroMQ PUB socket. This stream covers all images. Here settings of the socket can be adjusted. While the data structure contains also socket_address, this cannot be changed via HTTP and is ignore in PUT request.
|
||||
/// </remarks>
|
||||
/// <param name="zeromqMetadataSettings"> (optional)</param>
|
||||
virtual void config_zeromq_metadata_put(const org::openapitools::server::model::Zeromq_metadata_settings &zeromqMetadataSettings, Pistache::Http::ResponseWriter &response) = 0;
|
||||
/// <summary>
|
||||
/// Get ZeroMQ preview settings
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
@@ -418,6 +438,24 @@ private:
|
||||
/// <param name="compression">Enable DEFLATE compression of output data. (optional, default to true)</param>
|
||||
virtual void plot_indexing_rate_get(const std::optional<int32_t> &binning, const std::optional<bool> &compression, Pistache::Http::ResponseWriter &response) = 0;
|
||||
/// <summary>
|
||||
/// Generate indexing unit cell angle plot
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Crystal unit cell based on indexing results; binning is configurable
|
||||
/// </remarks>
|
||||
/// <param name="binning">Binning of frames for the plot (0 = default binning) (optional, default to 0)</param>
|
||||
/// <param name="compression">Enable DEFLATE compression of output data. (optional, default to true)</param>
|
||||
virtual void plot_indexing_unit_cell_angle_get(const std::optional<int32_t> &binning, const std::optional<bool> &compression, Pistache::Http::ResponseWriter &response) = 0;
|
||||
/// <summary>
|
||||
/// Generate indexing unit cell length plots
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Crystal unit cell based on indexing results; binning is configurable
|
||||
/// </remarks>
|
||||
/// <param name="binning">Binning of frames for the plot (0 = default binning) (optional, default to 0)</param>
|
||||
/// <param name="compression">Enable DEFLATE compression of output data. (optional, default to true)</param>
|
||||
virtual void plot_indexing_unit_cell_get(const std::optional<int32_t> &binning, const std::optional<bool> &compression, Pistache::Http::ResponseWriter &response) = 0;
|
||||
/// <summary>
|
||||
/// Generate receiver delay plot
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
|
||||
@@ -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.25
|
||||
* The version of the OpenAPI document: 1.0.0-rc.26
|
||||
* Contact: filip.leonarski@psi.ch
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
|
||||
@@ -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.25
|
||||
* The version of the OpenAPI document: 1.0.0-rc.26
|
||||
* Contact: filip.leonarski@psi.ch
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
|
||||
@@ -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.25
|
||||
* The version of the OpenAPI document: 1.0.0-rc.26
|
||||
* Contact: filip.leonarski@psi.ch
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
|
||||
@@ -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.25
|
||||
* The version of the OpenAPI document: 1.0.0-rc.26
|
||||
* Contact: filip.leonarski@psi.ch
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
|
||||
@@ -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.25
|
||||
* The version of the OpenAPI document: 1.0.0-rc.26
|
||||
* Contact: filip.leonarski@psi.ch
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
|
||||
@@ -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.25
|
||||
* The version of the OpenAPI document: 1.0.0-rc.26
|
||||
* Contact: filip.leonarski@psi.ch
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
|
||||
@@ -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.25
|
||||
* The version of the OpenAPI document: 1.0.0-rc.26
|
||||
* Contact: filip.leonarski@psi.ch
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
|
||||
@@ -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.25
|
||||
* The version of the OpenAPI document: 1.0.0-rc.26
|
||||
* Contact: filip.leonarski@psi.ch
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
|
||||
@@ -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.25
|
||||
* The version of the OpenAPI document: 1.0.0-rc.26
|
||||
* Contact: filip.leonarski@psi.ch
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
|
||||
@@ -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.25
|
||||
* The version of the OpenAPI document: 1.0.0-rc.26
|
||||
* Contact: filip.leonarski@psi.ch
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
|
||||
@@ -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.25
|
||||
* The version of the OpenAPI document: 1.0.0-rc.26
|
||||
* Contact: filip.leonarski@psi.ch
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
|
||||
@@ -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.25
|
||||
* The version of the OpenAPI document: 1.0.0-rc.26
|
||||
* Contact: filip.leonarski@psi.ch
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
|
||||
@@ -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.25
|
||||
* The version of the OpenAPI document: 1.0.0-rc.26
|
||||
* Contact: filip.leonarski@psi.ch
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
|
||||
@@ -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.25
|
||||
* The version of the OpenAPI document: 1.0.0-rc.26
|
||||
* Contact: filip.leonarski@psi.ch
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
|
||||
@@ -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.25
|
||||
* The version of the OpenAPI document: 1.0.0-rc.26
|
||||
* Contact: filip.leonarski@psi.ch
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
|
||||
@@ -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.25
|
||||
* The version of the OpenAPI document: 1.0.0-rc.26
|
||||
* Contact: filip.leonarski@psi.ch
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
|
||||
@@ -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.25
|
||||
* The version of the OpenAPI document: 1.0.0-rc.26
|
||||
* Contact: filip.leonarski@psi.ch
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
|
||||
@@ -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.25
|
||||
* The version of the OpenAPI document: 1.0.0-rc.26
|
||||
* Contact: filip.leonarski@psi.ch
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
|
||||
@@ -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.25
|
||||
* The version of the OpenAPI document: 1.0.0-rc.26
|
||||
* Contact: filip.leonarski@psi.ch
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
|
||||
@@ -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.25
|
||||
* The version of the OpenAPI document: 1.0.0-rc.26
|
||||
* Contact: filip.leonarski@psi.ch
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
|
||||
@@ -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.25
|
||||
* The version of the OpenAPI document: 1.0.0-rc.26
|
||||
* Contact: filip.leonarski@psi.ch
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
|
||||
@@ -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.25
|
||||
* The version of the OpenAPI document: 1.0.0-rc.26
|
||||
* Contact: filip.leonarski@psi.ch
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
|
||||
@@ -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.25
|
||||
* The version of the OpenAPI document: 1.0.0-rc.26
|
||||
* Contact: filip.leonarski@psi.ch
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
|
||||
@@ -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.25
|
||||
* The version of the OpenAPI document: 1.0.0-rc.26
|
||||
* Contact: filip.leonarski@psi.ch
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
|
||||
@@ -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.25
|
||||
* The version of the OpenAPI document: 1.0.0-rc.26
|
||||
* Contact: filip.leonarski@psi.ch
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
|
||||
@@ -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.25
|
||||
* The version of the OpenAPI document: 1.0.0-rc.26
|
||||
* Contact: filip.leonarski@psi.ch
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
|
||||
@@ -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.25
|
||||
* The version of the OpenAPI document: 1.0.0-rc.26
|
||||
* Contact: filip.leonarski@psi.ch
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
|
||||
@@ -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.25
|
||||
* The version of the OpenAPI document: 1.0.0-rc.26
|
||||
* Contact: filip.leonarski@psi.ch
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
|
||||
@@ -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.25
|
||||
* The version of the OpenAPI document: 1.0.0-rc.26
|
||||
* Contact: filip.leonarski@psi.ch
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
|
||||
@@ -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.25
|
||||
* The version of the OpenAPI document: 1.0.0-rc.26
|
||||
* Contact: filip.leonarski@psi.ch
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
|
||||
@@ -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.25
|
||||
* The version of the OpenAPI document: 1.0.0-rc.26
|
||||
* Contact: filip.leonarski@psi.ch
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
|
||||
@@ -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.25
|
||||
* The version of the OpenAPI document: 1.0.0-rc.26
|
||||
* Contact: filip.leonarski@psi.ch
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
|
||||
@@ -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.25
|
||||
* The version of the OpenAPI document: 1.0.0-rc.26
|
||||
* Contact: filip.leonarski@psi.ch
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
|
||||
@@ -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.25
|
||||
* The version of the OpenAPI document: 1.0.0-rc.26
|
||||
* Contact: filip.leonarski@psi.ch
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
|
||||
@@ -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.25
|
||||
* The version of the OpenAPI document: 1.0.0-rc.26
|
||||
* Contact: filip.leonarski@psi.ch
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
|
||||
@@ -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.25
|
||||
* The version of the OpenAPI document: 1.0.0-rc.26
|
||||
* Contact: filip.leonarski@psi.ch
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
|
||||
@@ -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.25
|
||||
* The version of the OpenAPI document: 1.0.0-rc.26
|
||||
* Contact: filip.leonarski@psi.ch
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
|
||||
@@ -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.25
|
||||
* The version of the OpenAPI document: 1.0.0-rc.26
|
||||
* Contact: filip.leonarski@psi.ch
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
|
||||
@@ -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.25
|
||||
* The version of the OpenAPI document: 1.0.0-rc.26
|
||||
* Contact: filip.leonarski@psi.ch
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
|
||||
@@ -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.25
|
||||
* The version of the OpenAPI document: 1.0.0-rc.26
|
||||
* Contact: filip.leonarski@psi.ch
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
|
||||
@@ -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.25
|
||||
* The version of the OpenAPI document: 1.0.0-rc.26
|
||||
* Contact: filip.leonarski@psi.ch
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
|
||||
@@ -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.25
|
||||
* The version of the OpenAPI document: 1.0.0-rc.26
|
||||
* Contact: filip.leonarski@psi.ch
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
|
||||
@@ -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.25
|
||||
* The version of the OpenAPI document: 1.0.0-rc.26
|
||||
* Contact: filip.leonarski@psi.ch
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
|
||||
@@ -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.25
|
||||
* The version of the OpenAPI document: 1.0.0-rc.26
|
||||
* Contact: filip.leonarski@psi.ch
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
|
||||
@@ -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.25
|
||||
* The version of the OpenAPI document: 1.0.0-rc.26
|
||||
* Contact: filip.leonarski@psi.ch
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
|
||||
@@ -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.25
|
||||
* The version of the OpenAPI document: 1.0.0-rc.26
|
||||
* Contact: filip.leonarski@psi.ch
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
|
||||
@@ -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.25
|
||||
* The version of the OpenAPI document: 1.0.0-rc.26
|
||||
* Contact: filip.leonarski@psi.ch
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
@@ -35,6 +35,7 @@ Jfjoch_settings::Jfjoch_settings()
|
||||
m_Numa_policyIsSet = false;
|
||||
m_Frontend_directory = "";
|
||||
m_Zeromq_previewIsSet = false;
|
||||
m_Zeromq_metadataIsSet = false;
|
||||
|
||||
}
|
||||
|
||||
@@ -132,7 +133,7 @@ bool Jfjoch_settings::validate(std::stringstream& msg, const std::string& pathPr
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
@@ -178,7 +179,10 @@ bool Jfjoch_settings::operator==(const Jfjoch_settings& rhs) const
|
||||
&&
|
||||
|
||||
|
||||
((!zeromqPreviewIsSet() && !rhs.zeromqPreviewIsSet()) || (zeromqPreviewIsSet() && rhs.zeromqPreviewIsSet() && getZeromqPreview() == rhs.getZeromqPreview()))
|
||||
((!zeromqPreviewIsSet() && !rhs.zeromqPreviewIsSet()) || (zeromqPreviewIsSet() && rhs.zeromqPreviewIsSet() && getZeromqPreview() == rhs.getZeromqPreview())) &&
|
||||
|
||||
|
||||
((!zeromqMetadataIsSet() && !rhs.zeromqMetadataIsSet()) || (zeromqMetadataIsSet() && rhs.zeromqMetadataIsSet() && getZeromqMetadata() == rhs.getZeromqMetadata()))
|
||||
|
||||
;
|
||||
}
|
||||
@@ -214,6 +218,8 @@ void to_json(nlohmann::json& j, const Jfjoch_settings& o)
|
||||
j["image_pusher"] = o.m_Image_pusher;
|
||||
if(o.zeromqPreviewIsSet())
|
||||
j["zeromq_preview"] = o.m_Zeromq_preview;
|
||||
if(o.zeromqMetadataIsSet())
|
||||
j["zeromq_metadata"] = o.m_Zeromq_metadata;
|
||||
|
||||
}
|
||||
|
||||
@@ -272,6 +278,11 @@ void from_json(const nlohmann::json& j, Jfjoch_settings& o)
|
||||
j.at("zeromq_preview").get_to(o.m_Zeromq_preview);
|
||||
o.m_Zeromq_previewIsSet = true;
|
||||
}
|
||||
if(j.find("zeromq_metadata") != j.end())
|
||||
{
|
||||
j.at("zeromq_metadata").get_to(o.m_Zeromq_metadata);
|
||||
o.m_Zeromq_metadataIsSet = true;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -469,6 +480,23 @@ void Jfjoch_settings::unsetZeromq_preview()
|
||||
{
|
||||
m_Zeromq_previewIsSet = false;
|
||||
}
|
||||
org::openapitools::server::model::Zeromq_metadata_settings Jfjoch_settings::getZeromqMetadata() const
|
||||
{
|
||||
return m_Zeromq_metadata;
|
||||
}
|
||||
void Jfjoch_settings::setZeromqMetadata(org::openapitools::server::model::Zeromq_metadata_settings const& value)
|
||||
{
|
||||
m_Zeromq_metadata = value;
|
||||
m_Zeromq_metadataIsSet = true;
|
||||
}
|
||||
bool Jfjoch_settings::zeromqMetadataIsSet() const
|
||||
{
|
||||
return m_Zeromq_metadataIsSet;
|
||||
}
|
||||
void Jfjoch_settings::unsetZeromq_metadata()
|
||||
{
|
||||
m_Zeromq_metadataIsSet = false;
|
||||
}
|
||||
|
||||
|
||||
} // namespace org::openapitools::server::model
|
||||
|
||||
@@ -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.25
|
||||
* The version of the OpenAPI document: 1.0.0-rc.26
|
||||
* Contact: filip.leonarski@psi.ch
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
@@ -27,6 +27,7 @@
|
||||
#include "Zeromq_settings.h"
|
||||
#include "Azim_int_settings.h"
|
||||
#include "Image_format_settings.h"
|
||||
#include "Zeromq_metadata_settings.h"
|
||||
#include "Detector_settings.h"
|
||||
#include "Instrument_metadata.h"
|
||||
#include <vector>
|
||||
@@ -153,6 +154,13 @@ public:
|
||||
void setZeromqPreview(org::openapitools::server::model::Zeromq_preview_settings const& value);
|
||||
bool zeromqPreviewIsSet() const;
|
||||
void unsetZeromq_preview();
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
org::openapitools::server::model::Zeromq_metadata_settings getZeromqMetadata() const;
|
||||
void setZeromqMetadata(org::openapitools::server::model::Zeromq_metadata_settings const& value);
|
||||
bool zeromqMetadataIsSet() const;
|
||||
void unsetZeromq_metadata();
|
||||
|
||||
friend void to_json(nlohmann::json& j, const Jfjoch_settings& o);
|
||||
friend void from_json(const nlohmann::json& j, Jfjoch_settings& o);
|
||||
@@ -183,6 +191,8 @@ protected:
|
||||
|
||||
org::openapitools::server::model::Zeromq_preview_settings m_Zeromq_preview;
|
||||
bool m_Zeromq_previewIsSet;
|
||||
org::openapitools::server::model::Zeromq_metadata_settings m_Zeromq_metadata;
|
||||
bool m_Zeromq_metadataIsSet;
|
||||
|
||||
};
|
||||
|
||||
|
||||
@@ -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.25
|
||||
* The version of the OpenAPI document: 1.0.0-rc.26
|
||||
* Contact: filip.leonarski@psi.ch
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
@@ -32,6 +32,7 @@ Jfjoch_statistics::Jfjoch_statistics()
|
||||
m_FpgaIsSet = false;
|
||||
m_CalibrationIsSet = false;
|
||||
m_Zeromq_previewIsSet = false;
|
||||
m_Zeromq_metadataIsSet = false;
|
||||
m_Pixel_maskIsSet = false;
|
||||
|
||||
}
|
||||
@@ -97,7 +98,7 @@ bool Jfjoch_statistics::validate(std::stringstream& msg, const std::string& path
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
@@ -140,6 +141,9 @@ bool Jfjoch_statistics::operator==(const Jfjoch_statistics& rhs) const
|
||||
((!zeromqPreviewIsSet() && !rhs.zeromqPreviewIsSet()) || (zeromqPreviewIsSet() && rhs.zeromqPreviewIsSet() && getZeromqPreview() == rhs.getZeromqPreview())) &&
|
||||
|
||||
|
||||
((!zeromqMetadataIsSet() && !rhs.zeromqMetadataIsSet()) || (zeromqMetadataIsSet() && rhs.zeromqMetadataIsSet() && getZeromqMetadata() == rhs.getZeromqMetadata())) &&
|
||||
|
||||
|
||||
((!pixelMaskIsSet() && !rhs.pixelMaskIsSet()) || (pixelMaskIsSet() && rhs.pixelMaskIsSet() && getPixelMask() == rhs.getPixelMask()))
|
||||
|
||||
;
|
||||
@@ -175,6 +179,8 @@ void to_json(nlohmann::json& j, const Jfjoch_statistics& o)
|
||||
j["calibration"] = o.m_Calibration;
|
||||
if(o.zeromqPreviewIsSet())
|
||||
j["zeromq_preview"] = o.m_Zeromq_preview;
|
||||
if(o.zeromqMetadataIsSet())
|
||||
j["zeromq_metadata"] = o.m_Zeromq_metadata;
|
||||
if(o.pixelMaskIsSet())
|
||||
j["pixel_mask"] = o.m_Pixel_mask;
|
||||
|
||||
@@ -237,6 +243,11 @@ void from_json(const nlohmann::json& j, Jfjoch_statistics& o)
|
||||
j.at("zeromq_preview").get_to(o.m_Zeromq_preview);
|
||||
o.m_Zeromq_previewIsSet = true;
|
||||
}
|
||||
if(j.find("zeromq_metadata") != j.end())
|
||||
{
|
||||
j.at("zeromq_metadata").get_to(o.m_Zeromq_metadata);
|
||||
o.m_Zeromq_metadataIsSet = true;
|
||||
}
|
||||
if(j.find("pixel_mask") != j.end())
|
||||
{
|
||||
j.at("pixel_mask").get_to(o.m_Pixel_mask);
|
||||
@@ -432,6 +443,23 @@ void Jfjoch_statistics::unsetZeromq_preview()
|
||||
{
|
||||
m_Zeromq_previewIsSet = false;
|
||||
}
|
||||
org::openapitools::server::model::Zeromq_metadata_settings Jfjoch_statistics::getZeromqMetadata() const
|
||||
{
|
||||
return m_Zeromq_metadata;
|
||||
}
|
||||
void Jfjoch_statistics::setZeromqMetadata(org::openapitools::server::model::Zeromq_metadata_settings const& value)
|
||||
{
|
||||
m_Zeromq_metadata = value;
|
||||
m_Zeromq_metadataIsSet = true;
|
||||
}
|
||||
bool Jfjoch_statistics::zeromqMetadataIsSet() const
|
||||
{
|
||||
return m_Zeromq_metadataIsSet;
|
||||
}
|
||||
void Jfjoch_statistics::unsetZeromq_metadata()
|
||||
{
|
||||
m_Zeromq_metadataIsSet = false;
|
||||
}
|
||||
org::openapitools::server::model::Pixel_mask_statistics Jfjoch_statistics::getPixelMask() const
|
||||
{
|
||||
return m_Pixel_mask;
|
||||
|
||||
@@ -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.25
|
||||
* The version of the OpenAPI document: 1.0.0-rc.26
|
||||
* Contact: filip.leonarski@psi.ch
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
@@ -27,6 +27,7 @@
|
||||
#include "Zeromq_preview_settings.h"
|
||||
#include "Detector_list.h"
|
||||
#include "Image_format_settings.h"
|
||||
#include "Zeromq_metadata_settings.h"
|
||||
#include "Detector_settings.h"
|
||||
#include <vector>
|
||||
#include "Detector_status.h"
|
||||
@@ -150,6 +151,13 @@ public:
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
org::openapitools::server::model::Zeromq_metadata_settings getZeromqMetadata() const;
|
||||
void setZeromqMetadata(org::openapitools::server::model::Zeromq_metadata_settings const& value);
|
||||
bool zeromqMetadataIsSet() const;
|
||||
void unsetZeromq_metadata();
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
org::openapitools::server::model::Pixel_mask_statistics getPixelMask() const;
|
||||
void setPixelMask(org::openapitools::server::model::Pixel_mask_statistics const& value);
|
||||
bool pixelMaskIsSet() const;
|
||||
@@ -180,6 +188,8 @@ protected:
|
||||
bool m_CalibrationIsSet;
|
||||
org::openapitools::server::model::Zeromq_preview_settings m_Zeromq_preview;
|
||||
bool m_Zeromq_previewIsSet;
|
||||
org::openapitools::server::model::Zeromq_metadata_settings m_Zeromq_metadata;
|
||||
bool m_Zeromq_metadataIsSet;
|
||||
org::openapitools::server::model::Pixel_mask_statistics m_Pixel_mask;
|
||||
bool m_Pixel_maskIsSet;
|
||||
|
||||
|
||||
@@ -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.25
|
||||
* The version of the OpenAPI document: 1.0.0-rc.26
|
||||
* Contact: filip.leonarski@psi.ch
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
|
||||
@@ -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.25
|
||||
* The version of the OpenAPI document: 1.0.0-rc.26
|
||||
* Contact: filip.leonarski@psi.ch
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
|
||||
@@ -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.25
|
||||
* The version of the OpenAPI document: 1.0.0-rc.26
|
||||
* Contact: filip.leonarski@psi.ch
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
|
||||
@@ -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.25
|
||||
* The version of the OpenAPI document: 1.0.0-rc.26
|
||||
* Contact: filip.leonarski@psi.ch
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
|
||||
@@ -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.25
|
||||
* The version of the OpenAPI document: 1.0.0-rc.26
|
||||
* Contact: filip.leonarski@psi.ch
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
|
||||
@@ -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.25
|
||||
* The version of the OpenAPI document: 1.0.0-rc.26
|
||||
* Contact: filip.leonarski@psi.ch
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
|
||||
@@ -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.25
|
||||
* The version of the OpenAPI document: 1.0.0-rc.26
|
||||
* Contact: filip.leonarski@psi.ch
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
|
||||
@@ -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.25
|
||||
* The version of the OpenAPI document: 1.0.0-rc.26
|
||||
* Contact: filip.leonarski@psi.ch
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
|
||||
@@ -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.25
|
||||
* The version of the OpenAPI document: 1.0.0-rc.26
|
||||
* Contact: filip.leonarski@psi.ch
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
|
||||
@@ -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.25
|
||||
* The version of the OpenAPI document: 1.0.0-rc.26
|
||||
* Contact: filip.leonarski@psi.ch
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
|
||||
@@ -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.25
|
||||
* The version of the OpenAPI document: 1.0.0-rc.26
|
||||
* Contact: filip.leonarski@psi.ch
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
|
||||
@@ -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.25
|
||||
* The version of the OpenAPI document: 1.0.0-rc.26
|
||||
* Contact: filip.leonarski@psi.ch
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
|
||||
@@ -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.25
|
||||
* The version of the OpenAPI document: 1.0.0-rc.26
|
||||
* Contact: filip.leonarski@psi.ch
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
|
||||
@@ -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.25
|
||||
* The version of the OpenAPI document: 1.0.0-rc.26
|
||||
* Contact: filip.leonarski@psi.ch
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
|
||||
@@ -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.25
|
||||
* The version of the OpenAPI document: 1.0.0-rc.26
|
||||
* Contact: filip.leonarski@psi.ch
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
|
||||
@@ -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.25
|
||||
* The version of the OpenAPI document: 1.0.0-rc.26
|
||||
* Contact: filip.leonarski@psi.ch
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
|
||||
@@ -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.25
|
||||
* The version of the OpenAPI document: 1.0.0-rc.26
|
||||
* Contact: filip.leonarski@psi.ch
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
|
||||
@@ -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.25
|
||||
* The version of the OpenAPI document: 1.0.0-rc.26
|
||||
* Contact: filip.leonarski@psi.ch
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
|
||||
@@ -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.25
|
||||
* The version of the OpenAPI document: 1.0.0-rc.26
|
||||
* Contact: filip.leonarski@psi.ch
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
|
||||
@@ -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.25
|
||||
* The version of the OpenAPI document: 1.0.0-rc.26
|
||||
* Contact: filip.leonarski@psi.ch
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
|
||||
@@ -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.25
|
||||
* The version of the OpenAPI document: 1.0.0-rc.26
|
||||
* Contact: filip.leonarski@psi.ch
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
|
||||
@@ -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.25
|
||||
* The version of the OpenAPI document: 1.0.0-rc.26
|
||||
* Contact: filip.leonarski@psi.ch
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
|
||||
@@ -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.25
|
||||
* The version of the OpenAPI document: 1.0.0-rc.26
|
||||
* Contact: filip.leonarski@psi.ch
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
|
||||
@@ -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.25
|
||||
* The version of the OpenAPI document: 1.0.0-rc.26
|
||||
* Contact: filip.leonarski@psi.ch
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
|
||||
@@ -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.25
|
||||
* The version of the OpenAPI document: 1.0.0-rc.26
|
||||
* Contact: filip.leonarski@psi.ch
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
|
||||
@@ -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.25
|
||||
* The version of the OpenAPI document: 1.0.0-rc.26
|
||||
* Contact: filip.leonarski@psi.ch
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
|
||||
148
broker/gen/model/Zeromq_metadata_settings.cpp
Normal file
148
broker/gen/model/Zeromq_metadata_settings.cpp
Normal file
@@ -0,0 +1,148 @@
|
||||
/**
|
||||
* 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.26
|
||||
* 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 "Zeromq_metadata_settings.h"
|
||||
#include "Helpers.h"
|
||||
|
||||
#include <sstream>
|
||||
|
||||
namespace org::openapitools::server::model
|
||||
{
|
||||
|
||||
Zeromq_metadata_settings::Zeromq_metadata_settings()
|
||||
{
|
||||
m_Enabled = true;
|
||||
m_Period_ms = 1000L;
|
||||
m_Socket_address = "";
|
||||
m_Socket_addressIsSet = false;
|
||||
|
||||
}
|
||||
|
||||
void Zeromq_metadata_settings::validate() const
|
||||
{
|
||||
std::stringstream msg;
|
||||
if (!validate(msg))
|
||||
{
|
||||
throw org::openapitools::server::helpers::ValidationException(msg.str());
|
||||
}
|
||||
}
|
||||
|
||||
bool Zeromq_metadata_settings::validate(std::stringstream& msg) const
|
||||
{
|
||||
return validate(msg, "");
|
||||
}
|
||||
|
||||
bool Zeromq_metadata_settings::validate(std::stringstream& msg, const std::string& pathPrefix) const
|
||||
{
|
||||
bool success = true;
|
||||
const std::string _pathPrefix = pathPrefix.empty() ? "Zeromq_metadata_settings" : pathPrefix;
|
||||
|
||||
|
||||
|
||||
/* Period_ms */ {
|
||||
const int64_t& value = m_Period_ms;
|
||||
const std::string currentValuePath = _pathPrefix + ".periodMs";
|
||||
|
||||
|
||||
if (value < 1ll)
|
||||
{
|
||||
success = false;
|
||||
msg << currentValuePath << ": must be greater than or equal to 1;";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
bool Zeromq_metadata_settings::operator==(const Zeromq_metadata_settings& rhs) const
|
||||
{
|
||||
return
|
||||
|
||||
|
||||
(isEnabled() == rhs.isEnabled())
|
||||
&&
|
||||
|
||||
(getPeriodMs() == rhs.getPeriodMs())
|
||||
&&
|
||||
|
||||
|
||||
((!socketAddressIsSet() && !rhs.socketAddressIsSet()) || (socketAddressIsSet() && rhs.socketAddressIsSet() && getSocketAddress() == rhs.getSocketAddress()))
|
||||
|
||||
;
|
||||
}
|
||||
|
||||
bool Zeromq_metadata_settings::operator!=(const Zeromq_metadata_settings& rhs) const
|
||||
{
|
||||
return !(*this == rhs);
|
||||
}
|
||||
|
||||
void to_json(nlohmann::json& j, const Zeromq_metadata_settings& o)
|
||||
{
|
||||
j = nlohmann::json::object();
|
||||
j["enabled"] = o.m_Enabled;
|
||||
j["period_ms"] = o.m_Period_ms;
|
||||
if(o.socketAddressIsSet())
|
||||
j["socket_address"] = o.m_Socket_address;
|
||||
|
||||
}
|
||||
|
||||
void from_json(const nlohmann::json& j, Zeromq_metadata_settings& o)
|
||||
{
|
||||
j.at("enabled").get_to(o.m_Enabled);
|
||||
j.at("period_ms").get_to(o.m_Period_ms);
|
||||
if(j.find("socket_address") != j.end())
|
||||
{
|
||||
j.at("socket_address").get_to(o.m_Socket_address);
|
||||
o.m_Socket_addressIsSet = true;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
bool Zeromq_metadata_settings::isEnabled() const
|
||||
{
|
||||
return m_Enabled;
|
||||
}
|
||||
void Zeromq_metadata_settings::setEnabled(bool const value)
|
||||
{
|
||||
m_Enabled = value;
|
||||
}
|
||||
int64_t Zeromq_metadata_settings::getPeriodMs() const
|
||||
{
|
||||
return m_Period_ms;
|
||||
}
|
||||
void Zeromq_metadata_settings::setPeriodMs(int64_t const value)
|
||||
{
|
||||
m_Period_ms = value;
|
||||
}
|
||||
std::string Zeromq_metadata_settings::getSocketAddress() const
|
||||
{
|
||||
return m_Socket_address;
|
||||
}
|
||||
void Zeromq_metadata_settings::setSocketAddress(std::string const& value)
|
||||
{
|
||||
m_Socket_address = value;
|
||||
m_Socket_addressIsSet = true;
|
||||
}
|
||||
bool Zeromq_metadata_settings::socketAddressIsSet() const
|
||||
{
|
||||
return m_Socket_addressIsSet;
|
||||
}
|
||||
void Zeromq_metadata_settings::unsetSocket_address()
|
||||
{
|
||||
m_Socket_addressIsSet = false;
|
||||
}
|
||||
|
||||
|
||||
} // namespace org::openapitools::server::model
|
||||
|
||||
93
broker/gen/model/Zeromq_metadata_settings.h
Normal file
93
broker/gen/model/Zeromq_metadata_settings.h
Normal file
@@ -0,0 +1,93 @@
|
||||
/**
|
||||
* 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.26
|
||||
* 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.
|
||||
*/
|
||||
/*
|
||||
* Zeromq_metadata_settings.h
|
||||
*
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef Zeromq_metadata_settings_H_
|
||||
#define Zeromq_metadata_settings_H_
|
||||
|
||||
|
||||
#include <string>
|
||||
#include <nlohmann/json.hpp>
|
||||
|
||||
namespace org::openapitools::server::model
|
||||
{
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
class Zeromq_metadata_settings
|
||||
{
|
||||
public:
|
||||
Zeromq_metadata_settings();
|
||||
virtual ~Zeromq_metadata_settings() = 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 Zeromq_metadata_settings& rhs) const;
|
||||
bool operator!=(const Zeromq_metadata_settings& rhs) const;
|
||||
|
||||
/////////////////////////////////////////////
|
||||
/// Zeromq_metadata_settings members
|
||||
|
||||
/// <summary>
|
||||
/// ZeroMQ metadata socket is enabled.
|
||||
/// </summary>
|
||||
bool isEnabled() const;
|
||||
void setEnabled(bool const value);
|
||||
/// <summary>
|
||||
/// Period for generating metadata package sent to the ZeroMQ interface in milliseconds.
|
||||
/// </summary>
|
||||
int64_t getPeriodMs() const;
|
||||
void setPeriodMs(int64_t const value);
|
||||
/// <summary>
|
||||
/// PUB ZeroMQ socket for image metadata information. Image metadata are serialized using CBOR. Address follows ZeroMQ convention for sockets - in practice ipc://<socket file> and tcp://<IP address>:<port> sockets are OK. 0.0.0.0 instead of IP address is accepted and means listening on all network interfaces.
|
||||
/// </summary>
|
||||
std::string getSocketAddress() const;
|
||||
void setSocketAddress(std::string const& value);
|
||||
bool socketAddressIsSet() const;
|
||||
void unsetSocket_address();
|
||||
|
||||
friend void to_json(nlohmann::json& j, const Zeromq_metadata_settings& o);
|
||||
friend void from_json(const nlohmann::json& j, Zeromq_metadata_settings& o);
|
||||
protected:
|
||||
bool m_Enabled;
|
||||
|
||||
int64_t m_Period_ms;
|
||||
|
||||
std::string m_Socket_address;
|
||||
bool m_Socket_addressIsSet;
|
||||
|
||||
};
|
||||
|
||||
} // namespace org::openapitools::server::model
|
||||
|
||||
#endif /* Zeromq_metadata_settings_H_ */
|
||||
@@ -2,7 +2,7 @@
|
||||
* Jungfraujoch
|
||||
* API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland). Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU. Jungfraujoch uses FPGA boards to acquire data at high data rates.
|
||||
*
|
||||
* The version of the OpenAPI document: 1.0.0-rc.25
|
||||
* The version of the OpenAPI document: 1.0.0-rc.26
|
||||
* Contact: filip.leonarski@psi.ch
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
@@ -23,8 +23,6 @@ Zeromq_preview_settings::Zeromq_preview_settings()
|
||||
{
|
||||
m_Enabled = true;
|
||||
m_Period_ms = 1000L;
|
||||
m_Send_start_message = true;
|
||||
m_Send_start_messageIsSet = false;
|
||||
m_Socket_address = "";
|
||||
m_Socket_addressIsSet = false;
|
||||
|
||||
@@ -49,7 +47,7 @@ bool Zeromq_preview_settings::validate(std::stringstream& msg, const std::string
|
||||
bool success = true;
|
||||
const std::string _pathPrefix = pathPrefix.empty() ? "Zeromq_preview_settings" : pathPrefix;
|
||||
|
||||
|
||||
|
||||
return success;
|
||||
}
|
||||
|
||||
@@ -65,9 +63,6 @@ bool Zeromq_preview_settings::operator==(const Zeromq_preview_settings& rhs) con
|
||||
&&
|
||||
|
||||
|
||||
((!sendStartMessageIsSet() && !rhs.sendStartMessageIsSet()) || (sendStartMessageIsSet() && rhs.sendStartMessageIsSet() && isSendStartMessage() == rhs.isSendStartMessage())) &&
|
||||
|
||||
|
||||
((!socketAddressIsSet() && !rhs.socketAddressIsSet()) || (socketAddressIsSet() && rhs.socketAddressIsSet() && getSocketAddress() == rhs.getSocketAddress()))
|
||||
|
||||
;
|
||||
@@ -83,8 +78,6 @@ void to_json(nlohmann::json& j, const Zeromq_preview_settings& o)
|
||||
j = nlohmann::json::object();
|
||||
j["enabled"] = o.m_Enabled;
|
||||
j["period_ms"] = o.m_Period_ms;
|
||||
if(o.sendStartMessageIsSet())
|
||||
j["send_start_message"] = o.m_Send_start_message;
|
||||
if(o.socketAddressIsSet())
|
||||
j["socket_address"] = o.m_Socket_address;
|
||||
|
||||
@@ -94,11 +87,6 @@ void from_json(const nlohmann::json& j, Zeromq_preview_settings& o)
|
||||
{
|
||||
j.at("enabled").get_to(o.m_Enabled);
|
||||
j.at("period_ms").get_to(o.m_Period_ms);
|
||||
if(j.find("send_start_message") != j.end())
|
||||
{
|
||||
j.at("send_start_message").get_to(o.m_Send_start_message);
|
||||
o.m_Send_start_messageIsSet = true;
|
||||
}
|
||||
if(j.find("socket_address") != j.end())
|
||||
{
|
||||
j.at("socket_address").get_to(o.m_Socket_address);
|
||||
@@ -123,23 +111,6 @@ void Zeromq_preview_settings::setPeriodMs(int64_t const value)
|
||||
{
|
||||
m_Period_ms = value;
|
||||
}
|
||||
bool Zeromq_preview_settings::isSendStartMessage() const
|
||||
{
|
||||
return m_Send_start_message;
|
||||
}
|
||||
void Zeromq_preview_settings::setSendStartMessage(bool const value)
|
||||
{
|
||||
m_Send_start_message = value;
|
||||
m_Send_start_messageIsSet = true;
|
||||
}
|
||||
bool Zeromq_preview_settings::sendStartMessageIsSet() const
|
||||
{
|
||||
return m_Send_start_messageIsSet;
|
||||
}
|
||||
void Zeromq_preview_settings::unsetSend_start_message()
|
||||
{
|
||||
m_Send_start_messageIsSet = false;
|
||||
}
|
||||
std::string Zeromq_preview_settings::getSocketAddress() const
|
||||
{
|
||||
return m_Socket_address;
|
||||
|
||||
@@ -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.25
|
||||
* The version of the OpenAPI document: 1.0.0-rc.26
|
||||
* Contact: filip.leonarski@psi.ch
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
@@ -69,14 +69,7 @@ public:
|
||||
int64_t getPeriodMs() const;
|
||||
void setPeriodMs(int64_t const value);
|
||||
/// <summary>
|
||||
/// Publish start message on the preview ZeroMQ stream
|
||||
/// </summary>
|
||||
bool isSendStartMessage() const;
|
||||
void setSendStartMessage(bool const value);
|
||||
bool sendStartMessageIsSet() const;
|
||||
void unsetSend_start_message();
|
||||
/// <summary>
|
||||
/// PUB ZeroMQ socket for preview images. This socket operates at a reduced frame rate. Images are serialized using CBOR. Address follows ZeroMQ convention for sockets - in practice ipc://<socket file> and tpc://<IP address>:<port> sockets are OK. 0.0.0.0 instead of IP address is accepted and means listening on all network interfaces.
|
||||
/// PUB ZeroMQ socket for preview images. This socket operates at a reduced frame rate. Images are serialized using CBOR. Address follows ZeroMQ convention for sockets - in practice ipc://<socket file> and tcp://<IP address>:<port> sockets are OK. 0.0.0.0 instead of IP address is accepted and means listening on all network interfaces.
|
||||
/// </summary>
|
||||
std::string getSocketAddress() const;
|
||||
void setSocketAddress(std::string const& value);
|
||||
@@ -90,8 +83,6 @@ protected:
|
||||
|
||||
int64_t m_Period_ms;
|
||||
|
||||
bool m_Send_start_message;
|
||||
bool m_Send_start_messageIsSet;
|
||||
std::string m_Socket_address;
|
||||
bool m_Socket_addressIsSet;
|
||||
|
||||
|
||||
@@ -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.25
|
||||
* The version of the OpenAPI document: 1.0.0-rc.26
|
||||
* Contact: filip.leonarski@psi.ch
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
|
||||
@@ -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.25
|
||||
* The version of the OpenAPI document: 1.0.0-rc.26
|
||||
* Contact: filip.leonarski@psi.ch
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
|
||||
@@ -5,7 +5,7 @@ info:
|
||||
API to control Jungfraujoch developed by the Paul Scherrer Institute (Switzerland).
|
||||
Jungfraujoch is a data acquisition and analysis system for pixel array detectors, primarly PSI JUNGFRAU.
|
||||
Jungfraujoch uses FPGA boards to acquire data at high data rates.
|
||||
version: 1.0.0-rc.25
|
||||
version: 1.0.0-rc.26
|
||||
contact:
|
||||
name: Filip Leonarski (Paul Scherrer Institute)
|
||||
email: filip.leonarski@psi.ch
|
||||
@@ -906,6 +906,8 @@ components:
|
||||
$ref: '#/components/schemas/calibration_statistics'
|
||||
zeromq_preview:
|
||||
$ref: '#/components/schemas/zeromq_preview_settings'
|
||||
zeromq_metadata:
|
||||
$ref: '#/components/schemas/zeromq_metadata_settings'
|
||||
pixel_mask:
|
||||
$ref: '#/components/schemas/pixel_mask_statistics'
|
||||
preview_settings:
|
||||
@@ -1304,6 +1306,32 @@ components:
|
||||
$ref: '#/components/schemas/image_pusher_type'
|
||||
zeromq_preview:
|
||||
$ref: '#/components/schemas/zeromq_preview_settings'
|
||||
zeromq_metadata:
|
||||
$ref: '#/components/schemas/zeromq_metadata_settings'
|
||||
zeromq_metadata_settings:
|
||||
type: object
|
||||
required:
|
||||
- enabled
|
||||
- period_ms
|
||||
properties:
|
||||
enabled:
|
||||
type: boolean
|
||||
default: true
|
||||
description: ZeroMQ metadata socket is enabled.
|
||||
period_ms:
|
||||
type: integer
|
||||
format: int64
|
||||
minimum: 1
|
||||
default: 1000
|
||||
description: |
|
||||
Period for generating metadata package sent to the ZeroMQ interface in milliseconds.
|
||||
socket_address:
|
||||
type: string
|
||||
description: |
|
||||
PUB ZeroMQ socket for image metadata information.
|
||||
Image metadata are serialized using CBOR.
|
||||
Address follows ZeroMQ convention for sockets - in practice ipc://<socket file> and tcp://<IP address>:<port> sockets are OK.
|
||||
0.0.0.0 instead of IP address is accepted and means listening on all network interfaces.
|
||||
zeromq_preview_settings:
|
||||
type: object
|
||||
required:
|
||||
@@ -1322,17 +1350,12 @@ components:
|
||||
Period for generating preview image sent to the ZeroMQ interface in milliseconds. Default is 1 second.
|
||||
If set to zero, all images will be sent ZeroMQ (should be used only in case of relatively slow data collection).
|
||||
This has no effect on HTTP based preview, which updates always at rate of 1 second.
|
||||
send_start_message:
|
||||
type: boolean
|
||||
default: true
|
||||
description: |
|
||||
Publish start message on the preview ZeroMQ stream
|
||||
socket_address:
|
||||
type: string
|
||||
description: |
|
||||
PUB ZeroMQ socket for preview images. This socket operates at a reduced frame rate.
|
||||
Images are serialized using CBOR.
|
||||
Address follows ZeroMQ convention for sockets - in practice ipc://<socket file> and tpc://<IP address>:<port> sockets are OK.
|
||||
Address follows ZeroMQ convention for sockets - in practice ipc://<socket file> and tcp://<IP address>:<port> sockets are OK.
|
||||
0.0.0.0 instead of IP address is accepted and means listening on all network interfaces.
|
||||
paths:
|
||||
/initialize:
|
||||
@@ -1823,6 +1846,43 @@ paths:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/zeromq_preview_settings'
|
||||
/config/zeromq_metadata:
|
||||
put:
|
||||
summary: Set ZeroMQ metadata settings
|
||||
description: |
|
||||
Jungfraujoch can generate metadata message stream on ZeroMQ PUB socket. This stream covers all images.
|
||||
Here settings of the socket can be adjusted.
|
||||
While the data structure contains also socket_address, this cannot be changed via HTTP and is ignore in PUT request.
|
||||
requestBody:
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/zeromq_metadata_settings'
|
||||
responses:
|
||||
"200":
|
||||
description: Everything OK
|
||||
"400":
|
||||
description: Input parsing or validation error
|
||||
content:
|
||||
text/plain:
|
||||
schema:
|
||||
type: string
|
||||
description: Exception error
|
||||
"500":
|
||||
description: Error within Jungfraujoch code - see output message.
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/error_message'
|
||||
get:
|
||||
summary: Get ZeroMQ metadata socket settings
|
||||
responses:
|
||||
"200":
|
||||
description: Everything OK
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/zeromq_metadata_settings'
|
||||
/status:
|
||||
get:
|
||||
summary: Get Jungfraujoch status
|
||||
@@ -2027,6 +2087,48 @@ paths:
|
||||
schema:
|
||||
type: string
|
||||
description: Exception error
|
||||
/plot/indexing_unit_cell:
|
||||
get:
|
||||
summary: Generate indexing unit cell length plots
|
||||
description: Crystal unit cell based on indexing results; binning is configurable
|
||||
parameters:
|
||||
- $ref: '#/components/parameters/binning'
|
||||
- $ref: '#/components/parameters/compression'
|
||||
responses:
|
||||
"200":
|
||||
description: Response will be by default compressed with deflate algorithm, if using curl, use --compressed option.
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/plots'
|
||||
"400":
|
||||
description: Input parsing or validation error
|
||||
content:
|
||||
text/plain:
|
||||
schema:
|
||||
type: string
|
||||
description: Exception error
|
||||
/plot/indexing_unit_cell_angle:
|
||||
get:
|
||||
summary: Generate indexing unit cell angle plot
|
||||
description: Crystal unit cell based on indexing results; binning is configurable
|
||||
parameters:
|
||||
- $ref: '#/components/parameters/binning'
|
||||
- $ref: '#/components/parameters/compression'
|
||||
responses:
|
||||
"200":
|
||||
description: Response will be by default compressed with deflate algorithm, if using curl, use --compressed option.
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/plots'
|
||||
"400":
|
||||
description: Input parsing or validation error
|
||||
content:
|
||||
text/plain:
|
||||
schema:
|
||||
type: string
|
||||
description: Exception error
|
||||
/plot/error_pixel:
|
||||
get:
|
||||
summary: Generate error pixels plot
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -8,7 +8,7 @@ ADUHistogram::ADUHistogram() : histogram(ADU_HISTO_BIN_COUNT) {
|
||||
}
|
||||
|
||||
void ADUHistogram::Add(const std::vector<uint64_t>& input) {
|
||||
std::unique_lock<std::mutex> ul(m);
|
||||
std::unique_lock ul(m);
|
||||
if (input.size() != ADU_HISTO_BIN_COUNT)
|
||||
throw JFJochException(JFJochExceptionCategory::InputParameterInvalid, "Wrong vector input to ADUHistogram::Add");
|
||||
for (int i = 0; i < ADU_HISTO_BIN_COUNT; i++)
|
||||
@@ -16,7 +16,7 @@ void ADUHistogram::Add(const std::vector<uint64_t>& input) {
|
||||
}
|
||||
|
||||
void ADUHistogram::Add(const DeviceOutput &output) {
|
||||
std::unique_lock<std::mutex> ul(m);
|
||||
std::unique_lock ul(m);
|
||||
for (int i = 0; i < ADU_HISTO_BIN_COUNT; i++)
|
||||
histogram[i] += output.adu_histogram[i];
|
||||
}
|
||||
@@ -26,7 +26,7 @@ const std::vector<uint64_t> &ADUHistogram::GetHistogram() const {
|
||||
}
|
||||
|
||||
MultiLinePlot ADUHistogram::GetPlot() const {
|
||||
std::unique_lock<std::mutex> ul(m);
|
||||
std::unique_lock ul(m);
|
||||
MultiLinePlot ret(1);
|
||||
ret[0].x.resize(ADU_HISTO_BIN_COUNT);
|
||||
ret[0].y.resize(ADU_HISTO_BIN_COUNT);
|
||||
@@ -38,7 +38,7 @@ MultiLinePlot ADUHistogram::GetPlot() const {
|
||||
}
|
||||
|
||||
void ADUHistogram::Restart() {
|
||||
std::unique_lock<std::mutex> ul(m);
|
||||
std::unique_lock ul(m);
|
||||
for (int i = 0; i < ADU_HISTO_BIN_COUNT; i++)
|
||||
histogram[i] = 0;
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user