31 const double m_corr_peak_distance(20.0);
32 const double m_corr_width(7);
33 const double m_corr_length(1e3);
34 const double m_cylinder_height(5);
35 const double m_cylinder_radius(5);
43 Cylinder ff_cylinder(m_cylinder_radius, m_cylinder_height);
52 sample->addLayer(vacuum_layer);
53 sample->addLayer(substrate_layer);
73 const Cylinder ff_cylinder(5.0, 5.0);
82 sample->addLayer(vacuum_layer);
83 sample->addLayer(substrate_layer);
93 const double m_peak_distance(20.0);
94 const double m_corr_length(0.0);
97 const double m_cylinder_height(5);
98 const double m_cylinder_radius(5);
104 m_domain_size_1, m_domain_size_2);
109 Cylinder ff_cylinder(m_cylinder_radius, m_cylinder_height);
118 sample->addLayer(vacuum_layer);
119 sample->addLayer(substrate_layer);
148 sample->addLayer(vacuum_layer);
149 sample->addLayer(substrate_layer);
Defines the macro ASSERT.
Defines class Interference2DParaCrystal.
Defines class InterferenceRadialParaCrystal.
Defines class MultiLayer.
Defines classes of ParaCrystalBuilder family.
Defines class ParticleLayout.
Defines materials in namespace refMat.
Defines some unit conversion factors and other constants in namespace Units.
A two-dimensional Bravais lattice with no special symmetry.
A two-dimensional Bravais lattice with hexagonal symmetry.
virtual std::string className() const =0
Returns the class name, to be hard-coded in each leaf class that inherits from INode.
Interface for two-dimensional distributions in Fourier space.
Interference function of a 2D paracrystal.
void setProbabilityDistributions(const IProfile2D &pdf_1, const IProfile2D &pdf_2)
Sets the probability distributions (Fourier transformed) for the two lattice directions.
void setDomainSizes(double size_1, double size_2)
Sets the sizes of coherence domains.
void setIntegrationOverXi(bool integrate_xi)
Enables/disables averaging over the lattice rotation angle.
Interference function of radial paracrystal.
void setProbabilityDistribution(const IProfile1D &pdf)
Sets one-dimensional probability distribution.
A layer in a MultiLayer sample.
void addLayout(const ParticleLayout &layout)
Our sample model: a stack of layers one below the other.
Decorator class that adds particles to ISampleNode objects.
void setInterference(const IInterference &interparticle)
Adds interference functions.
A particle with a form factor and refractive index.
Gaussian IProfile1D; its Fourier transform standardizedFT(q) is a Gaussian starting at standardizedFT...
Two-dimensional Cauchy distribution in Fourier space; corresponds to a normalized exp(-r) in real spa...
A two-dimensional Bravais lattice with square unit cell.
MultiLayer * createBasic2DParaCrystalWithFTDis(const IProfile2D *pdf2)
MultiLayer * createHexParaCrystal()
MultiLayer * createRectParaCrystal()
MultiLayer * createRadialParaCrystal()
static constexpr double deg
static constexpr double micrometer
static const Material Vacuum
static const Material Particle
static const Material Substrate