24     const double delta = 1.0 - refractive_index.real();
 
   25     const double beta = refractive_index.imag();
 
   32     std::unique_ptr<RefractiveMaterialImpl> mat_impl(
 
   34     return Material(std::move(mat_impl));
 
   50     constexpr 
double inv_sq_angstroms = 1.0 / (Units::angstrom * Units::angstrom);
 
   52         name, sld_real * inv_sq_angstroms, sld_imag * inv_sq_angstroms, magnetization));
 
   53     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 MaterialBySLD(const std::string &name, double sld_real, double sld_imag, kvector_t magnetization)
Constructs a wavelength-independent material with a given complex-valued scattering length density (S...
 
Material HomogeneousMaterial(const std::string &name, complex_t refractive_index, kvector_t magnetization)
Constructs a material with name, refractive_index and magnetization (in A/m).