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

Material implementation based on refractive coefficiencts (valid for one wavelength value only) More...

+ Inheritance diagram for RefractiveMaterialImpl:

Public Member Functions

RefractiveMaterialImplclone () const override
 Returns pointer to a copy of material.
 
complex_t refractiveIndex (double wavelength) const override
 Returns refractive index For this particular implementation returned value does not depend on passed wavelength.
 
complex_t refractiveIndex2 (double wavelength) const override
 Returns squared refractive index. More...
 
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. More...
 
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 HomogeneousMaterial (const std::string &, double, double, kvector_t)
 

Detailed Description

Material implementation based on refractive coefficiencts (valid for one wavelength value only)

Definition at line 24 of file RefractiveMaterialImpl.h.

Member Function Documentation

◆ refractiveIndex2()

complex_t RefractiveMaterialImpl::refractiveIndex2 ( double  wavelength) const
overridevirtual

Returns squared refractive index.

For this particular implementation returned value does not depend on passed wavelength.

Implements BaseMaterialImpl.

Definition at line 37 of file RefractiveMaterialImpl.cpp.

◆ scalarSubtrSLD()

complex_t RefractiveMaterialImpl::scalarSubtrSLD ( const WavevectorInfo wavevectors) const
overridevirtual

Returns ( $ \pi/\lambda^2 $ - sld), sld (in $nm^{-2}$) being the scattering length density.

If the wavelength associated with passed wavevector is different from the one associated with refractive coefficients used during the object construction, provided result is inconsistent.

Implements BaseMaterialImpl.

Definition at line 48 of file RefractiveMaterialImpl.cpp.


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