CircularDrivingField

class CircularDrivingField(name, plane_normal, phase_reference, target_spins=None)

Represent a circularly polarized AC magnetic field in a plane.

Parameters:
  • name (str) – Name of the driving field.

  • plane_normal (List[float]) – Normal vector of the polarization plane.

  • phase_reference (List[float]) – Reference direction defining the zero-phase axis in the plane.

  • target_spins (Sequence[str] | None) – Spin names affected by the field, or None for all spins.

Note

phase_reference is projected onto the plane orthogonal to plane_normal and normalized. The projected direction defines the in-phase polarization axis, while the quadrature axis is constructed as cross(plane_normal, phase_reference). Therefore phase_reference must have a non-zero component within the polarization plane.

Methods

add_discrete_pulse(samples, frequency, dt[, ...])

Add a piecewise-constant pulse to this driving field.

add_pulse(pulse)

Add a pre-built Pulse to this driving field.

add_rectangle_pulse(amplitude, frequency, ...)

Add a rectangular pulse to this driving field.

add_wait(duration)

Add an idle section to this driving field.

plot_pulses([function, start, end, ax])

Plot the added pulse(s).

remove_all_pulses()

Remove all pulses from this driving field only.

Attributes

last_pulse_end

End time of the latest pulse on this field (in \(\mu\text{s}\)).

name

Name of the driving field.

phase_quadrature

Quadrature polarization axis.

phase_reference

Reference direction defining the in-phase polarization axis.

plane_normal

Normal vector of the polarization plane.

pulses

Ordered list of pulses on this driving field.

target_spins

Spin names affected by this driving field, or None for all spins.