16 #ifndef BORNAGAIN_PARAM_NODE_INODEVISITOR_H
17 #define BORNAGAIN_PARAM_NODE_INODEVISITOR_H
94 class IClusteredParticles;
226 virtual void visit(
const IClusteredParticles*) {}
A two-dimensional Bravais lattice with no special symmetry.
An incident neutron or x-ray beam.
Class representing a constant background signal.
Convolutes the intensity in 1 or 2 dimensions with a resolution function.
A crystal structure, defined by a Bravais lattice, a basis, and a position variance.
Uniform distribution function with half width hwhm.
Gaussian distribution with standard deviation std_dev.
Lorentz distribution with half width hwhm.
Trapezoidal distribution.
One-dimensional Cauchy decay function in reciprocal space; corresponds to exp(-|x|/decay_length) in r...
One-dimensional Gauss decay function in reciprocal space; corresponds to exp[-x^2/(2*decay_length^2)]...
One-dimensional triangle decay function in reciprocal space; corresponds to 1-|x|/decay_length if |x|...
One-dimensional pseudo-Voigt decay function in reciprocal space; corresponds to eta*Gauss + (1-eta)*C...
Two-dimensional Cauchy decay function in reciprocal space; corresponds to exp(-r) in real space,...
Two-dimensional Gauss decay function in reciprocal space; corresponds to exp(-r^2/2) in real space,...
Two-dimensional pseudo-Voigt decay function in reciprocal space; corresponds to eta*Gauss + (1-eta)*C...
Exponential IFTDistribution1D exp(-|omega*x|); its Fourier transform evaluate(q) is a Cauchy-Lorentzi...
IFTDistribution1D consisting of one cosine wave [1+cos(pi*x/omega) if |x|<omega, and 0 otherwise]; it...
Square gate IFTDistribution1D; its Fourier transform evaluate(q) is a sinc function starting at evalu...
Gaussian IFTDistribution1D; its Fourier transform evaluate(q) is a Gaussian starting at evaluate(0)=1...
Triangle IFTDistribution1D [1-|x|/omega if |x|<omega, and 0 otherwise]; its Fourier transform evaluat...
IFTDistribution1D that provides a Fourier transform evaluate(q) in form of a pseudo-Voigt decay funct...
Two-dimensional Cauchy distribution in Fourier space; corresponds to a normalized exp(-r) in real spa...
Two-dimensional cone distribution in Fourier space; corresponds to 1-r if r<1 (and 0 otherwise) in re...
Two-dimensional gate distribution in Fourier space; corresponds to normalized constant if r<1 (and 0 ...
Two-dimensional Gauss distribution in Fourier space; corresponds to normalized exp(-r^2/2) in real sp...
Two-dimensional Voigt distribution in Fourier space; corresponds to eta*Gauss + (1-eta)*Cauchy.
Main class to run a Grazing-Incidence Small-Angle Scattering simulation.
A two-dimensional Bravais lattice with hexagonal symmetry.
Interface for a generic particle.
Abstract base class for Born form factors.
Abstract base class of interference functions.
Visitor interface to visit ISampleNode objects.
virtual void visit(const FormFactorAnisoPyramid *)
virtual void visit(const FormFactorSphereGaussianRadius *)
virtual void visit(const FTDecayFunction1DCauchy *)
virtual void visit(const BasicLattice2D *)
virtual void visit(const InterferenceFunction2DSuperLattice *)
virtual void visit(const InterferenceFunctionFinite2DLattice *)
virtual void visit(const FormFactorCone6 *)
virtual void visit(const IdentityRotation *)
virtual void visit(const MultiLayer *)
virtual void visit(const FormFactorCylinder *)
virtual void visit(const InterferenceFunction2DParaCrystal *)
virtual void visit(const SpecularSimulation *)
virtual void visit(const FTDecayFunction2DVoigt *)
virtual void visit(const RotationY *)
void setDepth(int depth)
Sets depth of the visitor in the composite hierarchy.
virtual void visit(const IFormFactorDecorator *)
virtual void visit(const FormFactorDecoratorPositionFactor *)
virtual void visit(const FTDistribution1DCosine *)
virtual void visit(const FormFactorHemiEllipsoid *)
virtual void visit(const FormFactorTetrahedron *)
virtual void visit(const Particle *)
virtual void visit(const DistributionCosine *)
virtual void visit(const InterferenceFunction1DLattice *)
virtual void visit(const InterferenceFunctionRadialParaCrystal *)
virtual void visit(const FormFactorWeighted *)
virtual void visit(const ConvolutionDetectorResolution *)
virtual void visit(const DistributionGaussian *)
virtual void visit(const FormFactorBox *)
virtual void visit(const Beam *)
virtual void visit(const DistributionLorentz *)
virtual void visit(const FormFactorCosineRippleBox *)
virtual void visit(const FormFactorDecoratorRotation *)
virtual void visit(const FormFactorSawtoothRippleGauss *)
virtual void visit(const PoissonNoiseBackground *)
virtual void visit(const Layer *)
virtual void visit(const FormFactorCuboctahedron *)
virtual void visit(const FootprintSquare *)
virtual void visit(const FTDistribution2DCauchy *)
virtual void visit(const FTDecayFunction2DCauchy *)
virtual void visit(const FormFactorCosineRippleGauss *)
virtual void visit(const FormFactorTruncatedCube *)
virtual void visit(const FootprintGauss *)
virtual void visit(const IInterferenceFunction *)
virtual void visit(const IRotation *)
virtual void visit(const FormFactorDodecahedron *)
virtual void visit(const FormFactorLongBoxGauss *)
virtual void visit(const IParticle *)
virtual void visit(const FormFactorPrism6 *)
virtual void visit(const FTDecayFunction2DGauss *)
virtual void visit(const ParticleComposition *)
virtual void visit(const LayerRoughness *)
virtual void visit(const RotationEuler *)
virtual void visit(const FormFactorDot *)
virtual void visit(const RotationX *)
virtual void visit(const FormFactorCoreShell *)
virtual void visit(const FormFactorSawtoothRippleLorentz *)
virtual void visit(const FormFactorBarLorentz *)
virtual void visit(const InterferenceFunctionFinite3DLattice *)
virtual void visit(const InterferenceFunction2DLattice *)
virtual void visit(const RotationZ *)
virtual void visit(const FTDistribution2DGauss *)
virtual void visit(const FormFactorLongBoxLorentz *)
virtual void visit(const IAbstractParticle *)
virtual void visit(const FormFactorFullSphere *)
virtual void visit(const FTDistribution2DCone *)
virtual void visit(const HexagonalLattice2D *)
virtual void visit(const FormFactorCone *)
virtual void visit(const OffSpecularSimulation *)
virtual void visit(const FormFactorCrystal *)
virtual void visit(const FormFactorTruncatedSpheroid *)
virtual void visit(const FTDistribution1DVoigt *)
virtual void visit(const FormFactorCantellatedCube *)
virtual void visit(const FormFactorEllipsoidalCylinder *)
virtual void visit(const FormFactorBarGauss *)
virtual void visit(const ParticleLayout *)
virtual void visit(const IFormFactor *)
virtual void visit(const RectangularDetector *)
virtual void visit(const FormFactorGaussSphere *)
virtual void visit(const FormFactorSawtoothRippleBox *)
virtual void visit(const Instrument *)
virtual void visit(const FTDecayFunction1DTriangle *)
virtual void visit(const FTDistribution1DGauss *)
virtual void visit(const IBornFF *)
virtual void visit(const GISASSimulation *)
virtual void visit(const IPeakShape *)
virtual void visit(const FormFactorCosineRippleLorentz *)
virtual void visit(const ISampleNode *)
virtual void visit(const FormFactorHollowSphere *)
virtual void visit(const INode *)
virtual void visit(const ConstantBackground *)
virtual void visit(const FormFactorDecoratorMaterial *)
virtual void visit(const DistributionTrapezoid *)
virtual void visit(const LayerInterface *)
virtual void visit(const FTDistribution2DGate *)
virtual void visit(const FormFactorIcosahedron *)
virtual void visit(const FTDistribution1DGate *)
virtual void visit(const InterferenceFunctionNone *)
virtual void visit(const FormFactorFullSpheroid *)
virtual void visit(const InterferenceFunction3DLattice *)
virtual void visit(const SphericalDetector *)
virtual void visit(const DistributionLogNormal *)
virtual void visit(const FormFactorTruncatedSphere *)
virtual void visit(const FormFactorSphereLogNormalRadius *)
virtual void visit(const Crystal *)
virtual void visit(const FTDistribution2DVoigt *)
virtual void visit(const InterferenceFunctionTwin *)
virtual void visit(const SquareLattice2D *)
virtual void visit(const FTDecayFunction1DGauss *)
int depth() const
Returns depth of the visitor in the composite hierarchy.
virtual void visit(const ParticleDistribution *)
virtual void visit(const MesoCrystal *)
virtual void visit(const FormFactorPyramid *)
virtual void visit(const FormFactorPrism3 *)
virtual void visit(const SpecularDetector1D *)
virtual void visit(const FTDistribution1DCauchy *)
virtual void visit(const ParticleCoreShell *)
virtual void visit(const ResolutionFunction2DGaussian *)
virtual void visit(const DistributionGate *)
virtual void visit(const FTDecayFunction1DVoigt *)
virtual void visit(const InterferenceFunctionHardDisk *)
virtual void visit(const IsGISAXSDetector *)
virtual void visit(const FTDistribution1DTriangle *)
virtual void visit(const IClusteredParticles *)
Base class for tree-like structures containing parameterized objects.
Abstract base class for Particle, ParticleComposition, ParticleCoreShell, MesoCrystal.
Abstract base class class that defines the peak shape of a Bragg peak.
Abstract base class for rotations.
Abstract base class for sample components and properties related to scattering.
The identity rotation, which leaves everything in place.
Assembles beam, detector and their relative positions with respect to the sample.
Interference function of a 1D lattice.
Interference function of a 2D lattice.
Interference function of a 2D paracrystal.
Interference function of a 2D superlattice with a configurable interference function for each lattice...
Interference function of a 3D lattice.
Interference function of a finite 2D lattice.
Interference function of a finite 3D lattice.
Percus-Yevick hard disk interference function.
Default interference function (i.e.
Interference function of radial paracrystal.
Interference function for two particles at a mean distance and given standard deviation from each oth...
A spherical detector used for validation with IsGISAXS results.
Interface between two layers, possibly with roughness.
A roughness of interface between two layers.
A layer in a MultiLayer sample.
A particle with an internal structure of smaller particles.
Our sample model: a stack of layers one below the other.
Main class to run an off-specular simulation.
A composition of particles at fixed positions.
A particle with a core/shell geometry.
A particle type that is a parametric distribution of IParticle's.
Decorator class that adds particles to ISampleNode objects.
A particle with a form factor and refractive index.
Class representing Poisson noise on top of the scattered intensity.
A flat rectangular detector with axes and resolution function.
Simple gaussian two-dimensional resolution function.
A sequence of rotations about the z-x'-z'' axes.
A rotation about the x axis.
A rotation about the y axis.
A rotation about the z axis.
1D detector for specular simulations.
Main class to run a specular simulation.
A detector with coordinate axes along angles phi and alpha.
A two-dimensional Bravais lattice with square unit cell.