acquisitions#
Classes for handling acquisitions.
Module Contents#
Classes#
Contains the logic shared between all the acquisitions. |
|
Performs a square acquisition (i.e. without acquisition weights). |
|
Performs a weighted acquisition. |
|
Performs a trigger count acquisition. |
- class AcquisitionStrategyPartial(operation_info: quantify_scheduler.backends.types.qblox.OpInfo)[source]#
Bases:
quantify_scheduler.backends.qblox.operation_handling.base.IOperationStrategy
Contains the logic shared between all the acquisitions.
- Parameters:
operation_info – The operation info that corresponds to this operation.
- property operation_info: quantify_scheduler.backends.types.qblox.OpInfo[source]#
Property for retrieving the operation info.
- bin_idx_register: str | None[source]#
The register used to keep track of the bin index, only not None for append mode acquisitions.
- insert_qasm(qasm_program: quantify_scheduler.backends.qblox.qasm_program.QASMProgram)[source]#
Add the assembly instructions for the Q1 sequence processor that corresponds to this acquisition. This function calls either _acquire_average or _acquire_append, depending on the bin mode.
The _acquire_average and _acquire_append are to be implemented in the subclass.
- Parameters:
qasm_program – The QASMProgram to add the assembly instructions to.
- abstract _acquire_average(qasm_program: quantify_scheduler.backends.qblox.qasm_program.QASMProgram)[source]#
Adds the assembly to the program for a bin_mode==AVERAGE acquisition.
- abstract _acquire_append(qasm_program: quantify_scheduler.backends.qblox.qasm_program.QASMProgram)[source]#
Adds the assembly to the program for a bin_mode==APPEND acquisition.
- class SquareAcquisitionStrategy(operation_info: quantify_scheduler.backends.types.qblox.OpInfo)[source]#
Bases:
AcquisitionStrategyPartial
Performs a square acquisition (i.e. without acquisition weights).
- _acquire_average(qasm_program: quantify_scheduler.backends.qblox.qasm_program.QASMProgram)[source]#
Add the assembly instructions for the Q1 sequence processor that corresponds to this acquisition, assuming averaging is used.
- Parameters:
qasm_program – The QASMProgram to add the assembly instructions to.
- _acquire_append(qasm_program: quantify_scheduler.backends.qblox.qasm_program.QASMProgram)[source]#
Add the assembly instructions for the Q1 sequence processor that corresponds to this acquisition, assuming append is used.
- Parameters:
qasm_program – The QASMProgram to add the assembly instructions to.
- _acquire_square(qasm_program: quantify_scheduler.backends.qblox.qasm_program.QASMProgram, bin_idx: int | str) None [source]#
Adds the instruction for performing acquisitions without weights playback.
- Parameters:
qasm_program – The qasm program to add the acquisition to.
bin_idx – The bin_idx to store the result in, can be either an int (for immediates) or a str (for registers).
- class WeightedAcquisitionStrategy(operation_info: quantify_scheduler.backends.types.qblox.OpInfo)[source]#
Bases:
AcquisitionStrategyPartial
Performs a weighted acquisition.
- Parameters:
operation_info – The operation info that corresponds to this acquisition.
- generate_data(wf_dict: Dict[str, Any])[source]#
Generates the waveform data for both acquisition weights.
- Parameters:
wf_dict – The dictionary to add the waveform to. N.B. the dictionary is modified in function.
- _acquire_average(qasm_program: quantify_scheduler.backends.qblox.qasm_program.QASMProgram)[source]#
Add the assembly instructions for the Q1 sequence processor that corresponds to this acquisition, assuming averaging is used.
- Parameters:
qasm_program – The QASMProgram to add the assembly instructions to.
- _acquire_append(qasm_program: quantify_scheduler.backends.qblox.qasm_program.QASMProgram)[source]#
Add the assembly instructions for the Q1 sequence processor that corresponds to this acquisition, assuming append is used. Registers will be used for the weight indexes and the bin index.
- Parameters:
qasm_program – The QASMProgram to add the assembly instructions to.
- class TriggerCountAcquisitionStrategy(operation_info: quantify_scheduler.backends.types.qblox.OpInfo)[source]#
Bases:
AcquisitionStrategyPartial
Performs a trigger count acquisition.
- _acquire_average(qasm_program: quantify_scheduler.backends.qblox.qasm_program.QASMProgram)[source]#
Add the assembly instructions for the Q1 sequence processor that corresponds to this acquisition, assuming averaging is used.
- Parameters:
qasm_program – The QASMProgram to add the assembly instructions to.
- _acquire_append(qasm_program: quantify_scheduler.backends.qblox.qasm_program.QASMProgram)[source]#
Add the assembly instructions for the Q1 sequence processor that corresponds to this acquisition, assuming append is used.
- Parameters:
qasm_program – The QASMProgram to add the assembly instructions to.