dodal.devices.beamlines.i09_1_shared#

Classes

HardInsertionDeviceEnergy

Compound device to control insertion device energy.

HardEnergy

Compound energy device.

Functions

calculate_gap_i09_hu(look_up_table, value[, ...])

Calculate the undulator gap required to produce a given energy at a given harmonic order.

calculate_energy_i09_hu(look_up_table, value)

Calculate the photon energy produced by the undulator at a given gap and harmonic order.

dodal.devices.beamlines.i09_1_shared.calculate_gap_i09_hu(look_up_table: GenericLookupTable, value: float, order: int = 1) float[source]#

Calculate the undulator gap required to produce a given energy at a given harmonic order. This algorithm was provided by the I09 beamline scientists, and is based on the physics of undulator radiation. https://cxro.lbl.gov//PDF/X-Ray-Data-Booklet.pdf.

Parameters:
  • look_up_table (GenericLookupTable) – Lookup table with beamline parameters for each harmonic order.

  • value (float) – Requested photon energy in keV.

  • order (int, optional) – Harmonic order for which to calculate the gap. Defaults to 1.

Returns:

Calculated undulator gap in millimeters.

Return type:

float

dodal.devices.beamlines.i09_1_shared.calculate_energy_i09_hu(look_up_table: GenericLookupTable, value: float, order: int = 1) float[source]#

Calculate the photon energy produced by the undulator at a given gap and harmonic order. Reverse of the calculate_gap_i09_hu function.

Parameters:
  • look_up_table (GenericLookupTable) – Lookup table with beamline parameters for each harmonic order.

  • value (float) – Undulator gap in millimeters.

  • order (int, optional) – Harmonic order for which to calculate the energy. Defaults to 1.

Returns:

Calculated photon energy in keV.

Return type:

float