BornAgain  1.18.0
Simulate and fit neutron and x-ray scattering at grazing incidence
MagneticMaterialImpl Class Referenceabstract

Basic implementation for magnetized material. More...

+ Inheritance diagram for MagneticMaterialImpl:

Public Member Functions

 MagneticMaterialImpl (const std::string &name, kvector_t magnetization)
 Constructs basic material with name and magnetization.
 
MagneticMaterialImplclone () const override=0
 Returns pointer to a copy of material.
 
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.
 
virtual complex_t refractiveIndex (double wavelength) const =0
 Returns refractive index.
 
virtual complex_t refractiveIndex2 (double wavelength) const =0
 Returns squared refractive index.
 
virtual complex_t materialData () const =0
 Returns underlying material data.
 
virtual MATERIAL_TYPES typeID () const =0
 Returns type of material implementation.
 
virtual complex_t scalarSubtrSLD (const WavevectorInfo &wavevectors) const =0
 Returns ( $ \pi/\lambda^2 $ - sld), sld being the scattering length density.
 
virtual void print (std::ostream &ostr) const =0
 Prints object data.
 
const std::string & getName () const
 Returns name of the material.
 

Detailed Description

Basic implementation for magnetized material.

Inherited by RefractiveMaterialImpl and MaterialBySLDImpl. Incorporates data and methods required to handle material magnetization.

Definition at line 28 of file MagneticMaterialImpl.h.

Member Function Documentation

◆ isScalarMaterial()

bool MagneticMaterialImpl::isScalarMaterial ( ) const
finaloverridevirtual

Indicates whether the interaction with the material is scalar.

This means that different polarization states will be diffracted equally

Implements BaseMaterialImpl.

Definition at line 52 of file MagneticMaterialImpl.cpp.


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