122 lines
3.5 KiB
C++
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.58
|
|
* 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_ */
|