BornAgain
1.19.0
Simulate and fit neutron and x-ray scattering at grazing incidence
|
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). More...
Public Member Functions | |
IFresnelMap (std::unique_ptr< ISpecularStrategy > strategy) | |
virtual | ~IFresnelMap () |
void | disableCaching () |
Disables caching of previously computed Fresnel coefficients. More... | |
template<typename T > | |
std::unique_ptr< const ILayerRTCoefficients > | getInCoefficients (const T &sim_element, size_t layer_index) const |
Retrieves the amplitude coefficients for an incoming wavevector. More... | |
virtual std::unique_ptr< const ILayerRTCoefficients > | getOutCoefficients (const SimulationElement &sim_element, size_t layer_index) const =0 |
Retrieves the amplitude coefficients for a (time-reversed) outgoing wavevector. More... | |
virtual void | setSlices (const std::vector< Slice > &slices) |
const std::vector< Slice > & | slices () const |
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 |
std::unique_ptr< ISpecularStrategy > | m_Strategy |
bool | m_use_cache |
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 34 of file IFresnelMap.h.
IFresnelMap::IFresnelMap | ( | std::unique_ptr< ISpecularStrategy > | strategy | ) |
Definition at line 18 of file IFresnelMap.cpp.
|
virtualdefault |
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().
|
inline |
Retrieves the amplitude coefficients for an incoming wavevector.
Definition at line 45 of file IFresnelMap.h.
References getCoefficients().
Referenced by DepthProbeComputationTerm::compute(), GISASSpecularComputation::compute(), FormFactorCoherentPart::evaluate(), FormFactorCoherentPart::evaluatePol(), and RoughMultiLayerComputation::get_sum8terms().
|
pure virtual |
Retrieves the amplitude coefficients for a (time-reversed) outgoing wavevector.
Implemented in ScalarFresnelMap, and MatrixFresnelMap.
Referenced by FormFactorCoherentPart::evaluate(), and FormFactorCoherentPart::evaluatePol().
|
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().
|
protected |
Definition at line 61 of file IFresnelMap.h.
Referenced by MatrixFresnelMap::getCoefficients(), ScalarFresnelMap::getCoefficients(), ScalarFresnelMap::getCoefficientsFromCache(), setSlices(), and slices().
|
protected |
Definition at line 64 of file IFresnelMap.h.
Referenced by ScalarFresnelMap::getCoefficients(), MatrixFresnelMap::getCoefficients(), ScalarFresnelMap::getCoefficientsFromCache(), and MatrixFresnelMap::getCoefficientsFromCache().
|
protected |
Definition at line 62 of file IFresnelMap.h.
Referenced by disableCaching(), ScalarFresnelMap::getCoefficients(), and MatrixFresnelMap::getCoefficients().