176 lines
5.0 KiB
C++
176 lines
5.0 KiB
C++
/**
|
|
* Jungfraujoch
|
|
* Jungfraujoch Broker Web API
|
|
*
|
|
* The version of the OpenAPI document: 1.0.0-rc.15
|
|
* 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.
|
|
*/
|
|
/*
|
|
* Detector_settings.h
|
|
*
|
|
*
|
|
*/
|
|
|
|
#ifndef Detector_settings_H_
|
|
#define Detector_settings_H_
|
|
|
|
|
|
#include <nlohmann/json.hpp>
|
|
|
|
namespace org::openapitools::server::model
|
|
{
|
|
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
class Detector_settings
|
|
{
|
|
public:
|
|
Detector_settings();
|
|
virtual ~Detector_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 Detector_settings& rhs) const;
|
|
bool operator!=(const Detector_settings& rhs) const;
|
|
|
|
/////////////////////////////////////////////
|
|
/// Detector_settings members
|
|
|
|
/// <summary>
|
|
/// Interval between consecutive frames.
|
|
/// </summary>
|
|
int64_t getFrameTimeUs() const;
|
|
void setFrameTimeUs(int64_t const value);
|
|
/// <summary>
|
|
/// Integration time of the detector. If not provided count time will be set to maximum value for a given frame time.
|
|
/// </summary>
|
|
int64_t getCountTimeUs() const;
|
|
void setCountTimeUs(int64_t const value);
|
|
bool countTimeUsIsSet() const;
|
|
void unsetCount_time_us();
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
int64_t getStorageCellCount() const;
|
|
void setStorageCellCount(int64_t const value);
|
|
/// <summary>
|
|
/// Use internal frame generator in FPGA instead of getting data from a real detector
|
|
/// </summary>
|
|
bool isInternalFrameGenerator() const;
|
|
void setInternalFrameGenerator(bool const value);
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
int64_t getInternalFrameGeneratorImages() const;
|
|
void setInternalFrameGeneratorImages(int64_t const value);
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
int64_t getPedestalG0Frames() const;
|
|
void setPedestalG0Frames(int64_t const value);
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
int64_t getPedestalG1Frames() const;
|
|
void setPedestalG1Frames(int64_t const value);
|
|
/// <summary>
|
|
///
|
|
/// </summary>
|
|
int64_t getPedestalG2Frames() const;
|
|
void setPedestalG2Frames(int64_t const value);
|
|
/// <summary>
|
|
/// Pixels with pedestal G0 RMS above the threshold are marked as masked pixels
|
|
/// </summary>
|
|
int64_t getPedestalG0RmsLimit() const;
|
|
void setPedestalG0RmsLimit(int64_t const value);
|
|
/// <summary>
|
|
/// Minimum number of collected images for pedestal to consider it viable
|
|
/// </summary>
|
|
int64_t getPedestalMinImageCount() const;
|
|
void setPedestalMinImageCount(int64_t const value);
|
|
/// <summary>
|
|
/// Delay between two storage cells [ns]
|
|
/// </summary>
|
|
int64_t getStorageCellDelayNs() const;
|
|
void setStorageCellDelayNs(int64_t const value);
|
|
/// <summary>
|
|
/// Delay between TTL trigger and acquisition start [ns]
|
|
/// </summary>
|
|
int64_t getDetectorTriggerDelayNs() const;
|
|
void setDetectorTriggerDelayNs(int64_t const value);
|
|
bool detectorTriggerDelayNsIsSet() const;
|
|
void unsetDetector_trigger_delay_ns();
|
|
/// <summary>
|
|
/// Fix gain to G1 (can be useful for storage cells)
|
|
/// </summary>
|
|
bool isFixedGainG1() const;
|
|
void setFixedGainG1(bool const value);
|
|
bool fixedGainG1IsSet() const;
|
|
void unsetFixed_gain_g1();
|
|
/// <summary>
|
|
/// Use high G0 (for low energy applications)
|
|
/// </summary>
|
|
bool isUseGainHg0() const;
|
|
void setUseGainHg0(bool const value);
|
|
bool useGainHg0IsSet() const;
|
|
void unsetUse_gain_hg0();
|
|
|
|
friend void to_json(nlohmann::json& j, const Detector_settings& o);
|
|
friend void from_json(const nlohmann::json& j, Detector_settings& o);
|
|
protected:
|
|
int64_t m_Frame_time_us;
|
|
|
|
int64_t m_Count_time_us;
|
|
bool m_Count_time_usIsSet;
|
|
int64_t m_Storage_cell_count;
|
|
|
|
bool m_Internal_frame_generator;
|
|
|
|
int64_t m_Internal_frame_generator_images;
|
|
|
|
int64_t m_Pedestal_g0_frames;
|
|
|
|
int64_t m_Pedestal_g1_frames;
|
|
|
|
int64_t m_Pedestal_g2_frames;
|
|
|
|
int64_t m_Pedestal_g0_rms_limit;
|
|
|
|
int64_t m_Pedestal_min_image_count;
|
|
|
|
int64_t m_Storage_cell_delay_ns;
|
|
|
|
int64_t m_Detector_trigger_delay_ns;
|
|
bool m_Detector_trigger_delay_nsIsSet;
|
|
bool m_Fixed_gain_g1;
|
|
bool m_Fixed_gain_g1IsSet;
|
|
bool m_Use_gain_hg0;
|
|
bool m_Use_gain_hg0IsSet;
|
|
|
|
};
|
|
|
|
} // namespace org::openapitools::server::model
|
|
|
|
#endif /* Detector_settings_H_ */
|