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
Classes
Base class for spinqick experiments. Manages the readout and hardware configs, and updates |
Functions
|
Convert DcsConfigParams to DcsConfig, which contains gain in rfsoc units and rfsoc channel |
|
Convert DefaultSpam to DefaultSpamDac, which contains gain in rfsoc units and rfsoc channel |
|
Convert DefaultSpamDac to DefaultSpam, which contains dac outputs in voltage units and no |
|
Convert ExchangeGateParams to ExchangeGate, which contains gain in rfsoc units and rfsoc |
|
Convert ExchangeAxisConfig voltages to gain in rfsoc units and add rfsoc channel numbers. |
|
Convert experiment config to rfsoc units and add rfsoc channel numbers. |
|
Convert voltage out of qick frontend to dac units. |
|
Convert dac units to voltage out of RFSoC front end. |
|
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:
dcs_config (spinqick.models.dcs_model.DcsConfigParams)
readout_label (Literal['m1_readout', 'm2_readout'])
hardware_config (spinqick.models.hardware_config_models.HardwareConfig)
- 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:
spam_config (spinqick.models.spam_models.DefaultSpam)
hardware_config (spinqick.models.hardware_config_models.HardwareConfig)
- 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:
spam_config (spinqick.models.spam_models.DefaultSpamDac)
hardware_config (spinqick.models.hardware_config_models.HardwareConfig)
- 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:
exchange_gate (spinqick.models.qubit_models.ExchangeGateParams)
hardware_config (spinqick.models.hardware_config_models.HardwareConfig)
- 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:
exchange_axis (spinqick.models.qubit_models.ExchangeAxisConfig)
hardware_config (spinqick.models.hardware_config_models.HardwareConfig)
- spinqick.core.dot_experiment.convert_experiment_to_rfsoc(experiment_config, hardware_config)
Convert experiment config to rfsoc units and add rfsoc channel numbers.
- Parameters:
experiment_config (spinqick.models.full_experiment_model.ExperimentConfig)
hardware_config (spinqick.models.hardware_config_models.HardwareConfig)
- spinqick.core.dot_experiment.volts2dacunits(volts, gate, hardware_config)
Convert voltage out of qick frontend to dac units.
- Parameters:
volts (G) – voltage to convert
gate (spinqick.helper_functions.spinqick_enums.GateNames) – gate name
hardware_config (spinqick.models.hardware_config_models.HardwareConfig)
- 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:
dacunits (G) – DAC units
gate (spinqick.helper_functions.spinqick_enums.GateNames) – gate name
hardware_config (spinqick.models.hardware_config_models.HardwareConfig)
- 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:
volts (G) – voltage to convert
gate (spinqick.helper_functions.spinqick_enums.GateNames) – gate name
- Returns:
RFSoC output in DAC units
- Return type:
G
- dac2volts(dacunits, gate)
Convert dac units to voltage out of RFSoC front end.
- Parameters:
dacunits (G) – DAC units
gate (spinqick.helper_functions.spinqick_enums.GateNames) – gate name
- 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.