BaseDrivingField

class BaseDrivingField(name, target_spins=None)

Shared pulse-management functionality for driving fields.

Note

In most user code, prefer LinearDrivingField or CircularDrivingField instead of instantiating BaseDrivingField directly.

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

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

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.

pulses

Ordered list of pulses on this driving field.

target_spins

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