// SPDX-FileCopyrightText: 2026 Filip Leonarski, Paul Scherrer Institute // SPDX-License-Identifier: GPL-3.0-only #include "BraggPanel.h" BraggPanel MakeBraggPanel(const DetectorModules &modules, int64_t panel, int64_t width, int64_t height, float x, float y) { if (modules.empty()) return {x, y, 1.0f, 0.0f, 0.0f, 1.0f, 0, 0, static_cast(width - 1), static_cast(height - 1)}; if (panel < 0) return {x, y, 1.0f, 0.0f, 0.0f, 1.0f, 0, 0, -1, -1}; const DetectorModule &m = modules[panel]; const auto [px, py] = m.ImageToPlane(x, y); return {static_cast(px), static_cast(py), static_cast(m.fx), static_cast(m.fy), static_cast(m.sx), static_cast(m.sy), static_cast(m.x0), static_cast(m.y0), static_cast(m.x0 + m.width - 1), static_cast(m.y0 + m.height - 1)}; }