Files
Jungfraujoch/broker/gen/model/Detector_settings.h
2024-07-06 09:34:44 +02:00

185 lines
5.6 KiB
C++

/**
* Jungfraujoch
* Jungfraujoch Broker Web API
*
* The version of the OpenAPI document: 1.0.0-rc.12
* 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);
bool storageCellCountIsSet() const;
void unsetStorage_cell_count();
/// <summary>
/// Use internal frame generator in FPGA instead of getting data from a real detector
/// </summary>
bool isInternalFrameGenerator() const;
void setInternalFrameGenerator(bool const value);
bool internalFrameGeneratorIsSet() const;
void unsetInternal_frame_generator();
/// <summary>
///
/// </summary>
int64_t getInternalFrameGeneratorImages() const;
void setInternalFrameGeneratorImages(int64_t const value);
bool internalFrameGeneratorImagesIsSet() const;
void unsetInternal_frame_generator_images();
/// <summary>
/// Turn off conversion of pixel read-out to photon count
/// </summary>
bool isCollectRawData() const;
void setCollectRawData(bool const value);
bool collectRawDataIsSet() const;
void unsetCollect_raw_data();
/// <summary>
///
/// </summary>
int64_t getPedestalG0Frames() const;
void setPedestalG0Frames(int64_t const value);
bool pedestalG0FramesIsSet() const;
void unsetPedestal_g0_frames();
/// <summary>
///
/// </summary>
int64_t getPedestalG1Frames() const;
void setPedestalG1Frames(int64_t const value);
bool pedestalG1FramesIsSet() const;
void unsetPedestal_g1_frames();
/// <summary>
///
/// </summary>
int64_t getPedestalG2Frames() const;
void setPedestalG2Frames(int64_t const value);
bool pedestalG2FramesIsSet() const;
void unsetPedestal_g2_frames();
/// <summary>
/// Delay between two storage cells [us]
/// </summary>
float getStorageCellDelayUs() const;
void setStorageCellDelayUs(float const value);
bool storageCellDelayUsIsSet() const;
void unsetStorage_cell_delay_us();
/// <summary>
/// Delay between TTL trigger and acquisition start [us]
/// </summary>
float getDetectorTriggerDelayUs() const;
void setDetectorTriggerDelayUs(float const value);
bool detectorTriggerDelayUsIsSet() const;
void unsetDetector_trigger_delay_us();
/// <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_Storage_cell_countIsSet;
bool m_Internal_frame_generator;
bool m_Internal_frame_generatorIsSet;
int64_t m_Internal_frame_generator_images;
bool m_Internal_frame_generator_imagesIsSet;
bool m_Collect_raw_data;
bool m_Collect_raw_dataIsSet;
int64_t m_Pedestal_g0_frames;
bool m_Pedestal_g0_framesIsSet;
int64_t m_Pedestal_g1_frames;
bool m_Pedestal_g1_framesIsSet;
int64_t m_Pedestal_g2_frames;
bool m_Pedestal_g2_framesIsSet;
float m_Storage_cell_delay_us;
bool m_Storage_cell_delay_usIsSet;
float m_Detector_trigger_delay_us;
bool m_Detector_trigger_delay_usIsSet;
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_ */