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

A wrapper for underlying material implementation. More...

+ Inheritance diagram for Material:

Public Member Functions

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


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

Detailed Description

A wrapper for underlying material implementation.

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

◆ 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