changed RoMode to be consistent with slsdet

This commit is contained in:
2026-02-03 17:16:15 +01:00
parent 6b4a2a6fb1
commit f5ea01d238
8 changed files with 33 additions and 33 deletions

View File

@@ -135,7 +135,7 @@ class RawMasterFile {
size_t n_modules() const; size_t n_modules() const;
uint8_t quad() const; uint8_t quad() const;
ReadingMode get_reading_mode() const; ReadoutMode get_reading_mode() const;
std::optional<size_t> analog_samples() const; std::optional<size_t> analog_samples() const;
std::optional<size_t> digital_samples() const; std::optional<size_t> digital_samples() const;

View File

@@ -188,13 +188,13 @@ struct ROI {
} }
}; };
enum ReadingMode : uint8_t { enum ReadoutMode : uint8_t {
Analog = 0, ANALOG_ONLY = 0,
Digital = 1, DIGITAL_ONLY = 1,
AnalogAndDigital = 2, ANALOG_AND_DIGITAL = 2,
Transceiver = 3, TRANSCEIVER_ONLY = 3,
DigitalAndTransceiver = 4, DIGITAL_AND_TRANSCEIVER = 4,
Unknown = 5 UNKNOWN = 5
}; };
using dynamic_shape = std::vector<ssize_t>; using dynamic_shape = std::vector<ssize_t>;

View File

@@ -5,7 +5,7 @@ from . import _aare
from ._aare import File, RawMasterFile, RawSubFile, JungfrauDataFile from ._aare import File, RawMasterFile, RawSubFile, JungfrauDataFile
from ._aare import Pedestal_d, Pedestal_f, ClusterFinder_Cluster3x3i, VarClusterFinder from ._aare import Pedestal_d, Pedestal_f, ClusterFinder_Cluster3x3i, VarClusterFinder
from ._aare import DetectorType, ReadingMode from ._aare import DetectorType, ReadoutMode
from ._aare import hitmap from ._aare import hitmap
from ._aare import ROI from ._aare import ROI
from ._aare import corner from ._aare import corner

View File

@@ -1,7 +1,7 @@
# SPDX-License-Identifier: MPL-2.0 # SPDX-License-Identifier: MPL-2.0
import numpy as np import numpy as np
from . import _aare from . import _aare
from aare import ReadingMode from aare import ReadoutMode
class AdcSar04Transform64to16: class AdcSar04Transform64to16:
def __call__(self, data): def __call__(self, data):
@@ -71,15 +71,15 @@ class Matterhorn10Transform:
self.dynamic_range = dynamic_range self.dynamic_range = dynamic_range
self.num_counters = num_counters self.num_counters = num_counters
def compatibility(self, readingmode : ReadingMode): def compatibility(self, readingmode : ReadoutMode):
""" """
checks if Matterhorn10Transform is compatible with given parameters checks if Matterhorn10Transform is compatible with given parameters
:param readingmode: Reading mode set :param readingmode: Reading mode set
:type readingmode: ReadingMode :type readingmode: ReadoutMode
:raises ValueError: if not compatible :raises ValueError: if not compatible
""" """
if(readingmode != ReadingMode.Transceiver): if(readingmode != ReadoutMode.TRANSCEIVER_ONLY):
raise ValueError(f"Incompatible Transformation. Matterhorn10Transform only requires transceiver samples. However reading mode is {readingmode}.") raise ValueError(f"Incompatible Transformation. Matterhorn10Transform only requires transceiver samples. However reading mode is {readingmode}.")
pass pass

View File

@@ -24,13 +24,13 @@ using namespace ::aare;
void define_raw_master_file_bindings(py::module &m) { void define_raw_master_file_bindings(py::module &m) {
py::enum_<ReadingMode>(m, "ReadingMode") py::enum_<ReadoutMode>(m, "ReadoutMode")
.value("Analog", ReadingMode::Analog) .value("ANALOG_ONLY", ReadoutMode::ANALOG_ONLY)
.value("Digital", ReadingMode::Digital) .value("DIGITAL_ONLY", ReadoutMode::DIGITAL_ONLY)
.value("AnalogAndDigital", ReadingMode::AnalogAndDigital) .value("ANALOG_AND_DIGITAL", ReadoutMode::ANALOG_AND_DIGITAL)
.value("Transceiver", ReadingMode::Transceiver) .value("TRANSCEIVER_ONLY", ReadoutMode::TRANSCEIVER_ONLY)
.value("DigitalAndTransceiver", ReadingMode::DigitalAndTransceiver) .value("DIGITAL_AND_TRANSCEIVER", ReadoutMode::DIGITAL_AND_TRANSCEIVER)
.value("Unknown", ReadingMode::Unknown) .value("UNKNOWN", ReadoutMode::UNKNOWN)
.export_values(); .export_values();
py::class_<RawMasterFile>(m, "RawMasterFile") py::class_<RawMasterFile>(m, "RawMasterFile")

View File

@@ -1,7 +1,7 @@
import pytest import pytest
from aare import RawMasterFile, ReadingMode, DetectorType from aare import RawMasterFile, ReadoutMode, DetectorType
@pytest.mark.withdata @pytest.mark.withdata
@@ -10,5 +10,5 @@ def test_read_rawfile_quad_eiger_and_compare_to_numpy(test_data_path):
file_name = test_data_path/'raw/jungfrau/jungfrau_single_master_0.json' file_name = test_data_path/'raw/jungfrau/jungfrau_single_master_0.json'
f = RawMasterFile(file_name) f = RawMasterFile(file_name)
assert(f.reading_mode == ReadingMode.Unknown) assert(f.reading_mode == ReadoutMode.UNKNOWN)
assert(f.detector_type == DetectorType.Jungfrau) assert(f.detector_type == DetectorType.Jungfrau)

View File

@@ -195,27 +195,27 @@ ScanParameters RawMasterFile::scan_parameters() const {
std::optional<ROI> RawMasterFile::roi() const { return m_roi; } std::optional<ROI> RawMasterFile::roi() const { return m_roi; }
ReadingMode RawMasterFile::get_reading_mode() const { ReadoutMode RawMasterFile::get_reading_mode() const {
if (m_type != DetectorType::ChipTestBoard && if (m_type != DetectorType::ChipTestBoard &&
m_type != DetectorType::Xilinx_ChipTestBoard) { m_type != DetectorType::Xilinx_ChipTestBoard) {
LOG(TLogLevel::logINFO) LOG(TLogLevel::logINFO)
<< "reading mode is only available for CTB detectors."; << "reading mode is only available for CTB detectors.";
return ReadingMode::Unknown; return ReadoutMode::UNKNOWN;
} }
if (m_analog_flag && m_digital_flag) { if (m_analog_flag && m_digital_flag) {
return ReadingMode::AnalogAndDigital; return ReadoutMode::ANALOG_AND_DIGITAL;
} else if (m_analog_flag) { } else if (m_analog_flag) {
return ReadingMode::Analog; return ReadoutMode::ANALOG_ONLY;
} else if (m_digital_flag && m_transceiver_flag) { } else if (m_digital_flag && m_transceiver_flag) {
return ReadingMode::DigitalAndTransceiver; return ReadoutMode::DIGITAL_AND_TRANSCEIVER;
} else if (m_digital_flag) { } else if (m_digital_flag) {
return ReadingMode::Digital; return ReadoutMode::DIGITAL_ONLY;
} else if (m_transceiver_flag) { } else if (m_transceiver_flag) {
return ReadingMode::Transceiver; return ReadoutMode::TRANSCEIVER_ONLY;
} else { } else {
return ReadingMode::Unknown; return ReadoutMode::UNKNOWN;
} }
} }

View File

@@ -147,7 +147,7 @@ TEST_CASE("Parse a master file in .json format", "[.integration]") {
REQUIRE_FALSE(f.analog_samples()); REQUIRE_FALSE(f.analog_samples());
REQUIRE_FALSE(f.digital_samples()); REQUIRE_FALSE(f.digital_samples());
REQUIRE(f.get_reading_mode() == ReadingMode::Unknown); REQUIRE(f.get_reading_mode() == ReadoutMode::UNKNOWN);
} }
TEST_CASE("Parse a master file in old .raw format", TEST_CASE("Parse a master file in old .raw format",
@@ -213,7 +213,7 @@ TEST_CASE("Parse a master file in .raw format", "[.integration]") {
// Frames in File : 100 // Frames in File : 100
REQUIRE(f.frames_in_file() == 100); REQUIRE(f.frames_in_file() == 100);
REQUIRE(f.get_reading_mode() == ReadingMode::Unknown); REQUIRE(f.get_reading_mode() == ReadoutMode::ANALOG_AND_DIGITAL);
// #Frame Header // #Frame Header
// Frame Number : 8 bytes // Frame Number : 8 bytes
@@ -564,7 +564,7 @@ TEST_CASE("Parse a CTB file from stream") {
REQUIRE(f.digital_samples() == std::nullopt); // Digital Flag is 0 REQUIRE(f.digital_samples() == std::nullopt); // Digital Flag is 0
REQUIRE(f.transceiver_samples() == 1152); REQUIRE(f.transceiver_samples() == 1152);
REQUIRE(f.frames_in_file() == 40); REQUIRE(f.frames_in_file() == 40);
REQUIRE(f.get_reading_mode() == ReadingMode::Transceiver); REQUIRE(f.get_reading_mode() == ReadoutMode::TRANSCEIVER_ONLY);
} }
TEST_CASE("Parse v8.0 MYTHEN3 from stream") { TEST_CASE("Parse v8.0 MYTHEN3 from stream") {