diff --git a/broker/JFJochBrokerParser.cpp b/broker/JFJochBrokerParser.cpp
index 76f3e376..7a9b24af 100644
--- a/broker/JFJochBrokerParser.cpp
+++ b/broker/JFJochBrokerParser.cpp
@@ -124,8 +124,8 @@ DetectorSetup ParseDetectorSetup(const org::openapitools::server::model::Detecto
.SerialNumber(d.getSerialNumber())
.ModuleSync(d.isModuleSync());
- if (d.readoutTimeUsIsSet())
- setup.ReadOutTime(std::chrono::microseconds(d.getReadoutTimeUs()));
+ if (d.readoutTimeNsIsSet())
+ setup.ReadOutTime(std::chrono::nanoseconds(d.getReadoutTimeNs()));
if (d.baseDataIpv4AddressIsSet())
setup.BaseIPv4Addr(d.getBaseDataIpv4Address());
diff --git a/broker/JFJochStateMachine.h b/broker/JFJochStateMachine.h
index b2f0413a..01a4ce6d 100644
--- a/broker/JFJochStateMachine.h
+++ b/broker/JFJochStateMachine.h
@@ -25,7 +25,7 @@ struct DetectorListElement {
int64_t nmodules;
int64_t width;
int64_t height;
- std::chrono::microseconds readout_time;
+ std::chrono::nanoseconds readout_time;
std::chrono::microseconds min_frame_time;
std::chrono::microseconds min_count_time;
DetectorType detector_type;
diff --git a/broker/OpenAPIConvert.cpp b/broker/OpenAPIConvert.cpp
index 6cfb7aa7..ebb7a378 100644
--- a/broker/OpenAPIConvert.cpp
+++ b/broker/OpenAPIConvert.cpp
@@ -372,7 +372,7 @@ org::openapitools::server::model::Detector_list Convert(const DetectorList &inpu
d.setUdpInterfaceCount(input.detector[i].udp_interface_count);
d.setMinFrameTimeUs(input.detector[i].min_frame_time.count());
d.setMinCountTimeUs(input.detector[i].min_count_time.count());
- d.setReadoutTimeUs(input.detector[i].readout_time.count());
+ d.setReadoutTimeNs(input.detector[i].readout_time.count());
d.setPixelSizeMm(input.detector[i].pixel_size_mm);
d.setType(Convert(input.detector[i].detector_type));
dets.emplace_back(std::move(d));
diff --git a/broker/gen/model/Detector.cpp b/broker/gen/model/Detector.cpp
index 5907b30d..0e72ed16 100644
--- a/broker/gen/model/Detector.cpp
+++ b/broker/gen/model/Detector.cpp
@@ -33,8 +33,8 @@ Detector::Detector()
m_Module_syncIsSet = false;
m_Sensor_thickness_um = 320.0f;
m_Sensor_thickness_umIsSet = false;
- m_Readout_time_us = 0L;
- m_Readout_time_usIsSet = false;
+ m_Readout_time_ns = 0L;
+ m_Readout_time_nsIsSet = false;
m_Minimum_count_time_us = 0L;
m_Minimum_count_time_usIsSet = false;
m_Minimum_frame_time_us = 0L;
@@ -158,10 +158,10 @@ bool Detector::validate(std::stringstream& msg, const std::string& pathPrefix) c
}
- if (readoutTimeUsIsSet())
+ if (readoutTimeNsIsSet())
{
- const int64_t& value = m_Readout_time_us;
- const std::string currentValuePath = _pathPrefix + ".readoutTimeUs";
+ const int64_t& value = m_Readout_time_ns;
+ const std::string currentValuePath = _pathPrefix + ".readoutTimeNs";
if (value < 1ll)
@@ -333,7 +333,7 @@ bool Detector::operator==(const Detector& rhs) const
((!sensorThicknessUmIsSet() && !rhs.sensorThicknessUmIsSet()) || (sensorThicknessUmIsSet() && rhs.sensorThicknessUmIsSet() && getSensorThicknessUm() == rhs.getSensorThicknessUm())) &&
- ((!readoutTimeUsIsSet() && !rhs.readoutTimeUsIsSet()) || (readoutTimeUsIsSet() && rhs.readoutTimeUsIsSet() && getReadoutTimeUs() == rhs.getReadoutTimeUs())) &&
+ ((!readoutTimeNsIsSet() && !rhs.readoutTimeNsIsSet()) || (readoutTimeNsIsSet() && rhs.readoutTimeNsIsSet() && getReadoutTimeNs() == rhs.getReadoutTimeNs())) &&
((!minimumCountTimeUsIsSet() && !rhs.minimumCountTimeUsIsSet()) || (minimumCountTimeUsIsSet() && rhs.minimumCountTimeUsIsSet() && getMinimumCountTimeUs() == rhs.getMinimumCountTimeUs())) &&
@@ -398,8 +398,8 @@ void to_json(nlohmann::json& j, const Detector& o)
j["module_sync"] = o.m_Module_sync;
if(o.sensorThicknessUmIsSet())
j["sensor_thickness_um"] = o.m_Sensor_thickness_um;
- if(o.readoutTimeUsIsSet())
- j["readout_time_us"] = o.m_Readout_time_us;
+ if(o.readoutTimeNsIsSet())
+ j["readout_time_ns"] = o.m_Readout_time_ns;
if(o.minimumCountTimeUsIsSet())
j["minimum_count_time_us"] = o.m_Minimum_count_time_us;
if(o.minimumFrameTimeUsIsSet())
@@ -462,10 +462,10 @@ void from_json(const nlohmann::json& j, Detector& o)
j.at("sensor_thickness_um").get_to(o.m_Sensor_thickness_um);
o.m_Sensor_thickness_umIsSet = true;
}
- if(j.find("readout_time_us") != j.end())
+ if(j.find("readout_time_ns") != j.end())
{
- j.at("readout_time_us").get_to(o.m_Readout_time_us);
- o.m_Readout_time_usIsSet = true;
+ j.at("readout_time_ns").get_to(o.m_Readout_time_ns);
+ o.m_Readout_time_nsIsSet = true;
}
if(j.find("minimum_count_time_us") != j.end())
{
@@ -645,22 +645,22 @@ void Detector::unsetSensor_thickness_um()
{
m_Sensor_thickness_umIsSet = false;
}
-int64_t Detector::getReadoutTimeUs() const
+int64_t Detector::getReadoutTimeNs() const
{
- return m_Readout_time_us;
+ return m_Readout_time_ns;
}
-void Detector::setReadoutTimeUs(int64_t const value)
+void Detector::setReadoutTimeNs(int64_t const value)
{
- m_Readout_time_us = value;
- m_Readout_time_usIsSet = true;
+ m_Readout_time_ns = value;
+ m_Readout_time_nsIsSet = true;
}
-bool Detector::readoutTimeUsIsSet() const
+bool Detector::readoutTimeNsIsSet() const
{
- return m_Readout_time_usIsSet;
+ return m_Readout_time_nsIsSet;
}
-void Detector::unsetReadout_time_us()
+void Detector::unsetReadout_time_ns()
{
- m_Readout_time_usIsSet = false;
+ m_Readout_time_nsIsSet = false;
}
int64_t Detector::getMinimumCountTimeUs() const
{
diff --git a/broker/gen/model/Detector.h b/broker/gen/model/Detector.h
index 6bfd2322..2b919d12 100644
--- a/broker/gen/model/Detector.h
+++ b/broker/gen/model/Detector.h
@@ -111,12 +111,12 @@ public:
bool sensorThicknessUmIsSet() const;
void unsetSensor_thickness_um();
/// Inactive state and will requ
{- "id": 1
}{- "msg": "Detector in wrong state",
- "reason": "WrongDAQState"
}{- "detectors": [
- {
- "id": 0,
- "description": "JUNGFRAU 4 Mpixel",
- "serial_number": "JF17T16V01",
- "base_ipv4_addr": "10.10.10.1",
- "udp_interface_count": 2,
- "nmodules": 18,
- "width": 2068,
- "height": 2164,
- "pixel_size_mm": 0.075,
- "readout_time_us": 0,
- "min_frame_time_us": 0,
- "min_count_time_us": 0,
- "type": "EIGER"
}
], - "current_id": 0
}{- "detectors": [
- {
- "id": 0,
- "description": "JUNGFRAU 4 Mpixel",
- "serial_number": "JF17T16V01",
- "base_ipv4_addr": "10.10.10.1",
- "udp_interface_count": 2,
- "nmodules": 18,
- "width": 2068,
- "height": 2164,
- "pixel_size_mm": 0.075,
- "readout_time_ns": 0,
- "min_frame_time_us": 0,
- "min_count_time_us": 0,
- "type": "EIGER"
}
], - "current_id": 0
}Jungfraujoch can generate preview message stream on ZeroMQ SUB socket. 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. Options set with this PUT request have no effect on HTTP based preview.
@@ -811,7 +811,7 @@ This can only be done when detector isIdle, Error or
{- "box": {
- "rois": [
- {
- "name": "string",
- "min_x_pxl": 0,
- "max_x_pxl": 0,
- "min_y_pxl": 0,
- "max_y_pxl": 0
}
]
}, - "circle": {
- "rois": [
- {
- "name": "string",
- "center_x_pxl": 0.1,
- "center_y_pxl": 0.1,
- "radius_pxl": 0.1
}
]
}, - "azim": {
- "rois": [
- {
- "name": "string",
- "q_min_recipA": 0.00001,
- "q_max_recipA": 0.00001
}
]
}
}{- "msg": "Detector in wrong state",
- "reason": "WrongDAQState"
}{- "detector": {
- "state": "Idle",
- "powerchip": "PowerOn",
- "server_version": "string",
- "number_of_triggers_left": 0,
- "fpga_temp_degC": [
- 0
], - "high_voltage_V": [
- 0
]
}, - "detector_list": {
- "detectors": [
- {
- "id": 0,
- "description": "JUNGFRAU 4 Mpixel",
- "serial_number": "JF17T16V01",
- "base_ipv4_addr": "10.10.10.1",
- "udp_interface_count": 2,
- "nmodules": 18,
- "width": 2068,
- "height": 2164,
- "pixel_size_mm": 0.075,
- "readout_time_us": 0,
- "min_frame_time_us": 0,
- "min_count_time_us": 0,
- "type": "EIGER"
}
], - "current_id": 0
}, - "detector_settings": {
- "frame_time_us": 1,
- "count_time_us": 0,
- "internal_frame_generator": false,
- "internal_frame_generator_images": 1,
- "detector_trigger_delay_ns": 0,
- "timing": "auto",
- "eiger_threshold_keV": 1,
- "eiger_bit_depth": 8,
- "jungfrau_pedestal_g0_frames": 2000,
- "jungfrau_pedestal_g1_frames": 300,
- "jungfrau_pedestal_g2_frames": 300,
- "jungfrau_pedestal_min_image_count": 128,
- "jungfrau_storage_cell_count": 1,
- "jungfrau_storage_cell_delay_ns": 5000,
- "jungfrau_fixed_gain_g1": false,
- "jungfrau_use_gain_hg0": false
}, - "image_format_settings": {
- "summation": true,
- "geometry_transform": true,
- "jungfrau_conversion": true,
- "jungfrau_conversion_factor_keV": 0.001,
- "bit_depth_image": 8,
- "signed_output": true,
- "mask_module_edges": true,
- "mask_chip_edges": true,
- "jungfrau_mask_pixels_without_g0": true,
- "apply_mask": false,
- "jungfrau_pedestal_g0_rms_limit": 100
}, - "instrument_metadata": {
- "source_name": "Swiss Light Source",
- "source_type": "Synchrotron X-ray Source",
- "instrument_name": "CristallinaMX",
- "pulsed_source": false,
- "electron_source": false
}, - "file_writer_settings": {
- "overwrite": false,
- "format": "NXmxOnlyData"
}, - "data_processing_settings": {
- "enable": true,
- "indexing": true,
- "signal_to_noise_threshold": 0.1,
- "photon_count_threshold": 0,
- "min_pix_per_spot": 1,
- "max_pix_per_spot": 1,
- "high_resolution_limit": 0.1,
- "low_resolution_limit": 0.1,
- "high_resolution_limit_for_spot_count_low_res": 2,
- "quick_integration": false,
- "ice_ring_width_q_recipA": 0.02,
- "high_res_gap_Q_recipA": 1.5
}, - "measurement": {
- "file_prefix": "string",
- "run_number": 0,
- "experiment_group": "string",
- "images_expected": 0,
- "images_collected": 0,
- "images_sent": 0,
- "images_written": 0,
- "images_discarded_lossy_compression": 0,
- "max_image_number_sent": 0,
- "collection_efficiency": 1,
- "compression_ratio": 5.3,
- "cancelled": true,
- "max_receiver_delay": 0,
- "indexing_rate": 0.1,
- "detector_width": 0,
- "detector_height": 0,
- "detector_pixel_depth": 2,
- "bkg_estimate": 0.1,
- "unit_cell": "string",
- "error_pixels": 0.1,
- "saturated_pixels": 0.1,
- "roi_beam_pixels": 0.1,
- "roi_beam_sum": 0.1
}, - "broker": {
- "state": "Inactive",
- "progress": 1,
- "message": "string",
- "message_severity": "success",
- "gpu_count": 0,
- "broker_version": "1.0.0-rc.128"
}, - "fpga": [
- {
- "pci_dev_id": "string",
- "serial_number": "string",
- "fw_version": "string",
- "base_mac_addr": "string",
- "eth_link_count": 0,
- "eth_link_status": 0,
- "power_usage_W": 0.1,
- "fpga_temp_C": 0.1,
- "hbm_temp_C": 0.1,
- "packets_udp": 0,
- "packets_sls": 0,
- "idle": true,
- "pcie_link_speed": 0,
- "pcie_link_width": 0
}
], - "calibration": [
- {
- "module_number": 0,
- "storage_cell_number": 0,
- "pedestal_g0_mean": 0.1,
- "pedestal_g1_mean": 0.1,
- "pedestal_g2_mean": 0.1,
- "gain_g0_mean": 0.1,
- "gain_g1_mean": 0.1,
- "gain_g2_mean": 0.1,
- "masked_pixels": 0
}
], - "zeromq_preview": {
- "enabled": true,
- "period_ms": 1000,
- "socket_address": "string"
}, - "zeromq_metadata": {
- "enabled": true,
- "period_ms": 1000,
- "socket_address": "string"
}, - "dark_mask": {
- "detector_threshold_keV": 3.5,
- "frame_time_us": 10000,
- "number_of_frames": 1000,
- "max_allowed_pixel_count": 1,
- "max_frames_with_signal": 10
}, - "pixel_mask": {
- "user_mask": 0,
- "too_high_pedestal_rms": 0,
- "wrong_gain": 0
}, - "roi": {
- "box": {
- "rois": [
- {
- "name": "string",
- "min_x_pxl": 0,
- "max_x_pxl": 0,
- "min_y_pxl": 0,
- "max_y_pxl": 0
}
]
}, - "circle": {
- "rois": [
- {
- "name": "string",
- "center_x_pxl": 0.1,
- "center_y_pxl": 0.1,
- "radius_pxl": 0.1
}
]
}, - "azim": {
- "rois": [
- {
- "name": "string",
- "q_min_recipA": 0.00001,
- "q_max_recipA": 0.00001
}
]
}
}, - "az_int": {
- "polarization_corr": true,
- "solid_angle_corr": true,
- "high_q_recipA": 0.1,
- "low_q_recipA": 0.1,
- "q_spacing": 0.1,
- "azimuthal_bins": 1
}, - "buffer": {
- "min_image_number": 0,
- "max_image_number": 0,
- "image_numbers": [
- 0
], - "total_slots": 0,
- "available_slots": 0,
- "in_preparation_slots": 0,
- "in_sending_slots": 0,
- "current_counter": 0
}, - "indexing": {
- "algorithm": "FFBIDX",
- "fft_max_unit_cell_A": 250,
- "fft_min_unit_cell_A": 10,
- "fft_high_resolution_A": 2,
- "fft_num_vectors": 16384,
- "tolerance": 0.5,
- "thread_count": 1,
- "geom_refinement_algorithm": "BeamCenter",
- "unit_cell_dist_tolerance": 0.05,
- "viable_cell_min_spots": 10,
- "index_ice_rings": false,
- "rotation_indexing": false,
- "rotation_indexing_min_angular_range_deg": 20,
- "rotation_indexing_angular_stride_deg": 0.5,
- "blocking": true
}, - "image_pusher": {
- "pusher_type": "ZeroMQ",
- "addr": [
- "tcp://1.2.3.4:5000",
- "tcp://1.2.3.4:5001"
], - "connected_writers": 0,
- "images_written": 0,
- "images_write_error": 0,
- "writer_fifo_utilization": [
- 0
]
}
}{- "detector": {
- "state": "Idle",
- "powerchip": "PowerOn",
- "server_version": "string",
- "number_of_triggers_left": 0,
- "fpga_temp_degC": [
- 0
], - "high_voltage_V": [
- 0
]
}, - "detector_list": {
- "detectors": [
- {
- "id": 0,
- "description": "JUNGFRAU 4 Mpixel",
- "serial_number": "JF17T16V01",
- "base_ipv4_addr": "10.10.10.1",
- "udp_interface_count": 2,
- "nmodules": 18,
- "width": 2068,
- "height": 2164,
- "pixel_size_mm": 0.075,
- "readout_time_ns": 0,
- "min_frame_time_us": 0,
- "min_count_time_us": 0,
- "type": "EIGER"
}
], - "current_id": 0
}, - "detector_settings": {
- "frame_time_us": 1,
- "count_time_us": 0,
- "internal_frame_generator": false,
- "internal_frame_generator_images": 1,
- "detector_trigger_delay_ns": 0,
- "timing": "auto",
- "eiger_threshold_keV": 1,
- "eiger_bit_depth": 8,
- "jungfrau_pedestal_g0_frames": 2000,
- "jungfrau_pedestal_g1_frames": 300,
- "jungfrau_pedestal_g2_frames": 300,
- "jungfrau_pedestal_min_image_count": 128,
- "jungfrau_storage_cell_count": 1,
- "jungfrau_storage_cell_delay_ns": 5000,
- "jungfrau_fixed_gain_g1": false,
- "jungfrau_use_gain_hg0": false
}, - "image_format_settings": {
- "summation": true,
- "geometry_transform": true,
- "jungfrau_conversion": true,
- "jungfrau_conversion_factor_keV": 0.001,
- "bit_depth_image": 8,
- "signed_output": true,
- "mask_module_edges": true,
- "mask_chip_edges": true,
- "jungfrau_mask_pixels_without_g0": true,
- "apply_mask": false,
- "jungfrau_pedestal_g0_rms_limit": 100
}, - "instrument_metadata": {
- "source_name": "Swiss Light Source",
- "source_type": "Synchrotron X-ray Source",
- "instrument_name": "CristallinaMX",
- "pulsed_source": false,
- "electron_source": false
}, - "file_writer_settings": {
- "overwrite": false,
- "format": "NXmxOnlyData"
}, - "data_processing_settings": {
- "enable": true,
- "indexing": true,
- "signal_to_noise_threshold": 0.1,
- "photon_count_threshold": 0,
- "min_pix_per_spot": 1,
- "max_pix_per_spot": 1,
- "high_resolution_limit": 0.1,
- "low_resolution_limit": 0.1,
- "high_resolution_limit_for_spot_count_low_res": 2,
- "quick_integration": false,
- "ice_ring_width_q_recipA": 0.02,
- "high_res_gap_Q_recipA": 1.5
}, - "measurement": {
- "file_prefix": "string",
- "run_number": 0,
- "experiment_group": "string",
- "images_expected": 0,
- "images_collected": 0,
- "images_sent": 0,
- "images_written": 0,
- "images_discarded_lossy_compression": 0,
- "max_image_number_sent": 0,
- "collection_efficiency": 1,
- "compression_ratio": 5.3,
- "cancelled": true,
- "max_receiver_delay": 0,
- "indexing_rate": 0.1,
- "detector_width": 0,
- "detector_height": 0,
- "detector_pixel_depth": 2,
- "bkg_estimate": 0.1,
- "unit_cell": "string",
- "error_pixels": 0.1,
- "saturated_pixels": 0.1,
- "roi_beam_pixels": 0.1,
- "roi_beam_sum": 0.1
}, - "broker": {
- "state": "Inactive",
- "progress": 1,
- "message": "string",
- "message_severity": "success",
- "gpu_count": 0,
- "broker_version": "1.0.0-rc.128"
}, - "fpga": [
- {
- "pci_dev_id": "string",
- "serial_number": "string",
- "fw_version": "string",
- "base_mac_addr": "string",
- "eth_link_count": 0,
- "eth_link_status": 0,
- "power_usage_W": 0.1,
- "fpga_temp_C": 0.1,
- "hbm_temp_C": 0.1,
- "packets_udp": 0,
- "packets_sls": 0,
- "idle": true,
- "pcie_link_speed": 0,
- "pcie_link_width": 0
}
], - "calibration": [
- {
- "module_number": 0,
- "storage_cell_number": 0,
- "pedestal_g0_mean": 0.1,
- "pedestal_g1_mean": 0.1,
- "pedestal_g2_mean": 0.1,
- "gain_g0_mean": 0.1,
- "gain_g1_mean": 0.1,
- "gain_g2_mean": 0.1,
- "masked_pixels": 0
}
], - "zeromq_preview": {
- "enabled": true,
- "period_ms": 1000,
- "socket_address": "string"
}, - "zeromq_metadata": {
- "enabled": true,
- "period_ms": 1000,
- "socket_address": "string"
}, - "dark_mask": {
- "detector_threshold_keV": 3.5,
- "frame_time_us": 10000,
- "number_of_frames": 1000,
- "max_allowed_pixel_count": 1,
- "max_frames_with_signal": 10
}, - "pixel_mask": {
- "user_mask": 0,
- "too_high_pedestal_rms": 0,
- "wrong_gain": 0
}, - "roi": {
- "box": {
- "rois": [
- {
- "name": "string",
- "min_x_pxl": 0,
- "max_x_pxl": 0,
- "min_y_pxl": 0,
- "max_y_pxl": 0
}
]
}, - "circle": {
- "rois": [
- {
- "name": "string",
- "center_x_pxl": 0.1,
- "center_y_pxl": 0.1,
- "radius_pxl": 0.1
}
]
}, - "azim": {
- "rois": [
- {
- "name": "string",
- "q_min_recipA": 0.00001,
- "q_max_recipA": 0.00001
}
]
}
}, - "az_int": {
- "polarization_corr": true,
- "solid_angle_corr": true,
- "high_q_recipA": 0.1,
- "low_q_recipA": 0.1,
- "q_spacing": 0.1,
- "azimuthal_bins": 1
}, - "buffer": {
- "min_image_number": 0,
- "max_image_number": 0,
- "image_numbers": [
- 0
], - "total_slots": 0,
- "available_slots": 0,
- "in_preparation_slots": 0,
- "in_sending_slots": 0,
- "current_counter": 0
}, - "indexing": {
- "algorithm": "FFBIDX",
- "fft_max_unit_cell_A": 250,
- "fft_min_unit_cell_A": 10,
- "fft_high_resolution_A": 2,
- "fft_num_vectors": 16384,
- "tolerance": 0.5,
- "thread_count": 1,
- "geom_refinement_algorithm": "BeamCenter",
- "unit_cell_dist_tolerance": 0.05,
- "viable_cell_min_spots": 10,
- "index_ice_rings": false,
- "rotation_indexing": false,
- "rotation_indexing_min_angular_range_deg": 20,
- "rotation_indexing_angular_stride_deg": 0.5,
- "blocking": true
}, - "image_pusher": {
- "pusher_type": "ZeroMQ",
- "addr": [
- "tcp://1.2.3.4:5000",
- "tcp://1.2.3.4:5001"
], - "connected_writers": 0,
- "images_written": 0,
- "images_write_error": 0,
- "writer_fifo_utilization": [
- 0
]
}
}