From 39941d879a776167b5fa5556aca506cdde0341b4 Mon Sep 17 00:00:00 2001 From: jupfi Date: Tue, 4 Jun 2024 14:55:21 +0200 Subject: [PATCH] Added phase information, made imports prettier. --- .../simulator_controller.py | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/src/quackseq_simulator/simulator_controller.py b/src/quackseq_simulator/simulator_controller.py index 7aed6ac..9a8b96e 100644 --- a/src/quackseq_simulator/simulator_controller.py +++ b/src/quackseq_simulator/simulator_controller.py @@ -9,9 +9,7 @@ from quackseq.measurement import Measurement from quackseq.pulseparameters import TXPulse, RXReadout from quackseq.pulsesequence import QuackSequence -from nqr_blochsimulator.classes.pulse import PulseArray -from nqr_blochsimulator.classes.sample import Sample -from nqr_blochsimulator.classes.simulation import Simulation +from nqr_blochsimulator import Sample, Simulation, PulseArray logger = logging.getLogger(__name__) @@ -135,6 +133,8 @@ class SimulatorController(SpectrometerController): events = sequence.events amplitude_array = list() + phase_array = list() + for event in events: logger.debug("Event %s has parameters: %s", event.name, event.parameters) for parameter in event.parameters.values(): @@ -159,6 +159,13 @@ class SimulatorController(SpectrometerController): ) amplitude_array.append(pulse_amplitude) + + # Phase stuff + phase = parameter.get_option_by_name(TXPulse.TX_PHASE).value + # Degrees to radians + phase = np.radians(phase) + phase_array.append([phase for _ in range(len(pulse_amplitude))]) + elif ( parameter.name == sequence.TX_PULSE and parameter.get_option_by_name(TXPulse.RELATIVE_AMPLITUDE).value @@ -166,11 +173,11 @@ class SimulatorController(SpectrometerController): ): # If we have a wait, we need to add it to the pulse array amplitude_array.append(np.zeros(int(event.duration / dwell_time))) + phase_array.append(np.zeros(int(event.duration / dwell_time))) + amplitude_array = np.concatenate(amplitude_array) - - # This has not yet been implemented right now the phase is always 0 - phase_array = np.zeros(len(amplitude_array)) + phase_array = np.concatenate(phase_array) pulse_array = PulseArray( pulseamplitude=amplitude_array,