15 #ifndef BORNAGAIN_CORE_COMPUTATION_PROCESSEDLAYOUT_H
16 #define BORNAGAIN_CORE_COMPUTATION_PROCESSEDLAYOUT_H
49 std::map<size_t, std::vector<HomogeneousRegion>>
regionMap()
const;
54 const std::vector<Slice>& slices,
double z_ref);
55 void mergeRegionMap(
const std::map<
size_t, std::vector<HomogeneousRegion>>& region_map);
61 std::unique_ptr<IInterferenceFunction>
mP_iff;
Holds the necessary information to calculate the radiation wavefunction in every layer for different ...
Pure virtual base class of interference functions.
Pure virtual interface class to equip a sample layer with scattering properties.
Pure virtual base class for Particle, ParticleComposition, ParticleCoreShell, MesoCrystal.
Data structure that contains preprocessed data for a single layout.
ProcessedLayout(const ILayout &layout, const std::vector< Slice > &slices, double z_ref, const IFresnelMap *p_fresnel_map, bool polarized)
void mergeRegionMap(const std::map< size_t, std::vector< HomogeneousRegion >> ®ion_map)
std::map< size_t, std::vector< HomogeneousRegion > > m_region_map
size_t numberOfSlices() const
std::vector< FormFactorCoherentSum > m_formfactors
std::map< size_t, std::vector< HomogeneousRegion > > regionMap() const
std::unique_ptr< IInterferenceFunction > mP_iff
void collectFormFactors(const ILayout &layout, const std::vector< Slice > &slices, double z_ref)
const std::vector< FormFactorCoherentSum > & formFactorList() const
FormFactorCoherentSum ProcessParticle(const IParticle &particle, const std::vector< Slice > &slices, double z_ref)
const IInterferenceFunction * interferenceFunction() const
const IFresnelMap * mp_fresnel_map
double surfaceDensity() const
Data structure containing the data of a single slice, for calculating the Fresnel coefficients.
Struct that contains information on a single homogeneous region of a particle inside a single layer.