26 static_assert(std::is_copy_constructible<DWBAComputation>::value ==
false,
27 "DWBAComputation should not be copy constructable");
28 static_assert(std::is_copy_assignable<DWBAComputation>::value ==
false,
29 "DWBAComputation should not be copy assignable");
33 std::vector<SimulationElement>::iterator begin_it,
34 std::vector<SimulationElement>::iterator end_it)
35 :
IComputation(multilayer, options, progress), m_begin_it(begin_it), m_end_it(end_it)
Defines class DWBAComputation.
Defines class GISASSpecularComputation.
Defines class IFresnelMap.
Defines class MultiLayer.
Defines class ParticleLayoutComputation.
Defines class ProcessedLayout.
Defines class ProcessedSample.
Defines class ProgressHandler.
Defines class RoughMultiLayerComputation.
Defines class SimulationElement.
void runProtected() override
DWBASingleComputation m_single_computation
Contains the information, necessary to calculate the Fresnel coefficients.
~DWBAComputation() override
DWBAComputation(const MultiLayer &multilayer, const SimulationOptions &options, ProgressHandler &progress, std::vector< SimulationElement >::iterator begin_it, std::vector< SimulationElement >::iterator end_it)
std::vector< SimulationElement >::iterator m_begin_it
These iterators define the span of detector bins this simulation will work on.
std::vector< SimulationElement >::iterator m_end_it
void addLayoutComputation(ParticleLayoutComputation *p_layout_comp)
void compute(SimulationElement &elem) const
void setRoughnessComputation(RoughMultiLayerComputation *p_roughness_comp)
void setProgressHandler(ProgressHandler *p_progress)
void setSpecularBinComputation(GISASSpecularComputation *p_spec_comp)
Computes the specular signal in the bin where q_parallel = 0.
Interface for a single-threaded computation with given range of SimulationElements and ProgressHandle...
std::unique_ptr< ProcessedSample > mP_processed_sample
ProgressHandler * mp_progress
SimulationOptions m_sim_options
Our sample model: a stack of layers one below the other.
Computes the scattering contribution from one particle layout.
Maintains information about progress of a computation.
Computes the diffuse reflection from the rough interfaces of a multilayer.
Collect the different options for simulation.
bool includeSpecular() const