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.