|
WSF
|
Implement a filter as an adapter. More...
#include <WsfFilter.hpp>


Public Member Functions | |
| WsfFilter ()=delete | |
| WsfFilter (TrackingFilters::Filter *aFilterPtr) | |
| WsfFilter (const WsfFilter &aSrc) | |
| WsfFilter & | operator= (const WsfFilter &aRhs) |
| ~WsfFilter () override | |
| WsfFilter * | Clone () const override=0 |
| bool | ProcessInput (UtInput &aInput) override |
| virtual bool | Initialize (double aSimTime, WsfSimulation *aSimulationPtr, const UtMatrixd *aInitialStatePtr=nullptr) |
| void | Reset (double aSimTime, const UtMatrixd *aInitialStatePtr=nullptr) |
| void | Update (double aSimTime, const UtMeasurementData &aDataIn, UtMeasurementData &aDataOut) |
| void | NoDetectUpdate (double aSimTime, UtMeasurementData &aDataOut) |
| void | GetKinematicEstimate (double aSimTime, UtMeasurementData &aDataOut) |
| const UtCovariance * | GetStateCovariance () |
| const UtCovariance * | GetResidualCovariance () |
| bool | GetPredictedStateCovariance (double aSimTime, UtCovariance &aCovariance) |
| bool | GetPredictedResidualCovariance (double aSimTime, UtCovariance &aCovariance) |
| bool | GetCurrentMeasurementTrackScore (double &aCurrentScore) |
| bool | GetAverageTrackScore (double &aAverageScore) |
| bool | IsStable () const |
| void | SetFrameTime (double aFrameTime) |
| Set the 'frame time' for the sensor, which is the typical time to complete a scan. | |
| Public Member Functions inherited from WsfObject | |
| WsfObject () | |
| This is the constructor for the WsfObject class. | |
| ~WsfObject () override | |
| This is the destructor for the WsfObject class. | |
| const char * | GetScriptClassName () const override |
| const std::string & | GetType () const |
| WsfStringId | GetTypeId () const |
| Get the string ID of the 'type' of the object. | |
| void | SetType (WsfStringId aType) |
| const std::string & | GetBaseType () const |
| WsfStringId | GetBaseTypeId () const |
| const TypeList & | GetTypeList () const |
| bool | IsA_TypeOf (WsfStringId aType) const |
| WsfObject & | operator= (const WsfObject &aRhs) |
| Assignment operator. | |
| template<typename T> | |
| void | Serialize (T &aBuff) |
| For XIO (de)serialization. | |
| const std::string & | GetName () const |
| WsfStringId | GetNameId () const |
| void | SetName (WsfStringId aName) |
Protected Attributes | |
| TrackingFilters::Filter * | mFilterPtr |
Additional Inherited Members | |
| Public Types inherited from WsfObject | |
| typedef std::vector< WsfStringId > | TypeList |
| The list of types returned by GetTypeList. | |
| WsfObject (const WsfObject &aSrc) | |
| Copy constructor (for Clone()). | |
Implement a filter as an adapter.
|
delete |
References WsfFilter().
Referenced by WsfAlphaBetaFilter::Clone(), WsfAlphaBetaGammaFilter::Clone(), Clone(), WsfKalmanFilter2D_RB::Clone(), WsfKalmanFilter::Clone(), operator=(), WsfAlphaBetaFilter::WsfAlphaBetaFilter(), WsfAlphaBetaFilter::WsfAlphaBetaFilter(), WsfAlphaBetaGammaFilter::WsfAlphaBetaGammaFilter(), WsfAlphaBetaGammaFilter::WsfAlphaBetaGammaFilter(), WsfFilter(), WsfFilter(), WsfKalmanFilter::WsfKalmanFilter(), WsfKalmanFilter2D_RB::WsfKalmanFilter2D_RB(), WsfKalmanFilter2D_RB::WsfKalmanFilter2D_RB(), and WsfOrbitDeterminationKalmanFilter::WsfOrbitDeterminationKalmanFilter().
| WsfFilter::WsfFilter | ( | TrackingFilters::Filter * | aFilterPtr | ) |
References mFilterPtr, and WsfObject::WsfObject().
| WsfFilter::WsfFilter | ( | const WsfFilter & | aSrc | ) |
References Clone(), mFilterPtr, WsfFilter(), and WsfObject::WsfObject().
|
override |
References mFilterPtr.
|
overridepure virtual |
Clone this filter.
Implements WsfObject.
Implemented in WsfAlphaBetaFilter, WsfAlphaBetaGammaFilter, WsfKalmanFilter2D_RB, WsfKalmanFilter, and WsfOrbitDeterminationKalmanFilter.
References GetAverageTrackScore(), GetCurrentMeasurementTrackScore(), GetKinematicEstimate(), GetPredictedResidualCovariance(), GetPredictedStateCovariance(), GetResidualCovariance(), GetStateCovariance(), Initialize(), IsStable(), NoDetectUpdate(), Reset(), SetFrameTime(), and WsfFilter().
Referenced by WsfLocalTrack::operator=(), and WsfFilter().
| bool WsfFilter::GetAverageTrackScore | ( | double & | aAverageScore | ) |
Returns the AVERAGE Normalized Residual Square Produced by the Filter Done by means of computing a weighted average of the last several individual Distance Functions produced by the filter
| aAverageScore | [output] |
References mFilterPtr.
Referenced by Clone().
| bool WsfFilter::GetCurrentMeasurementTrackScore | ( | double & | aCurrentScore | ) |
Returns the Normalized Residual Square Produced by the Filter Also called Distance Function, or Track Score
| aCurrentScore | [output] |
References mFilterPtr.
Referenced by Clone().
| void WsfFilter::GetKinematicEstimate | ( | double | aSimTime, |
| UtMeasurementData & | aDataOut ) |
| bool WsfFilter::GetPredictedResidualCovariance | ( | double | aSimTime, |
| UtCovariance & | aCovariance ) |
If the filter has a residual covariance matrix, return the predicted residual covariance.
| aSimTime | The current simulation time, used to extrapolate the covariance. |
| aCovariance | [output] A reference to the predicted covariance. |
References mFilterPtr.
Referenced by Clone(), and WsfDefaultSensorTracker::TargetUndetected().
| bool WsfFilter::GetPredictedStateCovariance | ( | double | aSimTime, |
| UtCovariance & | aCovariance ) |
If the filter has a state covariance matrix, return the predicted state covariance.
| aSimTime | The current simulation time, used to extrapolate the covariance. |
| aCovariance | [output] A reference to the predicted covariance. |
References mFilterPtr.
Referenced by Clone(), and WsfDefaultSensorTracker::TargetUndetected().
| const UtCovariance * WsfFilter::GetResidualCovariance | ( | ) |
References mFilterPtr.
Referenced by Clone(), WsfDefaultSensorTracker::TargetDetected(), and WsfDefaultSensorTracker::TargetUndetected().
| const UtCovariance * WsfFilter::GetStateCovariance | ( | ) |
Returns the State Covariance.
References mFilterPtr.
Referenced by Clone(), WsfDefaultSensorTracker::TargetDetected(), and WsfDefaultSensorTracker::TargetUndetected().
|
virtual |
Initialize the filter with the option of providing simulation and / or scenario specific data, and an initial state.
| aSimTime | The simulation time at which the initial state (if any) is valid; otherwise, the current simulation time. |
| aSimulationPtr | The simulation object pointer. |
| aInitialStatePtr | An optional initial state (6x1) vector, consisting of a WCS location vector (first three values), and a WCS velocity vector (second three values). |
Reimplemented in WsfOrbitDeterminationKalmanFilter.
References mFilterPtr.
Referenced by WsfDirectionFinderProcessor::AddFilterToFusedTrack(), Clone(), and WsfDefaultSensorTracker::TargetDetected().
| bool WsfFilter::IsStable | ( | ) | const |
Is the filter stable?
References mFilterPtr.
Referenced by Clone(), wsf::space::KinematicStateExtrapolation::Extrapolate(), WsfDefaultSensorTracker::GetTargetState(), and WsfOrbitDeterminationFusion::UpdateLocalTrackFromNonLocalTrack().
| void WsfFilter::NoDetectUpdate | ( | double | aSimTime, |
| UtMeasurementData & | aDataOut ) |
References mFilterPtr.
Referenced by Clone(), and WsfDefaultSensorTracker::TargetUndetected().
References mFilterPtr, WsfObject::operator=(), and WsfFilter().
|
overridevirtual |
Process input from a generic source.
Examine the current input command. If it is NOT one of the commands recognized by this class then it simply returns 'false'. If it is one of the commands recognized by this class then it processes the command and returns 'true'.
| aInput | a reference to a UtInput object. |
| UtInput::ExceptionBase | (or an object derived from it) if the command was recognized but contains some sort of error. |
Reimplemented from WsfObject.
Reimplemented in WsfOrbitDeterminationKalmanFilter.
References mFilterPtr.
| void WsfFilter::Reset | ( | double | aSimTime, |
| const UtMatrixd * | aInitialStatePtr = nullptr ) |
Reset the filter back to an initialized state.
| aSimTime | The simulation time at which the initial state (if any) is valid; otherwise, the current simulation time. |
| aInitialStatePtr | An optional initial state (6x1) vector, consisting of a WCS location vector (first three values), and a WCS velocity vector (second three values). |
References mFilterPtr.
Referenced by Clone(), and WsfDefaultSensorTracker::TargetDetected().
| void WsfFilter::SetFrameTime | ( | double | aFrameTime | ) |
Set the 'frame time' for the sensor, which is the typical time to complete a scan.
References mFilterPtr.
Referenced by Clone().
| void WsfFilter::Update | ( | double | aSimTime, |
| const UtMeasurementData & | aDataIn, | ||
| UtMeasurementData & | aDataOut ) |
References mFilterPtr.
Referenced by WsfDefaultSensorTracker::TargetDetected(), and WsfOrbitDeterminationFusion::UpdateLocalTrackFromNonLocalTrack().
|
protected |
Referenced by GetAverageTrackScore(), GetCurrentMeasurementTrackScore(), GetKinematicEstimate(), GetPredictedResidualCovariance(), GetPredictedStateCovariance(), GetResidualCovariance(), GetStateCovariance(), Initialize(), IsStable(), NoDetectUpdate(), operator=(), ProcessInput(), Reset(), WsfKalmanFilter::SetFilterProcessNoise(), SetFrameTime(), Update(), WsfFilter(), WsfFilter(), and ~WsfFilter().