BornAgain  1.18.0
Simulate and fit neutron and x-ray scattering at grazing incidence
MultiLayerFuncs.h
Go to the documentation of this file.
1 // ************************************************************************** //
2 //
3 // BornAgain: simulate and fit scattering at grazing incidence
4 //
5 //! @file Core/Computation/MultiLayerFuncs.h
6 //! @brief Global functions related to MultiLayers.
7 //!
8 //! @homepage http://www.bornagainproject.org
9 //! @license GNU General Public License v3 or higher (see COPYING)
10 //! @copyright Forschungszentrum Jülich GmbH 2018
11 //! @authors Scientific Computing Group at MLZ (see CITATION, AUTHORS)
12 //
13 // ************************************************************************** //
14 
15 #ifndef BORNAGAIN_CORE_COMPUTATION_MULTILAYERFUNCS_H
16 #define BORNAGAIN_CORE_COMPUTATION_MULTILAYERFUNCS_H
17 
18 #include "Base/Types/Complex.h"
19 #include <utility>
20 #include <vector>
21 
22 class MultiLayer;
23 
24 //! @ingroup materials
25 
26 //! Calculate average material profile for given multilayer
27 std::vector<complex_t> MaterialProfile(const MultiLayer& multilayer, int n_points, double z_min,
28  double z_max);
29 
30 //! Get default z limits for generating a material profile
31 std::pair<double, double> DefaultMaterialProfileLimits(const MultiLayer& multilayer);
32 
33 //! Generate z values (equidistant) for use in MaterialProfile
34 std::vector<double> GenerateZValues(int n_points, double z_min, double z_max);
35 
36 #endif // BORNAGAIN_CORE_COMPUTATION_MULTILAYERFUNCS_H
Defines complex_t, and a few elementary functions.
std::pair< double, double > DefaultMaterialProfileLimits(const MultiLayer &multilayer)
Get default z limits for generating a material profile.
std::vector< double > GenerateZValues(int n_points, double z_min, double z_max)
Generate z values (equidistant) for use in MaterialProfile.
Our sample model: a stack of layers one below the other.
Definition: MultiLayer.h:42
std::vector< complex_t > MaterialProfile(const MultiLayer &multilayer, int n_points, double z_min, double z_max)