BornAgain
1.18.0
Simulate and fit neutron and x-ray scattering at grazing incidence
|
Basic implementation for magnetized material. More...
Public Member Functions | |
MagneticMaterialImpl (const std::string &name, kvector_t magnetization) | |
Constructs basic material with name and magnetization. | |
MagneticMaterialImpl * | clone () const override=0 |
Returns pointer to a copy of material. | |
MagneticMaterialImpl * | inverted () 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 ( - sld) matrix with magnetization corrections. | |
MagneticMaterialImpl * | rotatedMaterial (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 ( - 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. | |
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.
|
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.