12#ifndef WSFFUSIONCENTER_HPP
13#define WSFFUSIONCENTER_HPP
15#include "wsf_mil_export.h"
20#include "UtCallbackHolder.hpp"
49 using IdVec = std::vector<size_t>;
50 using Screeners = std::vector<PlatformScreenerPair>;
73 void PrintFuserState(ut::log::MessageStream& aMsgStream,
double aSimTime);
75 void Update(
double aSimTime)
override;
76 virtual void UpdateState(
double aSimTime);
84 void AdjustTrackQuantities(
double aSimTime);
88 bool FT_Fusible(
size_t aBlipId);
89 bool RT_Fusible(
size_t aTargetId);
90 size_t GetValidBlipCount();
93 void UpdateFalseTargetTracks(
double aSimTime);
94 void UpdateRealTargetTracks(
double aSimTime);
100 bool DeleteAllScreenersOn(
WsfStringId aPlatformId);
101 void DeleteAllTracks(
double aSimTime);
102 void DetermineOutputType();
121 RejectionRatios GetRejectionRatioMap() {
return mRejectionRatios; }
124 IdTrackIdList mActiveRT_Tracks;
125 IdTrackIdList mBlockedRT_Tracks;
126 IdToTrackIdMultiMap mScreenersRT_Tracks;
127 IdVec mScreenersRT_IdList;
129 IdTrackIdList mActiveFT_Tracks;
130 IdToTrackIdMultiMap mScreenersFT_Tracks;
131 IdVec mScreenersFT_IdList;
133 UtCallbackHolder mCallbacks;
135 bool mConsistencyChanged;
136 bool mConsistencyConstrained;
138 InterScreenerConsistency mFalseTargetConsistency;
139 InterScreenerConsistency mLastFalseTargetConsistency;
143 size_t mFusedFT_Number;
144 size_t mFusedRT_Number;
145 size_t mLastAggFT_Number;
146 size_t mLastAggRT_Number;
148 double mLastUpdateTime;
150 unsigned int mPlotCapacity;
151 bool mProduceFusedObjects;
152 InterScreenerConsistency mRealTargetConsistency;
153 InterScreenerConsistency mLastRealTargetConsistency;
154 RadarSensorIds mRegisteredSites;
155 RejectionRatios mRejectionRatios;
156 Screeners mScreeners;
158 unsigned int mTrackCapacity;
160 WsfFusionStrategy* mFusionStrategyPtr;
UtStringId WsfStringId
WsfStringId – the same thing as UtStringId.
Definition WsfStringId.hpp:23
Definition WsfFalseTargetScreener.hpp:41
std::vector< WsfFalseTarget::RadarSnsrPair > RadarSensorIds
Definition WsfFusionCenter.hpp:54
std::vector< WsfFalseTarget::RadarSnsrPair >::iterator RadarSensorIdsIter
Definition WsfFusionCenter.hpp:55
std::pair< WsfStringId, WsfFalseTargetScreener * > PlatformScreenerPair
Definition WsfFusionCenter.hpp:46
std::map< size_t, WsfTrackId > IdToTrackIdMultiMap
Definition WsfFusionCenter.hpp:57
SiteIds::iterator SiteIdsIter
Definition WsfFusionCenter.hpp:53
std::vector< size_t > IdVec
Definition WsfFusionCenter.hpp:49
std::vector< PlatformScreenerPair >::iterator ScreenersIter
Definition WsfFusionCenter.hpp:51
std::map< size_t, unsigned int > InterScreenerConsistency
Definition WsfFusionCenter.hpp:56
WsfFusionCenter & operator=(const WsfFusionCenter &)=delete
std::map< WsfFalseTarget::RadarBehavior, double > RejectionRatios
Definition WsfFusionCenter.hpp:47
WsfFusionCenter(WsfScenario &aScenario)
Definition WsfFusionCenter.cpp:42
std::vector< IdTrackIdPair > IdTrackIdList
Definition WsfFusionCenter.hpp:59
std::map< WsfFalseTarget::RadarBehavior, double >::iterator RejectionRatiosIter
Definition WsfFusionCenter.hpp:48
void SetConsistencyConstraint(bool aConsistencyConstrained)
Definition WsfFusionCenter.hpp:78
bool GetConsistenctConstraint()
Definition WsfFusionCenter.hpp:79
std::vector< WsfStringId > SiteIds
Definition WsfFusionCenter.hpp:52
Output
Definition WsfFusionCenter.hpp:39
@ cOVERLOAD
Definition WsfFusionCenter.hpp:43
@ cPLOT
Definition WsfFusionCenter.hpp:40
@ cCORRELATED_PLOT
Definition WsfFusionCenter.hpp:41
@ cTRACKS
Definition WsfFusionCenter.hpp:42
std::pair< size_t, WsfTrackId > IdTrackIdPair
Definition WsfFusionCenter.hpp:58
std::vector< PlatformScreenerPair > Screeners
Definition WsfFusionCenter.hpp:50
Output GetOutputType() const
Definition WsfFusionCenter.hpp:71
Definition WsfFusionStrategy.hpp:52
A base class for messages sent among simulation communication objects, processors and sensors.
Definition WsfMessage.hpp:33
WsfProcessor(const WsfScenario &aScenario)
Definition WsfProcessor.cpp:25
Contains the data required to create a simulation, and acts as the entry point for input file process...
Definition WsfScenario.hpp:111
void Update(double aSimTime) override
Definition WsfScriptProcessor.cpp:281
WsfProcessor * Clone() const override
Definition WsfScriptProcessor.cpp:97
WsfScriptProcessor(const WsfScenario &aScenario)
Definition WsfScriptProcessor.cpp:30
bool Initialize(double aSimTime) override
Definition WsfScriptProcessor.cpp:104
bool ProcessInput(UtInput &aInput) override
Definition WsfScriptProcessor.cpp:186
Definition WsfSensorMode.hpp:36
Definition WsfSensor.hpp:92
An object that represents an 'track' (perception) of something.
Definition WsfTrack.hpp:120