EmrysFilter 0.1.0
State estimation utilities in C++23 using Eigen
Loading...
Searching...
No Matches
Emrys::Observed< Method, Model, Observation, Args > Class Template Reference

An observation of a measurement model: the observed value, the model, the method that pushes the state through it, and the inputs of the call, as observe() makes it (decisions.md [templated-measurements], [method-per-measurement], [model-policies]). More...

#include <EmrysFilter/Models/MeasurementModel.h>

Public Types

using MethodType = Method
 the method
using ModelType = std::remove_cvref_t<Model>
 the model's type
using ObservationType = Observation
 the observed value's type
using ArgumentsType = std::tuple<Args...>
 the arguments, as held
using FormType = internal::ArgumentOfKind<internal::ArgumentKind::form, updates::Standard, Args...>
 The covariance update form given, or updates::Standard.
using InnovationRepair = internal::ArgumentOfKind<internal::ArgumentKind::repair, internal::NoRepair, Args...>
 The repair of an innovation covariance that is not positive definite, or internal::NoRepair (decisions.md [innovation-cholesky]).
using ConsiderType = internal::ArgumentOfKind<internal::ArgumentKind::consider, Consider<>, Args...>
 The blocks the update considers rather than estimates, or Consider<> (decisions.md [consider-states]).

Public Member Functions

template<typename M, typename Z>
 Observed (Method method, M &&model, Z &&observation, Args... args)
 The observation observation of model by method, with the call's args.
Method const & method () const
ModelType const & model () const
Observation const & observation () const
ArgumentsType const & arguments () const
FormType const & covarianceUpdate () const

Static Public Attributes

static constexpr bool HasMethod = !std::is_same_v<Method, internal::NoMethod>
 whether a method was given
static constexpr bool HasObservation = !std::is_same_v<Observation, internal::NoObservation>
 whether an observed value was given

Detailed Description

template<typename Method, typename Model, typename Observation, typename... Args>
class Emrys::Observed< Method, Model, Observation, Args >

An observation of a measurement model: the observed value, the model, the method that pushes the state through it, and the inputs of the call, as observe() makes it (decisions.md [templated-measurements], [method-per-measurement], [model-policies]).

What a filter's update() takes (see Measurement).

Template Parameters
Methodthe transform method, or internal::NoMethod
Modelthe model, a MeasurementModel, or a const reference to one that outlives the observation
Observationthe observed value's type, a plain vector, or internal::NoObservation
Argsthe call's arguments after the observation: uncertain and sure inputs, the covariance update form, and the repair, each held by value
See also
observe(), update()

Member Function Documentation

◆ arguments()

template<typename Method, typename Model, typename Observation, typename... Args>
ArgumentsType const & Emrys::Observed< Method, Model, Observation, Args >::arguments ( ) const
inlinenodiscard
Returns
the call's arguments, as held

◆ covarianceUpdate()

template<typename Method, typename Model, typename Observation, typename... Args>
FormType const & Emrys::Observed< Method, Model, Observation, Args >::covarianceUpdate ( ) const
inlinenodiscard
Returns
the covariance update form: the one given, or updates::Standard

◆ method()

template<typename Method, typename Model, typename Observation, typename... Args>
Method const & Emrys::Observed< Method, Model, Observation, Args >::method ( ) const
inlinenodiscard
Returns
the method

◆ model()

template<typename Method, typename Model, typename Observation, typename... Args>
ModelType const & Emrys::Observed< Method, Model, Observation, Args >::model ( ) const
inlinenodiscard
Returns
the model

◆ observation()

template<typename Method, typename Model, typename Observation, typename... Args>
Observation const & Emrys::Observed< Method, Model, Observation, Args >::observation ( ) const
inlinenodiscard
Returns
the observed value \( z \)

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