// Copyright (2019-2022) Paul Scherrer Institute // SPDX-License-Identifier: GPL-3.0-or-later #ifndef JUNGFRAUJOCH_STARTMESSAGE_H #define JUNGFRAUJOCH_STARTMESSAGE_H #include #include #include #include #include "../compression/CompressionAlgorithmEnum.h" struct GoniometerAxis { float increment; float start; }; struct StartMessage { uint64_t data_file_count; // user data float detector_distance; float beam_center_x; float beam_center_y; uint64_t number_of_images; uint64_t image_size_x; uint64_t image_size_y; uint64_t pixel_bit_depth; // user data bool pixel_signed; // user data float incident_energy; float incident_wavelength; float frame_time; float count_time; int64_t saturation_value; int64_t min_value; // user data float pixel_size_x; float pixel_size_y; float sensor_thickness; std::string sensor_material; CompressionAlgorithm compression_algorithm; // user data uint64_t compression_block_size; // user data float unit_cell[6]; // user data uint64_t space_group_number; // user data uint64_t max_spot_count; // user data uint64_t storage_cell_number; // user data std::map> pixel_mask; bool pixel_mask_enabled; std::string arm_date; std::string sample_name; // user data std::string file_prefix; // user data std::vector channels; std::string detector_description; std::string detector_serial_number; std::string series_unique_id; uint64_t series_id; std::map goniometer; float detector_translation[3]; std::string source_name; std::string source_name_short; std::string instrument_name; std::string instrument_name_short; uint64_t rad_int_bin_number; uint64_t summation; std::vector rad_int_bin_to_q; std::vector rad_int_solid_angle_corr; }; #endif //JUNGFRAUJOCH_STARTMESSAGE_H