- class EasyReflectometry.sample.assemblies.multilayer.Multilayer[source]#
Bases:
BaseAssembly
A multi layer is build from a single or a list of Layer or LayerCollection. The multi layer will arrange the layers as slabs, allowing the reflectometry to be determined from them. The front layer is where the neutron beam starts in, it has an index of 0.
More information about the usage of this assembly is available in the multilayer documentation
- __init__(layers, name='EasyMultilayer', interface=None, type='Multi-layer')[source]#
Constructor.
- Parameters:
layers (LayerCollection | Layer | list[Layer]) – The layers that make up the multi-layer.
name (str) – Name for multi layer, defaults to ‘EasyMultilayer’.
interface – Calculator interface, defaults to None.
type (str) – Type of the constructed instance, defaults to ‘Multi-layer’
- classmethod default(interface=None)[source]#
Default instance of a multi-layer.
- Parameters:
interface – Calculator interface, defaults to None.
- Return type:
- classmethod from_pars(layers, name='EasyMultilayer', interface=None)[source]#
Instance of a multi-layer where the parameters are known.
- Parameters:
layers (
LayerCollection
) – The layers in the multi-layer.name (
str
) – Name of the layer, defaults to ‘EasyMultilayer’.interface – Calculator interface, defaults to None.
- Return type:
- add_layer(*layers)[source]#
Add a layer to the multi layer.
- Parameters:
layers (
tuple
[Layer
]) – Layers to add to the multi layer.- Return type:
None
- duplicate_layer(idx)[source]#
Duplicate a given layer.
- Parameters:
idx (int) – index of layer to duplicate.
- Return type:
None
- remove_layer(idx)[source]#
Remove a layer from the item.
- Parameters:
idx (
int
) – index of layer to remove- Return type:
None
-
user_data:
dict
#
-
layers:
LayerCollection
# Layers in the assembly.