24 std::unique_ptr<IInterparticleStrategy> processedInterference(
const reLayout& re_layout,
30 const std::vector<std::unique_ptr<const CoherentFFSum>>& weighted_formfactors =
35 if (
double kappa = radial_para->kappa(); kappa > 0.0)
36 return std::make_unique<SSCAStrategy>(weighted_formfactors, radial_para, sim_params,
39 return std::make_unique<DecouplingApproximationStrategy>(weighted_formfactors, iff, sim_params,
50 , m_interparticle_strategy(processedInterference(layout, options, polarized))
Defines class DecouplingApproximationStrategy.
Defines class DiffuseElement.
Defines class InterferenceRadialParaCrystal.
Defines class ParticleLayoutContribution.
Defines class SSCAStrategy.
Data stucture containing both input and output of a single detector cell.
void addIntensity(double intensity)
Abstract base class of interference functions.
Interference function of radial paracrystal.
const std::unique_ptr< const IInterparticleStrategy > m_interparticle_strategy
~ParticleLayoutContribution()
void compute(DiffuseElement &ele) const
const reLayout & m_layout
ParticleLayoutContribution(const reLayout &re_layout, const SimulationOptions &options, bool polarized)
Collect the different options for simulation.SimulationOptions.
Data structure that contains preprocessed data for a single layout.
const IInterference * interferenceFunction() const
const std::vector< std::unique_ptr< const CoherentFFSum > > & formfactorList() const
double surfaceDensity() const