MultiplexedProbeTimeBox#

class iqm.pulse.timebox.MultiplexedProbeTimeBox(label, locus_components, atom, children=<factory>, scheduling=SchedulingStrategy.ASAP, scheduling_algorithm=SchedulingAlgorithm.HARD_BOUNDARY, neighborhood_components=<factory>)#

Bases: TimeBox

A TimeBox that contains any number of multiplexed readout pulses for probe channels.

A MultiplexedProbeTimeBox’s atom contains exactly one ReadoutTrigger for each probe channel.

Module: iqm.pulse.timebox

Attributes

label

Description the contents of the box for users' convenience.

locus_components

Names of the QPU components on which this timebox operates.

atom

Resolved contents of the TimeBox, or None if not resolved.

children

Further Timeboxes inside this TimeBox.

neighborhood_components

Dict of neighborhood range integers mapped to sets of components neighboring the locus of this TimeBox.

Methods

from_readout_trigger

Build an atomic MultiplexedProbeTimeBox` from a single ``ReadoutTrigger instruction.

Parameters:
static from_readout_trigger(readout_trigger, probe_channel, locus_components, *, label='', block_channels=(), block_duration=0)#

Build an atomic MultiplexedProbeTimeBox` from a single ``ReadoutTrigger instruction.

Parameters:
  • readout_trigger (ReadoutTrigger) – Readout trigger instruction.

  • probe_channel (str) – Name of the probe channel to play readout_trigger in.

  • locus_components (Iterable[str]) – Locus components.

  • label (str) – Label of the new timebox.

  • block_channels (Iterable[str]) – Names of channels to block.

  • block_duration (int) – Duration of the required blocking (in samples).

Returns:

atomic timebox containing readout_trigger in the channel probe_channel.

Return type:

MultiplexedProbeTimeBox