16 #error no need to expose this header to Swig
20 #ifndef BORNAGAIN_CORE_COMPUTATION_SPECULARCOMPUTATION_H
21 #define BORNAGAIN_CORE_COMPUTATION_SPECULARCOMPUTATION_H
Defines interface IComputation.
Interface for a single-threaded computation with given range of SimulationElements and ProgressHandle...
Our sample model: a stack of layers one below the other.
Maintains information about progress of a computation.
Collect the different options for simulation.
Computes the specular scattering.
Performs a single-threaded specular computation with given sample.
std::unique_ptr< SpecularComputationTerm > m_computation_term
std::vector< SpecularSimulationElement >::iterator SpecularElementIter
void runProtected() override
const SpecularElementIter m_begin_it
these iterators define the span of detector bins this simulation will work on
const SpecularElementIter m_end_it
SpecularComputation(const MultiLayer &multilayer, const SimulationOptions &options, ProgressHandler &progress, SpecularElementIter begin_it, SpecularElementIter end_it, bool forcePolarized=false)
~SpecularComputation() override
Data stucture containing both input and output of a single image pixel for specular simulation.