BornAgain
1.18.0
Simulate and fit neutron and x-ray scattering at grazing incidence
|
Classes | |
class | Hash2Doubles |
Public Member Functions | |
ScalarFresnelMap (std::unique_ptr< ISpecularStrategy > strategy) | |
~ScalarFresnelMap () final | |
ScalarFresnelMap (const ScalarFresnelMap &other)=delete | |
ScalarFresnelMap & | operator= (const ScalarFresnelMap &other)=delete |
std::unique_ptr< const ILayerRTCoefficients > | getOutCoefficients (const SimulationElement &sim_element, size_t layer_index) const override |
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 Attributes | |
std::vector< Slice > | m_slices |
bool | m_use_cache |
std::unique_ptr< ISpecularStrategy > | m_Strategy |
Private Member Functions | |
std::unique_ptr< const ILayerRTCoefficients > | getCoefficients (const kvector_t &kvec, size_t layer_index) const override |
const ISpecularStrategy::coeffs_t & | getCoefficientsFromCache (kvector_t kvec) const |
Private Attributes | |
std::unordered_map< std::pair< double, double >, ISpecularStrategy::coeffs_t, Hash2Doubles > | m_cache |
Implementation of IFresnelMap for scalar valued reflection/transmission coefficients.
Definition at line 32 of file ScalarFresnelMap.h.
ScalarFresnelMap::ScalarFresnelMap | ( | std::unique_ptr< ISpecularStrategy > | strategy | ) |
Definition at line 19 of file ScalarFresnelMap.cpp.
|
finaldefault |
|
delete |
|
delete |
|
overridevirtual |
Retrieves the amplitude coefficients for a (time-reversed) outgoing wavevector.
Implements IFresnelMap.
Definition at line 34 of file ScalarFresnelMap.cpp.
References getCoefficients(), and SimulationElement::getMeanKf().
|
overrideprivatevirtual |
Implements IFresnelMap.
Definition at line 40 of file ScalarFresnelMap.cpp.
References getCoefficientsFromCache(), IFresnelMap::m_slices, IFresnelMap::m_Strategy, and IFresnelMap::m_use_cache.
Referenced by getOutCoefficients().
|
private |
Definition at line 50 of file ScalarFresnelMap.cpp.
References m_cache, IFresnelMap::m_slices, IFresnelMap::m_Strategy, BasicVector3D< T >::mag2(), and BasicVector3D< T >::theta().
Referenced by getCoefficients().
|
inlineinherited |
Retrieves the amplitude coefficients for an incoming wavevector.
Definition at line 41 of file IFresnelMap.h.
References IFresnelMap::getCoefficients().
Referenced by DepthProbeComputationTerm::compute(), GISASSpecularComputation::compute(), FormFactorCoherentPart::evaluate(), FormFactorCoherentPart::evaluatePol(), and RoughMultiLayerComputation::get_sum8terms().
|
virtualinherited |
Reimplemented in MatrixFresnelMap.
Definition at line 23 of file IFresnelMap.cpp.
References IFresnelMap::m_slices, and IFresnelMap::slices().
Referenced by MatrixFresnelMap::setSlices().
|
inherited |
Definition at line 28 of file IFresnelMap.cpp.
References IFresnelMap::m_slices.
Referenced by MatrixFresnelMap::getCoefficients(), MatrixFresnelMap::getCoefficientsFromCache(), IFresnelMap::setSlices(), and MatrixFresnelMap::setSlices().
|
inherited |
Disables caching of previously computed Fresnel coefficients.
Definition at line 35 of file IFresnelMap.cpp.
References IFresnelMap::m_use_cache.
|
mutableprivate |
Definition at line 56 of file ScalarFresnelMap.h.
Referenced by getCoefficientsFromCache().
|
protectedinherited |
Definition at line 57 of file IFresnelMap.h.
Referenced by MatrixFresnelMap::getCoefficients(), getCoefficients(), getCoefficientsFromCache(), IFresnelMap::setSlices(), and IFresnelMap::slices().
|
protectedinherited |
Definition at line 58 of file IFresnelMap.h.
Referenced by IFresnelMap::disableCaching(), getCoefficients(), and MatrixFresnelMap::getCoefficients().
|
protectedinherited |
Definition at line 60 of file IFresnelMap.h.
Referenced by getCoefficients(), MatrixFresnelMap::getCoefficients(), getCoefficientsFromCache(), and MatrixFresnelMap::getCoefficientsFromCache().