atomiq.components.optoelectronics.wavelengthmeter

Abstract implementations of a wavelength meter to be used with HEROS wavelengthmeters or other remote devices.

Classes

WavelengthMeterChannel

An atomiq Component

StabilizingWavelengthMeterChannel

An atomiq Component

Module Contents

class atomiq.components.optoelectronics.wavelengthmeter.WavelengthMeterChannel(*args, **kwargs)[source]

Bases: atomiq.components.primitives.Component, atomiq.components.primitives.Measurable

An atomiq Component

Every component in atomiq inherits from this class. It provides basic functionality for automatic and recursive building and initialization of components (prepare, build, prerun). It also takes care for joining kernel invariants along the inheritance tree.

Note

The arguments parent and identifier are automatically passed to the component object by the atomiq object builder.

Parameters:
  • parent -- The parent context of the component. Usually this is the experiment that uses the component

  • identifier -- A unique name to identify the component.

  • debug_output -- Set whether the component should show debug output. Using this switch rather than the debug kernel logger can allow the compiler to not include the debug commands in the kernel code if the output is not needed.

get_wavelength()[source]

Return the wavelength in meters.

Return type:

float

get_frequency()[source]

Return the light frequency (vacuum) in Hz.

Return type:

float

abstractmethod _measure()[source]
experiment
identifier
debug_output = False
core
_kernel_invariants
_prepare_done = False
_build_done = False
_hooks_done = []
children = []
__in_build = True
channels: list[str]
abstractmethod measure(channel='')
Parameters:

channel (str)

Return type:

float

measurement_channels()
class atomiq.components.optoelectronics.wavelengthmeter.StabilizingWavelengthMeterChannel(default_frequency, frequency_min, frequency_max, *args, **kwargs)[source]

Bases: WavelengthMeterChannel, atomiq.components.primitives.Parametrizable

An atomiq Component

Every component in atomiq inherits from this class. It provides basic functionality for automatic and recursive building and initialization of components (prepare, build, prerun). It also takes care for joining kernel invariants along the inheritance tree.

Note

The arguments parent and identifier are automatically passed to the component object by the atomiq object builder.

Parameters:
  • parent -- The parent context of the component. Usually this is the experiment that uses the component

  • identifier -- A unique name to identify the component.

  • debug_output -- Set whether the component should show debug output. Using this switch rather than the debug kernel logger can allow the compiler to not include the debug commands in the kernel code if the output is not needed.

  • default_frequency (float)

  • frequency_min (float)

  • frequency_max (float)

kernel_invariants
default_frequency
frequency_min
frequency_max
abstractmethod _measure()[source]
Return type:

float

abstractmethod set_frequency(frequency)[source]

Set the frequency of the attached laser.

Should check the requested frequency against frequency_min and frequency_max.

Parameters:

frequency (float)

Return type:

None

abstractmethod set_wavelength(wavelength)[source]

Set the wavelength of the attached laser.

Should check the requested wavelength against frequency_min and frequency_max.

Parameters:

wavelength (float)

Return type:

None

get_wavelength()

Return the wavelength in meters.

Return type:

float

get_frequency()

Return the light frequency (vacuum) in Hz.

Return type:

float

experiment
identifier
debug_output = False
core
_kernel_invariants
_prepare_done = False
_build_done = False
_hooks_done = []
children = []
__in_build = True
channels: list[str]
abstractmethod measure(channel='')
Parameters:

channel (str)

Return type:

float

measurement_channels()
set_parameter(value, channel=None)
Parameters:
  • value (float)

  • channel (str)