Core classes#

The following classes are central to pyrost.multislice module:

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.

Contents#