Files
Jungfraujoch/broker/gen/model/Image_format_settings.h
2024-10-23 19:03:09 +02:00

132 lines
4.2 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.23
* 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.
*/
/*
* Image_format_settings.h
*
*
*/
#ifndef Image_format_settings_H_
#define Image_format_settings_H_
#include <nlohmann/json.hpp>
namespace org::openapitools::server::model
{
/// <summary>
///
/// </summary>
class Image_format_settings
{
public:
Image_format_settings();
virtual ~Image_format_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 Image_format_settings& rhs) const;
bool operator!=(const Image_format_settings& rhs) const;
/////////////////////////////////////////////
/// Image_format_settings members
/// <summary>
/// Enable summation of images to a given image_time If disabled images are saved according to original detector speed, but image count is adjusted
/// </summary>
bool isSummation() const;
void setSummation(bool const value);
/// <summary>
/// Place module read-out into their location on composed detector and extend multipixels
/// </summary>
bool isGeometryTransform() const;
void setGeometryTransform(bool const value);
/// <summary>
/// Convert pixel value in ADU to photon counts/energy Only affects JUNGFRAU detector
/// </summary>
bool isJungfrauConversion() const;
void setJungfrauConversion(bool const value);
/// <summary>
/// Used to convert energy deposited into pixel to counts If not provided incident_energy_keV is used
/// </summary>
float getJungfrauConversionFactorKeV() const;
void setJungfrauConversionFactorKeV(float const value);
bool jungfrauConversionFactorKeVIsSet() const;
void unsetJungfrau_conversion_factor_keV();
/// <summary>
/// Bit depth of resulting image (it doesn&#39;t affect the original detector value) If not provided value is adjusted automatically
/// </summary>
int64_t getBitDepthImage() const;
void setBitDepthImage(int64_t const value);
bool bitDepthImageIsSet() const;
void unsetBit_depth_image();
/// <summary>
/// Controls if pixels have signed output If not provided value is adjusted automatically
/// </summary>
bool isSignedOutput() const;
void setSignedOutput(bool const value);
bool signedOutputIsSet() const;
void unsetSigned_output();
/// <summary>
/// Mask 1 pixel on the module boundary
/// </summary>
bool isMaskModuleEdges() const;
void setMaskModuleEdges(bool const value);
/// <summary>
/// Mask multipixels on chip boundary
/// </summary>
bool isMaskChipEdges() const;
void setMaskChipEdges(bool const value);
friend void to_json(nlohmann::json& j, const Image_format_settings& o);
friend void from_json(const nlohmann::json& j, Image_format_settings& o);
protected:
bool m_Summation;
bool m_Geometry_transform;
bool m_Jungfrau_conversion;
float m_Jungfrau_conversion_factor_keV;
bool m_Jungfrau_conversion_factor_keVIsSet;
int64_t m_Bit_depth_image;
bool m_Bit_depth_imageIsSet;
bool m_Signed_output;
bool m_Signed_outputIsSet;
bool m_Mask_module_edges;
bool m_Mask_chip_edges;
};
} // namespace org::openapitools::server::model
#endif /* Image_format_settings_H_ */