21 ParticleLayoutComputation::ParticleLayoutComputation(
const ProcessedLayout* p_layout,
 
   27     mP_strategy.reset(builder.releaseStrategy());
 
   28     m_region_map = p_layout->regionMap();
 
   29     m_surface_density = p_layout->surfaceDensity();
 
   32 ParticleLayoutComputation::~ParticleLayoutComputation() = 
default;
 
   36     double alpha_f = elem.getAlphaMean();
 
   37     size_t n_layers = mp_layout->numberOfSlices();
 
   38     if (n_layers > 1 && alpha_f < 0) {
 
   41         elem.addIntensity(mP_strategy->evaluate(elem) * m_surface_density);
 
   46     std::map<
size_t, std::vector<HomogeneousRegion>>& region_map)
 const 
   48     for (
auto& entry : m_region_map) {
 
   49         size_t i = entry.first;
 
   50         auto& regions = entry.second;
 
   51         region_map[i].insert(region_map[i].begin(), regions.begin(), regions.end());
 
Defines class IInterferenceFunctionStrategy.
 
Defines class LayoutStrategyBuilder.
 
Defines class ParticleLayoutComputation.
 
Defines class ProcessedLayout.
 
Defines class SimulationElement.
 
Methods to generate a simulation strategy for a ParticleLayoutComputation.
 
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)
 
Data structure that contains preprocessed data for a single layout.
 
Data stucture containing both input and output of a single detector cell.
 
Collect the different options for simulation.