/** * 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. */ /* * Indexing_settings.h * * Settings for crystallography indexing */ #ifndef Indexing_settings_H_ #define Indexing_settings_H_ #include "Indexing_algorithm.h" #include namespace org::openapitools::server::model { /// /// Settings for crystallography indexing /// class Indexing_settings { public: Indexing_settings(); virtual ~Indexing_settings() = default; /// /// Validate the current data in the model. Throws a ValidationException on failure. /// void validate() const; /// /// Validate the current data in the model. Returns false on error and writes an error /// message into the given stringstream. /// bool validate(std::stringstream& msg) const; /// /// Helper overload for validate. Used when one model stores another model and calls it's validate. /// Not meant to be called outside that case. /// bool validate(std::stringstream& msg, const std::string& pathPrefix) const; bool operator==(const Indexing_settings& rhs) const; bool operator!=(const Indexing_settings& rhs) const; ///////////////////////////////////////////// /// Indexing_settings members /// /// /// org::openapitools::server::model::Indexing_algorithm getAlgorithm() const; void setAlgorithm(org::openapitools::server::model::Indexing_algorithm const& value); /// /// Largest unit cell to be indexed by FFT algorithm; parameter value affects execution time of FFT /// float getFftMaxUnitCellA() const; void setFftMaxUnitCellA(float const value); /// /// Smallest unit cell to be indexed by FFT algorithm; parameter value affects execution time of FFT /// float getFftMinUnitCellA() const; void setFftMinUnitCellA(float const value); /// /// Highest resolution of spots used for FFT algorithm; parameter value affects execution time of FFT. There is also correlation between smallest unit cell and max resolution, which need to be checked for very small systems. /// float getFftHighResolutionA() const; void setFftHighResolutionA(float const value); /// /// Number of search directions for the FFT algorithm; parameter value affects execution time of FFT. /// int64_t getFftNumVectors() const; void setFftNumVectors(int64_t const value); /// /// Acceptance tolerance for spots after the indexing run - the larger the number, the more spots will be accepted /// float getTolerance() const; void setTolerance(float const value); friend void to_json(nlohmann::json& j, const Indexing_settings& o); friend void from_json(const nlohmann::json& j, Indexing_settings& o); protected: org::openapitools::server::model::Indexing_algorithm m_Algorithm; float m_Fft_max_unit_cell_A; float m_Fft_min_unit_cell_A; float m_Fft_high_resolution_A; int64_t m_Fft_num_vectors; float m_Tolerance; }; } // namespace org::openapitools::server::model #endif /* Indexing_settings_H_ */