30 lines
728 B
C++
30 lines
728 B
C++
#ifndef MIXINGSAMPLER_H
|
|
#define MIXINGSAMPLER_H
|
|
|
|
#include "../../filtering/ParticleFilterMixing.h"
|
|
#include <eigen3/Eigen/Dense>
|
|
|
|
namespace SMC {
|
|
|
|
|
|
/**
|
|
* interface for all available resampling methods
|
|
* within the particle filter
|
|
*/
|
|
template <typename State, typename Control, typename Observation>
|
|
class MixingSampler {
|
|
|
|
public:
|
|
|
|
/**
|
|
* perform mixing of modes and sample according to the modes probability
|
|
* @param particles the vector of all particles to resample
|
|
*/
|
|
virtual void mixAndSample(std::vector<ParticleFilterMixing<State, Control, Observation>>& modes, Eigen::MatrixXd transitionProbabilityMatrix) = 0;
|
|
|
|
};
|
|
|
|
}
|
|
|
|
#endif // MIXINGSAMPLER_H
|