MLL#
- class pyrost.multislice.MLL(layers, mat1_r, mat2_r, sigma)#
Multilayer Laue lens class.
- Parameters
mat1_r (
complex
) – Fresnel transmission coefficients for the first material, that the MLL’s bilayers are composed of. The coefficients are the ratio of a wavefield propagating through a single slice of the lens.mat2_r (
complex
) – Fresnel transmission coefficients for the second material, that the MLL’s bilayers are composed of. The coefficients are the ratio of a wavefield propagating through a single slice of the lens.sigma (
float
) – Bilayer’s interdiffusion length [um].layers (
ndarray
) – MLL’s bilayers x coordinates [um].
- get_profile(x_arr, output, num_threads=1)#
Return a generator, that yields transmission profiles of the lens at each slice and writes to output array.
- get_span()#
Return the pair of bounds (x_min, x_max) of the MLL along the x axis.
- classmethod import_params(params)#
Return a new
MLL
object import from theMSParams
multislice parameters object.
- update_materials(mat1_r, mat2_r)#
Return a new
MLL
object with the updated materials mat1_r and mat2_r.- Parameters
mat1_r (
complex
) – Fresnel transmission coefficients for each of the materials, that the MLL’s bilayers are composed of. The coefficients are the ratio of a wavefield propagating through a single slice of the lens.mat2_r (
complex
) – Fresnel transmission coefficients for each of the materials, that the MLL’s bilayers are composed of. The coefficients are the ratio of a wavefield propagating through a single slice of the lens.
- Return type
- Returns
New
MLL
object with the updated mat1_r and mat2_r.