class EasyReflectometry.sample.assemblies.repeating_multilayer.RepeatingMultilayer[source]#

Bases: Multilayer

A repeating multi layer is build from a Multilayer and which it repeats for a given number of times. This enables a computational efficiency in many reflectometry engines as the operation can be performed for a single Multilayer and cheaply combined for the appropriate number of repetitions.

More information about the usage of this assembly is available in the repeating multilayer documentation

__init__(layers, repetitions, name='EasyRepeatingMultilayer', interface=None)[source]#

Constructor.

Parameters:
  • layers (LayerCollection | Layer | list[Layer]) – The layers that make up the multi-layer that will be repeated.

  • repetitions (Parameter) – Number of repetitions of the given series of layers

  • name (str) – Name for the repeating multi layer, defaults to ‘EasyRepeatingMultilayer’.

  • interface – Calculator interface, defaults to None.

classmethod default(interface=None)[source]#

Default instance of a repeating multi layer.

Return type:

RepeatingMultilayer

Returns:

Default repeating multi-layer container

classmethod from_pars(layers, repetitions=1.0, name='EasyRepeatingMultilayer', interface=None)[source]#

Instance of a repeating multi layer where the parameters are known.

Parameters:
  • layers (LayerCollection) – The layers in the repeating multi layer.

  • repetitions (float) – Number of repetitions, defaults to :py:attr`1`.

  • name (str) – Name of the layer, defaults to ‘EasyRepeatingMultilayer’.

  • interface – Calculator interface, defaults to None.

Return type:

RepeatingMultilayer

user_data: dict#
layers: LayerCollection#

Layers in the assembly.