Files
Jungfraujoch/broker/gen/model/Rotation_axis.h
2025-07-15 09:55:19 +02:00

122 lines
3.5 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.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.
*/
/*
* Rotation_axis.h
*
* Definition of a crystal rotation axis
*/
#ifndef Rotation_axis_H_
#define Rotation_axis_H_
#include <string>
#include <vector>
#include <nlohmann/json.hpp>
namespace org::openapitools::server::model
{
/// <summary>
/// Definition of a crystal rotation axis
/// </summary>
class Rotation_axis
{
public:
Rotation_axis();
virtual ~Rotation_axis() = 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 Rotation_axis& rhs) const;
bool operator!=(const Rotation_axis& rhs) const;
/////////////////////////////////////////////
/// Rotation_axis members
/// <summary>
/// Name of rotation axis (e.g., omega, phi)
/// </summary>
std::string getName() const;
void setName(std::string const& value);
bool nameIsSet() const;
void unsetName();
/// <summary>
/// Angle step (per image) in degrees
/// </summary>
float getStep() const;
void setStep(float const value);
/// <summary>
/// Start angle in degrees
/// </summary>
float getStart() const;
void setStart(float const value);
bool startIsSet() const;
void unsetStart();
/// <summary>
/// Rotation axis
/// </summary>
std::vector<float> getVector() const;
void setVector(std::vector<float> const value);
/// <summary>
/// Translation (per image) for helical scan
/// </summary>
std::vector<float> getHelicalStepUm() const;
void setHelicalStepUm(std::vector<float> const value);
bool helicalStepUmIsSet() const;
void unsetHelical_step_um();
/// <summary>
/// Wedge angle value; used if rotation per image is smaller than increment between images (so particularly in screening)
/// </summary>
float getScreeningWedgeDeg() const;
void setScreeningWedgeDeg(float const value);
bool screeningWedgeDegIsSet() const;
void unsetScreening_wedge_deg();
friend void to_json(nlohmann::json& j, const Rotation_axis& o);
friend void from_json(const nlohmann::json& j, Rotation_axis& o);
protected:
std::string m_Name;
bool m_NameIsSet;
float m_Step;
float m_Start;
bool m_StartIsSet;
std::vector<float> m_Vector;
std::vector<float> m_Helical_step_um;
bool m_Helical_step_umIsSet;
float m_Screening_wedge_deg;
bool m_Screening_wedge_degIsSet;
};
} // namespace org::openapitools::server::model
#endif /* Rotation_axis_H_ */