|
BornAgain
1.18.0
Simulate and fit neutron and x-ray scattering at grazing incidence
|
Our sample model: a stack of layers one below the other. More...
Inheritance diagram for MultiLayer:Public Member Functions | |
| MultiLayer * | clone () const final override |
| Returns a clone of multilayer with clones of all layers and interfaces between layers. | |
| void | accept (INodeVisitor *visitor) const final override |
| Calls the INodeVisitor's visit method. | |
| size_t | numberOfLayers () const |
| void | addLayer (const Layer &layer) |
| Adds object to multilayer. More... | |
| void | addLayerWithTopRoughness (const Layer &layer, const LayerRoughness &roughness) |
| Adds layer with top roughness. | |
| const Layer * | layer (size_t i_layer) const |
| Returns layer with given index. | |
| const LayerInterface * | layerInterface (size_t i_interface) const |
| Returns interface with given index. | |
| void | setCrossCorrLength (double crossCorrLength) |
| Sets cross correlation length of roughnesses between interfaces. | |
| double | crossCorrLength () const |
| Returns cross correlation length of roughnesses between interfaces. | |
| void | setExternalField (kvector_t ext_field) |
| Sets the external field applied to the multilayer (units: A/m) | |
| kvector_t | externalField () const |
| Returns the external field applied to the multilayer (units: A/m) | |
| std::vector< const INode * > | getChildren () const final override |
| Returns a vector of children (const). | |
| void | setRoughnessModel (RoughnessModel roughnessModel) |
| RoughnessModel | roughnessModel () const |
Public Member Functions inherited from ISample | |
| ISample (const NodeMeta &meta, const std::vector< double > &PValues) | |
| virtual const Material * | material () const |
| Returns nullptr, unless overwritten to return a specific material. | |
| std::vector< const Material * > | containedMaterials () const |
| Returns set of unique materials contained in this ISample. | |
Public Member Functions inherited from ICloneable | |
| ICloneable (const ICloneable &)=delete | |
| ICloneable (ICloneable &&)=default | |
| virtual void | transferToCPP () |
| Used for Python overriding of clone (see swig/tweaks.py) | |
Public Member Functions inherited from INode | |
| INode (const NodeMeta &meta, const std::vector< double > &PValues) | |
| virtual std::string | treeToString () const |
| Returns multiline string representing tree structure below the node. | |
| void | registerChild (INode *node) |
| virtual void | setParent (const INode *newParent) |
| const INode * | parent () const |
| INode * | parent () |
| int | copyNumber (const INode *node) const |
| Returns copyNumber of child, which takes into account existence of children with same name. | |
| std::string | displayName () const |
| Returns display name, composed from the name of node and it's copy number. | |
| ParameterPool * | createParameterTree () const |
| Creates new parameter pool, with all local parameters and those of its children. | |
Public Member Functions inherited from IParameterized | |
| IParameterized (const std::string &name="") | |
| IParameterized (const IParameterized &other) | |
| IParameterized & | operator= (const IParameterized &other)=delete |
| ParameterPool * | parameterPool () const |
| Returns pointer to the parameter pool. | |
| std::string | parametersToString () const |
| Returns multiline string representing available parameters. | |
| RealParameter & | registerParameter (const std::string &name, double *parpointer) |
| void | registerVector (const std::string &base_name, kvector_t *p_vec, const std::string &units="nm") |
| void | setParameterValue (const std::string &name, double value) |
| void | setVectorValue (const std::string &base_name, kvector_t value) |
| RealParameter * | parameter (const std::string &name) const |
| Returns parameter with given 'name'. | |
| virtual void | onChange () |
| Action to be taken in inherited class when a parameter has changed. | |
| void | removeParameter (const std::string &name) |
| void | removeVector (const std::string &base_name) |
| void | setName (const std::string &name) |
| const std::string & | getName () const |
Additional Inherited Members | |
Static Public Member Functions inherited from IParameterized | |
| static std::string | XComponentName (const std::string &base_name) |
| static std::string | YComponentName (const std::string &base_name) |
| static std::string | ZComponentName (const std::string &base_name) |
Protected Attributes inherited from INode | |
| const size_t | m_NP |
| std::vector< double > | m_P |
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
Definition at line 41 of file MultiLayer.h.
| void MultiLayer::addLayer | ( | const Layer & | layer | ) |
Adds object to multilayer.
Adds layer with default (zero) roughness.
Definition at line 54 of file MultiLayer.cpp.