BornAgain
1.18.0
Simulate and fit neutron and x-ray scattering at grazing incidence
|
Public Member Functions | |
ProcessedLayout (const ILayout &layout, const std::vector< Slice > &slices, double z_ref, const IFresnelMap *p_fresnel_map, bool polarized) | |
ProcessedLayout (ProcessedLayout &&other) | |
~ProcessedLayout () | |
size_t | numberOfSlices () const |
double | surfaceDensity () const |
const std::vector< FormFactorCoherentSum > & | formFactorList () const |
const IInterferenceFunction * | interferenceFunction () const |
std::map< size_t, std::vector< HomogeneousRegion > > | regionMap () const |
Private Member Functions | |
void | collectFormFactors (const ILayout &layout, const std::vector< Slice > &slices, double z_ref) |
FormFactorCoherentSum | ProcessParticle (const IParticle &particle, const std::vector< Slice > &slices, double z_ref) |
void | mergeRegionMap (const std::map< size_t, std::vector< HomogeneousRegion >> ®ion_map) |
Private Attributes | |
const IFresnelMap * | mp_fresnel_map |
bool | m_polarized |
size_t | m_n_slices |
double | m_surface_density |
std::vector< FormFactorCoherentSum > | m_formfactors |
std::unique_ptr< IInterferenceFunction > | mP_iff |
std::map< size_t, std::vector< HomogeneousRegion > > | m_region_map |
Data structure that contains preprocessed data for a single layout.
If particles in the layout crossed the limits of the layer slices, these particles will be sliced themselves.
Definition at line 37 of file ProcessedLayout.h.
ProcessedLayout::ProcessedLayout | ( | const ILayout & | layout, |
const std::vector< Slice > & | slices, | ||
double | z_ref, | ||
const IFresnelMap * | p_fresnel_map, | ||
bool | polarized | ||
) |
Definition at line 31 of file ProcessedLayout.cpp.
References collectFormFactors(), ILayout::interferenceFunction(), m_n_slices, and mP_iff.
ProcessedLayout::ProcessedLayout | ( | ProcessedLayout && | other | ) |
Definition at line 41 of file ProcessedLayout.cpp.
References m_formfactors, m_n_slices, m_polarized, m_region_map, m_surface_density, mp_fresnel_map, and mP_iff.
|
default |
size_t ProcessedLayout::numberOfSlices | ( | ) | const |
Definition at line 52 of file ProcessedLayout.cpp.
References m_n_slices.
Referenced by ParticleLayoutComputation::compute(), and LayoutStrategyBuilder::createStrategy().
double ProcessedLayout::surfaceDensity | ( | ) | const |
Definition at line 57 of file ProcessedLayout.cpp.
References m_surface_density.
Referenced by ParticleLayoutComputation::ParticleLayoutComputation().
const std::vector< FormFactorCoherentSum > & ProcessedLayout::formFactorList | ( | ) | const |
Definition at line 62 of file ProcessedLayout.cpp.
References m_formfactors.
Referenced by LayoutStrategyBuilder::createStrategy().
const IInterferenceFunction * ProcessedLayout::interferenceFunction | ( | ) | const |
Definition at line 67 of file ProcessedLayout.cpp.
References mP_iff.
Referenced by LayoutStrategyBuilder::createStrategy().
std::map< size_t, std::vector< HomogeneousRegion > > ProcessedLayout::regionMap | ( | ) | const |
Definition at line 72 of file ProcessedLayout.cpp.
References m_region_map.
Referenced by ParticleLayoutComputation::ParticleLayoutComputation().
|
private |
Definition at line 79 of file ProcessedLayout.cpp.
References ILayout::getTotalAbundance(), m_formfactors, m_region_map, m_surface_density, ILayout::particles(), ProcessParticle(), anonymous_namespace{ProcessedLayout.cpp}::ScaleRegionMap(), ILayout::totalParticleSurfaceDensity(), and ILayout::weight().
Referenced by ProcessedLayout().
|
private |
Definition at line 94 of file ProcessedLayout.cpp.
References IAbstractParticle::abundance(), SlicedFormFactorList::createSlicedFormFactors(), m_polarized, mergeRegionMap(), mp_fresnel_map, and anonymous_namespace{ProcessedLayout.cpp}::ScaleRegionMap().
Referenced by collectFormFactors().
|
private |
Definition at line 131 of file ProcessedLayout.cpp.
References m_region_map.
Referenced by ProcessParticle().
|
private |
Definition at line 56 of file ProcessedLayout.h.
Referenced by ProcessedLayout(), and ProcessParticle().
|
private |
Definition at line 57 of file ProcessedLayout.h.
Referenced by ProcessedLayout(), and ProcessParticle().
|
private |
Definition at line 58 of file ProcessedLayout.h.
Referenced by numberOfSlices(), and ProcessedLayout().
|
private |
Definition at line 59 of file ProcessedLayout.h.
Referenced by collectFormFactors(), ProcessedLayout(), and surfaceDensity().
|
private |
Definition at line 60 of file ProcessedLayout.h.
Referenced by collectFormFactors(), formFactorList(), and ProcessedLayout().
|
private |
Definition at line 61 of file ProcessedLayout.h.
Referenced by interferenceFunction(), and ProcessedLayout().
|
private |
Definition at line 62 of file ProcessedLayout.h.
Referenced by collectFormFactors(), mergeRegionMap(), ProcessedLayout(), and regionMap().