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

Functions

template<class T >
averageData (const Material &layer_mat, const std::vector< HomogeneousRegion > &regions, std::function< T(const Material &)> average)
 

Function Documentation

◆ averageData()

template<class T >
T anonymous_namespace{HomogeneousRegion.cpp}::averageData ( const Material layer_mat,
const std::vector< HomogeneousRegion > &  regions,
std::function< T(const Material &)>  average 
)

Definition at line 26 of file HomogeneousRegion.cpp.

28 {
29  const T layer_data = average(layer_mat);
30  T averaged_data = layer_data;
31  for (auto& region : regions)
32  averaged_data += region.m_volume * (average(region.m_material) - layer_data);
33  return averaged_data;
34 }