~This pull request is still work in progress (WIP), please do not merge yet.~
Feature Changes:
Pulses have new property type of new type PulseType specifying if pulse is wait, readout or normal pulse
Variables (Arguments of functions representing changing lengths) are now passed as keyword arguments and identified by their name, i.e. t will have the same meaning in all pulses within the sequence, while t2 will have a different meaning, independent of their position in the function
Pulse.get_envelope and Pulse.get_complex_envelope now also handle lengths depending on variables
Pulse.get_complex_envelope has a new parameter start_phase that is taken into account for the IQ modulation
Order of pulses at the same time in PulseSequence.plot is reversed, so the pulse with skip=False will be at the bottom as it defines when the next pulse starts
Global phase for IQ mixing is now aligned with the beginning of the phase. This can still be changed but should be discussed first (maybe add a Sync pulse to the sequence, so user can decide where to align the global phase?)
Internal Changes:
Many pulse related features moved to the Pulse class, e.g. handling of variable length
add_wait and add_readout both add a normal pulse to the PulseSequence with appropriate type
Pulses are directly put into a 2D array (1d for time order, 2d for all pulses starting at the same time), no dictionary anymore for pulses in PulseSequence
~This pull request is still work in progress (WIP), please do not merge yet.~
Feature Changes:
type
of new typePulseType
specifying if pulse is wait, readout or normal pulset
will have the same meaning in all pulses within the sequence, whilet2
will have a different meaning, independent of their position in the functionPulse.get_envelope
andPulse.get_complex_envelope
now also handle lengths depending on variablesPulse.get_complex_envelope
has a new parameterstart_phase
that is taken into account for the IQ modulationPulseSequence.plot
is reversed, so the pulse withskip=False
will be at the bottom as it defines when the next pulse startsInternal Changes:
Pulse
class, e.g. handling of variable lengthadd_wait
andadd_readout
both add a normal pulse to thePulseSequence
with appropriate typePulseSequence