31 lines
939 B
C++
31 lines
939 B
C++
// 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 |