15 #ifndef BORNAGAIN_CORE_MULTILAYER_SSCAHELPER_H
16 #define BORNAGAIN_CORE_MULTILAYER_SSCAHELPER_H
20 #include <Eigen/StdVector>
34 void init(
const std::vector<FormFactorCoherentSum>& ff_wrappers);
38 const std::vector<FormFactorCoherentSum>& ff_wrappers)
const;
42 const std::vector<FormFactorCoherentSum>& ff_wrappers)
const;
43 void getMeanFormfactors(
double qp, Eigen::Matrix2cd& ff_orig, Eigen::Matrix2cd& ff_conj,
45 const std::vector<FormFactorCoherentSum>& ff_wrappers)
const;
std::complex< double > complex_t
Defines class IInterferenceFunctionStrategy.
Defines helper functions for InterferenceFunctions and Strategies.
Pure virtual base class of interference functions.
Helper class for SSCApproximationStrategy, offering some methods, shared between the scalar and polar...
complex_t getMeanFormfactorNorm(double qp, const std::vector< complex_t > &precomputed_ff, const std::vector< FormFactorCoherentSum > &ff_wrappers) const
void init(const std::vector< FormFactorCoherentSum > &ff_wrappers)
complex_t calculatePositionOffsetPhase(double qp, double radial_extension) const
void getMeanFormfactors(double qp, Eigen::Matrix2cd &ff_orig, Eigen::Matrix2cd &ff_conj, const InterferenceFunctionUtils::matrixFFVector_t &precomputed_ff, const std::vector< FormFactorCoherentSum > &ff_wrappers) const
complex_t getCharacteristicDistribution(double qp, const IInterferenceFunction *p_iff) const
complex_t getCharacteristicSizeCoupling(double qp, const std::vector< FormFactorCoherentSum > &ff_wrappers) const
std::vector< Eigen::Matrix2cd, Eigen::aligned_allocator< Eigen::Matrix2cd > > matrixFFVector_t