ShelvedMeasureTimeBox

ShelvedMeasureTimeBox#

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

Bases: TimeBox

TimeBox representing a shelved measurement (ReadoutTrigger sandwiched between two PRX_12 operations).

ShelvedMeasureTimeBox is a composite TimeBox containing two children: * first one being the first PRX_12 operation for the locus components of the measure * second one being the ReadoutTrigger (MultiplexedProbeTimeBox) that includes the second PRX_12 operation.

Multiplexing is achieved so that ShelvedMeasureTimeBoxes support __add__ and __radd__ operations with other boxes of the same type and MultiplexedProbeTimeBoxes. The multiplexing operation is defined such that the initial PRX_12 boxes are added together (in case one of the multiplexed boxes is a MultiplexedProbeTimeBoxes, the initial PRX_12 is considered empty), and the probe boxes are multiplexed together via the logic defined in MultiplexedProbeTimeBoxes.__add__. This behaviour results in the correct timings of the associated pulses after the multiplexing.

Module: iqm.pulse.gates.measure

Attributes

prx_12_box

trigger_box

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

Parameters: