21 DWBASingleComputation::DWBASingleComputation() =
default;
23 DWBASingleComputation::~DWBASingleComputation() =
default;
27 void DWBASingleComputation::setProgressHandler(
ProgressHandler* p_progress)
29 mP_progress_counter = std::make_unique<DelayedProgressCounter>(p_progress, 100);
34 m_layout_comps.emplace_back(p_layout_comp);
40 mP_roughness_comp.reset(p_roughness_comp);
45 mP_spec_comp.reset(p_spec_comp);
50 for (
auto& layout_comp : m_layout_comps) {
51 layout_comp->compute(elem);
53 if (mP_roughness_comp) {
54 mP_roughness_comp->compute(elem);
57 mP_spec_comp->compute(elem);
59 if (mP_progress_counter) {
60 mP_progress_counter->stepProgress();
Defines class DWBASingleComputation.
Defines class DelayedProgressCounter.
Defines class GISASSpecularComputation.
Defines class ParticleLayoutComputation.
Defines class RoughMultiLayerComputation.
Class that handles all the computations involved in GISAS (particles, roughness,.....
const std::map< size_t, std::vector< HomogeneousRegion > > & regionMap() const
Retrieves a map of regions for the calculation of averaged layers.
Computes the specular signal in the bin where q_parallel = 0.
Computes the scattering contribution from one particle layout.
void mergeRegionMap(std::map< size_t, std::vector< HomogeneousRegion >> ®ion_map) const
Merges its region map into the given one (notice non-const reference parameter)
Maintains information about progress of a computation.
Computes the diffuse reflection from the rough interfaces of a multilayer.
Data stucture containing both input and output of a single detector cell.