15 #ifndef BORNAGAIN_CORE_COMPUTATION_SPECULARCOMPUTATION_H
16 #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.
SpecularElementIter m_end_it
std::unique_ptr< SpecularComputationTerm > m_computation_term
std::vector< SpecularSimulationElement >::iterator SpecularElementIter
SpecularElementIter m_begin_it
these iterators define the span of detector bins this simulation will work on
void runProtected() override
SpecularComputation(const MultiLayer &multilayer, const SimulationOptions &options, ProgressHandler &progress, SpecularElementIter begin_it, SpecularElementIter end_it)
~SpecularComputation() override
Data stucture containing both input and output of a single image pixel for specular simulation.