BornAgain
1.19.79
Open-source research software to simulate and fit neutron and x-ray reflectometry and grazing-incidence small-angle scattering
|
Classes and functions to describe magnetic and non-magnetic materials.
Classes | |
class | BaseMaterialImpl |
Interface for material implementation classes. Inherited by MagneticMaterialImpl, which has further children. More... | |
class | MagneticMaterialImpl |
Basic implementation for magnetized material. Inherited by RefractiveMaterialImpl and MaterialBySLDImpl. Incorporates data and methods required to handle material magnetization. More... | |
class | Material |
A wrapper for underlying material implementation. More... | |
class | MaterialBySLDImpl |
Material implementation based on wavelength-independent data (valid for a range of wavelengths) More... | |
class | RefractiveMaterialImpl |
Material implementation based on refractive coefficiencts (valid for one wavelength value only) More... | |
Functions | |
Material | MaterialBySLD () |
Material | MaterialBySLD (const std::string &name, double sld_real, double sld_imag, R3 magnetization={}) |
Material | RefractiveMaterial (const std::string &name, complex_t refractive_index, R3 magnetization={}) |
Material | RefractiveMaterial (const std::string &name, double delta, double beta, R3 magnetization={}) |
Material | Vacuum () |
Material MaterialBySLD | ( | ) |
Definition at line 40 of file MaterialFactoryFuncs.cpp.
Referenced by ExemplarySamples::createAveragedSlicedCylinders(), ExemplarySamples::createLayersWithAbsorptionBySLD(), ExemplarySamples::createPlainMultiLayerBySLD(), ExemplarySamples::createSimpleMagneticLayer(), ExemplarySamples::createSLDSlicedCylinders(), and ExemplarySamples::createThickAbsorptiveSample().
Material MaterialBySLD | ( | const std::string & | name, |
double | sld_real, | ||
double | sld_imag, | ||
R3 | magnetization = {} |
||
) |
Constructs a wavelength-independent material with a given complex-valued scattering length density (SLD). SLD values for a wide variety of materials can be found on https://sld-calculator.appspot.com/ and https://www.ncnr.nist.gov/resources/activation/ By convention, SLD imaginary part is treated as negative by default, which corresponds to attenuation of the signal. With no parameters given, MaterialBySLD constructs default (vacuum) material with zero sld and zero magnetization.
name | material name |
sld_real | real part of the scattering length density, inverse square angstroms |
sld_imag | imaginary part of the scattering length density, inverse square angstroms |
magnetization | magnetization (in A/m) |
Definition at line 31 of file MaterialFactoryFuncs.cpp.
Material RefractiveMaterial | ( | const std::string & | name, |
complex_t | refractive_index, | ||
R3 | magnetization = {} |
||
) |
Constructs a material with name, refractive_index and magnetization (in A/m). Alternatively, and
for refractive index
can be passed directly. With no parameters given, constructs default (vacuum) material with
and zero magnetization.
Definition at line 21 of file MaterialFactoryFuncs.cpp.
References ROOT::Math::Cephes::beta().
Referenced by ExemplarySamples::createCoreShellParticle(), ExemplarySamples::createHomogeneousMultilayer(), ExemplarySamples::createMagneticCylinders(), ExemplarySamples::createMagneticLayer(), ExemplarySamples::createMagneticParticleZeroField(), ExemplarySamples::createMagneticRotation(), ExemplarySamples::createMagneticSpheres(), ExemplarySamples::createMagneticSubstrateZeroField(), ExemplarySamples::createMultiLayerWithRoughness(), ExemplarySamples::createResonator(), ExemplarySamples::createSimpleMagneticRotationWithRoughness(), ExemplarySamples::createSlicedCylinders(), and Vacuum().
Material RefractiveMaterial | ( | const std::string & | name, |
double | delta, | ||
double | beta, | ||
R3 | magnetization = {} |
||
) |
Definition at line 31 of file MaterialFactoryFuncs.cpp.
Material Vacuum | ( | ) |
Definition at line 35 of file MaterialFactoryFuncs.cpp.
References RefractiveMaterial().