BornAgain  1.18.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 scattering at grazing incidence
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_CORE_STANDARDSAMPLES_SAMPLEBUILDERFACTORY_H
16 #define BORNAGAIN_CORE_STANDARDSAMPLES_SAMPLEBUILDERFACTORY_H
17 
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 {
28 public:
30  MultiLayer* createSampleByName(const std::string& name);
31 };
32 
33 #endif // BORNAGAIN_CORE_STANDARDSAMPLES_SAMPLEBUILDERFACTORY_H
Defines interface class IFactory.
Defines pure virtual base class ISampleBuilder.
Base class for all factories.
Definition: IFactory.h:29
Our sample model: a stack of layers one below the other.
Definition: MultiLayer.h:42
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.