BornAgain  1.19.79
Open-source research software to simulate and fit neutron and x-ray reflectometry and grazing-incidence small-angle scattering
Class List
Here are the classes, structs, unions and interfaces with brief descriptions:
[detail level 12]
 Nmumufit
 CAlphaScanScan type with inclination angles as coordinate values and a unique wavelength. Features footprint correction
 CAttLimitsAttributes and limits of a fit parameter, and coupling between these properties
 CBarGaussThe form factor of an elongated bar, with Gaussian profile in elongation direction
 CBarLorentzThe form factor of an elongated, with Lorentz form factor in elongation direction
 CBasicLattice2DA two-dimensional Bravais lattice with no special symmetry
 CBeamAn incident neutron or x-ray beam
 CBin1D
 CBipyramid4A truncated bifrustum with quadratic base
 CBoxA rectangular prism (parallelepiped)
 CCantellatedCubeA cube, with truncation of all edges and corners, as in Croset (2017) Fig 7
 CChiSquaredModuleCalculation of chi2 between two data sets
 CConeA conical frustum (cone truncated parallel to the base) with circular base
 CConstantBackgroundConstant background, to be added to simulated scattering
 CConstKBinAxisAxis with fixed bin size in sin(angle) space
 CCosineRippleBoxThe form factor for a cosine ripple, with box profile in elongation direction
 CCosineRippleGaussThe form factor for a cosine ripple, with Gaussian profile in elongation direction
 CCosineRippleLorentzThe form factor for a cosine ripple, with Lorentz form factor in elongation direction
 CCrystalA crystal structure, defined by a Bravais lattice, a basis, and a position variance
 CCustomBinAxisAxis with fixed bin size in sin(angle) space used for numerical comparison with IsGisaxs. The main feature of the axis is that it produces zero bin sizes
 CCylinderA circular cylinder
 CDatafieldStores radiation power per bin
 CDepthProbeSimulationSimulation of radiation depth profile
 CDetectorMaskCollection of detector masks
 CDirectionA direction in three-dimensional space
 CDistributionCosineCosine distribution
 CDistributionGateUniform distribution function with half width hwhm
 CDistributionGaussianGaussian distribution with standard deviation std_dev
 CDistributionLogNormalLog-normal distribution
 CDistributionLorentzLorentz distribution with half width hwhm
 CDistributionTrapezoidTrapezoidal distribution
 CDodecahedronA regular dodecahedron
 CEllipseAn ellipse, for use in detector masks
 CEllipsoidalCylinderA cylinder with elliptical base
 CFixedBinAxisAxis with fixed bin size
 CFootprintGaussGaussian beam footprint
 CFootprintSquareRectangular beam footprint
 CFrameHolds one or two axes
 CFuzzySphereA sphere with gaussian radius distribution
 CGaussSphereThe form factor of a Gaussian sphere
 CHemiEllipsoidAn hemi ellipsoid, obtained by truncating a full ellipsoid in the middle plane spanned by two principal axes
 CHexagonalLattice2DA two-dimensional Bravais lattice with hexagonal symmetry
 CHollowSphereIntegrated full sphere form factor over a uniform distribution of radii
 CHorizontalCylinderA circular cylinder
 CHorizontalLineAn infinite horizontal line
 CIBackgroundAbstract base class for background noise, to be added to simulated scattering
 CIChiSquaredModuleInterface residual calculations
 CIcosahedronA regular icosahedron
 CIdentityRotationThe identity rotation, which leaves everything in place
 CIDetectorAbstract detector interface
 CIDetectorResolutionInterface for detector resolution algorithms
 CIFootprintFactorAbstract base for classes that calculate the beam footprint factor
 CIIntensityFunctionInterface for applying arbitrary function to the measured intensity
 CIInterferenceAbstract base class of interference functions
 CIMinimizerAbstract base class for all kind minimizers
 CIntensityFunctionLogAlgorithm for applying log function to the measured intensity
 CIntensityFunctionSqrtAlgorithm for applying sqrt function to the measured intensity
 CInterference1DLatticeInterference function of a 1D lattice
 CInterference2DLatticeInterference function of a 2D lattice
 CInterference2DParaCrystalInterference function of a 2D paracrystal
 CInterference2DSuperLatticeInterference function of a 2D superlattice with a configurable interference function for each lattice site
 CInterference3DLatticeInterference function of a 3D lattice
 CInterferenceFinite2DLatticeInterference function of a finite 2D lattice
 CInterferenceFinite3DLatticeInterference function of a finite 3D lattice
 CInterferenceHardDiskPercus-Yevick hard disk interference function
 CInterferenceNoneDefault interference function (i.e. absence of any interference)
 CInterferenceRadialParaCrystalInterference function of radial paracrystal
 CInterferenceTwinInterference function for two particles at a mean distance and given standard deviation from each other in a given direction. TODO: RENAME (has nothing to do with crystallographic twin)
 CIOFactoryProvides users with possibility to read and write IntensityData from/to files in different format. Type of the file will be deduced from file name. *.txt - ASCII file with 2D array [nrow][ncol], layout as in numpy. *.int - BornAgain internal ASCII format. *.tif - 32-bits tiff file. If file name ends with "*.gz" or "*.bz2" the file will be zipped on the fly using appropriate algorithm
 CIResolutionFunction2DInterface providing two-dimensional resolution function
 CISelectionRuleAbstract base class for selection rules
 CIShape2DBasic class for all shapes in 2D
 CISimulationAbstract base class, holds the infrastructure to run a simulation
 CISimulation2DAbstract base class of simulations that generate 2D patterns
 CIterationInfoStores fit iteration info to track fit flow from various observers. Used in context of FitObjective
 CLattice2DA two-dimensional Bravais lattice
 CLattice3DA Bravais lattice, characterized by three basis vectors, and optionally an ISelectionRule
 CLayerA layer in a MultiLayer sample
 CLayerRoughnessA roughness of interface between two layers
 CLineA line segment, for use in detector masks
 CLongBoxGaussThe form factor for a long rectangular box
 CLongBoxLorentzThe form factor for a long rectangular box
 CMaskPattern
 CMaterialA wrapper for underlying material implementation
 CMesoCrystalA particle with a crystalline inner structure, made of smaller particles, and an outer shape described by a particle form factor
 CMultiLayerOur sample model: a stack of layers one below the other
 COffspecSimulationOff-specular scattering simulation
 CParameterDistributionA parametric distribution function, for use with any model parameter
 CParameterSampleA parameter value with a weight, as obtained when sampling from a distribution
 CParticleA particle with a form factor and refractive index
 CParticleCompositionA composition of particles at fixed positions
 CParticleCoreShellA particle with a core/shell geometry
 CParticleLayoutDecorator class that adds particles to ISampleNode objects
 CPlatonicOctahedronA truncated bifrustum with quadratic base
 CPlatonicTetrahedronA frustum with equilateral trigonal base
 CPoissonBackgroundPoisson distributed noise, to be added to simulated scattering
 CPolygonA polygon, for use in detector masks
 CPrism3A prism based on an equilateral triangle
 CPrism6A prism based on a regular hexagonal
 CProfile1DCauchyExponential IProfile1D exp(-|omega*x|); its Fourier transform standardizedFT(q) is a Cauchy-Lorentzian starting at standardizedFT(0)=1
 CProfile1DCosineIProfile1D consisting of one cosine wave [1+cos(pi*x/omega) if |x|<omega, and 0 otherwise]; its Fourier transform standardizedFT(q) starts at standardizedFT(0)=1
 CProfile1DGateSquare gate IProfile1D; its Fourier transform standardizedFT(q) is a sinc function starting at standardizedFT(0)=1
 CProfile1DGaussGaussian IProfile1D; its Fourier transform standardizedFT(q) is a Gaussian starting at standardizedFT(0)=1
 CProfile1DTriangleTriangle IProfile1D [1-|x|/omega if |x|<omega, and 0 otherwise]; its Fourier transform standardizedFT(q) is a squared sinc function starting at standardizedFT(0)=1
 CProfile1DVoigtIProfile1D that provides a Fourier transform standardizedFT(q) in form of a pseudo-Voigt decay function eta*Gauss + (1-eta)*Cauchy, with both components starting at 1 for q=0
 CProfile2DCauchyTwo-dimensional Cauchy distribution in Fourier space; corresponds to a normalized exp(-r) in real space, with $r=\sqrt{(\frac{x}{\omega_x})^2 + (\frac{y}{\omega_y})^2}$
 CProfile2DConeTwo-dimensional cone distribution in Fourier space; corresponds to 1-r if r<1 (and 0 otherwise) in real space with $r=\sqrt{(\frac{x}{\omega_x})^2 + (\frac{y}{\omega_y})^2}$
 CProfile2DGateTwo-dimensional gate distribution in Fourier space; corresponds to normalized constant if r<1 (and 0 otherwise) in real space, with $r=\sqrt{(\frac{x}{\omega_x})^2 + (\frac{y}{\omega_y})^2}$
 CProfile2DGaussTwo-dimensional Gauss distribution in Fourier space; corresponds to normalized exp(-r^2/2) in real space with $r=\sqrt{(\frac{x}{\omega_x})^2 + (\frac{y}{\omega_y})^2}$
 CProfile2DVoigtTwo-dimensional Voigt distribution in Fourier space; corresponds to eta*Gauss + (1-eta)*Cauchy
 CPyBuilderCallbackBuilds simulation object using a Python callable. Base class to wrap Python callable and pass it to C++. Used in swig interface file, intended to be overloaded from Python
 CPyObserverCallbackObserver for FitObjective based on Python callable. Base class to wrap Python callable and pass it to C++. Used in swig interface file, intended to be overloaded from Python
 CPyramid2A frustum (truncated pyramid) with rectangular base
 CPyramid3A frustum with equilateral trigonal base
 CPyramid4A frustum with a quadratic base
 CPyramid6A frustum (truncated pyramid) with regular hexagonal base
 CQzScanScan type with z-components of scattering vector as coordinate values. Wavelength and incident angles are not accessible separately
 CRangedDistributionCosineCosine distribution
 CRangedDistributionGateUniform distribution function
 CRangedDistributionGaussianGaussian distribution with standard deviation std_dev
 CRangedDistributionLogNormalLog-normal distribution
 CRangedDistributionLorentzLorentz distribution with median and hwhm
 CRealLimitsLimits for a real fit parameter
 CRectangleA rectangle, for use in detector masks
 CRectangularDetectorA flat rectangular detector with axes and resolution function
 CResolutionFunction2DGaussianSimple gaussian two-dimensional resolution function
 CRotationEulerA sequence of rotations about the z-x'-z'' axes
 CRotationXA rotation about the x axis
 CRotationYA rotation about the y axis
 CRotationZA rotation about the z axis
 CRotMatrixRotation matrix in three dimensions. Represents group SO(3). Internal parameterization based on quaternions
 CRoughnessModelWrap
 CSawtoothRippleBoxThe form factor for a cosine ripple, with box profile in elongation direction
 CSawtoothRippleGaussThe form factor for a cosine ripple, with Gaussian profile in elongation direction
 CSawtoothRippleLorentzThe form factor for a cosine ripple, with Lorentz form factor in elongation direction
 CScanResolutionContainer for reflectivity resolution data
 CScatteringSimulationGISAS simulation
 CSimpleSelectionRuleSelection rule (v*q)modulus!=0, defined by vector v(a,b,c) and modulus
 CSimulationResultWrapper around Datafield that also provides unit conversions
 CSpecularSimulationSpecular reflectometry simulation
 CSphereA full sphere
 CSphericalDetectorA detector with coordinate axes along angles phi and alpha
 CSpheroidA full spheroid (an ellipsoid with two equal axes, hence with circular cross section)
 CSpinMatrix
 CSpinor
 CSquareLattice2DA two-dimensional Bravais lattice with square unit cell
 CThreadInfoInformation to run simulation with dedicated number of threads
 CTruncatedCubeA cube, with tetrahedral truncation of all corners
 CTruncatedSphereA truncated Sphere
 CTruncatedSpheroidA truncated spheroid. An ellipsoid with two equal axis, truncated by a plane perpendicular to the third axis
 CVariableBinAxisAxis with variable bin size
 CVarianceConstantFunctionReturns 1.0 as variance value
 CVarianceSimFunctionReturns max(sim, epsilon)
 CVec3Three-dimensional vector class, templated on base type
 CVerticalLineAn infinite vertical line