BornAgain
1.19.0
Simulate and fit neutron and x-ray scattering at grazing incidence
|
Our sample model: a stack of layers one below the other. More...
Public Member Functions | |
MultiLayer () | |
~MultiLayer () override | |
void | accept (INodeVisitor *visitor) const final |
Calls the INodeVisitor's visit method. More... | |
void | addLayer (const Layer &layer) |
Adds layer with default (zero) roughness. More... | |
void | addLayerWithTopRoughness (const Layer &layer, const LayerRoughness &roughness) |
Adds layer with top roughness. More... | |
MultiLayer * | clone () const final |
Returns a clone of this ISampleNode object. More... | |
std::vector< const Material * > | containedMaterials () const |
Returns set of unique materials contained in this ISampleNode. More... | |
int | copyNumber (const INode *node) const |
Returns copyNumber of child, which takes into account existence of children with same name. More... | |
ParameterPool * | createParameterTree () const |
Creates new parameter pool, with all local parameters and those of its children. More... | |
double | crossCorrLength () const |
Returns cross correlation length of roughnesses between interfaces. More... | |
std::string | displayName () const |
Returns display name, composed from the name of node and it's copy number. More... | |
kvector_t | externalField () const |
Returns the external field applied to the multilayer (units: A/m) More... | |
std::vector< const INode * > | getChildren () const final |
Returns a vector of children. More... | |
const std::string & | getName () const |
bool | isMagnetic () const |
Returns true if there is any magnetic material in this ISampleNode. 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... | |
virtual const Material * | material () const |
Returns nullptr, unless overwritten to return a specific material. More... | |
size_t | numberOfLayers () const |
virtual void | onChange () |
Action to be taken in inherited class when a parameter has changed. More... | |
RealParameter * | parameter (const std::string &name) const |
Returns parameter with given 'name'. More... | |
ParameterPool * | parameterPool () const |
Returns pointer to the parameter pool. More... | |
std::string | parametersToString () const |
Returns multiline string representing available parameters. More... | |
INode * | parent () |
const INode * | parent () const |
std::vector< const INode * > | progeny () const |
Returns a vector of all descendants. More... | |
void | registerChild (INode *node) |
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 | removeParameter (const std::string &name) |
void | removeVector (const std::string &base_name) |
RoughnessModel | roughnessModel () const |
void | setCrossCorrLength (double crossCorrLength) |
Sets cross correlation length of roughnesses between interfaces. More... | |
void | setExternalField (kvector_t ext_field) |
Sets the external field applied to the multilayer (units: A/m) More... | |
void | setName (const std::string &name) |
void | setParameterValue (const std::string &name, double value) |
virtual void | setParent (const INode *newParent) |
void | setRoughnessModel (RoughnessModel roughnessModel) |
void | setVectorValue (const std::string &base_name, kvector_t value) |
virtual void | transferToCPP () |
Used for Python overriding of clone (see swig/tweaks.py) More... | |
virtual std::string | treeToString () const |
Returns multiline string representing tree structure below the node. More... | |
Static Public Member Functions | |
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 | |
const size_t | m_NP |
std::vector< double > | m_P |
Private Member Functions | |
void | addAndRegisterInterface (LayerInterface *child) |
Adds the interface with simultaneous registration in parent class. More... | |
void | addAndRegisterLayer (Layer *child) |
Adds the layer with simultaneous registration in parent class. More... | |
size_t | check_interface_index (size_t i_interface) const |
Checks index of interface w.r.t. vector length. More... | |
size_t | check_layer_index (size_t i_layer) const |
Checks index of layer w.r.t. vector length. More... | |
void | handleLayerThicknessRegistration () |
Handles correct registration of layer thicknesses (not needed for top and bottom layer) More... | |
Private Attributes | |
double | m_crossCorrLength |
cross correlation length (in z direction) between different layers More... | |
kvector_t | m_ext_field |
external magnetic field (in A/m) More... | |
SafePointerVector< LayerInterface > | m_interfaces |
stack of layer interfaces [nlayers-1] More... | |
SafePointerVector< Layer > | m_layers |
stack of layers [nlayers] More... | |
std::string | m_name |
const INode * | m_parent {nullptr} |
std::unique_ptr< ParameterPool > | m_pool |
parameter pool (kind of pointer-to-implementation) More... | |
RoughnessModel | m_roughness_model {RoughnessModel::DEFAULT} |
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.
MultiLayer::MultiLayer | ( | ) |
Definition at line 27 of file MultiLayer.cpp.
References m_crossCorrLength, m_ext_field, IParametricComponent::registerParameter(), IParametricComponent::registerVector(), IParametricComponent::setName(), RealParameter::setNonnegative(), and RealParameter::setUnit().
Referenced by clone().
|
overridedefault |
|
inlinefinalvirtual |
Calls the INodeVisitor's visit method.
Implements INode.
Definition at line 48 of file MultiLayer.h.
|
private |
Adds the interface with simultaneous registration in parent class.
Definition at line 140 of file MultiLayer.cpp.
References m_interfaces, SafePointerVector< T >::push_back(), and INode::registerChild().
Referenced by addLayerWithTopRoughness().
|
private |
Adds the layer with simultaneous registration in parent class.
Definition at line 133 of file MultiLayer.cpp.
References handleLayerThicknessRegistration(), m_layers, SafePointerVector< T >::push_back(), and INode::registerChild().
Referenced by addLayerWithTopRoughness().
void MultiLayer::addLayer | ( | const Layer & | layer | ) |
Adds layer with default (zero) roughness.
Definition at line 53 of file MultiLayer.cpp.
References addLayerWithTopRoughness(), and layer().
Referenced by BoxesSquareLattice2DBuilder::buildSample(), CoreShellParticleBuilder::buildSample(), CoreShellBoxRotateZandYBuilder::buildSample(), CustomMorphologyBuilder::buildSample(), CylindersAndPrismsBuilder::buildSample(), CylindersInDWBABuilder::buildSample(), CylindersInBABuilder::buildSample(), LargeCylindersInDWBABuilder::buildSample(), RotatedCylindersBuilder::buildSample(), HomogeneousMultilayerBuilder::buildSample(), Lattice1DBuilder::buildSample(), LayersWithAbsorptionBuilder::buildSample(), LayersWithAbsorptionBySLDBuilder::buildSample(), MagneticSubstrateZeroFieldBuilder::buildSample(), SimpleMagneticLayerBuilder::buildSample(), MagneticLayerBuilder::buildSample(), MagneticRotationBuilder::buildSample(), MagneticParticleZeroFieldBuilder::buildSample(), MagneticCylindersBuilder::buildSample(), MagneticSpheresBuilder::buildSample(), MesoCrystalBuilder::buildSample(), MultiLayerWithRoughnessBuilder::buildSample(), MultipleLayoutBuilder::buildSample(), RadialParaCrystalBuilder::buildSample(), Basic2DParaCrystalBuilder::buildSample(), HexParaCrystalBuilder::buildSample(), RectParaCrystalBuilder::buildSample(), ParticleCompositionBuilder::buildSample(), CylindersWithSizeDistributionBuilder::buildSample(), TwoTypesCylindersDistributionBuilder::buildSample(), RotatedPyramidsDistributionBuilder::buildSample(), SpheresWithLimitsDistributionBuilder::buildSample(), ConesWithLimitsDistributionBuilder::buildSample(), LinkedBoxDistributionBuilder::buildSample(), ParticleInVacuumBuilder::buildSample(), HardDiskBuilder::buildSample(), CosineRippleBuilder::buildSample(), TriangularRippleBuilder::buildSample(), RotatedPyramidsBuilder::buildSample(), SizeDistributionDAModelBuilder::buildSample(), SizeDistributionLMAModelBuilder::buildSample(), SizeDistributionSSCAModelBuilder::buildSample(), CylindersInSSCABuilder::buildSample(), SlicedCompositionBuilder::buildSample(), SlicedCylindersBuilder::buildSample(), SLDSlicedCylindersBuilder::buildSample(), AveragedSlicedCylindersBuilder::buildSample(), TransformBoxBuilder::buildSample(), Basic2DLatticeBuilder::buildSample(), SquareLattice2DBuilder::buildSample(), CenteredSquareLattice2DBuilder::buildSample(), RotatedSquareLattice2DBuilder::buildSample(), FiniteSquareLattice2DBuilder::buildSample(), SuperLatticeBuilder::buildSample(), TwoLayerRoughnessBuilder::buildSample(), PlainMultiLayerBySLDBuilder::buildSample(), ThickAbsorptiveSampleBuilder::buildSample(), and clone().
void MultiLayer::addLayerWithTopRoughness | ( | const Layer & | layer, |
const LayerRoughness & | roughness | ||
) |
Adds layer with top roughness.
Definition at line 60 of file MultiLayer.cpp.
References addAndRegisterInterface(), addAndRegisterLayer(), SafePointerVector< T >::back(), Layer::clone(), LayerInterface::createRoughInterface(), LayerInterface::createSmoothInterface(), LayerRoughness::getSigma(), layer(), m_layers, numberOfLayers(), and Layer::thickness().
Referenced by addLayer(), MultiLayerWithRoughnessBuilder::buildSample(), TwoLayerRoughnessBuilder::buildSample(), ThickAbsorptiveSampleBuilder::buildSample(), and clone().
|
private |
Checks index of interface w.r.t. vector length.
Definition at line 162 of file MultiLayer.cpp.
References m_interfaces, and SafePointerVector< T >::size().
Referenced by layerInterface().
|
private |
Checks index of layer w.r.t. vector length.
Definition at line 155 of file MultiLayer.cpp.
References m_layers, and SafePointerVector< T >::size().
Referenced by layer().
|
finalvirtual |
Returns a clone of this ISampleNode object.
Implements ISampleNode.
Definition at line 36 of file MultiLayer.cpp.
References MultiLayer(), addLayer(), addLayerWithTopRoughness(), crossCorrLength(), externalField(), m_interfaces, numberOfLayers(), and roughnessModel().
Referenced by PyImport::createFromPython(), and SampleProvider::setSample().
|
inherited |
Returns set of unique materials contained in this ISampleNode.
Definition at line 26 of file ISampleNode.cpp.
References INode::getChildren(), and ISampleNode::material().
Referenced by MultiLayerUtils::ContainsCompatibleMaterials(), SampleToPython::initLabels(), and ISampleNode::isMagnetic().
|
inherited |
Returns copyNumber of child, which takes into account existence of children with same name.
Definition at line 94 of file INode.cpp.
References INode::getChildren(), IParametricComponent::getName(), and INode::parent().
Referenced by INode::displayName().
|
virtualinherited |
Creates new parameter pool, with all local parameters and those of its children.
Reimplemented from IParametricComponent.
Definition at line 126 of file INode.cpp.
References NodeUtils::nodePath(), INode::parent(), and INode::progeny().
Referenced by ISimulation::runSimulation(), DepthProbeSimulation::validateParametrization(), OffSpecularSimulation::validateParametrization(), and SpecularSimulation::validateParametrization().
|
inline |
Returns cross correlation length of roughnesses between interfaces.
Definition at line 68 of file MultiLayer.h.
References m_crossCorrLength.
Referenced by clone(), setCrossCorrLength(), and GUIDomainSampleVisitor::visit().
|
inherited |
Returns display name, composed from the name of node and it's copy number.
Definition at line 115 of file INode.cpp.
References INode::copyNumber(), IParametricComponent::getName(), and INode::m_parent.
Referenced by NodeUtils::nodePath().
|
inline |
Returns the external field applied to the multilayer (units: A/m)
Definition at line 70 of file MultiLayer.h.
References m_ext_field.
Referenced by clone(), and GUIDomainSampleVisitor::visit().
|
finalvirtual |
Returns a vector of children.
Reimplemented from INode.
Definition at line 118 of file MultiLayer.cpp.
References layerInterface(), m_interfaces, m_layers, and SafePointerVector< T >::size().
|
inlineinherited |
Definition at line 70 of file IParametricComponent.h.
References IParametricComponent::m_name.
Referenced by Beam::Beam(), ConvolutionDetectorResolution::ConvolutionDetectorResolution(), IDetector::IDetector(), Instrument::Instrument(), IParametricComponent::IParametricComponent(), SampleBuilderNode::SampleBuilderNode(), Layer::clone(), INode::copyNumber(), IParametricComponent::createParameterTree(), IFormFactor::createSlicedFormFactor(), SampleToPython::defineInterferenceFunctions(), INode::displayName(), Beam::operator=(), SampleBuilderNode::operator=(), GUIObjectBuilder::populateInstrumentModel(), PyImportAssistant::populateModels(), GUIDomainSampleVisitor::populateSampleModel(), IParametricComponent::registerParameter(), IFormFactor::sliceFormFactor(), and GUIDomainSampleVisitor::visit().
|
private |
Handles correct registration of layer thicknesses (not needed for top and bottom layer)
Definition at line 146 of file MultiLayer.cpp.
References ASSERT, m_layers, and numberOfLayers().
Referenced by addAndRegisterLayer().
|
inherited |
Returns true if there is any magnetic material in this ISampleNode.
Definition at line 40 of file ISampleNode.cpp.
References ISampleNode::containedMaterials().
Referenced by ProcessedSample::initLayouts().
const Layer * MultiLayer::layer | ( | size_t | i_layer | ) | const |
Returns layer with given index.
Definition at line 91 of file MultiLayer.cpp.
References check_layer_index(), and m_layers.
Referenced by addLayer(), addLayerWithTopRoughness(), MultiLayerUtils::IndexOfLayer(), ProcessedSample::initLayouts(), and ProcessedSample::initSlices().
const LayerInterface * MultiLayer::layerInterface | ( | size_t | i_interface | ) | const |
Returns interface with given index.
Definition at line 96 of file MultiLayer.cpp.
References check_interface_index(), and m_interfaces.
Referenced by getChildren(), MultiLayerUtils::hasRoughness(), and MultiLayerUtils::LayerTopRoughness().
|
inlinevirtualinherited |
Returns nullptr, unless overwritten to return a specific material.
Reimplemented in Particle, and Layer.
Definition at line 37 of file ISampleNode.h.
Referenced by ISampleNode::containedMaterials(), FormFactorCoreShell::setAmbientMaterial(), FormFactorCrystal::setAmbientMaterial(), FormFactorWeighted::setAmbientMaterial(), FormFactorDecoratorMaterial::setAmbientMaterial(), IFormFactorDecorator::setAmbientMaterial(), and FormFactorDecoratorMaterial::setMaterial().
|
inline |
Definition at line 50 of file MultiLayer.h.
References m_layers, and SafePointerVector< T >::size().
Referenced by addLayerWithTopRoughness(), clone(), handleLayerThicknessRegistration(), MultiLayerUtils::hasRoughness(), MultiLayerUtils::IndexOfLayer(), ProcessedSample::initLayouts(), and ProcessedSample::initSlices().
|
inlinevirtualinherited |
Action to be taken in inherited class when a parameter has changed.
Reimplemented in IProfileRipple, Lattice3D, InterferenceFunction3DLattice, InterferenceFunction2DLattice, FormFactorSphereLogNormalRadius, FormFactorSphereGaussianRadius, FormFactorGaussSphere, ISawtoothRipple, ICosineRipple, IProfileRectangularRipple, FormFactorTruncatedSpheroid, FormFactorTruncatedSphere, FormFactorTruncatedCube, FormFactorTetrahedron, FormFactorPyramid, FormFactorPrism6, FormFactorPrism3, FormFactorLongBoxLorentz, FormFactorLongBoxGauss, FormFactorIcosahedron, FormFactorHollowSphere, FormFactorHemiEllipsoid, FormFactorFullSpheroid, FormFactorFullSphere, FormFactorEllipsoidalCylinder, FormFactorDodecahedron, FormFactorCylinder, FormFactorCuboctahedron, FormFactorCone6, FormFactorCone, FormFactorCantellatedCube, FormFactorBox, FormFactorAnisoPyramid, and Lattice2D.
Definition at line 59 of file IParametricComponent.h.
Referenced by Lattice2D::onChange(), and IParametricComponent::registerParameter().
|
inherited |
Returns parameter with given 'name'.
Definition at line 86 of file IParametricComponent.cpp.
References IParametricComponent::m_pool, and RealSpace::Particles::name().
Referenced by DepthProbeSimulation::initialize(), SpecularSimulation::initialize(), Lattice3D::initialize(), IParticle::registerAbundance(), ParticleLayout::registerParticleDensity(), IParticle::registerPosition(), Layer::registerThickness(), Lattice2D::setRotationEnabled(), and DistributionLogNormal::setUnits().
|
inlineinherited |
Returns pointer to the parameter pool.
Definition at line 39 of file IParametricComponent.h.
References IParametricComponent::m_pool.
Referenced by INode::INode(), IParametricComponent::IParametricComponent(), pyfmt2::argumentList(), SampleBuilderNode::borrow_builder_parameters(), SampleBuilderNode::reset(), and IDistribution1D::setUnits().
|
inherited |
Returns multiline string representing available parameters.
Definition at line 43 of file IParametricComponent.cpp.
References IParametricComponent::createParameterTree().
|
inherited |
Definition at line 89 of file INode.cpp.
References INode::m_parent.
|
inherited |
Definition at line 84 of file INode.cpp.
References INode::m_parent.
Referenced by INode::copyNumber(), INode::createParameterTree(), ParticleDistribution::generateParticles(), NodeUtils::nodePath(), Lattice2D::onChange(), SampleProvider::setBuilder(), SampleProvider::setParent(), and SampleProvider::setSample().
|
inherited |
Returns a vector of all descendants.
Definition at line 68 of file INode.cpp.
References INode::getChildren().
Referenced by INode::createParameterTree(), and ParticleDistribution::generateParticles().
|
inherited |
Definition at line 57 of file INode.cpp.
References ASSERT, and INode::setParent().
Referenced by Beam::Beam(), Crystal::Crystal(), IDetector::IDetector(), Instrument::Instrument(), InterferenceFunction2DLattice::InterferenceFunction2DLattice(), InterferenceFunction2DParaCrystal::InterferenceFunction2DParaCrystal(), InterferenceFunction2DSuperLattice::InterferenceFunction2DSuperLattice(), InterferenceFunctionFinite2DLattice::InterferenceFunctionFinite2DLattice(), Particle::Particle(), ParticleDistribution::ParticleDistribution(), ParticleLayout::addAndRegisterAbstractParticle(), ParticleCoreShell::addAndRegisterCore(), addAndRegisterInterface(), addAndRegisterLayer(), ParticleCoreShell::addAndRegisterShell(), Layer::addLayout(), ParticleComposition::addParticlePointer(), ISimulation::initialize(), MesoCrystal::initialize(), Beam::operator=(), Instrument::operator=(), IParticle::rotate(), ParticleLayout::setAndRegisterInterferenceFunction(), ISimulation::setBackground(), InterferenceFunction1DLattice::setDecayFunction(), InterferenceFunction2DLattice::setDecayFunction(), Instrument::setDetector(), IDetector::setDetectorResolution(), Beam::setFootprintFactor(), Particle::setFormFactor(), InterferenceFunctionFinite3DLattice::setLattice(), InterferenceFunctionRadialParaCrystal::setProbabilityDistribution(), InterferenceFunction2DParaCrystal::setProbabilityDistributions(), ConvolutionDetectorResolution::setResolutionFunction(), IParticle::setRotation(), LayerInterface::setRoughness(), and InterferenceFunction2DSuperLattice::setSubstructureIFF().
|
inherited |
Definition at line 51 of file IParametricComponent.cpp.
References IParametricComponent::getName(), IParametricComponent::m_pool, RealSpace::Particles::name(), and IParametricComponent::onChange().
Referenced by BasicLattice2D::BasicLattice2D(), Beam::Beam(), CylindersInBABuilder::CylindersInBABuilder(), DetectionProperties::DetectionProperties(), HexagonalLattice2D::HexagonalLattice2D(), IInterferenceFunction::IInterferenceFunction(), INode::INode(), InterferenceFunction1DLattice::InterferenceFunction1DLattice(), InterferenceFunction2DParaCrystal::InterferenceFunction2DParaCrystal(), InterferenceFunctionHardDisk::InterferenceFunctionHardDisk(), InterferenceFunctionRadialParaCrystal::InterferenceFunctionRadialParaCrystal(), InterferenceFunctionTwin::InterferenceFunctionTwin(), Lattice2D::Lattice2D(), LayerRoughness::LayerRoughness(), MultiLayer(), ParticleDistribution::ParticleDistribution(), PlainMultiLayerBySLDBuilder::PlainMultiLayerBySLDBuilder(), ResolutionFunction2DGaussian::ResolutionFunction2DGaussian(), ResonatorBuilder::ResonatorBuilder(), SquareLattice2D::SquareLattice2D(), TriangularRippleBuilder::TriangularRippleBuilder(), IParticle::registerAbundance(), ParticleLayout::registerParticleDensity(), Layer::registerThickness(), IParametricComponent::registerVector(), ParticleLayout::registerWeight(), and Lattice2D::setRotationEnabled().
|
inherited |
Definition at line 57 of file IParametricComponent.cpp.
References ModelView::Utils::base_name(), IParametricComponent::registerParameter(), RealParameter::setUnit(), IParametricComponent::XComponentName(), IParametricComponent::YComponentName(), and IParametricComponent::ZComponentName().
Referenced by Beam::Beam(), DetectionProperties::DetectionProperties(), InterferenceFunctionTwin::InterferenceFunctionTwin(), MultiLayer(), Lattice3D::initialize(), and IParticle::registerPosition().
|
inherited |
Definition at line 91 of file IParametricComponent.cpp.
References IParametricComponent::m_pool, and RealSpace::Particles::name().
Referenced by IParticle::registerAbundance(), ParticleLayout::registerParticleDensity(), Layer::registerThickness(), IParametricComponent::removeVector(), and Lattice2D::setRotationEnabled().
|
inherited |
Definition at line 96 of file IParametricComponent.cpp.
References ModelView::Utils::base_name(), IParametricComponent::removeParameter(), IParametricComponent::XComponentName(), IParametricComponent::YComponentName(), and IParametricComponent::ZComponentName().
Referenced by IParticle::registerPosition().
|
inline |
Definition at line 66 of file MultiLayer.h.
References m_roughness_model.
Referenced by SpecularStrategyBuilder::build(), FeNiBilayerTanhBuilder::buildSample(), FeNiBilayerNCBuilder::buildSample(), FeNiBilayerSpinFlipTanhBuilder::buildSample(), FeNiBilayerSpinFlipNCBuilder::buildSample(), clone(), and setRoughnessModel().
void MultiLayer::setCrossCorrLength | ( | double | crossCorrLength | ) |
Sets cross correlation length of roughnesses between interfaces.
Definition at line 101 of file MultiLayer.cpp.
References crossCorrLength(), and m_crossCorrLength.
Referenced by MultiLayerWithRoughnessBuilder::buildSample().
void MultiLayer::setExternalField | ( | kvector_t | ext_field | ) |
Sets the external field applied to the multilayer (units: A/m)
Definition at line 108 of file MultiLayer.cpp.
References m_ext_field.
|
inlineinherited |
Definition at line 69 of file IParametricComponent.h.
References IParametricComponent::m_name, and RealSpace::Particles::name().
Referenced by BasicLattice2D::BasicLattice2D(), Beam::Beam(), ConvolutionDetectorResolution::ConvolutionDetectorResolution(), Crystal::Crystal(), DetectionProperties::DetectionProperties(), DistributionHandler::DistributionHandler(), FormFactorCoreShell::FormFactorCoreShell(), FormFactorCrystal::FormFactorCrystal(), FormFactorDecoratorMaterial::FormFactorDecoratorMaterial(), FormFactorDecoratorPositionFactor::FormFactorDecoratorPositionFactor(), FormFactorDecoratorRotation::FormFactorDecoratorRotation(), FormFactorWeighted::FormFactorWeighted(), HexagonalLattice2D::HexagonalLattice2D(), IDetector::IDetector(), INode::INode(), Instrument::Instrument(), InterferenceFunction1DLattice::InterferenceFunction1DLattice(), InterferenceFunction2DLattice::InterferenceFunction2DLattice(), InterferenceFunction2DParaCrystal::InterferenceFunction2DParaCrystal(), InterferenceFunction2DSuperLattice::InterferenceFunction2DSuperLattice(), InterferenceFunction3DLattice::InterferenceFunction3DLattice(), InterferenceFunctionFinite2DLattice::InterferenceFunctionFinite2DLattice(), InterferenceFunctionFinite3DLattice::InterferenceFunctionFinite3DLattice(), InterferenceFunctionHardDisk::InterferenceFunctionHardDisk(), InterferenceFunctionNone::InterferenceFunctionNone(), InterferenceFunctionRadialParaCrystal::InterferenceFunctionRadialParaCrystal(), InterferenceFunctionTwin::InterferenceFunctionTwin(), ISampleBuilder::ISampleBuilder(), IsGISAXSDetector::IsGISAXSDetector(), Lattice3D::Lattice3D(), Layer::Layer(), LayerInterface::LayerInterface(), LayerRoughness::LayerRoughness(), MultiLayer(), ParticleCoreShell::ParticleCoreShell(), ParticleDistribution::ParticleDistribution(), ParticleLayout::ParticleLayout(), RectangularDetector::RectangularDetector(), ResolutionFunction2DGaussian::ResolutionFunction2DGaussian(), SampleBuilderNode::SampleBuilderNode(), SphericalDetector::SphericalDetector(), SquareLattice2D::SquareLattice2D(), Layer::clone(), LayersWithAbsorptionBuilder::createSampleByIndex(), Basic2DParaCrystalBuilder::createSampleByIndex(), ParticleInVacuumBuilder::createSampleByIndex(), SimpleMagneticRotationBuilder::createSampleByIndex(), DepthProbeSimulation::initialize(), GISASSimulation::initialize(), OffSpecularSimulation::initialize(), SpecularSimulation::initialize(), SpecularDetector1D::initialize(), MesoCrystal::initialize(), Particle::initialize(), ParticleComposition::initialize(), Beam::operator=(), SampleBuilderNode::operator=(), SampleBuilderNode::reset(), and SampleBuilderNode::setSBN().
|
inherited |
Definition at line 65 of file IParametricComponent.cpp.
References IParametricComponent::createParameterTree(), IParametricComponent::m_pool, RealSpace::Particles::name(), and ParameterPool::setMatchedParametersValue().
Referenced by AsymRippleBuilder::buildSample(), and IParametricComponent::setVectorValue().
|
virtualinherited |
Reimplemented in SampleProvider.
Definition at line 79 of file INode.cpp.
References INode::m_parent.
Referenced by INode::registerChild(), SampleProvider::setBuilder(), and SampleProvider::setParent().
void MultiLayer::setRoughnessModel | ( | RoughnessModel | roughnessModel | ) |
Definition at line 113 of file MultiLayer.cpp.
References m_roughness_model, and roughnessModel().
|
inherited |
Definition at line 78 of file IParametricComponent.cpp.
References ModelView::Utils::base_name(), IParametricComponent::setParameterValue(), BasicVector3D< T >::x(), IParametricComponent::XComponentName(), BasicVector3D< T >::y(), IParametricComponent::YComponentName(), BasicVector3D< T >::z(), and IParametricComponent::ZComponentName().
|
inlinevirtualinherited |
Used for Python overriding of clone (see swig/tweaks.py)
Definition at line 34 of file ICloneable.h.
|
virtualinherited |
Returns multiline string representing tree structure below the node.
Definition at line 52 of file INode.cpp.
References NodeUtils::nodeToString().
|
staticinherited |
Definition at line 103 of file IParametricComponent.cpp.
References ModelView::Utils::base_name().
Referenced by Lattice3D::initialize(), IParticle::registerPosition(), IParametricComponent::registerVector(), IParametricComponent::removeVector(), IParametricComponent::setVectorValue(), and VectorParameterTranslator::translate().
|
staticinherited |
Definition at line 108 of file IParametricComponent.cpp.
References ModelView::Utils::base_name().
Referenced by IParametricComponent::registerVector(), IParametricComponent::removeVector(), IParametricComponent::setVectorValue(), and VectorParameterTranslator::translate().
|
staticinherited |
Definition at line 113 of file IParametricComponent.cpp.
References ModelView::Utils::base_name().
Referenced by IParametricComponent::registerVector(), IParametricComponent::removeVector(), IParametricComponent::setVectorValue(), and VectorParameterTranslator::translate().
|
private |
cross correlation length (in z direction) between different layers
Definition at line 95 of file MultiLayer.h.
Referenced by MultiLayer(), crossCorrLength(), and setCrossCorrLength().
|
private |
external magnetic field (in A/m)
Definition at line 97 of file MultiLayer.h.
Referenced by MultiLayer(), externalField(), and setExternalField().
|
private |
stack of layer interfaces [nlayers-1]
Definition at line 93 of file MultiLayer.h.
Referenced by addAndRegisterInterface(), check_interface_index(), clone(), getChildren(), and layerInterface().
|
private |
stack of layers [nlayers]
Definition at line 91 of file MultiLayer.h.
Referenced by addAndRegisterLayer(), addLayerWithTopRoughness(), check_layer_index(), getChildren(), handleLayerThicknessRegistration(), layer(), and numberOfLayers().
|
privateinherited |
Definition at line 73 of file IParametricComponent.h.
Referenced by IParametricComponent::getName(), and IParametricComponent::setName().
|
protectedinherited |
Definition at line 88 of file INode.h.
Referenced by INode::INode().
|
protectedinherited |
Definition at line 89 of file INode.h.
Referenced by INode::INode(), and IFootprintFactor::setWidthRatio().
|
privateinherited |
Definition at line 83 of file INode.h.
Referenced by INode::displayName(), INode::parent(), and INode::setParent().
|
privateinherited |
parameter pool (kind of pointer-to-implementation)
Definition at line 74 of file IParametricComponent.h.
Referenced by IParametricComponent::createParameterTree(), IParametricComponent::parameter(), IParametricComponent::parameterPool(), IParametricComponent::registerParameter(), IParametricComponent::removeParameter(), and IParametricComponent::setParameterValue().
|
private |
Definition at line 99 of file MultiLayer.h.
Referenced by roughnessModel(), and setRoughnessModel().