# Parameter classes

The parameter classes are used to define input variables for a `Procedure`. They each inherit from the `Parameter` base class.

class pymeasure.experiment.parameters.BooleanParameter(name, default=None, ui_class=None)

  `Parameter` sub-class that uses the boolean type to store the value.

  Variables:

    value – The boolean value of the parameter

  Parameters:

    - name – The parameter name

    - default – The default boolean value

    - ui_class – A Qt class to use for the UI of this parameter

class pymeasure.experiment.parameters.FloatParameter(name, units=None, minimum=-1000000000.0, maximum=1000000000.0, decimals=15, **kwargs)

  `Parameter` sub-class that uses the floating point type to store the value.

  Variables:

    value – The floating point value of the parameter

  Parameters:

    - name – The parameter name

    - units – The units of measure for the parameter

    - minimum – The minimum allowed value (default: -1e9)

    - maximum – The maximum allowed value (default: 1e9)

    - decimals – The number of decimals considered (default: 15)

    - default – The default floating point value

    - ui_class – A Qt class to use for the UI of this parameter

class pymeasure.experiment.parameters.IntegerParameter(name, units=None, minimum=-1000000000.0, maximum=1000000000.0, **kwargs)

  `Parameter` sub-class that uses the integer type to store the value.

  Variables:

    value – The integer value of the parameter

  Parameters:

    - name – The parameter name

    - units – The units of measure for the parameter

    - minimum – The minimum allowed value (default: -1e9)

    - maximum – The maximum allowed value (default: 1e9)

    - default – The default integer value

    - ui_class – A Qt class to use for the UI of this parameter

class pymeasure.experiment.parameters.ListParameter(name, choices=None, units=None, **kwargs)

  `Parameter` sub-class that stores the value as a list.

  Parameters:

    - name – The parameter name

    - choices – An explicit list of choices, which is disregarded if None

    - units – The units of measure for the parameter

    - default – The default value

    - ui_class – A Qt class to use for the UI of this parameter

  property choices

    Returns an immutable iterable of choices, or None if not set.

class pymeasure.experiment.parameters.Measurable(name, fget=None, units=None, measure=True, default=None, **kwargs)

  Encapsulates the information for a measurable experiment parameter with information about the name, fget function and units if supplied. The value property is called when the procedure retrieves a datapoint and calls the fget function. If no fget function is specified, the value property will return the latest set value of the parameter (or default if never set).

  Variables:

    value – The value of the parameter

  Parameters:

    - name – The parameter name

    - fget – The parameter fget function (e.g. an instrument parameter)

    - default – The default value

class pymeasure.experiment.parameters.Parameter(name, default=None, ui_class=None)

  Encapsulates the information for an experiment parameter with information about the name, and units if supplied.

  Variables:

    value – The value of the parameter

  Parameters:

    - name – The parameter name

    - default – The default value

    - ui_class – A Qt class to use for the UI of this parameter

  is_set()

    Returns True if the Parameter value is set

class pymeasure.experiment.parameters.PhysicalParameter(name, uncertaintyType='absolute', **kwargs)

  `VectorParameter` sub-class of 2 dimensions to store a value and its uncertainty.

  Variables:

    value – The value of the parameter as a list of 2 floating point numbers

  Parameters:

    - name – The parameter name

    - uncertainty_type – Type of uncertainty, ‘absolute’, ‘relative’ or ‘percentage’

    - units – The units of measure for the parameter

    - default – The default value

    - ui_class – A Qt class to use for the UI of this parameter

class pymeasure.experiment.parameters.VectorParameter(name, length=3, units=None, **kwargs)

  `Parameter` sub-class that stores the value in a vector format.

  Variables:

    value – The value of the parameter as a list of floating point numbers

  Parameters:

    - name – The parameter name

    - length – The integer dimensions of the vector

    - units – The units of measure for the parameter

    - default – The default value

    - ui_class – A Qt class to use for the UI of this parameter