Skip to content

Provide interface for parameters to announce their interdependencies #7063

@jenshnielsen

Description

@jenshnielsen

Currently DelegateParameter (and potentially other classes) implement an interface that allows users to create a parameter that delegates to other parameters. However, when such a parameter is used in a measurement either as a sweeped or as a measured parameter we only captures the values of the delegate parameter. Reconstructing the values of the underlying parameter is only possible by looking at the snapshot of the parameter to find properties such as scale and offset and manually calculate the values of the underlying parameter(s). This makes it hard to reconstruct a delegate mapping more complex than scale and offset and makes the underlying data harder to audit (e.g. what were the actual values set on the instrument).

QCoDeS already provides an interface for allowing parameters to declare that they are inderred from another parameter.
This card is to track defining an interface on ParameterBase such that a Parameter can declare that it can be infeered from a set of parameters. This can take the form of

def inferences(self) -> Tuple[ParameterBase,...]
     # error handling missing
     return (self,).extend(self.source.inferences)

or something similar.

Once this is resolved #7064 can be tackled to make use of this interface to automatically capture data.

Note that for this to be useful the bug reported in #7051 should be resolved first.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions