pysrw.magnets.UndulatorPlanar#

class pysrw.magnets.UndulatorPlanar(energy, undPeriod, numPer, magField, undPlane='v', symmetry=-1, initialPhase=0, centerCoord=[0, 0, 0])[source]#

Bases: Magnet

__init__(energy, undPeriod, numPer, magField, undPlane='v', symmetry=-1, initialPhase=0, centerCoord=[0, 0, 0])[source]#

A planar undulator with sinusoidal magnetic field which smoothly decays approaching the edge.

Parameters:
  • energy – particle energy in GeV.

  • undPeriod – periodicity of the magnetic field.

  • numPer – number of periods.

  • magField – peak magnetic field in the gap.

  • undPlane (optional) – ‘h’ or ‘v’ to indicate the direction of the magnetic field. Defaults to ‘v’.

  • symmetry (optional) – 1 for symmetric (cos like) or -1 for anti-symmetric (sin like) field profile. Defaults to -1.

  • initialPhase (optional) – initial phase of the field oscillations. Defaults to 0.

  • centerCoord (optional) – undulator centre position. Defaults to [0, 0, 0].

Methods

__init__(energy, undPeriod, numPer, magField)

A planar undulator with sinusoidal magnetic field which smoothly decays approaching the edge.

getK()

Compute the deflection parameter of the undulator.

getLambda1()

Compute the wavelength of the on-axis fundamental harmonic.

getK()[source]#

Compute the deflection parameter of the undulator.

Returns:

the K parameter.

Return type:

float

getLambda1()[source]#

Compute the wavelength of the on-axis fundamental harmonic.

Returns:

value of \(\lambda_1\) in nanometers.

Return type:

float