BornAgain
1.19.79
Open-source research software to simulate and fit neutron and x-ray reflectometry and grazing-incidence small-angle scattering
|
Our sample model: a stack of layers one below the other.
Example of system of 4 layers (3 interfaces):
vacuum 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
Public Member Functions | |
MultiLayer (std::string name="Unnamed") | |
~MultiLayer () override | |
void | addLayer (const Layer &layer) |
void | addLayerWithTopRoughness (const Layer &layer, const LayerRoughness &roughness) |
std::string | className () const final |
MultiLayer * | clone () const override |
double | crossCorrLength () const |
Returns cross correlation length of roughnesses between interfaces. More... | |
R3 | externalField () const |
Returns the external field applied to the sample (units: A/m) More... | |
const Layer * | layer (size_t i_layer) const |
Returns layer with given index. More... | |
const LayerInterface * | layerInterface (size_t i_interface) const |
Returns interface with given index. More... | |
std::vector< const INode * > | nodeChildren () const override |
size_t | numberOfLayers () const |
RoughnessModel | roughnessModel () const |
const std::string & | sampleName () const |
void | setCrossCorrLength (double crossCorrLength) |
Sets cross correlation length of roughnesses between interfaces. More... | |
void | setExternalField (R3 ext_field) |
Sets the external field applied to the sample (units: A/m) More... | |
void | setRoughnessModel (RoughnessModel roughnessModel) |
void | setSampleName (const std::string &name) |
MultiLayer::MultiLayer | ( | std::string | name = "Unnamed" | ) |
|
override |
void MultiLayer::addLayer | ( | const Layer & | layer | ) |
void MultiLayer::addLayerWithTopRoughness | ( | const Layer & | layer, |
const LayerRoughness & | roughness | ||
) |
|
final |
|
override |
double MultiLayer::crossCorrLength | ( | ) | const |
Returns cross correlation length of roughnesses between interfaces.
R3 MultiLayer::externalField | ( | ) | const |
Returns the external field applied to the sample (units: A/m)
const Layer* MultiLayer::layer | ( | size_t | i_layer | ) | const |
Returns layer with given index.
const LayerInterface* MultiLayer::layerInterface | ( | size_t | i_interface | ) | const |
Returns interface with given index.
|
override |
size_t MultiLayer::numberOfLayers | ( | ) | const |
RoughnessModel MultiLayer::roughnessModel | ( | ) | const |
const std::string& MultiLayer::sampleName | ( | ) | const |
void MultiLayer::setCrossCorrLength | ( | double | crossCorrLength | ) |
Sets cross correlation length of roughnesses between interfaces.
void MultiLayer::setExternalField | ( | R3 | ext_field | ) |
Sets the external field applied to the sample (units: A/m)
void MultiLayer::setRoughnessModel | ( | RoughnessModel | roughnessModel | ) |
void MultiLayer::setSampleName | ( | const std::string & | name | ) |