BornAgain  1.19.79
Open-source research software to simulate and fit neutron and x-ray reflectometry and grazing-incidence small-angle scattering
Standard samples

Description

Classes related to the functional testing using predefined scattering geometries.

Collaboration diagram for Standard samples:

Functions

MultiLayerExemplarySamples::createCylindersInBA (double height=5, double radius=5)
 Builds sample: cylinder form factor in BA (IsGISAXS example #3, part II). More...
 
MultiLayerExemplarySamples::createCylindersInDWBA ()
 Builds sample: cylinder form factor in DWBA (IsGISAXS example #3, part I). More...
 
MultiLayerExemplarySamples::createLargeCylindersInDWBA (double height=1000, double radius=500)
 Builds sample with large cylinders for MC integration tests. More...
 

Function Documentation

◆ createCylindersInBA()

MultiLayer * ExemplarySamples::createCylindersInBA ( double  height = 5,
double  radius = 5 
)

Builds sample: cylinder form factor in BA (IsGISAXS example #3, part II).

Definition at line 46 of file CylindersBuilder.cpp.

47 {
48  Layer vacuum_layer(refMat::Vacuum);
49 
50  Cylinder ff_cylinder(radius, height);
51  Particle cylinder(refMat::Particle, ff_cylinder);
52 
53  ParticleLayout particle_layout(cylinder);
54 
55  vacuum_layer.addLayout(particle_layout);
56 
57  auto* sample = new MultiLayer();
58  sample->addLayer(vacuum_layer);
59  return sample;
60 }
A circular cylinder.
Definition: Cylinder.h:23
A layer in a MultiLayer sample.
Definition: Layer.h:26
Our sample model: a stack of layers one below the other.
Definition: MultiLayer.h:43
Decorator class that adds particles to ISampleNode objects.
A particle with a form factor and refractive index.
Definition: Particle.h:25
static const Material Vacuum
static const Material Particle

References Layer::addLayout(), refMat::Particle, and refMat::Vacuum.

Here is the call graph for this function:

◆ createCylindersInDWBA()

MultiLayer * ExemplarySamples::createCylindersInDWBA ( )

Builds sample: cylinder form factor in DWBA (IsGISAXS example #3, part I).

Definition at line 25 of file CylindersBuilder.cpp.

26 {
27  double height(5);
28  double radius(5);
29 
30  Layer vacuum_layer(refMat::Vacuum);
31  Layer substrate_layer(refMat::Substrate);
32 
33  Cylinder ff_cylinder(radius, height);
34 
35  Particle particle(refMat::Particle, ff_cylinder);
36  ParticleLayout particle_layout(particle);
37 
38  vacuum_layer.addLayout(particle_layout);
39 
40  auto* sample = new MultiLayer();
41  sample->addLayer(vacuum_layer);
42  sample->addLayer(substrate_layer);
43  return sample;
44 }
static const Material Substrate

References Layer::addLayout(), refMat::Particle, refMat::Substrate, and refMat::Vacuum.

Here is the call graph for this function:

◆ createLargeCylindersInDWBA()

MultiLayer * ExemplarySamples::createLargeCylindersInDWBA ( double  height = 1000,
double  radius = 500 
)

Builds sample with large cylinders for MC integration tests.

Definition at line 62 of file CylindersBuilder.cpp.

63 {
64  Layer vacuum_layer(refMat::Vacuum);
65  Layer substrate_layer(refMat::Substrate);
66 
67  Cylinder ff_cylinder(radius, height);
68 
69  Particle particle(refMat::Particle, ff_cylinder);
70  ParticleLayout particle_layout(particle);
71 
72  vacuum_layer.addLayout(particle_layout);
73 
74  auto* sample = new MultiLayer();
75  sample->addLayer(vacuum_layer);
76  sample->addLayer(substrate_layer);
77  return sample;
78 }

References Layer::addLayout(), refMat::Particle, refMat::Substrate, and refMat::Vacuum.

Here is the call graph for this function: