BraggIntegrate2D: Lorentz-Polarization correction is not directly applied

This commit is contained in:
2026-02-17 12:16:58 +01:00
parent 411276415e
commit 175e938616
@@ -63,8 +63,6 @@ void IntegrateReflection(Reflection &r, const T *image, size_t xpixel, size_t yp
}
}
#include <iostream>
template<class T>
std::vector<Reflection> IntegrateInternal(const DiffractionExperiment &experiment,
const CompressedImage &image,
@@ -88,22 +86,13 @@ std::vector<Reflection> IntegrateInternal(const DiffractionExperiment &experimen
const float r_2_sq = settings.GetR2() * settings.GetR2();
const float r_3_sq = settings.GetR3() * settings.GetR3();
const Coord S0 = geom.GetScatteringVector();
Coord m2 = Coord(0,0,0); // zero vector
if (experiment.GetGoniometer().has_value())
m2 = experiment.GetGoniometer()->GetAxis().Normalize();
for (int i = 0; i < npredicted; i++) {
auto r = predicted.at(i);
IntegrateReflection(r, ptr, image.GetWidth(), image.GetHeight(), special_value, saturation,
r_3, r_1_sq, r_2_sq, r_3_sq);
if (r.observed) {
if (experiment.GetPolarizationFactor())
r.rlp *= geom.CalcAzIntPolarizationCorr(r.predicted_x, r.predicted_y,
experiment.GetPolarizationFactor().value());
r.I *= r.rlp;
r.bkg *= r.rlp;
r.sigma *= r.rlp;
r.rlp *= geom.CalcAzIntPolarizationCorr(r.predicted_x, r.predicted_y, experiment.GetPolarizationFactor().value());
r.image_number = static_cast<float>(image_number);
ret.emplace_back(r);
}