// SPDX-FileCopyrightText: 2026 Filip Leonarski, Paul Scherrer Institute // SPDX-License-Identifier: GPL-3.0-only #pragma once #include "BraggIntegrationEngine.h" // Plain-C++ reference/fallback engine: a faithful serial re-expression of BraggIntegrate2D (box // sum) and ProfileIntegrate2D (Kabsch profile fit) reading the preprocessed int32 image. Also the // numeric oracle the CUDA engine is checked against. class BraggIntegrationEngineCPU : public BraggIntegrationEngine { public: explicit BraggIntegrationEngineCPU(const DiffractionExperiment &experiment); std::vector Run(const ImagePreprocessorBuffer &image, const std::vector &predicted, size_t npredicted, int64_t image_number) override; };