23 int n_points,
double z_min,
double z_max)
31 std::pair<double, double>
41 std::vector<double> result;
44 double step = n_points > 1 ? (z_max - z_min) / (n_points - 1) : 0.0;
45 for (
int i = 0; i < n_points; ++i) {
46 result.push_back(z_min + i * step);
std::pair< double, double > defaultLimits() const
std::vector< complex_t > calculateProfile(const std::vector< double > &z_values) const
DAREFLCORE_EXPORT std::pair< double, double > DefaultMaterialProfileLimits(const multislice_t &multilayer)
Get default z limits for generating a material profile.
DAREFLCORE_EXPORT std::vector< complex_t > CalculateProfile(const multislice_t &multilayer, int n_points, double z_min, double z_max)
Calculate average material profile for given multilayer.
DAREFLCORE_EXPORT std::vector< double > GenerateZValues(int n_points, double z_min, double z_max)
Generate z values (equidistant) for use in MaterialProfile.
DAREFLCORE_EXPORT std::vector< Slice > createBornAgainSlices(const multislice_t &multislice)
Based on Qt example "codeeditor" Copyright (C) 2016 The Qt Company Ltd.
std::vector< SliceData > multislice_t