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