MeteoIODoc  MeteoIODoc-2.6.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
mio::WindowedFilter Class Referenceabstract

Detailed Description

Author
Thomas Egger
Date
2011-01-22

#include <WindowedFilter.h>

Public Types

enum  Centering { left, center, right }
 

Public Member Functions

 WindowedFilter (const std::string &name)
 
virtual void process (const unsigned int &param, const std::vector< MeteoData > &ivec, std::vector< MeteoData > &ovec)=0
 
- Public Member Functions inherited from mio::FilterBlock
virtual ~FilterBlock ()
 
- Public Member Functions inherited from mio::ProcessingBlock
virtual ~ProcessingBlock ()
 
std::string getName () const
 
const ProcessingPropertiesgetProperties () const
 
const std::string toString () const
 

Protected Member Functions

const std::vector< const
MeteoData * > & 
get_window (const size_t &index, const std::vector< MeteoData > &ivec)
 A function that cuts out the desired window for the 'index' element within ivec, the window elements are stored into vec_window Calls to this function have to start with index 0, then 1, 2, 3, ... vec_window is not allowed to be changed between two calls. More...
 
bool get_window_specs (const size_t &index, const std::vector< MeteoData > &ivec, size_t &start, size_t &end) const
 A function that computes the start and end for a window for the 'index' element from ivec The principle is too compute the first index that matches the minimum number of points criteria, and the one that matches the minimum time window, then combine them (with the equivalent of OR: we take the MIN index). Afterward, we compute the last index [...] for number of points and the last index [...] for the time window and combine them (with the equivalent of OR: we take the MIN index) or vice versa for right centering. More...
 
- Protected Member Functions inherited from mio::FilterBlock
 FilterBlock (const std::string &filter_name)
 protected constructor only to be called by children More...
 
- Protected Member Functions inherited from mio::ProcessingBlock
 ProcessingBlock (const std::string &name)
 protected constructor only to be called by children More...
 
void convert_args (const size_t &min_nargs, const size_t &max_nargs, const std::vector< std::string > &vec_args, std::vector< double > &dbl_args) const
 

Static Protected Member Functions

static unsigned int get_centering (std::vector< std::string > &vec_args)
 
- Static Protected Member Functions inherited from mio::FilterBlock
static void extract_dbl_vector (const unsigned int &param, const std::vector< MeteoData > &ivec, std::vector< double > &ovec)
 
static void extract_dbl_vector (const unsigned int &param, const std::vector< const MeteoData * > &ivec, std::vector< double > &ovec)
 
- Static Protected Member Functions inherited from mio::ProcessingBlock
static bool is_soft (std::vector< std::string > &vec_args)
 
static void readCorrections (const std::string &filter, const std::string &filename, const char &c_type, const double &init, std::vector< double > &corrections)
 

Protected Attributes

Duration min_time_span
 
Centering centering
 
size_t last_start
 
size_t last_end
 
size_t min_data_points
 
bool is_soft
 
- Protected Attributes inherited from mio::ProcessingBlock
ProcessingProperties properties
 
const std::string block_name
 

Additional Inherited Members

- Static Protected Attributes inherited from mio::ProcessingBlock
static const double soil_albedo = .23
 
static const double snow_albedo = .85
 
static const double snow_thresh = .1
 parametrize the albedo from HS More...
 

Member Enumeration Documentation

Enumerator
left 

left centered window

center 

centered window

right 

right centered window

Constructor & Destructor Documentation

mio::WindowedFilter::WindowedFilter ( const std::string &  name)

Member Function Documentation

unsigned int mio::WindowedFilter::get_centering ( std::vector< std::string > &  vec_args)
staticprotected
const std::vector< const MeteoData * > & mio::WindowedFilter::get_window ( const size_t &  index,
const std::vector< MeteoData > &  ivec 
)
protected

A function that cuts out the desired window for the 'index' element within ivec, the window elements are stored into vec_window Calls to this function have to start with index 0, then 1, 2, 3, ... vec_window is not allowed to be changed between two calls.

Parameters
indexThe index of the element in ivec that requires a window
ivecThe original sequence of data points
bool mio::WindowedFilter::get_window_specs ( const size_t &  index,
const std::vector< MeteoData > &  ivec,
size_t &  start,
size_t &  end 
) const
protected

A function that computes the start and end for a window for the 'index' element from ivec The principle is too compute the first index that matches the minimum number of points criteria, and the one that matches the minimum time window, then combine them (with the equivalent of OR: we take the MIN index). Afterward, we compute the last index [...] for number of points and the last index [...] for the time window and combine them (with the equivalent of OR: we take the MIN index) or vice versa for right centering.

Parameters
indexThe index of the element in ivec that requires a window
ivecThe original sequence of data points
startthe start index of the window
endthe end index of the window
Returns
true if success, false if a window could not be computed
virtual void mio::WindowedFilter::process ( const unsigned int &  param,
const std::vector< MeteoData > &  ivec,
std::vector< MeteoData > &  ovec 
)
pure virtual

Member Data Documentation

Centering mio::WindowedFilter::centering
protected
bool mio::WindowedFilter::is_soft
protected
size_t mio::WindowedFilter::last_end
protected
size_t mio::WindowedFilter::last_start
protected
size_t mio::WindowedFilter::min_data_points
protected
Duration mio::WindowedFilter::min_time_span
protected

The documentation for this class was generated from the following files: