BornAgain
1.18.0
Simulate and fit neutron and x-ray scattering at grazing incidence
|
Public Member Functions | |
BaseMaterialImpl (const std::string &name) | |
virtual | ~BaseMaterialImpl ()=default |
virtual BaseMaterialImpl * | clone () const =0 |
virtual BaseMaterialImpl * | inverted () const =0 |
virtual complex_t | refractiveIndex (double wavelength) const =0 |
virtual complex_t | refractiveIndex2 (double wavelength) const =0 |
virtual bool | isScalarMaterial () const =0 |
virtual bool | isMagneticMaterial () const =0 |
virtual kvector_t | magnetization () const =0 |
virtual complex_t | materialData () const =0 |
virtual MATERIAL_TYPES | typeID () const =0 |
virtual complex_t | scalarSubtrSLD (const WavevectorInfo &wavevectors) const =0 |
virtual Eigen::Matrix2cd | polarizedSubtrSLD (const WavevectorInfo &wavevectors) const =0 |
virtual BaseMaterialImpl * | rotatedMaterial (const Transform3D &transform) const =0 |
virtual void | print (std::ostream &ostr) const =0 |
const std::string & | getName () const |
Private Attributes | |
const std::string | m_name |
Interface for material implementation classes.
Inherited by MagneticMaterialImpl, which has further children.
Definition at line 31 of file BaseMaterialImpl.h.
|
inline |
|
virtualdefault |
|
pure virtual |
Returns pointer to a copy of material.
Implemented in MagneticMaterialImpl, RefractiveMaterialImpl, and MaterialBySLDImpl.
|
pure virtual |
Constructs a material with inverted magnetization.
Implemented in MagneticMaterialImpl.
|
pure virtual |
Returns refractive index.
Implemented in RefractiveMaterialImpl, and MaterialBySLDImpl.
|
pure virtual |
Returns squared refractive index.
Implemented in RefractiveMaterialImpl, and MaterialBySLDImpl.
|
pure virtual |
Indicates whether the interaction with the material is scalar.
This means that different polarization states will be diffracted equally
Implemented in MagneticMaterialImpl.
|
pure virtual |
Implemented in MagneticMaterialImpl.
|
pure virtual |
Returns the magnetization (in A/m)
Implemented in MagneticMaterialImpl.
|
pure virtual |
Returns underlying material data.
Implemented in RefractiveMaterialImpl, and MaterialBySLDImpl.
|
pure virtual |
Returns type of material implementation.
Implemented in RefractiveMaterialImpl, and MaterialBySLDImpl.
|
pure virtual |
Returns ( - sld), sld being the scattering length density.
Implemented in RefractiveMaterialImpl, and MaterialBySLDImpl.
Referenced by MagneticMaterialImpl::polarizedSubtrSLD().
|
pure virtual |
Returns ( - sld) matrix with magnetization corrections.
Implemented in MagneticMaterialImpl.
|
pure virtual |
Implemented in MagneticMaterialImpl.
|
pure virtual |
Prints object data.
Implemented in RefractiveMaterialImpl, and MaterialBySLDImpl.
|
inline |
Returns name of the material.
Definition at line 78 of file BaseMaterialImpl.h.
References m_name.
Referenced by MagneticMaterialImpl::inverted(), MaterialBySLDImpl::print(), and RefractiveMaterialImpl::print().
|
private |
Definition at line 81 of file BaseMaterialImpl.h.
Referenced by getName().