Core classes#
The following classes are central to pyrost.multislice module:
pyrost.multislice.MLL
is 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.MSPropagator
accepts a set of simulation parameters frompyrost.multislice.MSParams
and a MLL object frompyrost.multislice.MLL
and 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.