BornAgain  1.19.79
Open-source research software to simulate and fit neutron and x-ray reflectometry and grazing-incidence small-angle scattering
Material Class Reference

Description

A wrapper for underlying material implementation.

Public Member Functions

 Material (const Material &material)
 
Material inverted () const
 Constructs a material with inverted magnetization. More...
 
bool isDefaultMaterial () const
 Returns true if material has refractive index of (1.0, 0.0) and zero magnetization. More...
 
bool isEmpty () const
 Returns true if material underlying data is nullptr. More...
 
bool isMagneticMaterial () const
 
bool isScalarMaterial () const
 Indicates whether the interaction with the material is scalar. This means that different polarization states will be diffracted equally. More...
 
R3 magnetization () const
 Get the magnetization (in A/m) More...
 
complex_t materialData () const
 Returns delta + i beta. More...
 
std::string materialName () const
 Returns the name of material. More...
 
Materialoperator= (const Material &other)
 
SpinMatrix polarizedSubtrSLD (const WavevectorInfo &wavevectors) const
 Returns ( $ \pi/\lambda^2 $ - sld) matrix with magnetization corrections. More...
 
complex_t refractiveIndex (double wavelength) const
 Returns refractive index. More...
 
complex_t refractiveIndex2 (double wavelength) const
 Returns squared refractive index. More...
 
Material rotatedMaterial (const RotMatrix &transform) const
 
complex_t scalarSubtrSLD (const WavevectorInfo &wavevectors) const
 Returns ( $ \pi/\lambda^2 $ - sld), sld (in $nm^{-2}$) being the scattering length density. More...
 

Friends

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

Constructor & Destructor Documentation

◆ Material()

Material::Material ( const Material material)

Member Function Documentation

◆ inverted()

Material Material::inverted ( ) const

Constructs a material with inverted magnetization.

◆ isDefaultMaterial()

bool Material::isDefaultMaterial ( ) const

Returns true if material has refractive index of (1.0, 0.0) and zero magnetization.

◆ isEmpty()

bool Material::isEmpty ( ) const

Returns true if material underlying data is nullptr.

◆ isMagneticMaterial()

bool Material::isMagneticMaterial ( ) const

◆ isScalarMaterial()

bool Material::isScalarMaterial ( ) const

Indicates whether the interaction with the material is scalar. This means that different polarization states will be diffracted equally.

◆ magnetization()

R3 Material::magnetization ( ) const

Get the magnetization (in A/m)

◆ materialData()

complex_t Material::materialData ( ) const

Returns delta + i beta.

◆ materialName()

std::string Material::materialName ( ) const

Returns the name of material.

◆ operator=()

Material& Material::operator= ( const Material other)

◆ polarizedSubtrSLD()

SpinMatrix Material::polarizedSubtrSLD ( const WavevectorInfo &  wavevectors) const

Returns ( $ \pi/\lambda^2 $ - sld) matrix with magnetization corrections.

◆ refractiveIndex()

complex_t Material::refractiveIndex ( double  wavelength) const

Returns refractive index.

◆ refractiveIndex2()

complex_t Material::refractiveIndex2 ( double  wavelength) const

Returns squared refractive index.

◆ rotatedMaterial()

Material Material::rotatedMaterial ( const RotMatrix transform) const

◆ scalarSubtrSLD()

complex_t Material::scalarSubtrSLD ( const WavevectorInfo &  wavevectors) const

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

Friends And Related Function Documentation

◆ operator<<

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