Alsvinn  0.5.3
The fast FVM simulator with UQ support
SampleGenerator.hpp
Go to the documentation of this file.
1 /* Copyright (c) 2018 ETH Zurich, Kjetil Olsen Lye
2  * This program is free software: you can redistribute it and/or modify
3  * it under the terms of the GNU General Public License as published by
4  * the Free Software Foundation, either version 3 of the License, or
5  * (at your option) any later version.
6  *
7  * This program is distributed in the hope that it will be useful,
8  * but WITHOUT ANY WARRANTY; without even the implied warranty of
9  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10  * GNU General Public License for more details.
11  *
12  * You should have received a copy of the GNU General Public License
13  * along with this program. If not, see <http://www.gnu.org/licenses/>.
14  */
15 
16 #pragma once
17 #include "alsuq/types.hpp"
20 #include <map>
21 #include <string>
22 
23 namespace alsuq {
24 namespace samples {
25 
27 public:
28  typedef std::map<std::string, std::pair<size_t,
29  std::pair<
30  std::shared_ptr<generator::Generator>,
31  std::shared_ptr<distribution::Distribution> > > >
33 
34 
35  SampleGenerator(const GeneratorDistributionMap& generators);
36 
37 
38  std::vector<real> generate(const std::string& parameter,
39  const size_t sampleIndex);
40 
41  std::vector<std::string> getParameterList() const;
42 private:
43 
44  GeneratorDistributionMap generators;
45 };
46 } // namespace samples
47 } // namespace alsuq
std::map< std::string, std::pair< size_t, std::pair< std::shared_ptr< generator::Generator >, std::shared_ptr< distribution::Distribution > > > > GeneratorDistributionMap
Definition: SampleGenerator.hpp:32
Definition: SampleGenerator.hpp:26
std::vector< real > generate(const std::string &parameter, const size_t sampleIndex)
Definition: SampleGenerator.cpp:29
std::vector< std::string > getParameterList() const
Definition: SampleGenerator.cpp:58
SampleGenerator(const GeneratorDistributionMap &generators)
Definition: SampleGenerator.cpp:23
Definition: Setup.hpp:22