BornAgain  1.18.0
Simulate and fit neutron and x-ray scattering at grazing incidence
anonymous_namespace{BoxCompositionBuilder.cpp} Namespace Reference

Functions

MultiLayerfinalizeMultiLayer (const ParticleComposition &composition)
 

Variables

const Material particleMaterial = HomogeneousMaterial("Ag", 1.245e-5, 5.419e-7)
 
const double layer_thickness = 100.0 * Units::nanometer
 
const double length = 50.0 * Units::nanometer
 
const double width = 20.0 * Units::nanometer
 
const double height = 10.0 * Units::nanometer
 

Function Documentation

◆ finalizeMultiLayer()

MultiLayer* anonymous_namespace{BoxCompositionBuilder.cpp}::finalizeMultiLayer ( const ParticleComposition composition)

Definition at line 34 of file BoxCompositionBuilder.cpp.

35 {
36  ParticleLayout layout;
37  layout.addParticle(composition);
38 
39  Layer vacuum_layer(refMat::Vacuum);
40  Layer middle_layer(refMat::Teflon, layer_thickness);
41  middle_layer.addLayout(layout);
42  Layer substrate(refMat::Substrate2);
43 
44  MultiLayer* multi_layer = new MultiLayer();
45  multi_layer->addLayer(vacuum_layer);
46  multi_layer->addLayer(middle_layer);
47  multi_layer->addLayer(substrate);
48  return multi_layer;
49 }
A layer, with thickness (in nanometer) and material.
Definition: Layer.h:28
Our sample model: a stack of layers one below the other.
Definition: MultiLayer.h:42
void addLayer(const Layer &layer)
Adds object to multilayer.
Definition: MultiLayer.cpp:54
Decorator class that adds particles to ISample objects.
void addParticle(const IAbstractParticle &particle, double abundance=-1.0, const kvector_t position={}, const IRotation &rotation=IdentityRotation())
Adds particle to the layout with abundance, position and the rotation defined.
static const Material Substrate2
static const Material Vacuum
static const Material Teflon

References MultiLayer::addLayer(), Layer::addLayout(), ParticleLayout::addParticle(), layer_thickness, refMat::Substrate2, refMat::Teflon, and refMat::Vacuum.

Referenced by BoxCompositionRotateXBuilder::buildSample(), BoxCompositionRotateYBuilder::buildSample(), BoxCompositionRotateZBuilder::buildSample(), BoxCompositionRotateZandYBuilder::buildSample(), and BoxStackCompositionBuilder::buildSample().

Here is the call graph for this function:

Variable Documentation

◆ particleMaterial

◆ layer_thickness

◆ length

const double anonymous_namespace{BoxCompositionBuilder.cpp}::length = 50.0 * Units::nanometer

Definition at line 30 of file BoxCompositionBuilder.cpp.

Referenced by Box::Box(), BoxCompositionRotateXBuilder::buildSample(), BoxCompositionRotateYBuilder::buildSample(), BoxCompositionRotateZBuilder::buildSample(), BoxCompositionRotateZandYBuilder::buildSample(), BoxesSquareLatticeBuilder::buildSample(), Lattice1DBuilder::buildSample(), TransformBoxBuilder::buildSample(), RectangularPixel::calculateSolidAngle(), ArrayUtils::CreateDataImpl::createDataImpl(), FormFactorAnisoPyramid::FormFactorAnisoPyramid(), FormFactorBarGauss::FormFactorBarGauss(), FormFactorBarLorentz::FormFactorBarLorentz(), FormFactorBox::FormFactorBox(), FormFactorCantellatedCube::FormFactorCantellatedCube(), FormFactorCosineRippleBox::FormFactorCosineRippleBox(), FormFactorCosineRippleGauss::FormFactorCosineRippleGauss(), FormFactorCosineRippleLorentz::FormFactorCosineRippleLorentz(), FormFactorCuboctahedron::FormFactorCuboctahedron(), FormFactorLongBoxGauss::FormFactorLongBoxGauss(), FormFactorLongBoxLorentz::FormFactorLongBoxLorentz(), FormFactorSawtoothRippleBox::FormFactorSawtoothRippleBox(), FormFactorSawtoothRippleGauss::FormFactorSawtoothRippleGauss(), FormFactorSawtoothRippleLorentz::FormFactorSawtoothRippleLorentz(), FormFactorTruncatedCube::FormFactorTruncatedCube(), InterferenceFunction2DParaCrystal::FTPDF(), RectangularPixel::getIntegrationFactor(), RectangularPixel::getK(), InterferenceFunction2DParaCrystal::interference1D(), RectangularPixel::normalizeLength(), StringUtils::padRight(), FitPrintService::parameterString(), RectangleVertices(), RippleCosine::RippleCosine(), and RippleSawtooth::RippleSawtooth().

◆ width

◆ height

const double anonymous_namespace{BoxCompositionBuilder.cpp}::height = 10.0 * Units::nanometer

Definition at line 32 of file BoxCompositionBuilder.cpp.

Referenced by Box::Box(), BoxCompositionRotateXBuilder::buildSample(), BoxCompositionRotateYBuilder::buildSample(), BoxCompositionRotateZBuilder::buildSample(), BoxCompositionRotateZandYBuilder::buildSample(), BoxesSquareLatticeBuilder::buildSample(), CylindersWithSizeDistributionBuilder::buildSample(), TransformBoxBuilder::buildSample(), IFormFactorBorn::computeSlicingEffects(), RectangularDetector::createPixel(), FormFactorAnisoPyramid::FormFactorAnisoPyramid(), FormFactorBarGauss::FormFactorBarGauss(), FormFactorBarLorentz::FormFactorBarLorentz(), FormFactorCone::FormFactorCone(), FormFactorCone6::FormFactorCone6(), FormFactorCosineRippleBox::FormFactorCosineRippleBox(), FormFactorCosineRippleGauss::FormFactorCosineRippleGauss(), FormFactorCosineRippleLorentz::FormFactorCosineRippleLorentz(), FormFactorCuboctahedron::FormFactorCuboctahedron(), FormFactorCylinder::FormFactorCylinder(), FormFactorEllipsoidalCylinder::FormFactorEllipsoidalCylinder(), FormFactorFullSpheroid::FormFactorFullSpheroid(), FormFactorHemiEllipsoid::FormFactorHemiEllipsoid(), FormFactorLongBoxGauss::FormFactorLongBoxGauss(), FormFactorLongBoxLorentz::FormFactorLongBoxLorentz(), FormFactorPyramid::FormFactorPyramid(), FormFactorSawtoothRippleBox::FormFactorSawtoothRippleBox(), FormFactorSawtoothRippleGauss::FormFactorSawtoothRippleGauss(), FormFactorSawtoothRippleLorentz::FormFactorSawtoothRippleLorentz(), FormFactorTetrahedron::FormFactorTetrahedron(), FormFactorTruncatedSphere::FormFactorTruncatedSphere(), FormFactorTruncatedSpheroid::FormFactorTruncatedSpheroid(), Prism::Prism(), DistributionTrapezoid::probabilityDensity(), ripples::profile_yz_bar(), ripples::profile_yz_cosine(), ripples::profile_yz_triangular(), RectangularDetector::RectangularDetector(), RectangularDetector::regionOfInterestPixel(), RippleCosine::RippleCosine(), RippleSawtooth::RippleSawtooth(), FormFactorFullSphere::sliceFormFactor(), FormFactorTruncatedSphere::sliceFormFactor(), FormFactorTruncatedSpheroid::sliceFormFactor(), and TruncatedEllipsoid::TruncatedEllipsoid().