251 lines
7.6 KiB
C++
251 lines
7.6 KiB
C++
/**
|
|
* Jungfraujoch
|
|
* Jungfraujoch Broker Web API
|
|
*
|
|
* The version of the OpenAPI document: 1.0.0
|
|
*
|
|
*
|
|
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
* https://openapi-generator.tech
|
|
* Do not edit the class manually.
|
|
*/
|
|
/*
|
|
* Dataset_settings.h
|
|
*
|
|
*
|
|
*/
|
|
|
|
#ifndef Dataset_settings_H_
|
|
#define Dataset_settings_H_
|
|
|
|
|
|
#include "Rotation_axis.h"
|
|
#include <string>
|
|
#include "Dataset_settings_roi_sum_area.h"
|
|
#include "Dataset_settings_unit_cell.h"
|
|
#include <nlohmann/json.hpp>
|
|
|
|
namespace org::openapitools::server::model
|
|
{
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
class Dataset_settings
|
|
{
|
|
public:
|
|
Dataset_settings();
|
|
virtual ~Dataset_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 Dataset_settings& rhs) const;
|
|
bool operator!=(const Dataset_settings& rhs) const;
|
|
|
|
/////////////////////////////////////////////
|
|
/// Dataset_settings members
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
int64_t getImagesPerTrigger() const;
|
|
void setImagesPerTrigger(int64_t const value);
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
int64_t getNtrigger() const;
|
|
void setNtrigger(int64_t const value);
|
|
bool ntriggerIsSet() const;
|
|
void unsetNtrigger();
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
int64_t getSummation() const;
|
|
void setSummation(int64_t const value);
|
|
bool summationIsSet() const;
|
|
void unsetSummation();
|
|
/// <summary>
|
|
/// /entry/detector/beam_center_x in NXmx Beam center in X direction [pixels]
|
|
/// </summary>
|
|
float getBeamXPxl() const;
|
|
void setBeamXPxl(float const value);
|
|
/// <summary>
|
|
/// /entry/detector/beam_center_y in NXmx Beam center in X direction [pixels]
|
|
/// </summary>
|
|
float getBeamYPxl() const;
|
|
void setBeamYPxl(float const value);
|
|
/// <summary>
|
|
/// /entry/detector/distance in NXmx Detector distance [mm]
|
|
/// </summary>
|
|
float getDetectorDistanceMm() const;
|
|
void setDetectorDistanceMm(float const value);
|
|
/// <summary>
|
|
/// Used to calculate /entry/beam/incident_wavelength in NXmx Incident photon energy in keV
|
|
/// </summary>
|
|
float getPhotonEnergyKeV() const;
|
|
void setPhotonEnergyKeV(float const value);
|
|
/// <summary>
|
|
/// Prefix for filenames. If left empty, no file will be saved.
|
|
/// </summary>
|
|
std::string getFilePrefix() const;
|
|
void setFilePrefix(std::string const& value);
|
|
bool filePrefixIsSet() const;
|
|
void unsetFile_prefix();
|
|
/// <summary>
|
|
/// Number of round-robin data files
|
|
/// </summary>
|
|
int64_t getDataFileCount() const;
|
|
void setDataFileCount(int64_t const value);
|
|
bool dataFileCountIsSet() const;
|
|
void unsetData_file_count();
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
int64_t getSpaceGroupNumber() const;
|
|
void setSpaceGroupNumber(int64_t const value);
|
|
bool spaceGroupNumberIsSet() const;
|
|
void unsetSpace_group_number();
|
|
/// <summary>
|
|
/// /entry/sample/name in NXmx Sample name
|
|
/// </summary>
|
|
std::string getSampleName() const;
|
|
void setSampleName(std::string const& value);
|
|
/// <summary>
|
|
/// Save pedestal together with the dataset
|
|
/// </summary>
|
|
bool isSaveCalibration() const;
|
|
void setSaveCalibration(bool const value);
|
|
bool saveCalibrationIsSet() const;
|
|
void unsetSave_calibration();
|
|
/// <summary>
|
|
/// FPGA output data type
|
|
/// </summary>
|
|
std::string getFpgaOutput() const;
|
|
void setFpgaOutput(std::string const& value);
|
|
bool fpgaOutputIsSet() const;
|
|
void unsetFpga_output();
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
std::string getCompression() const;
|
|
void setCompression(std::string const& value);
|
|
bool compressionIsSet() const;
|
|
void unsetCompression();
|
|
/// <summary>
|
|
/// /entry/beam/total_flux in NXmx Flux incident on beam plane in photons per second. In other words this is the flux integrated over area. [photons/s]
|
|
/// </summary>
|
|
float getTotalFlux() const;
|
|
void setTotalFlux(float const value);
|
|
bool totalFluxIsSet() const;
|
|
void unsetTotal_flux();
|
|
/// <summary>
|
|
/// /entry/instrument/attenuator/attenuator_transmission Transmission of attenuator (filter) [no units]
|
|
/// </summary>
|
|
float getTransmission() const;
|
|
void setTransmission(float const value);
|
|
bool transmissionIsSet() const;
|
|
void unsetTransmission();
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
org::openapitools::server::model::Rotation_axis getOmega() const;
|
|
void setOmega(org::openapitools::server::model::Rotation_axis const& value);
|
|
bool omegaIsSet() const;
|
|
void unsetOmega();
|
|
/// <summary>
|
|
/// Header appendix, added as user_data to start message
|
|
/// </summary>
|
|
std::string getHeaderAppendix() const;
|
|
void setHeaderAppendix(std::string const& value);
|
|
bool headerAppendixIsSet() const;
|
|
void unsetHeader_appendix();
|
|
/// <summary>
|
|
/// Image appendix, added as user_data to image message
|
|
/// </summary>
|
|
std::string getImageAppendix() const;
|
|
void setImageAppendix(std::string const& value);
|
|
bool imageAppendixIsSet() const;
|
|
void unsetImage_appendix();
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
org::openapitools::server::model::Dataset_settings_roi_sum_area getRoiSumArea() const;
|
|
void setRoiSumArea(org::openapitools::server::model::Dataset_settings_roi_sum_area const& value);
|
|
bool roiSumAreaIsSet() const;
|
|
void unsetRoi_sum_area();
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
org::openapitools::server::model::Dataset_settings_unit_cell getUnitCell() const;
|
|
void setUnitCell(org::openapitools::server::model::Dataset_settings_unit_cell const& value);
|
|
bool unitCellIsSet() const;
|
|
void unsetUnit_cell();
|
|
|
|
friend void to_json(nlohmann::json& j, const Dataset_settings& o);
|
|
friend void from_json(const nlohmann::json& j, Dataset_settings& o);
|
|
protected:
|
|
int64_t m_Images_per_trigger;
|
|
|
|
int64_t m_Ntrigger;
|
|
bool m_NtriggerIsSet;
|
|
int64_t m_Summation;
|
|
bool m_SummationIsSet;
|
|
float m_Beam_x_pxl;
|
|
|
|
float m_Beam_y_pxl;
|
|
|
|
float m_Detector_distance_mm;
|
|
|
|
float m_Photon_energy_keV;
|
|
|
|
std::string m_File_prefix;
|
|
bool m_File_prefixIsSet;
|
|
int64_t m_Data_file_count;
|
|
bool m_Data_file_countIsSet;
|
|
int64_t m_Space_group_number;
|
|
bool m_Space_group_numberIsSet;
|
|
std::string m_Sample_name;
|
|
|
|
bool m_Save_calibration;
|
|
bool m_Save_calibrationIsSet;
|
|
std::string m_Fpga_output;
|
|
bool m_Fpga_outputIsSet;
|
|
std::string m_Compression;
|
|
bool m_CompressionIsSet;
|
|
float m_Total_flux;
|
|
bool m_Total_fluxIsSet;
|
|
float m_Transmission;
|
|
bool m_TransmissionIsSet;
|
|
org::openapitools::server::model::Rotation_axis m_Omega;
|
|
bool m_OmegaIsSet;
|
|
std::string m_Header_appendix;
|
|
bool m_Header_appendixIsSet;
|
|
std::string m_Image_appendix;
|
|
bool m_Image_appendixIsSet;
|
|
org::openapitools::server::model::Dataset_settings_roi_sum_area m_Roi_sum_area;
|
|
bool m_Roi_sum_areaIsSet;
|
|
org::openapitools::server::model::Dataset_settings_unit_cell m_Unit_cell;
|
|
bool m_Unit_cellIsSet;
|
|
|
|
};
|
|
|
|
} // namespace org::openapitools::server::model
|
|
|
|
#endif /* Dataset_settings_H_ */
|