BornAgain  1.19.0
Simulate and fit neutron and x-ray scattering at grazing incidence
MultiLayer Class Reference

Our sample model: a stack of layers one below the other. More...

+ Inheritance diagram for MultiLayer:

Public Member Functions

void accept (INodeVisitor *visitor) const final
 
void addLayer (const Layer &layer)
 Adds layer with default (zero) roughness.
 
void addLayerWithTopRoughness (const Layer &layer, const LayerRoughness &roughness)
 Adds layer with top roughness.
 
MultiLayerclone () const final
 
double crossCorrLength () const
 Returns cross correlation length of roughnesses between interfaces.
 
kvector_t externalField () const
 Returns the external field applied to the multilayer (units: A/m)
 
std::vector< const INode * > getChildren () const final
 
const Layerlayer (size_t i_layer) const
 Returns layer with given index.
 
const LayerInterface * layerInterface (size_t i_interface) const
 Returns interface with given index.
 
size_t numberOfLayers () const
 
RoughnessModel roughnessModel () const
 
void setCrossCorrLength (double crossCorrLength)
 Sets cross correlation length of roughnesses between interfaces.
 
void setExternalField (kvector_t ext_field)
 Sets the external field applied to the multilayer (units: A/m)
 
void setRoughnessModel (RoughnessModel roughnessModel)
 

Detailed Description

Our sample model: a stack of layers one below the other.

Example of system of 4 layers (3 interfaces):

ambience layer #0 ------— interface #0 z=0.0 Fe, 20A layer #1 ------— interface #1 z=-20.0 Cr, 40A layer #2 ------— interface #2 z=-60.0 substrate layer #3