Requirements for a sensor model to be used in a Beluga ParticleFilter
.
A type T
satisfies the SensorModel
requirements if the following is satisfied:
T::state_type
is a valid type, representing a particle state.T::weight_type
is an arithmetic type, representing a particle weight.T::measurement_type
is a valid type, representing a sensor measurement.Given:
cp
of T
.m
of T::measurement_type
.Then:
cp(m)
returns a callable satisfying Beluga named requirements: StateWeightingFunction for states of T::state_type
and weights of T::weight_type
types.Requirements on a callable used for reweighting particle states in a Beluga ParticleFilter
.
A type F
satisfies the StateWeightingFunction
requirements for some state type S
and weight type W
if:
Given:
fn
of F
.s
of S
.Then:
fn(s)
returns a weight w
of W
.