MultiplexedProbeTimeBox#

Module: iqm.pulse.timebox

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

Bases: MeasureBox

A MeasureBox for multiplexing IQ pulses in probe channels.

A MultiplexedProbeTimeBox’s atom contains exactly one ReadoutTrigger for each probe channel. This class implements multiplex() between MultiplexedProbeTimeBox instances such that every ReadoutTrigger on overlapping probe channels is multiplexed with ReadoutTrigger.__add__() (non-overlapping probe channel contents are just combined).

Attributes

measure_components

The MeasureBoxes.measure_components of the MeasureBoxes self belongs to.

additional_components

The MeasureBoxes.additional_components of the MeasureBoxes self belongs to.

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.

multiplex

Multiplex two atomic MultiplexedProbeTimeBox instances together.

Parameters:
multiplex(other)#

Multiplex two atomic MultiplexedProbeTimeBox instances together.

The multiplexing is done such that every ReadoutTrigger belonging to the same probe channel are multiplexed together. Otherwise, behaves like MeasureBox.__add__, returning a normal MeasureBox.

Parameters:

other (MeasureBox)

Return type:

MeasureBox

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

Inheritance

Inheritance diagram of iqm.pulse.timebox.MultiplexedProbeTimeBox