/** * 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.64 * 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 "Image_format_settings.h" #include "Helpers.h" #include namespace org::openapitools::server::model { Image_format_settings::Image_format_settings() { m_Summation = false; m_Geometry_transform = false; m_Jungfrau_conversion = false; m_Jungfrau_conversion_factor_keV = 0.0f; m_Jungfrau_conversion_factor_keVIsSet = false; m_Bit_depth_image = 0L; m_Bit_depth_imageIsSet = false; m_Signed_output = false; m_Signed_outputIsSet = false; m_Mask_module_edges = true; m_Mask_chip_edges = true; m_Jungfrau_mask_pixels_without_g0 = true; m_Jungfrau_mask_pixels_without_g0IsSet = false; m_Apply_mask = false; m_Jungfrau_pedestal_g0_rms_limit = 100L; m_Jungfrau_pedestal_g0_rms_limitIsSet = false; } void Image_format_settings::validate() const { std::stringstream msg; if (!validate(msg)) { throw org::openapitools::server::helpers::ValidationException(msg.str()); } } bool Image_format_settings::validate(std::stringstream& msg) const { return validate(msg, ""); } bool Image_format_settings::validate(std::stringstream& msg, const std::string& pathPrefix) const { bool success = true; const std::string _pathPrefix = pathPrefix.empty() ? "Image_format_settings" : pathPrefix; if (jungfrauConversionFactorKeVIsSet()) { const float& value = m_Jungfrau_conversion_factor_keV; const std::string currentValuePath = _pathPrefix + ".jungfrauConversionFactorKeV"; if (value < static_cast(0.001)) { success = false; msg << currentValuePath << ": must be greater than or equal to 0.001;"; } if (value > static_cast(500.0)) { success = false; msg << currentValuePath << ": must be less than or equal to 500.0;"; } } if (jungfrauPedestalG0RmsLimitIsSet()) { const int64_t& value = m_Jungfrau_pedestal_g0_rms_limit; const std::string currentValuePath = _pathPrefix + ".jungfrauPedestalG0RmsLimit"; if (value < 0ll) { success = false; msg << currentValuePath << ": must be greater than or equal to 0;"; } } return success; } bool Image_format_settings::operator==(const Image_format_settings& rhs) const { return (isSummation() == rhs.isSummation()) && (isGeometryTransform() == rhs.isGeometryTransform()) && (isJungfrauConversion() == rhs.isJungfrauConversion()) && ((!jungfrauConversionFactorKeVIsSet() && !rhs.jungfrauConversionFactorKeVIsSet()) || (jungfrauConversionFactorKeVIsSet() && rhs.jungfrauConversionFactorKeVIsSet() && getJungfrauConversionFactorKeV() == rhs.getJungfrauConversionFactorKeV())) && ((!bitDepthImageIsSet() && !rhs.bitDepthImageIsSet()) || (bitDepthImageIsSet() && rhs.bitDepthImageIsSet() && getBitDepthImage() == rhs.getBitDepthImage())) && ((!signedOutputIsSet() && !rhs.signedOutputIsSet()) || (signedOutputIsSet() && rhs.signedOutputIsSet() && isSignedOutput() == rhs.isSignedOutput())) && (isMaskModuleEdges() == rhs.isMaskModuleEdges()) && (isMaskChipEdges() == rhs.isMaskChipEdges()) && ((!jungfrauMaskPixelsWithoutG0IsSet() && !rhs.jungfrauMaskPixelsWithoutG0IsSet()) || (jungfrauMaskPixelsWithoutG0IsSet() && rhs.jungfrauMaskPixelsWithoutG0IsSet() && isJungfrauMaskPixelsWithoutG0() == rhs.isJungfrauMaskPixelsWithoutG0())) && (isApplyMask() == rhs.isApplyMask()) && ((!jungfrauPedestalG0RmsLimitIsSet() && !rhs.jungfrauPedestalG0RmsLimitIsSet()) || (jungfrauPedestalG0RmsLimitIsSet() && rhs.jungfrauPedestalG0RmsLimitIsSet() && getJungfrauPedestalG0RmsLimit() == rhs.getJungfrauPedestalG0RmsLimit())) ; } bool Image_format_settings::operator!=(const Image_format_settings& rhs) const { return !(*this == rhs); } void to_json(nlohmann::json& j, const Image_format_settings& o) { j = nlohmann::json::object(); j["summation"] = o.m_Summation; j["geometry_transform"] = o.m_Geometry_transform; j["jungfrau_conversion"] = o.m_Jungfrau_conversion; if(o.jungfrauConversionFactorKeVIsSet()) j["jungfrau_conversion_factor_keV"] = o.m_Jungfrau_conversion_factor_keV; if(o.bitDepthImageIsSet()) j["bit_depth_image"] = o.m_Bit_depth_image; if(o.signedOutputIsSet()) j["signed_output"] = o.m_Signed_output; j["mask_module_edges"] = o.m_Mask_module_edges; j["mask_chip_edges"] = o.m_Mask_chip_edges; if(o.jungfrauMaskPixelsWithoutG0IsSet()) j["jungfrau_mask_pixels_without_g0"] = o.m_Jungfrau_mask_pixels_without_g0; j["apply_mask"] = o.m_Apply_mask; if(o.jungfrauPedestalG0RmsLimitIsSet()) j["jungfrau_pedestal_g0_rms_limit"] = o.m_Jungfrau_pedestal_g0_rms_limit; } void from_json(const nlohmann::json& j, Image_format_settings& o) { j.at("summation").get_to(o.m_Summation); j.at("geometry_transform").get_to(o.m_Geometry_transform); j.at("jungfrau_conversion").get_to(o.m_Jungfrau_conversion); if(j.find("jungfrau_conversion_factor_keV") != j.end()) { j.at("jungfrau_conversion_factor_keV").get_to(o.m_Jungfrau_conversion_factor_keV); o.m_Jungfrau_conversion_factor_keVIsSet = true; } if(j.find("bit_depth_image") != j.end()) { j.at("bit_depth_image").get_to(o.m_Bit_depth_image); o.m_Bit_depth_imageIsSet = true; } if(j.find("signed_output") != j.end()) { j.at("signed_output").get_to(o.m_Signed_output); o.m_Signed_outputIsSet = true; } j.at("mask_module_edges").get_to(o.m_Mask_module_edges); j.at("mask_chip_edges").get_to(o.m_Mask_chip_edges); if(j.find("jungfrau_mask_pixels_without_g0") != j.end()) { j.at("jungfrau_mask_pixels_without_g0").get_to(o.m_Jungfrau_mask_pixels_without_g0); o.m_Jungfrau_mask_pixels_without_g0IsSet = true; } j.at("apply_mask").get_to(o.m_Apply_mask); if(j.find("jungfrau_pedestal_g0_rms_limit") != j.end()) { j.at("jungfrau_pedestal_g0_rms_limit").get_to(o.m_Jungfrau_pedestal_g0_rms_limit); o.m_Jungfrau_pedestal_g0_rms_limitIsSet = true; } } bool Image_format_settings::isSummation() const { return m_Summation; } void Image_format_settings::setSummation(bool const value) { m_Summation = value; } bool Image_format_settings::isGeometryTransform() const { return m_Geometry_transform; } void Image_format_settings::setGeometryTransform(bool const value) { m_Geometry_transform = value; } bool Image_format_settings::isJungfrauConversion() const { return m_Jungfrau_conversion; } void Image_format_settings::setJungfrauConversion(bool const value) { m_Jungfrau_conversion = value; } float Image_format_settings::getJungfrauConversionFactorKeV() const { return m_Jungfrau_conversion_factor_keV; } void Image_format_settings::setJungfrauConversionFactorKeV(float const value) { m_Jungfrau_conversion_factor_keV = value; m_Jungfrau_conversion_factor_keVIsSet = true; } bool Image_format_settings::jungfrauConversionFactorKeVIsSet() const { return m_Jungfrau_conversion_factor_keVIsSet; } void Image_format_settings::unsetJungfrau_conversion_factor_keV() { m_Jungfrau_conversion_factor_keVIsSet = false; } int64_t Image_format_settings::getBitDepthImage() const { return m_Bit_depth_image; } void Image_format_settings::setBitDepthImage(int64_t const value) { m_Bit_depth_image = value; m_Bit_depth_imageIsSet = true; } bool Image_format_settings::bitDepthImageIsSet() const { return m_Bit_depth_imageIsSet; } void Image_format_settings::unsetBit_depth_image() { m_Bit_depth_imageIsSet = false; } bool Image_format_settings::isSignedOutput() const { return m_Signed_output; } void Image_format_settings::setSignedOutput(bool const value) { m_Signed_output = value; m_Signed_outputIsSet = true; } bool Image_format_settings::signedOutputIsSet() const { return m_Signed_outputIsSet; } void Image_format_settings::unsetSigned_output() { m_Signed_outputIsSet = false; } bool Image_format_settings::isMaskModuleEdges() const { return m_Mask_module_edges; } void Image_format_settings::setMaskModuleEdges(bool const value) { m_Mask_module_edges = value; } bool Image_format_settings::isMaskChipEdges() const { return m_Mask_chip_edges; } void Image_format_settings::setMaskChipEdges(bool const value) { m_Mask_chip_edges = value; } bool Image_format_settings::isJungfrauMaskPixelsWithoutG0() const { return m_Jungfrau_mask_pixels_without_g0; } void Image_format_settings::setJungfrauMaskPixelsWithoutG0(bool const value) { m_Jungfrau_mask_pixels_without_g0 = value; m_Jungfrau_mask_pixels_without_g0IsSet = true; } bool Image_format_settings::jungfrauMaskPixelsWithoutG0IsSet() const { return m_Jungfrau_mask_pixels_without_g0IsSet; } void Image_format_settings::unsetJungfrau_mask_pixels_without_g0() { m_Jungfrau_mask_pixels_without_g0IsSet = false; } bool Image_format_settings::isApplyMask() const { return m_Apply_mask; } void Image_format_settings::setApplyMask(bool const value) { m_Apply_mask = value; } int64_t Image_format_settings::getJungfrauPedestalG0RmsLimit() const { return m_Jungfrau_pedestal_g0_rms_limit; } void Image_format_settings::setJungfrauPedestalG0RmsLimit(int64_t const value) { m_Jungfrau_pedestal_g0_rms_limit = value; m_Jungfrau_pedestal_g0_rms_limitIsSet = true; } bool Image_format_settings::jungfrauPedestalG0RmsLimitIsSet() const { return m_Jungfrau_pedestal_g0_rms_limitIsSet; } void Image_format_settings::unsetJungfrau_pedestal_g0_rms_limit() { m_Jungfrau_pedestal_g0_rms_limitIsSet = false; } } // namespace org::openapitools::server::model