BornAgain  1.18.0
Simulate and fit neutron and x-ray scattering at grazing incidence
anonymous_namespace{AngularSpecScan.cpp} Namespace Reference

Functions

std::vector< std::vector< double > > extractValues (std::vector< std::vector< ParameterSample >> samples, const std::function< double(const ParameterSample &)> extractor)
 

Function Documentation

◆ extractValues()

std::vector<std::vector<double> > anonymous_namespace{AngularSpecScan.cpp}::extractValues ( std::vector< std::vector< ParameterSample >>  samples,
const std::function< double(const ParameterSample &)>  extractor 
)

Definition at line 27 of file AngularSpecScan.cpp.

29 {
30  std::vector<std::vector<double>> result;
31  result.resize(samples.size());
32  for (size_t i = 0, size = result.size(); i < size; ++i) {
33  const auto& sample_row = samples[i];
34  auto& result_row = result[i];
35  result_row.reserve(sample_row.size());
36  std::for_each(sample_row.begin(), sample_row.end(),
37  [&result_row, &extractor](const ParameterSample& sample) {
38  result_row.push_back(extractor(sample));
39  });
40  }
41  return result;
42 }
A parameter value with a weight, as obtained when sampling from a distribution.

Referenced by AngularSpecScan::createIntensities(), AngularSpecScan::footprint(), and AngularSpecScan::generateSimulationElements().