WSF
WsfFilter.hpp
Go to the documentation of this file.
1// ****************************************************************************
2// CUI
3//
4// The Advanced Framework for Simulation, Integration, and Modeling (AFSIM)
5//
6// Copyright 2003-2015 The Boeing Company. All rights reserved.
7//
8// The use, dissemination or disclosure of data in this file is subject to
9// limitation or restriction. See accompanying README and LICENSE for details.
10// ****************************************************************************
11
12#ifndef WSFFILTER_HPP
13#define WSFFILTER_HPP
14
15#include "wsf_export.h"
16
17#include "Filter.hpp"
18#include "UtCovariance.hpp"
19#include "WsfObject.hpp"
20class WsfSimulation;
21
24{
25public:
26 WsfFilter() = delete;
27 WsfFilter(TrackingFilters::Filter* aFilterPtr);
28 WsfFilter(const WsfFilter& aSrc);
29 WsfFilter& operator=(const WsfFilter& aRhs);
30 ~WsfFilter() override;
31
34 WsfFilter* Clone() const override = 0;
35
36 bool ProcessInput(UtInput& aInput) override;
37
38 virtual bool Initialize(double aSimTime, WsfSimulation* aSimulationPtr, const UtMatrixd* aInitialStatePtr = nullptr);
39
40 // Adapted methods (see TrackingFilters::Filter)
41 void Reset(double aSimTime, const UtMatrixd* aInitialStatePtr = nullptr);
42
43 void Update(double aSimTime, const UtMeasurementData& aDataIn, UtMeasurementData& aDataOut);
44
45 void NoDetectUpdate(double aSimTime, UtMeasurementData& aDataOut);
46
47 void GetKinematicEstimate(double aSimTime, UtMeasurementData& aDataOut);
48
49 const UtCovariance* GetStateCovariance();
50
51 const UtCovariance* GetResidualCovariance();
52
53 bool GetPredictedStateCovariance(double aSimTime, UtCovariance& aCovariance);
54
55 bool GetPredictedResidualCovariance(double aSimTime, UtCovariance& aCovariance);
56
57 bool GetCurrentMeasurementTrackScore(double& aCurrentScore);
58
59 bool GetAverageTrackScore(double& aAverageScore);
60
61 bool IsStable() const;
62
63 void SetFrameTime(double aFrameTime);
64
65protected:
66 TrackingFilters::Filter* mFilterPtr;
67};
68
69#endif
aObjectPtr Update(simTime)
#define WSF_EXPORT
Definition WsfXIO_Export.hpp:35
bool IsStable() const
Definition WsfFilter.cpp:148
const UtCovariance * GetStateCovariance()
Definition WsfFilter.cpp:93
void NoDetectUpdate(double aSimTime, UtMeasurementData &aDataOut)
Definition WsfFilter.cpp:80
bool GetPredictedResidualCovariance(double aSimTime, UtCovariance &aCovariance)
Definition WsfFilter.cpp:116
void Reset(double aSimTime, const UtMatrixd *aInitialStatePtr=nullptr)
Definition WsfFilter.cpp:70
WsfFilter()=delete
bool GetPredictedStateCovariance(double aSimTime, UtCovariance &aCovariance)
Definition WsfFilter.cpp:107
bool GetAverageTrackScore(double &aAverageScore)
Definition WsfFilter.cpp:137
void GetKinematicEstimate(double aSimTime, UtMeasurementData &aDataOut)
Definition WsfFilter.cpp:85
bool GetCurrentMeasurementTrackScore(double &aCurrentScore)
Definition WsfFilter.cpp:126
WsfFilter * Clone() const override=0
const UtCovariance * GetResidualCovariance()
Definition WsfFilter.cpp:98
TrackingFilters::Filter * mFilterPtr
Definition WsfFilter.hpp:66
virtual bool Initialize(double aSimTime, WsfSimulation *aSimulationPtr, const UtMatrixd *aInitialStatePtr=nullptr)
Definition WsfFilter.cpp:59
void SetFrameTime(double aFrameTime)
Set the 'frame time' for the sensor, which is the typical time to complete a scan.
Definition WsfFilter.cpp:154
WsfObject()
This is the constructor for the WsfObject class.
Definition WsfObject.cpp:88
WsfObject & operator=(const WsfObject &aRhs)
Assignment operator.
Definition WsfObject.cpp:258
virtual bool ProcessInput(UtInput &aInput)
Definition WsfObject.cpp:140
The main controller for a simulation.
Definition WsfSimulation.hpp:109
Copyrights Multiple, All Rights Reserved