diff --git a/jungfrau/JFConversionFixedPoint.cpp b/jungfrau/JFConversionFixedPoint.cpp index a81c59c9..98197a61 100644 --- a/jungfrau/JFConversionFixedPoint.cpp +++ b/jungfrau/JFConversionFixedPoint.cpp @@ -57,49 +57,6 @@ inline int32_t jf_round(int32_t in) { return in - half; } -void JFConversionFixedPoint::ConvertLine(int16_t *dest, const uint16_t *source, int line) { - auto gain_g0_aligned = std::assume_aligned<64>(gain_g0); - auto gain_g1_aligned = std::assume_aligned<64>(gain_g1); - auto gain_g2_aligned = std::assume_aligned<64>(gain_g2); - auto pedestal_g0_aligned = std::assume_aligned<64>(pedestal_g0); - auto pedestal_g1_aligned = std::assume_aligned<64>(pedestal_g1); - auto pedestal_g2_aligned = std::assume_aligned<64>(pedestal_g2); - - for (int i = 0; i < RAW_MODULE_COLS; i++) { - uint16_t gainbits = source[i] & 0xc000; - int32_t adc = source[i] & 0x3fff; - int32_t val = INT32_MIN; - - switch (gainbits) { - case 0: - [[likely]] - val = (adc - pedestal_g0_aligned[i + line * RAW_MODULE_COLS]) * gain_g0_aligned[i + line * RAW_MODULE_COLS]; - break; - case 0x4000: - if (source[i] != 0x4000) - val = (adc - pedestal_g1_aligned[i + line * RAW_MODULE_COLS]) * gain_g1_aligned[i + line * RAW_MODULE_COLS]; - break; - case 0xc000: - if (source[i] == 0xc000) - val = INT32_MAX; - else if (source[i] != 0xffff) - val = (adc - pedestal_g2_aligned[i + line * RAW_MODULE_COLS]) * gain_g2_aligned[i + line * RAW_MODULE_COLS]; - break; - default: - break; - } - - if (val <= INT16_MIN * (1L << FIXED_PRECISION)) - [[unlikely]] - dest[i] = INT16_MIN; - else if (val >= INT16_MAX * (1L << FIXED_PRECISION)) - [[unlikely]] - dest[i] = INT16_MAX; - else - dest[i] = static_cast(jf_round(val)/ (1L << FIXED_PRECISION)); - } -} - void JFConversionFixedPoint::ConvertModule(int16_t *dest, const uint16_t *source) { auto gain_g0_aligned = std::assume_aligned<64>(gain_g0); auto gain_g1_aligned = std::assume_aligned<64>(gain_g1); diff --git a/jungfrau/JFConversionFixedPoint.h b/jungfrau/JFConversionFixedPoint.h index b0cff7bf..779924d3 100644 --- a/jungfrau/JFConversionFixedPoint.h +++ b/jungfrau/JFConversionFixedPoint.h @@ -13,7 +13,6 @@ class JFConversionFixedPoint : public JFConversion { int32_t *gain_g0; int32_t *gain_g1; int32_t *gain_g2; - void ConvertLine(int16_t *dest, const uint16_t *source, int line); public: JFConversionFixedPoint(); ~JFConversionFixedPoint();