Bayes++ Bayesian Filtering Classes Release 2014.5 - Copyright (c) 2003,2004,2005,2006,2011,2012,2014 Michael Stevens
schemeFlt.hpp
Go to the documentation of this file.
1#ifndef _BAYES_FILTER_SCHEME
2#define _BAYES_FILTER_SCHEME
3
4/*
5 * Bayes++ the Bayesian Filtering Library
6 * Copyright (c) 2002 Michael Stevens
7 * See accompanying Bayes++.htm for terms and conditions of use.
8 *
9 * $Id$
10 */
11
12/*
13 * Generic Filter
14 * Filter schemes vary in their constructor parameterisation
15 * Filter_scheme derives a generic filter with consistent constructor interface
16 *
17 * Provides specialisations for all Bayesian_filter schemes
18 */
19
20
21/* Filter namespace */
22namespace Bayesian_filter
23{
24
25template <class Scheme>
26struct Filter_scheme : public Scheme
27/*
28 * A Generic Filter Scheme
29 * Class template to provide a consistent constructor interface
30 * Default for Kalman_state_filter
31 */
32{
33 Filter_scheme(std::size_t x_size, std::size_t q_maxsize, std::size_t z_initialsize) :
34 Kalman_state_filter (x_size), Scheme (x_size, z_initialsize)
35 {}
36};
37
38
39// UD_filter specialisation
40template <>
42{
43 Filter_scheme(std::size_t x_size, std::size_t q_maxsize, std::size_t z_initialsize) :
44 Kalman_state_filter (x_size), UD_scheme (x_size, q_maxsize, z_initialsize)
45 {}
46};
47
48// Information_scheme specialisation
49template <>
51{
52 Filter_scheme(std::size_t x_size, std::size_t q_maxsize, std::size_t z_initialsize) :
54 Information_scheme (x_size, z_initialsize)
55 {}
56};
57
58// Information_root_info_scheme specialisation
59template <>
61{
62 Filter_scheme(std::size_t x_size, std::size_t q_maxsize, std::size_t z_initialsize) :
64 Information_root_info_scheme (x_size, z_initialsize)
65 {}
66};
67
68// SIR_scheme specialisation, inconsistent constructor
69template <>
71{
72 Filter_scheme(std::size_t x_size, std::size_t s_size, SIR_random& random_helper) :
73 Sample_state_filter (x_size, s_size),
74 SIR_scheme (x_size, s_size, random_helper)
75 {}
76};
77
78// SIR_kalman_scheme specialisation, inconsistent constructor
79template <>
81{
82 Filter_scheme(std::size_t x_size, std::size_t s_size, SIR_random& random_helper) :
83 Sample_state_filter (x_size, s_size),
84 Kalman_state_filter (x_size),
85 SIR_kalman_scheme (x_size, s_size, random_helper)
86 {}
87};
88
89
90}//namespace
91#endif
Definition infFlt.hpp:46
Definition bayesFlt.hpp:489
Definition SIRFlt.hpp:244
Definition SIRFlt.hpp:179
Definition bayesFlt.hpp:641
Definition UDFlt.hpp:52
Definition bayesException.hpp:21
Filter_scheme(std::size_t x_size, std::size_t q_maxsize, std::size_t z_initialsize)
Definition schemeFlt.hpp:62
Filter_scheme(std::size_t x_size, std::size_t q_maxsize, std::size_t z_initialsize)
Definition schemeFlt.hpp:52
Filter_scheme(std::size_t x_size, std::size_t s_size, SIR_random &random_helper)
Definition schemeFlt.hpp:82
Filter_scheme(std::size_t x_size, std::size_t s_size, SIR_random &random_helper)
Definition schemeFlt.hpp:72
Filter_scheme(std::size_t x_size, std::size_t q_maxsize, std::size_t z_initialsize)
Definition schemeFlt.hpp:43
Definition schemeFlt.hpp:32
Filter_scheme(std::size_t x_size, std::size_t q_maxsize, std::size_t z_initialsize)
Definition schemeFlt.hpp:33
Definition SIRFlt.hpp:53