BornAgain  1.19.0
Simulate and fit neutron and x-ray scattering at grazing incidence
SampleBuilderFactory.h
Go to the documentation of this file.
1 // ************************************************************************************************
2 //
3 // BornAgain: simulate and fit reflection and scattering
4 //
5 //! @file Sample/StandardSamples/SampleBuilderFactory.h
6 //! @brief Defines class SampleBuilderFactory.
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_SAMPLE_STANDARDSAMPLES_SAMPLEBUILDERFACTORY_H
16 #define BORNAGAIN_SAMPLE_STANDARDSAMPLES_SAMPLEBUILDERFACTORY_H
17 
18 #include "Base/Utils/IFactory.h"
20 
21 class MultiLayer;
22 
23 //! Factory to create standard pre-defined samples
24 //! @ingroup standard_samples
25 
26 class SampleBuilderFactory : public IFactory<std::string, ISampleBuilder> {
27 public:
29  MultiLayer* createSampleByName(const std::string& name);
30 };
31 
32 #endif // BORNAGAIN_SAMPLE_STANDARDSAMPLES_SAMPLEBUILDERFACTORY_H
Defines interface class IFactory.
Defines interface ISampleBuilder.
Base class for all factories.
Definition: IFactory.h:29
Our sample model: a stack of layers one below the other.
Definition: MultiLayer.h:41
Factory to create standard pre-defined samples.
MultiLayer * createSampleByName(const std::string &name)
Retrieves a SampleBuilder from the registry, does the build, and returns the result.
QString const & name(EShape k)
Definition: particles.cpp:21