BornAgain  1.19.0
Simulate and fit neutron and x-ray scattering at grazing incidence
MagneticLayersBuilder.h
Go to the documentation of this file.
1 // ************************************************************************************************
2 //
3 // BornAgain: simulate and fit reflection and scattering
4 //
5 //! @file Sample/StandardSamples/MagneticLayersBuilder.h
6 //! @brief Defines class to build samples with magnetic layers
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 #ifdef SWIG
16 #error no need to expose this header to Swig
17 #endif
18 
19 #ifndef USER_API
20 #ifndef BORNAGAIN_SAMPLE_STANDARDSAMPLES_MAGNETICLAYERSBUILDER_H
21 #define BORNAGAIN_SAMPLE_STANDARDSAMPLES_MAGNETICLAYERSBUILDER_H
22 
25 
26 //! Builds sample: spheres in substrate layer with a zero magnetic field.
27 //! @ingroup standard_samples
28 
30 public:
31  MultiLayer* buildSample() const;
32 };
33 
34 //! Builds sample: ambient and one magnetized layer on a non-magnetized substrate.
35 //! @ingroup standard_samples
36 
38 public:
39  MultiLayer* buildSample() const;
40 };
41 
42 //! Builds sample: magnetic spheres in a magnetized layer on a non-magnetized substrate.
43 //! @ingroup standard_samples
44 
46 public:
47  MultiLayer* buildSample() const;
48 };
49 
50 //! Builds sample: magnetic layer on a magnetic substrate with the fields rotated by 90°
51 //! @ingroup standard_samples
52 
54 public:
55  MultiLayer* buildSample() const override;
56 
57  MultiLayer* createSampleByIndex(size_t index) override;
58  size_t size() override;
59 };
60 
61 //! Builds sample: rotated magnetic spheres in substrate layer with a unit magnetic field.
62 //! @ingroup standard_samples
63 
65 public:
66  MultiLayer* buildSample() const;
67 };
68 
69 #endif // BORNAGAIN_SAMPLE_STANDARDSAMPLES_MAGNETICLAYERSBUILDER_H
70 #endif // USER_API
Defines interface ISampleBuilder.
Define RoughnessModels enumerator and Python wrapper.
Interface to the class capable to build samples to simulate.
Builds sample: magnetic spheres in a magnetized layer on a non-magnetized substrate.
MultiLayer * buildSample() const
Builds sample: rotated magnetic spheres in substrate layer with a unit magnetic field.
MultiLayer * buildSample() const
Builds sample: spheres in substrate layer with a zero magnetic field.
Our sample model: a stack of layers one below the other.
Definition: MultiLayer.h:41
Builds sample: ambient and one magnetized layer on a non-magnetized substrate.
Builds sample: magnetic layer on a magnetic substrate with the fields rotated by 90°
MultiLayer * buildSample() const override
MultiLayer * createSampleByIndex(size_t index) override