From bdb5dd7cd5662d8fe8431e8f5209e0ee28eac6b5 Mon Sep 17 00:00:00 2001 From: jupfi Date: Sat, 16 Nov 2024 13:00:52 +0100 Subject: [PATCH] Phase cycling implementation. --- src/quackseq/spectrometer/spectrometer_controller.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/quackseq/spectrometer/spectrometer_controller.py b/src/quackseq/spectrometer/spectrometer_controller.py index 95aabbe..5ed0fe5 100644 --- a/src/quackseq/spectrometer/spectrometer_controller.py +++ b/src/quackseq/spectrometer/spectrometer_controller.py @@ -30,7 +30,7 @@ class SpectrometerController: """This method translates the RX event of the pulse sequence to the limr object. Returns: - tuple: A tuple containing the start and stop time of the RX event in µs and the phase of the RX event. + tuple: A tuple containing the start and stop time of the RX event in µs and the phase of the RX event and the phase as a list of different phase values for each phasecycle. """ # This is a correction factor for the RX event. The offset of the first pulse is 2.2µs longer than from the specified samples. events = sequence.events @@ -55,8 +55,12 @@ class SpectrometerController: [event.duration for event in previous_events] ) rx_duration = event.duration - # This is fugly - readout_scheme = sequence.phase_table.readout_scheme.readout_scheme + + # We get the RX phase from the RX event + readout_scheme = parameter.get_option_by_name( + RXReadout.READOUT_SCHEME + ) + readout_scheme = readout_scheme.get_value()[0] rx_begin = float(previous_events_duration) if rx_duration: