Bayes Filters Library
SIS.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2016-2019 Istituto Italiano di Tecnologia (IIT)
3  *
4  * This software may be modified and distributed under the terms of the
5  * BSD 3-Clause license. See the accompanying LICENSE file for details.
6  */
7 
8 #ifndef SIS_H
9 #define SIS_H
10 
16 
17 #include <fstream>
18 #include <memory>
19 
20 namespace bfl {
21  class SIS;
22 }
23 
24 
25 class bfl::SIS : public ParticleFilter
26 {
27 public:
28  SIS(unsigned int num_particle, std::size_t state_size_linear, std::size_t state_size_circular, std::unique_ptr<ParticleSetInitialization> initialization, std::unique_ptr<PFPrediction> prediction, std::unique_ptr<PFCorrection> correction, std::unique_ptr<Resampling> resampling) noexcept;
29 
30  SIS(unsigned int num_particle, std::size_t state_size_linear, std::unique_ptr<ParticleSetInitialization> initialization, std::unique_ptr<PFPrediction> prediction, std::unique_ptr<PFCorrection> correction, std::unique_ptr<Resampling> resampling) noexcept;
31 
32  SIS(const SIS& filter) noexcept = delete;
33 
34  SIS& operator=(const SIS& filter) noexcept = delete;
35 
36  SIS(SIS&& filter) noexcept = delete;
37 
38  SIS& operator=(SIS&& filter) noexcept = delete;
39 
40  virtual ~SIS() noexcept = default;
41 
42 
43 protected:
44  bool initialization_step() override;
45 
46  void filtering_step() override;
47 
48  bool run_condition() override;
49 
50  std::vector<std::string> log_file_names(const std::string& folder_path, const std::string& file_name_prefix) override;
51 
52  void log() override;
53 
54  unsigned int num_particle_;
55 
56  std::size_t state_size_;
57 
59 
61 };
62 
63 #endif /* SIS_H */
bfl::SIS::pred_particle_
ParticleSet pred_particle_
Definition: SIS.h:58
bfl::SIS::num_particle_
unsigned int num_particle_
Definition: SIS.h:54
bfl::SIS::log
void log() override
Definition: SIS.cpp:102
bfl::SIS
Definition: SIS.h:25
bfl::SIS::run_condition
bool run_condition() override
Definition: SIS.cpp:87
bfl
Port of boost::any for C++11 compilers.
Definition: AdditiveMeasurementModel.h:13
bfl::SIS::~SIS
virtual ~SIS() noexcept=default
Resampling.h
bfl::SIS::initialization_step
bool initialization_step() override
Definition: SIS.cpp:52
bfl::ParticleFilter::correction
PFCorrection & correction()
Definition: ParticleFilter.cpp:65
bfl::ParticleFilter::prediction
PFPrediction & prediction()
Definition: ParticleFilter.cpp:59
bfl::SIS::log_file_names
std::vector< std::string > log_file_names(const std::string &folder_path, const std::string &file_name_prefix) override
Definition: SIS.cpp:93
bfl::SIS::operator=
SIS & operator=(const SIS &filter) noexcept=delete
bfl::ParticleFilter::initialization
ParticleSetInitialization & initialization()
Definition: ParticleFilter.cpp:53
bfl::ParticleFilter::resampling
Resampling & resampling()
Definition: ParticleFilter.cpp:71
PFPrediction.h
PFCorrection.h
bfl::SIS::SIS
SIS(unsigned int num_particle, std::size_t state_size_linear, std::size_t state_size_circular, std::unique_ptr< ParticleSetInitialization > initialization, std::unique_ptr< PFPrediction > prediction, std::unique_ptr< PFCorrection > correction, std::unique_ptr< Resampling > resampling) noexcept
Definition: SIS.cpp:22
ParticleFilter.h
bfl::SIS::cor_particle_
ParticleSet cor_particle_
Definition: SIS.h:60
bfl::SIS::filtering_step
void filtering_step() override
Definition: SIS.cpp:58
bfl::ParticleFilter
Definition: ParticleFilter.h:24
ParticleSet.h
bfl::ParticleSet
Definition: ParticleSet.h:20
bfl::SIS::state_size_
std::size_t state_size_
Definition: SIS.h:56