SimpleDiffractionPatternPrediction.h 906 Bytes
Newer Older
1
2
3
#pragma once


4
#include <pinkIndexer/SimpleProjection.h>
5
6
#include <Eigen/Dense>

7
namespace pinkIndexer
8
{
9
10
11
12
    class SimpleDiffractionPatternPrediction
    {
      public:
        SimpleDiffractionPatternPrediction(const ExperimentSettings& experimentSettings);
13

14
15
        void getPeaksOnEwaldSphere(Eigen::Matrix3Xf& peaksOnEwaldSphere, Eigen::Matrix3Xi& millerIndices, const Lattice& lattice);
        void predictPattern(Eigen::Matrix2Xf& predictedPeaks, Eigen::Matrix3Xi& millerIndices, Eigen::Matrix3Xf& projectionDirections, const Lattice& lattice);
16

17
18
      private:
        SimpleProjection reciprocalToRealProjection;
19

20
21
22
23
24
25
        float maxResolutionAngle;
        float reflectionRadius;
        float reciprocalLambdaShort, reciprocalLambdaLong;
        float reciprocalLambdaShort_extended_squared, reciprocalLambdaLong_extended_squared;
        float detectorDistance;
    };
26
} // namespace pinkIndexer