BornAgain
1.19.79
Open-source research software to simulate and fit neutron and x-ray reflectometry and grazing-incidence small-angle scattering
|
Data structure that contains all the necessary data for scattering calculations.
If the usage of average materials is requested, layers and particles are sliced into multiple slices and the average material is calculated for each slice.
Definition at line 41 of file ReSample.h.
Public Member Functions | |
reSample (const reSample &)=delete | |
~reSample () | |
const SliceStack & | averageSlices () const |
const Slice & | avgeSlice (size_t i) const |
bool | containsMagneticMaterial () const |
double | crossCorrSpectralFun (R3 kvec, size_t j, size_t k) const |
Fourier transform of the correlation function of roughnesses between the interfaces. More... | |
Fluxes | fluxesIn (const R3 &k) const |
Fluxes | fluxesOut (const R3 &k) const |
bool | hasRoughness () const |
const std::vector< reLayout > & | layouts () const |
size_t | numberOfSlices () const |
bool | polarizing () const |
Contains magnetic material, or nonzero magnetic field. More... | |
const MultiLayer & | sample () const |
double | sliceBottomZ (size_t i) const |
double | sliceTopZ (size_t i) const |
Static Public Member Functions | |
static reSample | make (const MultiLayer &sample, const SimulationOptions &options, bool forcePolarized=false) |
Factory method that wraps the private constructor. More... | |
Private Member Functions | |
reSample (const MultiLayer &sample, bool polarized, std::vector< reLayout > &&layouts, const SliceStack &refined_stack) | |
Private Attributes | |
std::vector< reLayout > | m_layouts |
const bool | m_polarized |
const MultiLayer & | m_sample |
const SliceStack | m_stack |
|
default |
|
private |
Definition at line 325 of file ReSample.cpp.
const SliceStack & reSample::averageSlices | ( | ) | const |
Definition at line 341 of file ReSample.cpp.
References m_stack.
Referenced by swigAPI::defaultMaterialProfileLimits(), RoughMultiLayerContribution::get_sum8terms(), swigAPI::materialProfileSLD(), and SpecularComputation::runProtected().
const Slice & reSample::avgeSlice | ( | size_t | i | ) | const |
Definition at line 346 of file ReSample.cpp.
References m_stack.
Referenced by RoughMultiLayerContribution::compute(), RoughMultiLayerContribution::get_refractive_term(), and RoughMultiLayerContribution::get_sum8terms().
bool reSample::containsMagneticMaterial | ( | ) | const |
double reSample::crossCorrSpectralFun | ( | R3 | kvec, |
size_t | j, | ||
size_t | k | ||
) | const |
Fourier transform of the correlation function of roughnesses between the interfaces.
Definition at line 398 of file ReSample.cpp.
References MultiLayer::crossCorrLength(), m_sample, m_stack, LayerRoughness::sigma(), sliceBottomZ(), and LayerRoughness::spectralFunction().
Referenced by RoughMultiLayerContribution::compute().
Fluxes reSample::fluxesIn | ( | const R3 & | k | ) | const |
Definition at line 384 of file ReSample.cpp.
References Compute::SpecularScalar::fluxes(), Compute::SpecularMagnetic::fluxes(), m_polarized, and m_stack.
Referenced by DepthProbeComputation::runProtected(), and DWBAComputation::runProtected().
Fluxes reSample::fluxesOut | ( | const R3 & | k | ) | const |
Definition at line 391 of file ReSample.cpp.
References Compute::SpecularScalar::fluxes(), Compute::SpecularMagnetic::fluxes(), m_polarized, and m_stack.
Referenced by DWBAComputation::runProtected().
bool reSample::hasRoughness | ( | ) | const |
Definition at line 376 of file ReSample.cpp.
References m_stack, and Slice::topRoughness().
const std::vector< reLayout > & reSample::layouts | ( | ) | const |
|
static |
Factory method that wraps the private constructor.
Definition at line 309 of file ReSample.cpp.
References reSample(), MultiLayer::externalField(), ISampleNode::isMagnetic(), layouts(), sample(), SliceStack::setBField(), and SimulationOptions::useAvgMaterials().
Referenced by swigAPI::defaultMaterialProfileLimits(), swigAPI::materialProfileSLD(), and ISimulation::simulate().
size_t reSample::numberOfSlices | ( | ) | const |
Definition at line 336 of file ReSample.cpp.
References m_stack.
Referenced by RoughMultiLayerContribution::compute(), and DepthProbeComputation::runProtected().
bool reSample::polarizing | ( | ) | const |
Contains magnetic material, or nonzero magnetic field.
Definition at line 371 of file ReSample.cpp.
References containsMagneticMaterial(), MultiLayer::externalField(), and m_sample.
Referenced by SpecularComputation::runProtected().
|
inline |
Definition at line 58 of file ReSample.h.
References m_sample.
Referenced by RoughMultiLayerContribution::compute(), and make().
double reSample::sliceBottomZ | ( | size_t | i | ) | const |
Definition at line 361 of file ReSample.cpp.
References m_stack.
Referenced by crossCorrSpectralFun(), and DepthProbeComputation::runProtected().
double reSample::sliceTopZ | ( | size_t | i | ) | const |
Definition at line 356 of file ReSample.cpp.
References m_stack.
Referenced by DepthProbeComputation::runProtected().
|
private |
Definition at line 71 of file ReSample.h.
Referenced by layouts().
|
private |
Definition at line 70 of file ReSample.h.
Referenced by containsMagneticMaterial(), fluxesIn(), and fluxesOut().
|
private |
Definition at line 69 of file ReSample.h.
Referenced by crossCorrSpectralFun(), polarizing(), and sample().
|
private |
Definition at line 72 of file ReSample.h.
Referenced by averageSlices(), avgeSlice(), crossCorrSpectralFun(), fluxesIn(), fluxesOut(), hasRoughness(), numberOfSlices(), sliceBottomZ(), and sliceTopZ().