# Quil-T Waveforms¶

All Quil-T waveforms have corresponding PyQuil syntax objects. For example, a waveform written in Quil-T syntax as flat(iq: 1.0, duration: 1e-5) corresponds to a FlatWaveform object.

 FlatWaveform(duration, iq[, scale, phase, …]) A flat (constant) waveform. GaussianWaveform(duration, fwhm, t0[, …]) A Gaussian pulse. DragGaussianWaveform(duration, fwhm, t0, …) A DRAG Gaussian pulse. HrmGaussianWaveform(duration, fwhm, t0, anh, …) A Hermite Gaussian waveform. ErfSquareWaveform(duration, risetime, …[, …]) A pulse with a flat top and edges that are error functions (erf). BoxcarAveragerKernel(duration[, scale, …])

## Custom Waveforms¶

Custom waveform definitions, introduced in Quil-T with DEFWAVEFORM, have a corresponding DefWaveform object. These are referenced in PyQuil with WaveformReference.