Files
Jungfraujoch/broker/gen/model/Image_format_settings.cpp
2024-11-22 21:25:20 +01:00

340 lines
10 KiB
C++

/**
* 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
* 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 <sstream>
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<float>(0.001))
{
success = false;
msg << currentValuePath << ": must be greater than or equal to 0.001;";
}
if (value > static_cast<float>(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