BornAgain  1.18.0
Simulate and fit neutron and x-ray scattering at grazing incidence
MaterialBySLDImpl Class Reference

Material implementation based on wavelength-independent data (valid for a range of wavelengths) More...

+ Inheritance diagram for MaterialBySLDImpl:

Public Member Functions

MaterialBySLDImplclone () const override
 Returns pointer to a copy of material.
 
complex_t refractiveIndex (double wavelength) const override
 Returns refractive index.
 
complex_t refractiveIndex2 (double wavelength) const override
 Returns squared refractive index.
 
complex_t materialData () const override
 Returns underlying material data.
 
MATERIAL_TYPES typeID () const override
 Returns type of material implementation.
 
complex_t scalarSubtrSLD (const WavevectorInfo &wavevectors) const override
 Returns ( $ \pi/\lambda^2 $ - sld), sld (in $nm^{-2}$) being the scattering length density.
 
void print (std::ostream &ostr) const override
 Prints object data.
 
- Public Member Functions inherited from MagneticMaterialImpl
 MagneticMaterialImpl (const std::string &name, kvector_t magnetization)
 Constructs basic material with name and magnetization.
 
MagneticMaterialImplinverted () const override final
 Constructs a material with inverted magnetization.
 
bool isScalarMaterial () const override final
 Indicates whether the interaction with the material is scalar. More...
 
bool isMagneticMaterial () const override final
 
kvector_t magnetization () const override final
 Returns the magnetization (in A/m)
 
Eigen::Matrix2cd polarizedSubtrSLD (const WavevectorInfo &wavevectors) const override final
 Returns ( $ \pi/\lambda^2 $ - sld) matrix with magnetization corrections.
 
MagneticMaterialImplrotatedMaterial (const Transform3D &transform) const override final
 
- Public Member Functions inherited from BaseMaterialImpl
 BaseMaterialImpl (const std::string &name)
 Constructs basic material with name.
 
const std::string & getName () const
 Returns name of the material.
 

Friends

Material MaterialBySLD (const std::string &name, double sld_real, double sld_imag, kvector_t magnetization)
 Constructs a wavelength-independent material with a given complex-valued scattering length density (SLD). More...
 

Detailed Description

Material implementation based on wavelength-independent data (valid for a range of wavelengths)

Definition at line 24 of file MaterialBySLDImpl.h.

Friends And Related Function Documentation

◆ MaterialBySLD

Material MaterialBySLD ( const std::string &  name,
double  sld_real,
double  sld_imag,
kvector_t  magnetization 
)
friend

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.

Parameters
namematerial name
sld_realreal part of the scattering length density, inverse square angstroms
sld_imagimaginary part of the scattering length density, inverse square angstroms
magnetizationmagnetization (in A/m)

Definition at line 47 of file MaterialFactoryFuncs.cpp.


The documentation for this class was generated from the following files: