qcodes_contrib_drivers.drivers.SwabianInstruments.private package¶
Submodules¶
qcodes_contrib_drivers.drivers.SwabianInstruments.private.time_tagger module¶
- class qcodes_contrib_drivers.drivers.SwabianInstruments.private.time_tagger.ArrayLikeValidator(min_value: float | int | floating | integer | None = None, max_value: float | int | floating | integer | None = None, shape: Sequence[int | Callable[[], int]] | None = None, valid_types: Sequence[type] | None = None)[source]¶
Bases:
ArraysA validator for array_like objects.
Note that validation might be expensive since conversion to ndarray takes place each time.
- class qcodes_contrib_drivers.drivers.SwabianInstruments.private.time_tagger.DelegateParameterWithoutParentValidator(name: str, source: Parameter | None, *args: Any, **kwargs: Any)[source]¶
Bases:
DelegateParameterA
DelegateParameterwith a validator that does not validate on the parent’s validators.
- class qcodes_contrib_drivers.drivers.SwabianInstruments.private.time_tagger.LogspaceNumValidator(start_param: ParameterBase, stop_param: ParameterBase)[source]¶
-
Validates the n_bins parameter of a
HistogramLogBinsMeasurement.
- class qcodes_contrib_drivers.drivers.SwabianInstruments.private.time_tagger.LogspaceStartValidator(stop_param: ParameterBase, num_param: ParameterBase)[source]¶
-
Validates the exp_start parameter of a
HistogramLogBinsMeasurement.
- class qcodes_contrib_drivers.drivers.SwabianInstruments.private.time_tagger.LogspaceStopValidator(start_param: ParameterBase, num_param: ParameterBase)[source]¶
-
Validates the exp_stop parameter of a
HistogramLogBinsMeasurement.
- class qcodes_contrib_drivers.drivers.SwabianInstruments.private.time_tagger.MeasurementControlMixin[source]¶
Bases:
objectMixin class forwarding common methods from the TimeTagger API.
- clear()[source]¶
Implements API object
TimeTagger:IteratorBase.clear()– see the documentation there.
- is_running() bool[source]¶
Implements API object
TimeTagger:IteratorBase.isRunning()– see the documentation there.
- start()[source]¶
Implements API object
TimeTagger:IteratorBase.start()– see the documentation there.
- start_for(duration: int, clear: bool = True)[source]¶
Implements API object
TimeTagger:IteratorBase.startFor()– see the documentation there.
- wait_until_finished(timeout: int = -1)[source]¶
Implements API object
TimeTagger:IteratorBase.waitUntilFinished()– see the documentation there.
- abstract property api¶
- class qcodes_contrib_drivers.drivers.SwabianInstruments.private.time_tagger.ParameterWithSetSideEffect(name: str, set_side_effect: Callable[[Any], None], set_cmd: Callable[[Any], Any] | None = None, execute_before: bool = False, **kwargs: Any)[source]¶
Bases:
ParameterA
Parameterallowing for side effects on set events.- Parameters:
set_side_effect – A callable that is run on every set event. Receives the set value as sole argument.
execute_before – Run the side effect before or after setting the parameter.
- class qcodes_contrib_drivers.drivers.SwabianInstruments.private.time_tagger.TimeTaggerInstrumentBase(name: str, metadata: Mapping[Any, Any] | None = None, label: str | None = None)[source]¶
Bases:
InstrumentBaseBase class for TimeTagger instruments and channels.
Overrides
snapshot_base()to add the API configuration.- get_configuration() dict[str, Any][source]¶
Implements API object
TimeTagger:TimeTaggerBase.getConfiguration()– see the documentation there.
- snapshot_base(update: bool | None = False, params_to_skip_update: Sequence[str] | None = None) dict[Any, Any][source]¶
State of the instrument as a JSON-compatible dict (everything that the custom JSON encoder class
NumpyJSONEncodersupports).- Parameters:
update – If
True, update the state by querying the instrument. If None update the state if known to be invalid. IfFalse, just use the latest values in memory and never update state.params_to_skip_update – List of parameter names that will be skipped in update even if update is True. This is useful if you have parameters that are slow to update but can be updated in a different way (as in the qdac). If you want to skip the update of certain parameters in all snapshots, use the
snapshot_getattribute of those parameters instead.
- Returns:
base snapshot
- Return type:
- abstract property api¶
- class qcodes_contrib_drivers.drivers.SwabianInstruments.private.time_tagger.TimeTaggerMeasurement(parent: InstrumentBase, name: str, api_tagger: tt.TimeTaggerBase | None = None, **kwargs: Any)[source]¶
Bases:
MeasurementControlMixin,TimeTaggerInstrumentBase,TimeTaggerModuleInstrument channel representing a TimeTagger API Measurement.
- class qcodes_contrib_drivers.drivers.SwabianInstruments.private.time_tagger.TimeTaggerModule(parent: InstrumentBase, name: str, api_tagger: tt.TimeTaggerBase | None = None, **kwargs: Any)[source]¶
Bases:
InstrumentChannelAn InstrumentChannel implementing TimeTagger Measurements and Virtual Channels.
- __init__(parent: InstrumentBase, name: str, api_tagger: tt.TimeTaggerBase | None = None, **kwargs: Any)[source]¶
Initialize a TimeTaggerModule.
- Parameters:
parent – The parent instrument.
name – The channel name.
api_tagger – The TimeTagger API object of the device to use. Can be a virtual time tagger gotten from
TimeTaggerSynchronizedMeasurements.get_tagger().
- classmethod implementations() frozenset[type[TimeTaggerModule]][source]¶
All registered implementations of this class.
- abstract property api¶
The
TimeTagger:TimeTagger.MeasurementAPI object underlying this module.
- property api_tagger: tt.TimeTaggerBase¶
The
TimeTagger:TimeTagger.TimeTaggerBaseAPI object underlying this module.
- class qcodes_contrib_drivers.drivers.SwabianInstruments.private.time_tagger.TimeTaggerSynchronizedMeasurements(parent: InstrumentBase, name: str, **kwargs: Any)[source]¶
Bases:
MeasurementControlMixin,InstrumentModuleInstrument module representing a TimeTagger API
TimeTagger:SynchronizedMeasurementsobject.- register_measurement(measurement: TimeTaggerMeasurement)[source]¶
Implements API object
TimeTagger:SynchronizedMeasurements.registerMeasurement()– see the documentation there.
- unregister_measurement(measurement: TimeTaggerMeasurement)[source]¶
Implements API object
TimeTagger:SynchronizedMeasurements.unregisterMeasurement()– see the documentation there.
- property api: tt.SynchronizedMeasurements¶
- property api_tagger: tt.TimeTaggerBase¶
A proxy TimeTagger API object for synchronized measurements.
- class qcodes_contrib_drivers.drivers.SwabianInstruments.private.time_tagger.TimeTaggerVirtualChannel(parent: InstrumentBase, name: str, api_tagger: tt.TimeTaggerBase | None = None, **kwargs: Any)[source]¶
Bases:
TimeTaggerInstrumentBase,TimeTaggerModuleInstrument channel representing a TimeTagger API Virtual Channel.
- get_channel() int[source]¶
Implements API object
VirtualChannel.getChannel()– see the documentation there.
- get_channels() list[int][source]¶
Implements API object
VirtualChannel.getChannels()– see the documentation there.
- class qcodes_contrib_drivers.drivers.SwabianInstruments.private.time_tagger.TypeValidator(cls: type)[source]¶
-
A validator for specific types.
- qcodes_contrib_drivers.drivers.SwabianInstruments.private.time_tagger.cached_api_object(__func: Callable[[...], Any] | None = None, *, required_parameters: Collection[str] | None = None)[source]¶
A custom descriptor for a cached API object with exception handling, invalidation capability, and initialization checks.