WSF
WsfNearestNeighborCorrelation.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 WSFNEARESTNEIGHBORCORRELATION_HPP
13#define WSFNEARESTNEIGHBORCORRELATION_HPP
14
15#include "wsf_export.h"
16
17#include <map>
18#include <set>
19
20class UtInput;
22#include "WsfCovariance.hpp"
23#include "WsfTrackId.hpp"
24
28{
29public:
31 ~WsfNearestNeighborCorrelation() override = default;
32 WsfCorrelationStrategy* Clone() const override;
33 WsfLocalTrack* CorrelateImpl(double aSimTime, const WsfTrack& aNonLocalTrack, WsfLocalTrackList& aTrackList) override;
34
35 bool ProcessInput(UtInput& aInput) override;
36
37 void Decorrelate(const WsfTrackId& aRawTrackId) override;
38
39private:
40 WsfLocalTrack* CorrelateWithConfidenceInterval(double aSimTime,
41 const WsfTrack& aNonLocalTrack,
42 WsfLocalTrackList& aTrackList,
43 double& aSigmaConfidence,
44 WsfTrackId& aExistingCorrelation);
45
46 using CovarMap = std::map<WsfTrackId, WsfCovariance*>;
47
48 std::map<WsfTrackId, double> mChangeMap;
49 std::set<WsfTrackId> mTurnSet;
50 double mTrackingSigma;
51 double mTurningSigma;
52 double mChangeTime;
53 bool mPreciseMode;
54};
55
56#endif
WsfTrackListT< WsfLocalTrack > WsfLocalTrackList
Definition WsfTrackList.hpp:89
#define WSF_EXPORT
Definition WsfXIO_Export.hpp:35
bool ProcessInput(UtInput &aInput) override
Process input from a common source.
Definition WsfCorrelationStrategy.hpp:59
WsfCorrelationStrategy * Clone() const override=0
Create a clone of "this" object.
WsfCorrelationStrategy()
Definition WsfCorrelationStrategy.cpp:21
virtual WsfLocalTrack * CorrelateImpl(double aSimTime, const WsfTrack &aNonLocalTrack, WsfLocalTrackList &aTrackList)=0
virtual void Decorrelate(const WsfTrackId &aRawTrackId)
Allow the user to break an existing correlation.
Definition WsfCorrelationStrategy.cpp:89
Definition WsfLocalTrack.hpp:32
~WsfNearestNeighborCorrelation() override=default
WsfNearestNeighborCorrelation()
Definition WsfNearestNeighborCorrelation.cpp:26
Definition WsfTrackId.hpp:33
An object that represents an 'track' (perception) of something.
Definition WsfTrack.hpp:120
Copyrights Multiple, All Rights Reserved