MeteoIODoc  MeteoIODoc-2.6.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ProcessingStack.h
Go to the documentation of this file.
1 /***********************************************************************************/
2 /* Copyright 2009 WSL Institute for Snow and Avalanche Research SLF-DAVOS */
3 /***********************************************************************************/
4 /* This file is part of MeteoIO.
5  MeteoIO is free software: you can redistribute it and/or modify
6  it under the terms of the GNU Lesser General Public License as published by
7  the Free Software Foundation, either version 3 of the License, or
8  (at your option) any later version.
9 
10  MeteoIO is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  GNU Lesser General Public License for more details.
14 
15  You should have received a copy of the GNU Lesser General Public License
16  along with MeteoIO. If not, see <http://www.gnu.org/licenses/>.
17 */
18 #ifndef PROCESSINGSTACK_H
19 #define PROCESSINGSTACK_H
20 
22 #include <meteoio/Config.h>
23 #include <memory>
24 #include <vector>
25 #include <string>
26 
27 namespace mio {
28 
36  public:
40  ProcessingStack(const Config& cfg, const std::string& param_name);
42 
43  void process(const std::vector< std::vector<MeteoData> >& ivec,
44  std::vector< std::vector<MeteoData> >& ovec, const bool& second_pass=false);
45 
46  void getWindowSize(ProcessingProperties& o_properties);
47 
48  const std::string toString() const;
49 
50  private:
51  std::vector<ProcessingBlock*> filter_stack; //for now: strictly linear chain of processing blocks
52  const std::string param_name;
53 };
54 
55 } //end namespace
56 
57 #endif
Definition: ProcessingBlock.h:33
const std::string toString() const
Definition: ProcessingStack.cc:139
~ProcessingStack()
Definition: ProcessingStack.cc:46
ProcessingStack(const Config &cfg, const std::string &param_name)
Constructor parses cfg and builds up a filter stack for param_name.
Definition: ProcessingStack.cc:26
A class that reads a key/value file. These files (typically named *.ini) follow the INI file format s...
Definition: Config.h:58
void process(const std::vector< std::vector< MeteoData > > &ivec, std::vector< std::vector< MeteoData > > &ovec, const bool &second_pass=false)
Definition: ProcessingStack.cc:75
Definition: ProcessingStack.h:35
void getWindowSize(ProcessingProperties &o_properties)
Definition: ProcessingStack.cc:52