|
WSF
|
#include <WsfCorrelationStrategy.hpp>


Public Types | |
| typedef WsfObjectTypeList< WsfCorrelationStrategy > | CorrelationStrategyTypes |
| Public Types inherited from WsfObject | |
| typedef std::vector< WsfStringId > | TypeList |
| The list of types returned by GetTypeList. | |
Public Member Functions | |
| ~WsfCorrelationStrategy () override=default | |
| WsfCorrelationStrategy * | Clone () const override=0 |
| Create a clone of "this" object. | |
| bool | ProcessInput (UtInput &aInput) override |
| Process input from a common source. | |
| virtual bool | Initialize (WsfTrackManager *aTrackManagerPtr) |
| Perform any necessary initialization. | |
| void | NewTrackCorrelation (const WsfTrack &aRawTrack, const WsfLocalTrack &aLocalTrack) |
| WsfLocalTrack * | Correlate (double aSimTime, const WsfTrack &aNonLocalTrack, WsfLocalTrackList &aTrackList) |
| const WsfTrackId & | GetCorrelatedTrackId (const WsfTrackId &aRawTrackId) const |
| virtual void | Decorrelate (const WsfTrackId &aRawTrackId) |
| Allow the user to break an existing correlation. | |
| void | NotifyOfLocalTrackCorrelation (double aSimTime, const WsfLocalTrack &aLocalTrack, const WsfTrackId &aRawTrackId) |
| WsfTrackManager & | GetTrackManager () |
| Return a reference to the track manager being accessed internally by this object. | |
| void | SetTrackManager (WsfTrackManager *aTrackManagerPtr) |
| WsfSimulation * | GetSimulation () const |
| bool | TestCorrelation (const WsfTrack &aTrack1, const WsfTrack &aTrack2) |
| Method to facilitate unit testing. | |
| 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 Member Functions | |
| WsfCorrelationStrategy () | |
| WsfCorrelationStrategy (const WsfCorrelationStrategy &aSrc) | |
| WsfCorrelationStrategy & | operator= (const WsfCorrelationStrategy &aRhs) |
| virtual WsfLocalTrack * | CorrelateImpl (double aSimTime, const WsfTrack &aNonLocalTrack, WsfLocalTrackList &aTrackList)=0 |
| WsfObject (const WsfObject &aSrc) | |
| Copy constructor (for Clone()). | |
Protected Attributes | |
| std::map< WsfTrackId, WsfTrackId > | mCorrelationMap |
This class defines the interface for a correlation strategy. It is to be used and configured by the WsfTrackManager. A factory method called WsfCorrelationStrategy::Create is provided to return new instances of existing correlation object prototypes.
In order to create new correlation objects, the implementor should do the following:
|
overridedefault |
|
protected |
References mCorrelationMap.
Referenced by WsfClusterCorrelation::Clone(), Clone(), WsfLink16Correlation::Clone(), WsfMTT_Correlation::Clone(), WsfNearestNeighborCorrelation::Clone(), WsfPerfectCorrelation::Clone(), WsfTruthCorrelation::Clone(), operator=(), WsfClusterCorrelation::WsfClusterCorrelation(), WsfCorrelationStrategy(), WsfLink16Correlation::WsfLink16Correlation(), WsfMTT_Correlation::WsfMTT_Correlation(), WsfMTT_Correlation::WsfMTT_Correlation(), WsfNearestNeighborCorrelation::WsfNearestNeighborCorrelation(), WsfPerfectCorrelation::WsfPerfectCorrelation(), WsfTruthCorrelation::WsfTruthCorrelation(), and WsfNearestNeighborCorrelation::~WsfNearestNeighborCorrelation().
|
protected |
References mCorrelationMap, and WsfCorrelationStrategy().
|
overridepure virtual |
Create a clone of "this" object.
Implements WsfObject.
Implemented in WsfClusterCorrelation, WsfLink16Correlation, WsfMTT_Correlation, WsfNearestNeighborCorrelation, WsfPerfectCorrelation, and WsfTruthCorrelation.
References WsfCorrelationStrategy().
Referenced by WsfCorrelationStrategyTypes::Create().
| WsfLocalTrack * WsfCorrelationStrategy::Correlate | ( | double | aSimTime, |
| const WsfTrack & | aNonLocalTrack, | ||
| WsfLocalTrackList & | aTrackList ) |
Given a non-local track update (or measurement), find the track in the track list that correlates with the given track or measurement.
Given a non-local track update (or measurement), find the track in the track list that correlates with the given track or measurement.
References CorrelateImpl(), WsfTrack::GetTrackId(), and mCorrelationMap.
Referenced by TestCorrelation().
|
protectedpure virtual |
Given a non-local track update (or measurement), find the track in the track list that correlates with the given track or measurement (pure virtual method).
Implemented in WsfClusterCorrelation, WsfLink16Correlation, WsfMTT_Correlation, WsfNearestNeighborCorrelation, WsfPerfectCorrelation, and WsfTruthCorrelation.
Referenced by Correlate().
|
virtual |
Allow the user to break an existing correlation.
Reimplemented in WsfNearestNeighborCorrelation.
References mCorrelationMap.
Referenced by WsfNearestNeighborCorrelation::Decorrelate(), and WsfClusterCorrelation::MakeDecorrelated().
| const WsfTrackId & WsfCorrelationStrategy::GetCorrelatedTrackId | ( | const WsfTrackId & | aRawTrackId | ) | const |
Given a raw track id, return the (local) track id previously correlated with this track id. If there is no correlation, the track id will be "null", (i.e., the function WsfTrackId::IsNull will return true for the returned value of this method.
References mCorrelationMap.
Referenced by WsfPerfectCorrelation::CorrelateImpl().
| WsfSimulation * WsfCorrelationStrategy::GetSimulation | ( | ) | const |
Referenced by WsfTruthCorrelation::CorrelateImpl().
|
inline |
Return a reference to the track manager being accessed internally by this object.
Referenced by WsfClusterCorrelation::ClusterRawTracksIntoLocalTracks(), WsfMTT_Correlation::CorrelateImpl(), WsfNearestNeighborCorrelation::CorrelateImpl(), WsfMTT_Correlation::DecorrelateNonlocalTrack(), WsfClusterCorrelation::GetCorrelatedTrack(), WsfClusterCorrelation::GetCorrelatedTrack(), WsfMTT_Correlation::Initialize(), and WsfTruthCorrelation::Initialize().
|
inlinevirtual |
Perform any necessary initialization.
Reimplemented in WsfClusterCorrelation, WsfMTT_Correlation, and WsfTruthCorrelation.
Referenced by WsfClusterCorrelation::Initialize(), WsfMTT_Correlation::Initialize(), and WsfTruthCorrelation::Initialize().
| void WsfCorrelationStrategy::NewTrackCorrelation | ( | const WsfTrack & | aRawTrack, |
| const WsfLocalTrack & | aLocalTrack ) |
Notifies the correlation strategy that a new track correlation has been made This is called by the track manager for new tracks.
References WsfTrack::GetTrackId(), and mCorrelationMap.
Referenced by WsfMTT_Correlation::CorrelateImpl().
| void WsfCorrelationStrategy::NotifyOfLocalTrackCorrelation | ( | double | aSimTime, |
| const WsfLocalTrack & | aLocalTrack, | ||
| const WsfTrackId & | aRawTrackId ) |
Notifies the track manager and observers that a track has been correlated by the correlation strategy
Referenced by WsfPerfectCorrelation::CorrelateImpl(), and WsfTruthCorrelation::CorrelateImpl().
|
protected |
References mCorrelationMap, WsfObject::operator=(), and WsfCorrelationStrategy().
|
inlineoverridevirtual |
Process input from a common source.
Reimplemented from WsfObject.
Reimplemented in WsfLink16Correlation, WsfMTT_Correlation, WsfNearestNeighborCorrelation, and WsfTruthCorrelation.
Referenced by WsfCorrelationStrategyTypes::LoadInstance(), WsfLink16Correlation::ProcessInput(), WsfNearestNeighborCorrelation::ProcessInput(), and WsfTruthCorrelation::ProcessInput().
|
inline |
Method to facilitate unit testing.
References WsfTrackListT< T >::AddTrack(), Correlate(), and WsfTrack::GetUpdateTime().
|
protected |