EmrysFilter 0.1.0
State estimation utilities in C++23 using Eigen
Loading...
Searching...
No Matches
Emrys::GaussianMixtureHistory< Space_, Scalar_, Allocator_ >::Step Class Reference

One recorded prediction and its smoothed mixture, built from the history's allocator. More...

#include <EmrysFilter/Smoothers/GaussianMixtureHistory.h>

Public Types

using allocator_type = Allocator_
 the allocator its joint and mixture come from
using GainType = typename GaussianParams<Space_, Scalar_>::MatrixType
 One component's Rauch-Tung-Striebel gain.
using GainAllocator = internal::ReBound<Allocator_, GainType>
 The allocator of the gains.

Public Member Functions

 Step (JointType const &recorded, Allocator_ const &allocator={})
 A copy of recorded in storage from allocator, with the filtered mixture as its smoothed one until smooth() runs.
 Step (JointType &&recorded, Allocator_ const &allocator={})
 recorded moved into storage from allocator, with the filtered mixture as its smoothed one until smooth() runs.
 Step (Step const &other, Allocator_ const &allocator)
 Copies other into storage from allocator.
 Step (Step &&other, Allocator_ const &allocator)
 Moves other into storage from allocator, taking its storage when the allocators are equal.
 Step (Step const &)=default
 copies the joint and the smoothed mixture
 Step (Step &&)=default
 moves the joint and the smoothed mixture
Step & operator= (Step const &)=default
 Copies into this step's storage.
Step & operator= (Step &&)=default
 Takes the other step's storage, as the members' do.
void resetSmoothed ()
 Replaces the smoothed mixture with the filtered one: the joint's weights and each component's filtered Gaussian.
void computeGains ()
 Computes each component's gain from its joint (internal::rtsGain()), once per recording.

Public Attributes

JointType joint
 the prediction as predictJoint() recorded it
SmoothedType smoothed
 \( p(x_k \mid z_{1:N}) \), a component per component of the joint, as of the last smooth(); the filtered mixture until then
internal::Buffer< GainType, Allocator_ > gains
 Each component's Rauch-Tung-Striebel gain, made once when the joint is recorded.

Detailed Description

template<Space Space_, RealScalar Scalar_ = double, typename Allocator_ = DefaultAllocator>
class Emrys::GaussianMixtureHistory< Space_, Scalar_, Allocator_ >::Step

One recorded prediction and its smoothed mixture, built from the history's allocator.


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