BornAgain  1.19.79
Open-source research software to simulate and fit neutron and x-ray reflectometry and grazing-incidence small-angle scattering
MultiLayerFuncs.h
Go to the documentation of this file.
1 // ************************************************************************************************
2 //
3 // BornAgain: simulate and fit reflection and scattering
4 //
5 //! @file Resample/Swig/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 USER_API
16 #ifndef BORNAGAIN_RESAMPLE_SWIG_MULTILAYERFUNCS_H
17 #define BORNAGAIN_RESAMPLE_SWIG_MULTILAYERFUNCS_H
18 
19 #include <heinz/Complex.h>
20 #include <utility>
21 #include <vector>
22 
23 class MultiLayer;
24 
25 //! @ingroup materials
26 
27 //! Functions that are only used in the swig *.i files
28 namespace swigAPI {
29 
30 std::vector<double> generateZValues(int n_points, double z_min, double z_max);
31 
32 //! Calculate average material profile for given sample
33 std::vector<complex_t> materialProfileSLD(const MultiLayer& sample, int n_points, double z_min,
34  double z_max);
35 
36 //! Get default z limits for generating a material profile
37 std::pair<double, double> defaultMaterialProfileLimits(const MultiLayer& sample);
38 
39 } // namespace swigAPI
40 
41 #endif // BORNAGAIN_RESAMPLE_SWIG_MULTILAYERFUNCS_H
42 #endif // USER_API
Our sample model: a stack of layers one below the other.
Definition: MultiLayer.h:43
std::pair< double, double > defaultMaterialProfileLimits(const MultiLayer &sample)
Get default z limits for generating a material profile.
std::vector< complex_t > materialProfileSLD(const MultiLayer &sample, int n_points, double z_min, double z_max)
Calculate average material profile for given sample.
std::vector< double > generateZValues(int n_points, double z_min, double z_max)