Play¶
- class Play(pulse, channel, name=None)[source]¶
This instruction is responsible for applying a pulse on a channel.
The pulse specifies the exact time dynamics of the output signal envelope for a limited time. The output is modulated by a phase and frequency which are controlled by separate instructions. The pulse duration must be fixed, and is implicitly given in terms of the cycle time, dt, of the backend.
Create a new pulse instruction.
- Parameters
pulse (
Pulse
) – A pulse waveform description, such asSamplePulse
.channel (
PulseChannel
) – The channel to which the pulse is applied.name (
Optional
[str
]) – Name of the instruction for display purposes. Defaults topulse.name
.
- Raises
PulseError – If pulse is not a Pulse type.
Attributes
Return the
Channel
that this instruction is scheduled on.Returns channels that this schedule uses.
The associated command.
Duration of this instruction.
Unique identifier for this instruction.
Iterable for getting instructions from Schedule tree.
Name of this instruction.
Return instruction operands.
A description of the samples that will be played.
Relative begin time of this instruction.
Relative end time of this instruction.
Occupied time slots by this instruction.
Methods
Play.append
(schedule[, name])Return a new
Schedule
withschedule
inserted at the maximum time over all channels shared betweenself
andschedule
.Play.ch_duration
(*channels)Return duration of the supplied channels in this Instruction.
Play.ch_start_time
(*channels)Return minimum start time for supplied channels.
Play.ch_stop_time
(*channels)Return maximum start time for supplied channels.
Play.draw
([dt, style, filename, …])Plot the instruction.
Return itself as already single instruction.
Play.insert
(start_time, schedule[, name])Return a new
Schedule
withschedule
inserted withinself
atstart_time
.Play.shift
(time[, name])Return a new schedule shifted forward by time.
Play.union
(*schedules[, name])Return a new schedule which is the union of self and schedule.