qat.ir.measure module

class Acquire(**data)

Bases: QuantumInstruction

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.

delay: Optional[float]
duration: float
filter: Optional[Pulse]
inst: Literal['Acquire']
mode: AcquireMode
model_config: ClassVar[ConfigDict] = {'extra': 'forbid', 'ser_json_inf_nan': 'constants', 'use_enum_values': False, 'validate_assignment': True}

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

output_variable: str | None
property pulse_channel
suffix_incrementor: int
property target
targets: ValidatedSet[str]
class MeasureBlock(**data)

Bases: QuantumInstructionBlock

Encapsulates a measurement of a single (or multiple) qubit(s). It should only contain instructions that are associated with a measurement such as a measure pulse, an acquire or a synchronize.

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.

add(*instructions)
inst: Literal['MeasureBlock']
model_config: ClassVar[ConfigDict] = {'extra': 'forbid', 'ser_json_inf_nan': 'constants', 'use_enum_values': False, 'validate_assignment': True}

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

model_post_init(context: Any, /) None

We need to both initialize private attributes and call the user-defined model_post_init method.

Return type:

None

property output_variables
qubit_targets: ValidatedSet[QubitId]
classmethod validate_targets(data, field_name='qubit_targets')
class PostProcessing(**data)

Bases: Instruction

States what post-processing should happen after data has been acquired. This can happen in the FPGA’s or a software post-process.

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.

args: list[float | complex]
axes: list[ProcessAxis]
inst: Literal['PostProcessing']
model_config: ClassVar[ConfigDict] = {'extra': 'forbid', 'ser_json_inf_nan': 'constants', 'use_enum_values': False, 'validate_assignment': True}

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

output_variable: str | None
process_type: PostProcessType
result_needed: bool