DetunableLockΒΆ

Class Arguments

Argument

Type

Default Value

settle_time

float

0

blind

bool

False

lock_offset

float

0.0

harmonic

np.int32

1

debug_output

bool

False

Bold arguments are mandatory. For more documentation on the listed arguments refer to the class definition below. If parameters appear in this list but not in the class definition below, please recursively check the linked base classes for the definition of the parameter.

Inheritance Diagram

Inheritance diagram of atomiq.components.lock.DetunableLock

Example Component Dictionary

   {
    "lock_example": {
        "classname": "atomiq.components.lock.DetunableLock",
        "arguments": {
            "settle_time": 0,
            "blind": false,
            "lock_offset": 0.0,
            "harmonic": 1,
            "debug_output": false
        }
    }
}

Class Description

class atomiq.components.lock.DetunableLock(settle_time=0, blind=False, *args, **kwargs)[source]

Bases: Lock, Parametrizable

This is a very generic class to describe a laser lock where the lock offset can be changed. It is characterized by some means of a reference frequency and a detunable offset to that frequency at which the lock tries to stabilize.

Most likely you want to use a more specific class inherited from this one.

Parameters:
  • settle_time (float) -- Time in s the lock needs to settle after a detuning of the lock point

  • blind (bool) -- Whether the lock is set to its default values during each prerun phase. If True, the lock is unchanged in the prerun phase. Defaults to False.

A Parametrizable is an entity that can be controlled by one or more continuous parameter(s)

kernel_invariants = {'settle_time'}
set_frequency(frequency)[source]

Set the absolute frequency of the light exiting the laser

Parameters:

frequency (float) -- The absolute frequency in Hz of the light exiting the laser

set_detuning(offset_frequency)[source]

Set the frequency of the laser fundamental relative to the reference frequency, i.e. set the lock offset.

Parameters:

offset_frequency (float) -- new lock offset in Hz (at the laser fundamental)

ramp_detuning(duration, offset_frequency_start=nan, offset_frequency_end=nan, ramp_timestep=nan, ramp_steps=np.int32(-1))[source]

Ramp the lock offset, i.e. the detuning of the laser fundamental from the reference frequency

Parameters:
  • duration (float) -- Ramp duration in s

  • offset_frequency_start (float) -- Initial lock offset in Hz (at the laser fundamental)

  • offset_frequency_end (float) -- Final lock offset in Hz (at the laser fundamental)

  • ramp_timestep (float) -- Time in s between two ramp steps

  • ramp_steps (int32) -- Number of ramp steps (default -1, i.e. derive from the timestep)

ramp_frequency(duration, frequency_start=nan, frequency_end=nan, ramp_timestep=nan, ramp_steps=np.int32(-1))[source]

Ramp the absolute frequency of the light exiting the laser

Parameters:
  • duration (float) -- Ramp duration in s

  • frequency_start (float) -- Initial absolute frequency in Hz of the light exiting the laser

  • frequency_end (float) -- Final absolute frequency in Hz of the light exiting the laser

  • ramp_timestep (float) -- Time in s between two ramp steps

  • ramp_steps (int32) -- Number of ramp steps (default -1, i.e. derive from the timestep)

get_frequency()

Get the absolute frequency of the light exiting the laser in Hz (fundamental frequency x harmonic)

Return type:

float

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

  • channel (str)