factory_timetag#

Functions for producing operation handling strategies for the QTM.

Module Contents#

Functions#

get_operation_strategy(...)

Determine and instantiate the correct operation strategy object.

_get_acquisition_strategy(...)

Handles the logic for determining the correct acquisition type.

_get_pulse_strategy(...)

Handles the logic for determining the correct pulse type.

get_operation_strategy(operation_info: quantify_scheduler.backends.types.qblox.OpInfo, channel_name: str) quantify_scheduler.backends.qblox.operation_handling.base.IOperationStrategy[source]#

Determine and instantiate the correct operation strategy object.

Parameters:
  • operation_info – The operation for which we are building the strategy. This object contains all the necessary information about the operation.

  • channel_name – Specifies the channel identifier of the hardware config (e.g. ‘complex_output_0’).

Returns:

: The instantiated strategy object that implements the IOperationStrategy interface. This could be a Q1ASMInjectionStrategy, an acquisition strategy, a pulse strategy, or other specialized strategies depending on the operation type.

Raises:

ValueError – If the operation cannot be compiled for the target hardware or if an unsupported operation type is encountered.

_get_acquisition_strategy(operation_info: quantify_scheduler.backends.types.qblox.OpInfo) quantify_scheduler.backends.qblox.operation_handling.acquisitions.AcquisitionStrategyPartial[source]#

Handles the logic for determining the correct acquisition type.

_get_pulse_strategy(operation_info: quantify_scheduler.backends.types.qblox.OpInfo, channel_name: str) quantify_scheduler.backends.qblox.operation_handling.base.IOperationStrategy[source]#

Handles the logic for determining the correct pulse type.