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]
mode: AcquireMode
model_config: ClassVar[ConfigDict] = {'extra': 'ignore', 'populate_by_name': True, 'use_enum_values': False, 'validate_assignment': True, 'validate_by_name': True}

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

output_variable: str | None
property pulse_channel
rotation: Optional[float]
suffix_incrementor: int
property target
threshold: Optional[float]
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)
model_config: ClassVar[ConfigDict] = {'extra': 'ignore', 'populate_by_name': True, 'use_enum_values': False, 'validate_assignment': True, 'validate_by_name': True}

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

model_post_init(context, /)

This function is meant to behave like a BaseModel method to initialise private attributes.

It takes context as an argument since that’s what pydantic-core passes when calling it.

Return type:

None

Args:

self: The BaseModel instance. context: The context.

property output_variables
qubit_targets: Annotated[ValidatedSet[QubitId], BeforeValidator(_validate_set)]
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]
model_config: ClassVar[ConfigDict] = {'extra': 'ignore', '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