20 FormFactorDecoratorMaterial::FormFactorDecoratorMaterial(
const IFormFactor& form_factor)
 
   24     setName(
"FormFactorDecoratorMaterial");
 
   27 FormFactorDecoratorMaterial::~FormFactorDecoratorMaterial() = 
default;
 
   32     result->setMaterial(m_material);
 
   33     result->setAmbientMaterial(m_ambient_material);
 
   49     return getRefractiveIndexFactor(wavevectors) * mp_form_factor->
evaluate(wavevectors);
 
   56     Eigen::Matrix2cd time_reverse_conj = Eigen::Matrix2cd::Zero();
 
   57     time_reverse_conj(0, 1) = 1.0;
 
   58     time_reverse_conj(1, 0) = -1.0;
 
   60     Eigen::Matrix2cd V_eff = time_reverse_conj
 
   63     return mp_form_factor->
evaluate(wavevectors) * V_eff;
 
   67 FormFactorDecoratorMaterial::getRefractiveIndexFactor(
const WavevectorInfo& wavevectors)
 const 
Factory functions used to create material instances.
 
Defines M_PI and some more mathematical constants.
 
virtual const Material * material() const
Returns nullptr, unless overwritten to return a specific material.
 
A wrapper for underlying material implementation.
 
Eigen::Matrix2cd polarizedSubtrSLD(const WavevectorInfo &wavevectors) const
Returns (  - sld) matrix with magnetization corrections.
 
complex_t scalarSubtrSLD(const WavevectorInfo &wavevectors) const
Returns (  - sld), sld (in ) being the scattering length density.
 
Holds all wavevector information relevant for calculating form factors.
 
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).