BornAgain
1.19.0
Simulate and fit neutron and x-ray scattering at grazing incidence
|
Computes the specular scattering. More...
Public Member Functions | |
SpecularComputationTerm (const SpecularComputationTerm &other)=delete | |
SpecularComputationTerm (std::unique_ptr< ISpecularStrategy > strategy) | |
virtual | ~SpecularComputationTerm () |
void | computeIntensity (SpecularSimulationElement &elem, const std::vector< Slice > &slices) const |
SpecularComputationTerm & | operator= (const SpecularComputationTerm &other)=delete |
void | setProgressHandler (ProgressHandler *p_progress) |
Protected Member Functions | |
virtual void | eval (SpecularSimulationElement &elem, const std::vector< Slice > &slices) const =0 |
Protected Attributes | |
std::unique_ptr< ISpecularStrategy > | m_Strategy |
Private Attributes | |
std::unique_ptr< DelayedProgressCounter > | m_progress_counter |
Computes the specular scattering.
Used by SpecularComputation.
Abstract base class of SpecularScalarTerm, SpecularMatrixTerm
Definition at line 40 of file SpecularComputationTerm.h.
SpecularComputationTerm::SpecularComputationTerm | ( | std::unique_ptr< ISpecularStrategy > | strategy | ) |
Definition at line 24 of file SpecularComputationTerm.cpp.
|
virtualdefault |
|
delete |
void SpecularComputationTerm::computeIntensity | ( | SpecularSimulationElement & | elem, |
const std::vector< Slice > & | slices | ||
) | const |
Definition at line 39 of file SpecularComputationTerm.cpp.
References eval(), SpecularSimulationElement::isCalculated(), and m_progress_counter.
|
protectedpure virtual |
Implemented in SpecularMatrixTerm, and SpecularScalarTerm.
Referenced by computeIntensity().
|
delete |
void SpecularComputationTerm::setProgressHandler | ( | ProgressHandler * | p_progress | ) |
Definition at line 34 of file SpecularComputationTerm.cpp.
References m_progress_counter.
|
private |
Definition at line 57 of file SpecularComputationTerm.h.
Referenced by computeIntensity(), and setProgressHandler().
|
protected |
Definition at line 54 of file SpecularComputationTerm.h.
Referenced by SpecularScalarTerm::eval(), and SpecularMatrixTerm::eval().