MeteoIODoc  MeteoIODoc-2.6.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
MeteoProcessor.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 METEOPROCESSOR_H
19 #define METEOPROCESSOR_H
20 
22 #include <meteoio/Config.h>
25 
26 #include <vector>
27 #include <set>
28 
29 namespace mio {
30 
39  public:
46  MeteoProcessor(const Config& cfg);
47 
53 
61  void process(const std::vector< std::vector<MeteoData> >& ivec,
62  std::vector< std::vector<MeteoData> >& ovec, const bool& second_pass=false);
63 
64  bool resample(const Date& date, const std::vector<MeteoData>& ivec, MeteoData& md);
65 
66  void getWindowSize(ProcessingProperties& o_properties) const;
67 
68  const std::string toString() const;
69 
70  private:
71  static void getParameters(const Config& cfg, std::set<std::string>& set_parameters);
72  static void compareProperties(const ProcessingProperties& newprop, ProcessingProperties& current);
73 
75  std::map<std::string, ProcessingStack*> processing_stack;
76 };
77 } //end namespace
78 
79 #endif
Definition: ProcessingBlock.h:33
void process(const std::vector< std::vector< MeteoData > > &ivec, std::vector< std::vector< MeteoData > > &ovec, const bool &second_pass=false)
A function that executes all the filters for all meteo parameters configuered by the user...
Definition: MeteoProcessor.cc:85
void getWindowSize(ProcessingProperties &o_properties) const
Definition: MeteoProcessor.cc:59
A class that can resample MeteoData objects.
Definition: Meteo1DInterpolator.h:41
const std::string toString() const
Definition: MeteoProcessor.cc:109
A class that reads a key/value file. These files (typically named *.ini) follow the INI file format s...
Definition: Config.h:58
bool resample(const Date &date, const std::vector< MeteoData > &ivec, MeteoData &md)
Definition: MeteoProcessor.cc:104
A class to handle timestamps. This class handles conversion between different time display formats (I...
Definition: Date.h:79
MeteoProcessor(const Config &cfg)
The default constructor - Set up a processing stack for each parameter The different stacks are creat...
Definition: MeteoProcessor.cc:26
A facade class that invokes the processing of the filters and the resampling.
Definition: MeteoProcessor.h:38
A class to represent a singular measurement received from one station at a certain time (represented ...
Definition: MeteoData.h:101
~MeteoProcessor()
The destructor - It is necessary because the ProcessingStack objects referenced in the map<string...
Definition: MeteoProcessor.cc:38