qat.backend.waveform.executable module

class PositionalAcquireData(**data)

Bases: BaseModel

Contains the position to acquire from the readout signal, and the length of the readout.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

length: int
mode: AcquireMode
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

output_variable: str
position: int
class WaveformChannelData(**data)

Bases: BaseModel

Contains the channel data for a WaveformV1Program.

Stores the waveforms and acqusitions needed for execution. No control flow is possible.

Parameters:
  • buffer (list[complex]) – The waveform to be sent at each sample.

  • baseband_frequency (float | None) – The frequency to be set for the baseband.

  • acquires (list[AcquireData]) – Acquire information needed for readouts.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

acquires: list[PositionalAcquireData]
baseband_frequency: float | None
buffer: Annotated[PydArray]
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class WaveformProgram(**data)

Bases: AbstractProgram

Contains the information to execute a task using the waveform buffer channel hardware.

Contains the buffers and acquire information for each channel, the repetition period for each shot and the number of shots to execute.

Parameters:
  • channel_data – Contains the waveform buffers, acquisitions and baseband frequencies for each physical channel.

  • repetition_time – The time each shot takes to execute.

  • shots – The number of shots to be executed as part of the program.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

property acquire_shapes: dict[str, tuple[int, ...]]
property acquires: list[PositionalAcquireData]
channel_data: dict[str, WaveformChannelData]
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

repetition_time: float
shots: int