BornAgain  1.19.0
Simulate and fit neutron and x-ray scattering at grazing incidence
quicksim_types.h
Go to the documentation of this file.
1 // ************************************************************************************************
2 //
3 // BornAgain: simulate and fit reflection and scattering
4 //
5 //! @file gui2/quicksimeditor/quicksim_types.h
6 //! @brief Defines class CLASS?
7 //!
8 //! @homepage http://www.bornagainproject.org
9 //! @license GNU General Public License v3 or higher (see COPYING)
10 //! @copyright Forschungszentrum Jülich GmbH 2020
11 //! @authors Scientific Computing Group at MLZ (see CITATION, AUTHORS)
12 //
13 // ************************************************************************************************
14 
15 #ifndef BORNAGAIN_GUI2_QUICKSIMEDITOR_QUICKSIM_TYPES_H
16 #define BORNAGAIN_GUI2_QUICKSIMEDITOR_QUICKSIM_TYPES_H
17 
18 #include "darefl_export.h"
19 #include <complex>
20 #include <vector>
21 
22 namespace gui2 {
23 
24 using complex_t = std::complex<double>;
25 
26 //! Data structure for simple multilayer representation.
27 struct DAREFLCORE_EXPORT SliceData {
29  double thickness{0.0};
30  double sigma{0.0}; // top interface sigma
31 };
32 using multislice_t = std::vector<SliceData>;
33 
34 //! Represents data to run specular simulations.
35 struct DAREFLCORE_EXPORT SimulationInput {
36  std::vector<double> qvalues;
38  double intensity;
39 };
40 
41 //! Represents results of the simulation.
42 struct DAREFLCORE_EXPORT SimulationResult {
43  std::vector<double> qvalues;
44  std::vector<double> amplitudes;
45 };
46 
47 //! Represents results of SLD profile calculations.
48 struct DAREFLCORE_EXPORT SLDProfile {
49  double zmin{0.0};
50  double zmax{0.0};
51  std::vector<double> sld_real_values;
52 };
53 
54 } // namespace gui2
55 
56 #endif // BORNAGAIN_GUI2_QUICKSIMEDITOR_QUICKSIM_TYPES_H
Based on Qt example "codeeditor" Copyright (C) 2016 The Qt Company Ltd.
Definition: app_constants.h:20
std::complex< double > complex_t
std::vector< SliceData > multislice_t
Represents results of SLD profile calculations.
std::vector< double > sld_real_values
Represents data to run specular simulations.
multislice_t slice_data
std::vector< double > qvalues
Represents results of the simulation.
std::vector< double > qvalues
std::vector< double > amplitudes
Data structure for simple multilayer representation.
complex_t material