16 #error no need to expose this header to Swig
20 #ifndef BORNAGAIN_SIM_COMPUTATION_DWBACOMPUTATION_H
21 #define BORNAGAIN_SIM_COMPUTATION_DWBACOMPUTATION_H
45 std::vector<std::unique_ptr<DiffuseElement>>::iterator begin_it,
46 std::vector<std::unique_ptr<DiffuseElement>>::iterator end_it);
Defines interface IComputation.
Provides function that performs a single-threaded DWBA computation for a range of DiffuseElements.
void runProtected() override
Performs a single-threaded DWBA computation for a DiffuseElements in range m_begin_it ....
const std::unique_ptr< const RoughMultiLayerContribution > m_roughness_contrib
const std::vector< std::unique_ptr< const ParticleLayoutContribution > > m_layout_contribs
const std::unique_ptr< const GISASSpecularContribution > m_specular_contrib
~DWBAComputation() override
std::vector< std::unique_ptr< DiffuseElement > >::iterator m_end_it
std::vector< std::unique_ptr< DiffuseElement > >::iterator m_begin_it
DWBAComputation(const reSample &re_sample, const SimulationOptions &options, ProgressHandler &progress, std::vector< std::unique_ptr< DiffuseElement >>::iterator begin_it, std::vector< std::unique_ptr< DiffuseElement >>::iterator end_it)
Data stucture containing both input and output of a single detector cell.
Computes the specular signal in the bin where q_parallel = 0. Used by DWBAComputation.
Interface for a single-threaded computation with given range of DiffuseElements and ProgressHandler.
Computes the scattering contribution from one particle layout. Instances are created and used by DWBA...
Maintains information about progress of a computation.
Computes the diffuse reflection from the rough interfaces of a sample. Used by DWBAComputation.
Collect the different options for simulation.SimulationOptions.
Data structure that contains all the necessary data for scattering calculations.