24 const std::string
name()
const override;
25 int version()
const override;
26 const std::vector<std::string>
seeAlso()
const override {
return {
"MDNormSCD",
"MDNormSCDPreprocessIncoherent"}; }
27 const std::string category()
const override;
28 const std::string summary()
const override;
29 static constexpr double CHARGEBINSIZE = 1.0;
30 static constexpr double GONIOBINSTEP = 0.25;
31 static constexpr double MINPROTONCHARGE = 0.1;
32 static constexpr double STATIONARYANGLIM = 0.1;
39 std::string inputEnergyMode()
const;
43 std::vector<coord_t> getValuesFromOtherDimensions(
bool &skipNormalization, uint16_t expInfoIndex = 0)
const;
45 bool &skipNormalization);
47 void cacheDimensionXValues();
48 void calculateNormalization(
const std::vector<coord_t> &otherValues,
const Kernel::Matrix<coord_t> &affineTrans,
49 uint16_t expInfoIndex);
50 void calculateNormContinuous(
const std::vector<coord_t> &otherValues,
const Kernel::Matrix<coord_t> &affineTrans,
51 uint16_t expInfoIndex);
52 void calculateNormInner(
const API::SpectrumInfo &spectrumInfo,
const double protonCharge,
55 void calculateIntersections(std::vector<std::array<double, 4>> &intersections,
const double theta,
const double phi);
64 double m_Ei, m_ki, m_kfmin, m_kfmax;
70 size_t m_hIdx, m_kIdx, m_lIdx,
m_eIdx;
72 std::vector<double> m_hX, m_kX, m_lX,
m_eX;