syned.beamline.optical_elements.ideal_elements package

Submodules

syned.beamline.optical_elements.ideal_elements.ideal_element module

class syned.beamline.optical_elements.ideal_elements.ideal_element.IdealElement(name='Undefined', boundary_shape=None)[source]

Bases: OpticalElement

syned.beamline.optical_elements.ideal_elements.ideal_fzp module

class syned.beamline.optical_elements.ideal_elements.ideal_fzp.IdealFZP(name='Undefined', focusing_direction=3, focal=1.0, nominal_wavelength=1e-10, diameter=0.001)[source]

Bases: IdealElement

Defines an ideal Fresnel Zone Plate.

Constructor.

Parameters:
  • name (str, optional) – The name of the optical element.

  • focusing_direction (int) – 0=None, 1=x (sagittal), 2=z (meridional), 3=2D focusing.

  • focal (float) – The focal length in meters.

  • nominal_wavelength (float) – The nominal wavelength in m for where the focal length is defined.

  • diameter (float) – The FZP diameter in m.

diameter()[source]

Returns the FZP diameter.

Return type:

float

focal()[source]

Returns the focal length.

Return type:

float

focusing_direction()[source]

Returns the focusing direction.

Returns:

0=None, 1=1D along X, 2=1D along Z, 3=2D.

Return type:

int

n()[source]

Returns the zone number for a outermost zone (approximated calculation).

Return type:

float

n_exact()[source]

Returns the zone number for a outermost zone (exact calculation using n_exact_vs_r() ).

Return type:

float

n_exact_vs_r(r)[source]

Returns the zone number for a given distance r (exact calculation solving n from rn = sqrt( n lambda f + (n lambda / 2)**2).

Return type:

float

n_vs_r(r)[source]

Returns the zone number for a given distance r (approximated calculation).

Return type:

float

nominal_wavelength()[source]

Returns the nominal wavelength.

Return type:

float

r0()[source]

Returns the innermost radius (approximated calculation r0=sqrt(wavelength * focal)).

Return type:

float

r0_exact()[source]

Returns the innermost radius (exact calculation r0=sqrt(wavelength * focal + (wavelength/2)**2)).

Return type:

float

rn()[source]

syned.beamline.optical_elements.ideal_elements.ideal_lens module

class syned.beamline.optical_elements.ideal_elements.ideal_lens.IdealLens(name='Undefined', focal_x=1.0, focal_y=1.0)[source]

Bases: IdealElement

Defines an ideal lens. It converts a plane wave into: * an spherical converging wave (if focal_x=focal_y). * a toroidal converging wave (if focal_x != focal_y). * a cylindrical wave (if focal_x or focal_y is infinity).

Constructor.

Parameters:
  • name (str, optional) – The name of the optical element.

  • focal_x (float) – The focal length in meters along the X direction.

  • focal_y (float) – The focal length in meters along the Y direction.

focal_x()[source]

Returns the focal length in the X direction.

Return type:

float

focal_y()[source]

Returns the focal length in the Y direction.

Return type:

float

syned.beamline.optical_elements.ideal_elements.screen module

class syned.beamline.optical_elements.ideal_elements.screen.Screen(name='Undefined')[source]

Bases: IdealElement

Defines an ideal screen (a plane perpendiculat to the optical axis).

Constructor.

Parameters:

name (str, optional) – The name of the optical element.

Module contents