// Copyright (2019-2022) Paul Scherrer Institute // SPDX-License-Identifier: GPL-3.0-or-later #ifndef DIFFRACTIONGEOMETRY_H #define DIFFRACTIONGEOMETRY_H #include "Coord.h" #include "DiffractionSpot.h" class DiffractionGeometry { const float beam_x_pxl; const float beam_y_pxl; const float detector_distance_mm; const float pixel_size_mm; const float wavelength_A; const Coord scattering_vector; public: DiffractionGeometry(float beam_x_pxl, float beam_y_pxl, float detector_distance_mm, float pixel_size_mm, float wavelength_A, Coord scattering_vector); Coord DetectorToLab(float x_pxl, float y_pxl) const; Coord DetectorToRecip(float x_pxl, float y_pxl) const; float ResToPxl(float resolution) const; float PxlToRes(float detector_x, float detector_y) const; }; #endif