Files
Jungfraujoch/common/Reflection.h
T
leonarski_f d5b928fa73
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 13m55s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 14m4s
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 14m34s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 15m45s
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 16m22s
Build Packages / build:rpm (rocky9_sls9) (push) Successful in 17m11s
Build Packages / build:rpm (rocky8) (push) Successful in 9m49s
Build Packages / build:rpm (ubuntu2204) (push) Successful in 11m39s
Build Packages / Generate python client (push) Successful in 35s
Build Packages / build:rpm (rocky9) (push) Successful in 13m9s
Build Packages / Create release (push) Skipped
Build Packages / Build documentation (push) Successful in 50s
Build Packages / build:rpm (ubuntu2404) (push) Successful in 13m19s
Build Packages / XDS test (durin plugin) (push) Successful in 11m24s
Build Packages / XDS test (neggia plugin) (push) Successful in 10m32s
Build Packages / XDS test (JFJoch plugin) (push) Successful in 11m2s
Build Packages / DIALS test (push) Successful in 14m40s
Build Packages / Unit tests (push) Successful in 56m52s
Merge: Simplify code for merging, make it more efficient
2026-05-13 12:27:50 +02:00

45 lines
1.1 KiB
C++

// SPDX-FileCopyrightText: 2025 Filip Leonarski, Paul Scherrer Institute <filip.leonarski@psi.ch>
// SPDX-License-Identifier: GPL-3.0-only
#ifndef JFJOCH_REFLECTION_H
#define JFJOCH_REFLECTION_H
#include <cstdint>
#include <optional>
#include <cmath>
#include "SpotToSave.h"
struct Reflection {
int32_t h;
int32_t k;
int32_t l;
float image_number; // Can be in-between for 3D integration
float delta_phi_deg; // phi angle from XDS - difference from middle of current frame (NOT an absolute angle)
float predicted_x;
float predicted_y;
float d;
float I;
float bkg;
float sigma;
float dist_ewald;
float rlp;
float partiality;
float zeta;
float scaling_correction; // I_true = scaling_correction * I; scaling_correction = rlp / (partiality * image_scale)
bool observed = false;
};
struct MergedReflection {
int32_t h = 0;
int32_t k = 0;
int32_t l = 0;
float I = NAN;
float sigma = NAN;
float I_anom[2] = {NAN, NAN};
float sigma_anom[2] = {NAN, NAN};
float d = 0.0;
};
#endif //JFJOCH_REFLECTION_H