BornAgain
1.18.0
Simulate and fit neutron and x-ray scattering at grazing incidence
|
Public Member Functions | |
IFresnelMap (std::unique_ptr< ISpecularStrategy > strategy) | |
virtual | ~IFresnelMap () |
virtual std::unique_ptr< const ILayerRTCoefficients > | getOutCoefficients (const SimulationElement &sim_element, size_t layer_index) const =0 |
template<typename T > | |
std::unique_ptr< const ILayerRTCoefficients > | getInCoefficients (const T &sim_element, size_t layer_index) const |
virtual void | setSlices (const std::vector< Slice > &slices) |
const std::vector< Slice > & | slices () const |
void | disableCaching () |
Protected Member Functions | |
virtual std::unique_ptr< const ILayerRTCoefficients > | getCoefficients (const kvector_t &kvec, size_t layer_index) const =0 |
Protected Attributes | |
std::vector< Slice > | m_slices |
bool | m_use_cache |
std::unique_ptr< ISpecularStrategy > | m_Strategy |
Holds the necessary information to calculate the radiation wavefunction in every layer for different incoming (outgoing) angles of the beam in the top layer (these amplitudes correspond to the specular part of the wavefunction).
Definition at line 29 of file IFresnelMap.h.
IFresnelMap::IFresnelMap | ( | std::unique_ptr< ISpecularStrategy > | strategy | ) |
Definition at line 18 of file IFresnelMap.cpp.
|
virtualdefault |
|
pure virtual |
Retrieves the amplitude coefficients for a (time-reversed) outgoing wavevector.
Implemented in ScalarFresnelMap, and MatrixFresnelMap.
Referenced by FormFactorCoherentPart::evaluate(), and FormFactorCoherentPart::evaluatePol().
|
inline |
Retrieves the amplitude coefficients for an incoming wavevector.
Definition at line 41 of file IFresnelMap.h.
References getCoefficients().
Referenced by DepthProbeComputationTerm::compute(), GISASSpecularComputation::compute(), FormFactorCoherentPart::evaluate(), FormFactorCoherentPart::evaluatePol(), and RoughMultiLayerComputation::get_sum8terms().
|
virtual |
Reimplemented in MatrixFresnelMap.
Definition at line 23 of file IFresnelMap.cpp.
References m_slices, and slices().
Referenced by MatrixFresnelMap::setSlices().
const std::vector< Slice > & IFresnelMap::slices | ( | ) | const |
Definition at line 28 of file IFresnelMap.cpp.
References m_slices.
Referenced by MatrixFresnelMap::getCoefficients(), MatrixFresnelMap::getCoefficientsFromCache(), setSlices(), and MatrixFresnelMap::setSlices().
void IFresnelMap::disableCaching | ( | ) |
Disables caching of previously computed Fresnel coefficients.
Definition at line 35 of file IFresnelMap.cpp.
References m_use_cache.
|
protectedpure virtual |
Implemented in ScalarFresnelMap, and MatrixFresnelMap.
Referenced by getInCoefficients().
|
protected |
Definition at line 57 of file IFresnelMap.h.
Referenced by MatrixFresnelMap::getCoefficients(), ScalarFresnelMap::getCoefficients(), ScalarFresnelMap::getCoefficientsFromCache(), setSlices(), and slices().
|
protected |
Definition at line 58 of file IFresnelMap.h.
Referenced by disableCaching(), ScalarFresnelMap::getCoefficients(), and MatrixFresnelMap::getCoefficients().
|
protected |
Definition at line 60 of file IFresnelMap.h.
Referenced by ScalarFresnelMap::getCoefficients(), MatrixFresnelMap::getCoefficients(), ScalarFresnelMap::getCoefficientsFromCache(), and MatrixFresnelMap::getCoefficientsFromCache().