35#include "../model/systemmodel.h"
36#include "../model/measurementmodel.h"
37#include "../pdf/pdf.h"
77 template <
typename StateVar,
typename MeasVar>
class Filter
113 const StateVar& s)=0;
Abstract class representing an interface for Bayesian Filters.
virtual bool Update(SystemModel< StateVar > *const sysmodel, const StateVar &u, MeasurementModel< MeasVar, StateVar > *const measmodel, const MeasVar &z)
Full Update (system with inputs, without sensing params)
virtual bool Update(SystemModel< StateVar > *const sysmodel, MeasurementModel< MeasVar, StateVar > *const measmodel, const MeasVar &z, const StateVar &s)
Full Update (system without inputs, with sensing params)
Pdf< StateVar > * _post
Pointer to the Posterior Pdf.
virtual bool UpdateInternal(SystemModel< StateVar > *const sysmodel, const StateVar &u, MeasurementModel< MeasVar, StateVar > *const measmodel, const MeasVar &z, const StateVar &s)=0
Actual implementation of Update, varies along filters.
virtual ~Filter()
destructor
virtual bool Update(MeasurementModel< MeasVar, StateVar > *const measmodel, const MeasVar &z)
Measurement Update (system without "sensing params")
virtual bool Update(MeasurementModel< MeasVar, StateVar > *const measmodel, const MeasVar &z, const StateVar &s)
Measurement Update (system with "sensing params")
virtual bool Update(SystemModel< StateVar > *const sysmodel, const StateVar &u)
System Update (system with inputs)
virtual Pdf< StateVar > * PostGet()
Get Posterior density.
Pdf< StateVar > * _prior
prior Pdf
virtual void Reset(Pdf< StateVar > *prior)
Reset Filter.
Filter(const Filter< StateVar, MeasVar > &filt)
copy constructor
virtual bool Update(SystemModel< StateVar > *const sysmodel)
System Update (system without inputs)
virtual bool Update(SystemModel< StateVar > *const sysmodel, const StateVar &u, MeasurementModel< MeasVar, StateVar > *const measmodel, const MeasVar &z, const StateVar &s)
Full Update (system with inputs/sensing params)
virtual bool Update(SystemModel< StateVar > *const sysmodel, MeasurementModel< MeasVar, StateVar > *const measmodel, const MeasVar &z)
Full Update (system without inputs/sensing params)
Filter(Pdf< StateVar > *prior)
Constructor.
int _timestep
Represents the current timestep of the filter.
int TimeStepGet() const
Get current time.