WSF
WsfMTT_Correlation.hpp
Go to the documentation of this file.
1// ****************************************************************************
2// CUI//REL TO USA ONLY
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// Updated by Infoscitex, a DCS Company
13//****************************************************************************
14
15#ifndef WSF_MTT_CORRELATION_HPP
16#define WSF_MTT_CORRELATION_HPP
17
18#include <map>
19#include <memory>
20
21class MTT;
25#include "UtCallbackHolder.hpp"
26class UtInput;
27
31{
32public:
36 ~WsfMTT_Correlation() override = default;
37
38 WsfCorrelationStrategy* Clone() const override { return new WsfMTT_Correlation(*this); }
39
40 bool ProcessInput(UtInput& aInput) override; // for general configuration
41
42 bool Initialize(WsfTrackManager* aTrackManagerPtr) override;
43
44 int GetActiveTrackId(const WsfTrackId& aLocalTrackId) const;
45
46 void DecorrelateNonlocalTrack(const WsfTrack& aNonLocalTrack);
47
48 WsfLocalTrack* CorrelateImpl(double aSimTime, const WsfTrack& aNonLocalTrack, WsfLocalTrackList& aTrackList) override;
49
50private:
51 void LocalTrackCorrelated(double aSimTime, const WsfLocalTrack* aLocalTrackPtr, const WsfTrackId& aRawTrackId);
52 void LocalTrackDecorrelated(double aSimTime, const WsfLocalTrack* aLocalTrackPtr, const WsfTrackId& aRawTrackId);
53 void LocalTrackDropped(double aSimTime, const WsfLocalTrack* aLocalTrackPtr);
54 void RawTrackDropped(double aSimTime, const WsfTrack* aRawTrackPtr);
55
56 WsfMTT_Interface* mMTT_InterfacePtr;
57 std::shared_ptr<MTT> mMTT_Ptr;
58
59 std::map<WsfTrackId, int> mNLT_IdToAT_IdMap;
60 std::map<WsfTrackId, int> mLT_IdToAT_IdMap;
61 std::map<int, std::unique_ptr<MTT_PerceivedCluster>> mPerceivedClusterMap;
62
63 UtCallbackHolder mCallbacks;
64};
65
66#endif
WsfTrackListT< WsfLocalTrack > WsfLocalTrackList
Definition WsfTrackList.hpp:89
Definition MTT.hpp:49
WsfCorrelationStrategy()
Definition WsfCorrelationStrategy.cpp:21
Definition WsfLocalTrack.hpp:32
WsfMTT_Correlation & operator=(const WsfMTT_Correlation &)=delete
~WsfMTT_Correlation() override=default
bool Initialize(WsfTrackManager *aTrackManagerPtr) override
Perform any necessary initialization.
Definition WsfMTT_Correlation.cpp:63
WsfCorrelationStrategy * Clone() const override
Create a clone of "this" object.
Definition WsfMTT_Correlation.hpp:38
int GetActiveTrackId(const WsfTrackId &aLocalTrackId) const
Definition WsfMTT_Correlation.cpp:87
bool ProcessInput(UtInput &aInput) override
Process input from a common source.
Definition WsfMTT_Correlation.cpp:57
WsfLocalTrack * CorrelateImpl(double aSimTime, const WsfTrack &aNonLocalTrack, WsfLocalTrackList &aTrackList) override
Definition WsfMTT_Correlation.cpp:100
WsfMTT_Correlation()
Definition WsfMTT_Correlation.cpp:36
void DecorrelateNonlocalTrack(const WsfTrack &aNonLocalTrack)
Definition WsfMTT_Correlation.cpp:253
Definition WsfMTT_Interface.hpp:55
Definition WsfTrackId.hpp:33
Definition WsfTrackManager.hpp:62
An object that represents an 'track' (perception) of something.
Definition WsfTrack.hpp:120
Copyrights Multiple, All Rights Reserved