16 #error no need to expose this header to Swig
20 #ifndef BORNAGAIN_SAMPLE_INTERFERENCE_SSCAPPROXIMATIONSTRATEGY_H
21 #define BORNAGAIN_SAMPLE_INTERFERENCE_SSCAPPROXIMATIONSTRATEGY_H
24 #include <Eigen/StdVector>
43 void init(
const std::vector<FormFactorCoherentSum>& ff_wrappers);
47 const std::vector<FormFactorCoherentSum>& ff_wrappers)
const;
50 std::unique_ptr<InterferenceFunctionRadialParaCrystal>
m_iff;
std::complex< double > complex_t
Defines interface IInterferenceFunctionStrategy.
Base class of all interference function strategy classes.
Interference function of radial paracrystal.
Strategy class to compute the total scattering from a particle layout in the size-spacing correlation...
double polarizedCalculation(const SimulationElement &sim_element) const override
This is the polarized version.
double scalarCalculation(const SimulationElement &sim_element) const override
Returns the total scattering intensity for given kf and for one particle layout (implied by the given...
complex_t getCharacteristicSizeCoupling(double qp, const std::vector< FormFactorCoherentSum > &ff_wrappers) const
void init(const std::vector< FormFactorCoherentSum > &ff_wrappers)
std::unique_ptr< InterferenceFunctionRadialParaCrystal > m_iff
complex_t calculatePositionOffsetPhase(double qp, double radial_extension) const
SSCApproximationStrategy(const std::vector< FormFactorCoherentSum > &weighted_formfactors, const InterferenceFunctionRadialParaCrystal *iff, SimulationOptions sim_params, bool polarized, double kappa)
Data stucture containing both input and output of a single detector cell.
Collect the different options for simulation.