28 MultiLayer* SizeDistributionDAModelBuilder::buildSample()
 const 
   31     double radius1(5 * Units::nanometer);
 
   32     double height1 = radius1;
 
   34     Particle cylinder1(refMat::Particle, cylinder_ff1);
 
   37     double radius2(8 * Units::nanometer);
 
   38     double height2(radius2);
 
   40     Particle cylinder2(refMat::Particle, cylinder_ff2);
 
   44                                                        1e3 * Units::nanometer);
 
   46     interference.setProbabilityDistribution(pdf);
 
   54     Layer vacuum_layer(refMat::Vacuum);
 
   55     vacuum_layer.addLayout(particle_layout);
 
   56     Layer substrate_layer(refMat::Substrate);
 
   60     multi_layer->
addLayer(substrate_layer);
 
   66 MultiLayer* SizeDistributionLMAModelBuilder::buildSample()
 const 
   69     double radius1(5 * Units::nanometer);
 
   70     double height1 = radius1;
 
   72     Particle cylinder1(refMat::Particle, cylinder_ff1);
 
   75     double radius2(8 * Units::nanometer);
 
   76     double height2(radius2);
 
   78     Particle cylinder2(refMat::Particle, cylinder_ff2);
 
   82                                                         1e3 * Units::nanometer);
 
   84     interference1.setProbabilityDistribution(pdf);
 
   88                                                         1e3 * Units::nanometer);
 
   89     interference2.setProbabilityDistribution(pdf);
 
  100     Layer vacuum_layer(refMat::Vacuum);
 
  101     vacuum_layer.addLayout(particle_layout1);
 
  102     vacuum_layer.addLayout(particle_layout2);
 
  103     Layer substrate_layer(refMat::Substrate);
 
  106     multi_layer->
addLayer(vacuum_layer);
 
  107     multi_layer->
addLayer(substrate_layer);
 
  113 MultiLayer* SizeDistributionSSCAModelBuilder::buildSample()
 const 
  116     double radius1(5 * Units::nanometer);
 
  117     double height1 = radius1;
 
  119     Particle cylinder1(refMat::Particle, cylinder_ff1);
 
  122     double radius2(8 * Units::nanometer);
 
  123     double height2(radius2);
 
  125     Particle cylinder2(refMat::Particle, cylinder_ff2);
 
  129                                                        1e3 * Units::nanometer);
 
  131     interference.setProbabilityDistribution(pdf);
 
  132     interference.setKappa(1.0);
 
  140     Layer vacuum_layer(refMat::Vacuum);
 
  141     vacuum_layer.addLayout(particle_layout);
 
  142     Layer substrate_layer(refMat::Substrate);
 
  145     multi_layer->
addLayer(vacuum_layer);
 
  146     multi_layer->
addLayer(substrate_layer);
 
  152 MultiLayer* CylindersInSSCABuilder::buildSample()
 const 
  154     Layer vacuum_layer(refMat::Vacuum);
 
  157                                                                 1e3 * Units::nanometer);
 
  159     interference_function.setProbabilityDistribution(pdf);
 
  160     interference_function.setKappa(4.02698);
 
  164     Particle particle_prototype(refMat::Particle, ff_cylinder);
 
  168     pattern_radius.add(
"Particle").add(
"Cylinder").add(
"Radius");
 
  171     pattern_height.add(
"Particle").add(
"Cylinder").add(
"Height");
 
  172     par_distr.linkParameter(pattern_height.toStdString());
 
  178     vacuum_layer.addLayout(particle_layout);
 
  181     multi_layer->
addLayer(vacuum_layer);
 
Defines classes representing one-dimensional distributions.
 
Defines class InterferenceFunctionRadialParaCrystal.
 
Defines class MultiLayer.
 
Defines class ParameterPattern.
 
Defines class ParticleDistribution.
 
Defines class ParticleLayout.
 
Defines materials in namespace refMat.
 
Defines various sample builder classes to test DA, LMA, SSCA approximations.
 
Defines some unit conversion factors and other constants in namespace Units.
 
Gaussian distribution with standard deviation std_dev.
 
Gaussian IFTDistribution1D; its Fourier transform evaluate(q) is a Gaussian starting at evaluate(0)=1...
 
Interference function of radial paracrystal.
 
A layer, with thickness (in nanometer) and material.
 
Our sample model: a stack of layers one below the other.
 
void addLayer(const Layer &layer)
Adds object to multilayer.
 
A parametric distribution function, for use with any model parameter.
 
Helper class for constructing parameter patterns.
 
A particle type that is a parametric distribution of IParticle's.
 
Decorator class that adds particles to ISample objects.
 
void setInterferenceFunction(const IInterferenceFunction &interference_function)
Adds interference functions.
 
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.
 
A particle with a form factor and refractive index.