23 const double delta = 1.0 - refractive_index.real();
24 const double beta = refractive_index.imag();
30 std::unique_ptr<RefractiveMaterialImpl> mat_impl(
32 return Material(std::move(mat_impl));
49 name, sld_real * inv_sq_angstroms, sld_imag * inv_sq_angstroms, magnetization));
50 return Material(std::move(mat_impl));
Defines class MaterialBySLDImpl.
Declares functions in namespace MaterialUtils.
Defines class RefractiveMaterialImpl.
Defines some unit conversion factors and other constants in namespace Units.
Material implementation based on wavelength-independent data (valid for a range of wavelengths)
A wrapper for underlying material implementation.
Material implementation based on refractive coefficiencts (valid for one wavelength value only)
Material RefractiveMaterial(const std::string &name, complex_t refractive_index, R3 magnetization)
double beta(double z, double w)
static constexpr double angstrom