Core classes#
The following classes are central to pyrost.multislice module:
pyrost.multislice.MLLis the mutlilayer Laue lens class, that generates a transmission profile of a MLL for the given pair of materials and set of experimental parameters.pyrost.multislice.MSPropagatoraccepts a set of simulation parameters frompyrost.multislice.MSParamsand a MLL object frompyrost.multislice.MLLand performs the multislice beam propagation using the FFT algorithm.
Multislice beam propagation simulation. Generate a profile of
the beam that propagates through a bulky sample.
pyrost.multislice.MLL generates a transmission profile of
a wedged Multilayer Laue lens (MLL). pyrost.multislice.MSPropagator
calculates the beam propagation and spits out the wavefield profile of
the propagated beam together with the transmission profile of the sample
at each slice.
Examples
Initialize a MLL object with the pyrost.multislice.MSParams
parameters object params with pyrost.multislice.MLL.import_params().
Then you can initialize a multislice beam propagator
pyrost.multislice.MSPropagator with params and mll and perform
the multislice beam propagation as follows:
>>> import pyrost.multislice as ms_sim
>>> params = ms_sim.MSParams.import_default()
>>> mll = ms_sim.MLL.import_params(params)
>>> ms_prgt = ms_sim.MSPropagator(params, mll)
>>> ms_prgt.beam_propagate()
All the results are saved into ms_prgt.beam_profile and ms_prgt.smp_profile attributes.