spinqick.core.dot_experiment

Module to hold the DotExperiment class and config updater function, which are used in all experiment classes.

This module also holds a set of functions for performing unit conversions on experiment config models.

Attributes

logger

G

Classes

DotExperiment

Base class for spinqick experiments. Manages the readout and hardware configs, and updates

Functions

convert_dcs_to_rfsoc(dcs_config, readout_label, ...)

Convert DcsConfigParams to DcsConfig, which contains gain in rfsoc units and rfsoc channel

convert_spam_to_rfsoc(spam_config, hardware_config)

Convert DefaultSpam to DefaultSpamDac, which contains gain in rfsoc units and rfsoc channel

convert_spam_to_voltage(spam_config, hardware_config)

Convert DefaultSpamDac to DefaultSpam, which contains dac outputs in voltage units and no

convert_exchange_gate_to_rfsoc(exchange_gate, ...)

Convert ExchangeGateParams to ExchangeGate, which contains gain in rfsoc units and rfsoc

convert_exchange_axis_to_rfsoc(exchange_axis, ...)

Convert ExchangeAxisConfig voltages to gain in rfsoc units and add rfsoc channel numbers.

convert_experiment_to_rfsoc(experiment_config, ...)

Convert experiment config to rfsoc units and add rfsoc channel numbers.

volts2dacunits(volts, gate, hardware_config)

Convert voltage out of qick frontend to dac units.

dacunits2volts(dacunits, gate, hardware_config)

Convert dac units to voltage out of RFSoC front end.

updater(func)

Call this as a decorator to update config before and after a dot experiment.

Module Contents

spinqick.core.dot_experiment.logger
spinqick.core.dot_experiment.G
spinqick.core.dot_experiment.convert_dcs_to_rfsoc(dcs_config, readout_label, hardware_config)

Convert DcsConfigParams to DcsConfig, which contains gain in rfsoc units and rfsoc channel numbers.

Parameters:
spinqick.core.dot_experiment.convert_spam_to_rfsoc(spam_config, hardware_config)

Convert DefaultSpam to DefaultSpamDac, which contains gain in rfsoc units and rfsoc channel numbers.

Parameters:
spinqick.core.dot_experiment.convert_spam_to_voltage(spam_config, hardware_config)

Convert DefaultSpamDac to DefaultSpam, which contains dac outputs in voltage units and no generator numbers.

Parameters:
spinqick.core.dot_experiment.convert_exchange_gate_to_rfsoc(exchange_gate, hardware_config)

Convert ExchangeGateParams to ExchangeGate, which contains gain in rfsoc units and rfsoc channel numbers.

Parameters:
spinqick.core.dot_experiment.convert_exchange_axis_to_rfsoc(exchange_axis, hardware_config)

Convert ExchangeAxisConfig voltages to gain in rfsoc units and add rfsoc channel numbers.

Parameters:
spinqick.core.dot_experiment.convert_experiment_to_rfsoc(experiment_config, hardware_config)

Convert experiment config to rfsoc units and add rfsoc channel numbers.

Parameters:
spinqick.core.dot_experiment.volts2dacunits(volts, gate, hardware_config)

Convert voltage out of qick frontend to dac units.

Parameters:
Returns:

RFSoC output in DAC units

Return type:

G

spinqick.core.dot_experiment.dacunits2volts(dacunits, gate, hardware_config)

Convert dac units to voltage out of RFSoC front end.

Parameters:
Returns:

voltage

Return type:

G

class spinqick.core.dot_experiment.DotExperiment(datadir=file_settings.data_directory, save_data=True, plot=True)

Base class for spinqick experiments. Manages the readout and hardware configs, and updates them appropriately.

Parameters:
  • datadir (str) – This overrides the data directory setting in file_settings, if desired.

  • save_data (bool) – Whether to automatically save data after each experiment is run.

  • plot (bool) – Whether to automatically plot experiment data.

datadir = ''
save_data = True
plot = True
data_path
config_path = ''
hardware_path = ''
experiment_config_params: spinqick.models.full_experiment_model.ExperimentConfig
hardware_config: spinqick.models.hardware_config_models.HardwareConfig
dcs: Literal['M1', 'M2'] = 'M1'
qubit: str = ''
property experiment_config

Experiment config in rfsoc units and including generator numbers.

property dcs_config

Returns dcs config in rfsoc units and including generator numbers.

property spam_config

Retrieves spam config parameters from experiment config.

property adc_units

Returns a list of units.

property adc_unit_conversions

Returns a list of unit conversions.

update_local()

Update local config parameters from hardware and experiment config files.

volts2dac(volts, gate)

Convert voltage out of qick frontend to dac units.

Parameters:
Returns:

RFSoC output in DAC units

Return type:

G

dac2volts(dacunits, gate)

Convert dac units to voltage out of RFSoC front end.

Parameters:
Returns:

voltage

Return type:

G

spinqick.core.dot_experiment.updater(func)

Call this as a decorator to update config before and after a dot experiment.