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

A wrapper for underlying material implementation. More...

Public Member Functions

 Material (std::unique_ptr< BaseMaterialImpl > material_impl)
 Creates material with particular material implementation.
 
 Material (const Material &material)
 
 Material (Material &&material)=default
 
Materialoperator= (const Material &other)
 
Materialoperator= (Material &&other)=default
 
Material inverted () const
 Constructs a material with inverted magnetization.
 
complex_t refractiveIndex (double wavelength) const
 Returns refractive index.
 
complex_t refractiveIndex2 (double wavelength) const
 Returns squared refractive index.
 
bool isScalarMaterial () const
 Indicates whether the interaction with the material is scalar. More...
 
bool isMagneticMaterial () const
 
std::string getName () const
 Returns the name of material.
 
MATERIAL_TYPES typeID () const
 Returns the type of underlying material implementation.
 
kvector_t magnetization () const
 Get the magnetization (in A/m)
 
complex_t materialData () const
 Returns underlying material data. More...
 
bool isEmpty () const
 Returns true if material underlying data is nullptr.
 
bool isDefaultMaterial () const
 Returns true if material has refractive index of (1.0, 0.0) and zero magnetization.
 
complex_t scalarSubtrSLD (const WavevectorInfo &wavevectors) const
 Returns ( $ \pi/\lambda^2 $ - sld), sld (in $nm^{-2}$) being the scattering length density.
 
Eigen::Matrix2cd polarizedSubtrSLD (const WavevectorInfo &wavevectors) const
 Returns ( $ \pi/\lambda^2 $ - sld) matrix with magnetization corrections.
 
Material rotatedMaterial (const Transform3D &transform) const
 

Friends

std::ostream & operator<< (std::ostream &ostr, const Material &mat)
 

Detailed Description

A wrapper for underlying material implementation.

Definition at line 28 of file Material.h.

Member Function Documentation

◆ isScalarMaterial()

bool Material::isScalarMaterial ( ) const

Indicates whether the interaction with the material is scalar.

This means that different polarization states will be diffracted equally

Definition at line 59 of file Material.cpp.

◆ materialData()

complex_t Material::materialData ( ) const

Returns underlying material data.

The units of returned values are the same as the ones passed to material factory functions

Definition at line 84 of file Material.cpp.


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