WSF
WsfTrack.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 WSFTRACK_HPP
13#define WSFTRACK_HPP
14
15#include "wsf_export.h"
16
17#include <memory>
18#include <vector>
19
20class UtInput;
21class UtInputBlock;
22#include "UtMatrix.hpp"
23#include "UtReferenceTracked.hpp"
24#include "UtScriptAccessible.hpp"
25#include "UtVec3.hpp"
26#include "WsfAuxDataEnabled.hpp"
27class WsfGeoPoint;
29#include "WsfMeasurement.hpp"
30class WsfObject;
31class WsfPlatform;
32class WsfScenario;
33class WsfSimulation;
34#include "WsfStringId.hpp"
35class WsfTrack;
36#include "WsfTrackId.hpp"
37#include "WsfTypes.hpp"
38
41{
42public:
44 WsfTrack_Signal(double aFrequency);
45 WsfTrack_Signal(double aLowerFreq, double aUpperFreq);
46 WsfTrack_Signal(double aLowerFreq, double aUpperFreq, double aPRI, double aPW);
47
50 bool operator==(const WsfTrack_Signal& aRhs) const;
51
53 template<typename T>
58
65};
66
69{
70 std::vector<WsfTrack_Signal> mSignalList;
71
73 template<typename T>
74 void Serialize(T& aBuff)
75 {
76 aBuff& mSignalList;
77 }
78};
79
118
119class WSF_EXPORT WsfTrack : public UtScriptAccessible, public UtReferenceTracked, public WsfMeasurement, public WsfAuxDataEnabled
120{
121public:
123
146
161
164 {
165 public:
172
173 EmitterTypeData(WsfStringId aTruthEmitterTypeId, WsfStringId aEmitterTypeId)
174 : mEmitterTruthId(aTruthEmitterTypeId)
175 , mEmitterDerivedId(aEmitterTypeId)
177 {
178 }
179
180 int GetSignalIndexEntry(unsigned int aIndex)
181 {
182 int signalIndex(0);
183 if ((aIndex < mSignalIndices.size()))
184 {
185 signalIndex = mSignalIndices[aIndex];
186 }
187 return signalIndex;
188 }
189
191 template<typename T>
192 void Serialize(T& aBuff)
193 {
195 }
196
199 std::vector<int> mSignalIndices;
200 };
201
204 {
205 std::vector<EmitterTypeData> mEmitterTypeIdList;
206
208 template<typename T>
209 void Serialize(T& aBuff)
210 {
211 aBuff& mEmitterTypeIdList;
212 }
213 };
214
228
229 WsfTrack();
230 WsfTrack(WsfStringId aOriginatorNameId, WsfStringId aOriginatorTypeId);
231 WsfTrack(TrackType aTrackType, WsfObject* aOriginatingProcessorOrSensor, WsfPlatform* aOriginatingPlatform);
232 WsfTrack(const WsfTrack& aSrc);
233
234 ~WsfTrack() override;
235
236 WsfTrack* Clone() const override;
237 virtual void Initialize(double aSimTime, const WsfTrackId& aTrackId, WsfSimulation& aSimulation);
238 void SetSimulation(WsfSimulation* aSimulationPtr);
239 void Update(double aSimTime) override;
240 void KinematicUpdate(double aSimTime) override;
241 virtual void ReplacementUpdate(const WsfTrack& aSource);
242 virtual void UpdateFromMeasurement(double aSimTime, const WsfTrack& aMeasurement);
243
244 const char* GetScriptClassName() const override;
245
247 bool IsTrack() const override { return true; }
248
249 void SetPlatformOriginator(WsfPlatform* aPlatformPtr);
250 void SetProcessorOriginator(WsfObject* aProcessorPtr, WsfPlatform* aPlatformPtr);
251 void SetSensorOriginator(WsfObject* aSensorPtr, WsfPlatform* aPlatformPtr);
252 void SetSensorOriginator(WsfStringId aSensorNameId, WsfStringId aSensorTypeId);
253
255 const WsfTrackId& GetTrackId() const { return mTrackId; }
256
258 void SetTrackId(const WsfTrackId& aTrackId) { mTrackId = aTrackId; }
259
262
265 void SetTrackType(TrackType aTrackType);
266
269 bool IsPredefinedTrack() const { return (mTrackType == cPREDEFINED); }
270
273 double GetStartTime() const { return mStartTime; }
274
276 void SetStartTime(double aStartTime) { mStartTime = aStartTime; }
277
279 double GetUpdateTime() const { return mUpdateTime.Get(); }
280
282 double GetLastUpdateInterval() const { return (mLastUpdateTime.Get() - mUpdateTime.Get()); }
283
285 // void SetUpdateTime(double aUpdateTime) { mUpdateTime = aUpdateTime; }
286
288 int GetUpdateCount() const { return mUpdateCount; }
289
291 void SetUpdateCount(int aUpdateCount) { mUpdateCount = aUpdateCount; }
292
294 double GetMessageDataTag() const { return mMessageDataTag; }
295
297 void SetMessageDataTag(double aMessageDataTag) { mMessageDataTag = aMessageDataTag; }
298
301
304
307
311
315
319
323
327
330 void SetSensorModeId(WsfStringId aSensorModeId) { mSensorModeId = aSensorModeId; }
331
333 bool IsFusible() const { return mIsFusible; }
334
336 void SetFusible(bool aIsFusible) { mIsFusible = aIsFusible; }
337
339 virtual void SetPurgeable(bool aIsPurgeable) { mIsPurgeable = aIsPurgeable; }
340
345 bool IsPurgeable() const { return mIsPurgeable; }
346
350 bool IsStale() const { return mIsStale; }
351
353 void SetStale(bool aIsStale) { mIsStale = aIsStale; }
354
357
358
361 bool IsReportable() const { return mIsReportable; }
362
363 void IsReportable(bool aIsReportable);
364
365 bool Is3D() const;
366
368 void Set3D(bool aIs3D) { mIs3D = aIs3D; }
369
373 void SetReportable(bool aIsReportable) { mIsReportable = aIsReportable; }
374
375 using History = std::vector<std::unique_ptr<WsfMeasurement>>; // track history type
376
377 bool HasHistory() const;
378 virtual History& GetHistory() const;
379
384
385
386 bool IFF_StatusValid() const { return mIFF_Status.IsValid(); }
387
388 IFF_Status GetIFF_Status() const { return (const IFF_Status)mIFF_Status.Get(); }
389
391 void SetIFF_Status(IFF_Status aIFF_Status)
392 {
393 mIFF_Status.Set(aIFF_Status);
394 mIFF_Status.SetValid(true);
395 }
396
398
399
409
410
412 double GetTrackQuality() const;
413
415 double GetTrackQuality(double aSimTime) const;
416
417 void SetTrackQuality(double aTrackQuality);
418
420
436
437
439 double GetQuality() const;
440
442 double GetQuality(double aSimTime) const;
443
445 double GetExpectedLocationError() const;
446
448 double GetExpectedLocationError(double aSimTime) const;
449
451
453
454
456 const SignalList* GetSignalList() const { return mSignalListPtr.Get(); }
457
458 void AddSignal(const Signal& aSignal);
459 unsigned int GetSignalCount() const;
460 void GetSignalEntry(unsigned int aIndex, Signal& aSignal) const;
461 void MergeSignalLists(const WsfTrack& aOtherTrack);
462 void SetSignalList(const std::vector<Signal>& aSignalList);
463
464 double GetFrequency() const;
465 void SetFrequency(double aFrequency);
466
467 bool FrequencyValid() const;
468 void SetFrequencyValid(bool aFrequencyValid);
469
471
474
475
476 void AddEmitterTypeId(const EmitterTypeData& aEmitterTypeData);
477 void AddEmitterTypeId(WsfStringId aTruthEmitterTypeId, WsfStringId aEmitterTypeId);
478 unsigned int GetEmitterTypeIdCount() const;
479 void GetEmitterTypeIdEntry(unsigned int aIndex, EmitterTypeData& aEmitterTypeData) const;
480 void MergeEmitterTypeIdLists(const WsfTrack& aOtherTrack);
481 void SetEmitterTypeIdList(const std::vector<EmitterTypeData>& aEmitterTypeIdList);
482
483
485 bool EmitterTypeIdValid() const { return mEmitterTypeIdListPtr.IsValid(); }
487 void SetEmitterTypeIdValid(bool aEmitterTypeIdValid) { mEmitterTypeIdListPtr.SetValid(aEmitterTypeIdValid); }
488
490
492
493
495 double GetSignalToNoise() const { return mSignalToNoise.Get(); }
497 void SetSignalToNoise(double aSignalToNoise) { mSignalToNoise.Set(aSignalToNoise); }
498
500 bool SignalToNoiseValid() const { return mSignalToNoise.IsValid(); }
502 void SetSignalToNoiseValid(bool aSignalToNoiseValid) { mSignalToNoise.SetValid(aSignalToNoiseValid); }
503
505
507
508
510 double GetPixelCount() const { return mPixelCount.Get(); }
512 void SetPixelCount(double aPixelCount) { mPixelCount.Set(aPixelCount); }
513
515
520 // Set as a UtMatrix.
521 const UtMatrixd* GetResidualCovarianceMatrix() const;
522
523 // Set as a covariance object.
524 const UtCovariance* GetResidualCovariance() const { return mResidualCovariancePtr.Get(); }
525 void SetResidualCovariance(const UtCovariance& aResidualCovarianceMatrix);
526 void SetResidualCovariance(UtCovariance* aResidualCovarianceMatrixPtr);
527 bool ResidualCovarianceValid() const;
528 void SetResidualCovarianceValid(bool aStateCovarianceValid);
529
530 bool ProcessNoiseVariancesValid() const;
531 void GetProcessNoiseVariancesECS(double aProcessNoiseVariancesECS[3]) const;
532 void SetProcessNoiseVariancesECS(double aProcessNoiseVariancesECS[3]);
533 int GetProcessNoiseModel() const;
535
538
539
541 void SetIsCandidate(bool aIsCandidate) { mIsCandidate = aIsCandidate; }
542
545 bool IsCandidate() const { return mIsCandidate; }
546
548
551
552
555 void SetIsFalseTarget(bool aIsFalseTarget) { mIsFalseTarget = aIsFalseTarget; }
556
559 bool IsFalseTarget() const { return mIsFalseTarget; }
561
564
565
568 void SetIsStrobe(bool aIsStrobe) { mIsStrobe = aIsStrobe; }
569
572 bool IsStrobe() const { return mIsStrobe; }
574
579 //
582
583
586 void SetTarget(const WsfPlatform& aTarget);
587
590 void SetTargetIndex(size_t aTargetIndex) { mTargetIndex = aTargetIndex; }
591
593 size_t GetTargetIndex() const;
594
597 void SetTargetName(WsfStringId aTargetName) { mTargetName = aTargetName; }
598
600 WsfStringId GetTargetName() const { return mTargetName; }
601
604 void SetTargetType(WsfStringId aTargetType) { mTargetType = aTargetType; }
605
607 WsfStringId GetTargetType() const;
609
611
612
615 void SetLastSourceName(WsfStringId aSourceName) const { mLastSourceName = aSourceName; }
616
621
623
624
625 bool ProcessInput(UtInput& aInput) override;
626 void ProcessInputBlock(const WsfScenario& aScenario, UtInputBlock& aInputBlock);
627 static bool LoadTrackInstance(const WsfScenario& aScenario, UtInput& aInput, WsfPlatform* aPlatformPtr, WsfTrack*& aTrackPtr);
629
630 WsfTrack& operator=(const WsfTrack& aRhs);
631
635
636 void SetGlobalTrackNumber(int aNumber) { mGlobalTrackNumber = aNumber; }
639
641
645 bool LineOfSightRatesFrom(double aSimTime, WsfPlatform* aObserver, double& aLOSR_Az, double& aLOSR_El);
646
647 // ================================= WARNING: New member variables ===========================
648 //
649 // This class is transmitted over the network. If you add a new member variable, it is
650 // YOUR RESPONSIBILITY to verify that the member is serialized correctly.
651 // Please see the implementation of WsfTrack::SerializeP in xio/WsfXIO_SerializeTypes.cpp
652 //
653 // ===========================================================================================
654
656 template<typename T>
657 void SerializeP(T& aBuff);
658
659protected:
660 bool UseQuantitativeTrackQuality() const;
661
674 UtDoubleInformation mLastUpdateTime;
676
677 // The 'data tag' to be attached to a message containing this track.
679
680 // Target track data are all UtAttribute-based.
681 // Actual location of the originator at the time of the report.
682 // The following pointers are always valid.
683 // I am intentionally excepting the standard that pointer variable names end in "Ptr"
684 using IFF_StatusInformation = UtInformation<int>;
685 using SignalListPtrInformation = UtInformation<SignalList*>;
686 using EmitterTypeIdPtrInformation = UtInformation<EmitterTypeIdList*>;
687
688 UtDoubleInformation mTrackQuality;
689 UtDoubleInformation mSignalToNoise;
690 UtDoubleInformation mPixelCount;
694 UtCovariancePtrInformation mResidualCovariancePtr;
695
696 union
697 {
698 struct
699 {
700 bool mIsFusible : 1;
701 bool mIsPurgeable : 1;
702 bool mIsStale : 1;
703 bool mIs3D : 1;
705 bool mIsCandidate : 1;
706 bool mIsStrobe : 1; // The track is a strobe detection from an interference possibly.
707 bool mIsFalseTarget : 1; // The track is a spurious target, w/no real target platform.
708 };
709
710 unsigned int mFlags;
711 };
712
713 int mFalseTargetId; // Implementation-defined unique ID for this false target.
714
717
718 mutable History mHistory; // optional track history (possibly to be maintained by the tracker itself).
719
720private:
721 void ConstructInformation();
722 void InitializeMemberData();
723 void CopyMemberData(const WsfTrack& aSrc, CopyCaller aCaller);
724
725 // The following are deprecated and should remain private.
726 void SetResidualCovarianceMatrix(const UtMatrixd& aResidualCovarianceMatrix);
727
728 // These values may need to be computed when requested, accessors should be used to get values
729 mutable size_t mTargetIndex; // Platform index of the target platform
730 WsfStringId mTargetName;
731 mutable WsfStringId mTargetType;
732};
733
734#endif
aObjectPtr Update(simTime)
bool operator==(int aId, const WsfStringInt &aRhs)
Equal relational operator for the case of an integer on the LHS and a StringId on the RHS.
Definition WsfStringId.hpp:69
UtStringId WsfStringId
WsfStringId – the same thing as UtStringId.
Definition WsfStringId.hpp:23
#define WSF_EXPORT
Definition WsfXIO_Export.hpp:35
WsfAuxDataEnabled()=default
Definition WsfGeoPoint.hpp:29
WsfMeasurement()
Definition WsfMeasurement.cpp:32
WsfSimulation * mSimulationPtr
Definition WsfMeasurement.hpp:123
Definition WsfObject.hpp:40
Platforms represent a entity within the simulation.
Definition WsfPlatform.hpp:115
Contains the data required to create a simulation, and acts as the entry point for input file process...
Definition WsfScenario.hpp:111
The main controller for a simulation.
Definition WsfSimulation.hpp:109
Definition WsfTrackId.hpp:33
EmitterTypeData()
Definition WsfTrack.hpp:166
WsfStringId mEmitterDerivedId
Definition WsfTrack.hpp:198
int GetSignalIndexEntry(unsigned int aIndex)
Definition WsfTrack.hpp:180
std::vector< int > mSignalIndices
Definition WsfTrack.hpp:199
EmitterTypeData(WsfStringId aTruthEmitterTypeId, WsfStringId aEmitterTypeId)
Definition WsfTrack.hpp:173
void Serialize(T &aBuff)
For XIO (de)serialization.
Definition WsfTrack.hpp:192
WsfStringId mEmitterTruthId
Definition WsfTrack.hpp:197
A representation of a detected signal.
Definition WsfTrack.hpp:41
WsfStringId mEmitterDerivedId
Definition WsfTrack.hpp:64
double mPulseRepetitionInterval
Definition WsfTrack.hpp:61
WsfTrack_Signal()
Definition WsfTrack.cpp:1513
double mLowerFrequency
Definition WsfTrack.hpp:59
void Serialize(T &aBuff)
For XIO (de)serialization.
Definition WsfTrack.hpp:54
double mPulseWidth
Definition WsfTrack.hpp:62
double mUpperFrequency
Definition WsfTrack.hpp:60
WsfStringId mEmitterTruthId
Definition WsfTrack.hpp:63
An object that represents an 'track' (perception) of something.
Definition WsfTrack.hpp:120
double GetStartTime() const
Definition WsfTrack.hpp:273
WsfStringId GetOriginatorTypeId() const
The platform type ID of the originator.
Definition WsfTrack.hpp:306
int GetGlobalTrackNumber() const
Definition WsfTrack.hpp:637
WsfStringId GetSensorTypeId() const
Definition WsfTrack.hpp:322
IFF_Status GetIFF_Status() const
Definition WsfTrack.hpp:388
TrackType
The source type of the track data.
Definition WsfTrack.hpp:126
@ cPREDEFINED
The track is 'pre-defined' or 'pre-briefed' (typically read from an input file).
Definition WsfTrack.hpp:132
@ cPSEUDO_SENSOR
Definition WsfTrack.hpp:144
@ cSTATIC_IMAGE
Definition WsfTrack.hpp:138
@ cUNFILTERED_SENSOR
The track is the result of a direct sensor measurement.
Definition WsfTrack.hpp:128
@ cFILTERED_SENSOR
The track is the result of filtered or processed sensor measurements.
Definition WsfTrack.hpp:130
@ cPROCESSED
The track is the product of some 'process' (filtering, fusion, intel reports, etc....
Definition WsfTrack.hpp:134
WsfStringId mOriginatorTypeId
Definition WsfTrack.hpp:666
size_t GetOriginatorIndex() const
Get the platform index of the originator.
Definition WsfTrack.hpp:303
void SetStartTime(double aStartTime)
Set the time when this track was started.
Definition WsfTrack.hpp:276
unsigned int mFlags
Definition WsfTrack.hpp:710
bool IsFalseTarget() const
Definition WsfTrack.hpp:559
IFF_StatusInformation mIFF_Status
Definition WsfTrack.hpp:691
WsfStringId GetOriginatorNameId() const
Get the platform name ID of the originator.
Definition WsfTrack.hpp:300
size_t mOriginatorPlatformIndex
Definition WsfTrack.hpp:665
bool mIsStrobe
Definition WsfTrack.hpp:706
int mUpdateCount
Definition WsfTrack.hpp:672
UtInformation< EmitterTypeIdList * > EmitterTypeIdPtrInformation
Definition WsfTrack.hpp:686
UtDoubleInformation mSignalToNoise
Definition WsfTrack.hpp:689
WsfStringId GetLastSourceName() const
Definition WsfTrack.hpp:619
double mStartTime
Definition WsfTrack.hpp:673
bool HasHistory() const
Definition WsfTrack.cpp:1492
WsfStringId mSensorTypeId
Definition WsfTrack.hpp:670
void SetPixelCount(double aPixelCount)
Set the number of pixels occupied by the object.
Definition WsfTrack.hpp:512
bool mIs3D
Definition WsfTrack.hpp:703
WsfStringId mSensorModeId
Definition WsfTrack.hpp:671
void SetTargetName(WsfStringId aTargetName)
Definition WsfTrack.hpp:597
void SetSensorModeId(WsfStringId aSensorModeId)
Definition WsfTrack.hpp:330
void Set3D(bool aIs3D)
Set whether to consider this track as having a full 3D solution (see WsfTrack::Is3D).
Definition WsfTrack.hpp:368
std::vector< std::unique_ptr< WsfMeasurement > > History
Definition WsfTrack.hpp:375
void SetIsStrobe(bool aIsStrobe)
Definition WsfTrack.hpp:568
void SetGlobalTrackNumber(int aNumber)
Definition WsfTrack.hpp:636
WsfTrack_Signal Signal
Definition WsfTrack.hpp:122
bool mIsFalseTarget
Definition WsfTrack.hpp:707
void SetFusible(bool aIsFusible)
Define whether the track is a fusible track.
Definition WsfTrack.hpp:336
bool IsStrobe() const
Definition WsfTrack.hpp:572
const WsfTrackId & GetTrackId() const
Get the track ID.
Definition WsfTrack.hpp:255
bool UseQuantitativeTrackQuality() const
Definition WsfTrack.cpp:1507
double GetMessageDataTag() const
The 'data Id' to be used when the track is attached to a message.
Definition WsfTrack.hpp:294
bool EmitterTypeIdValid() const
Is the emitter type ID attribute valid?
Definition WsfTrack.hpp:485
void SetReportable(bool aIsReportable)
Definition WsfTrack.hpp:373
virtual void SetPurgeable(bool aIsPurgeable)
Set whether this track can be purged.
Definition WsfTrack.hpp:339
void SetTargetType(WsfStringId aTargetType)
Definition WsfTrack.hpp:604
TrackType mTrackType
Definition WsfTrack.hpp:663
EmitterTypeIdPtrInformation mEmitterTypeIdListPtr
Definition WsfTrack.hpp:693
UtDoubleInformation mLastUpdateTime
Definition WsfTrack.hpp:674
UtInformation< SignalList * > SignalListPtrInformation
Definition WsfTrack.hpp:685
bool IsTrack() const override
Return that this is a track.
Definition WsfTrack.hpp:247
double GetPixelCount() const
Pixel count methods (for tracks produced from images).
Definition WsfTrack.hpp:510
WsfStringId GetTargetName() const
Return the string id that corresponds to the target platform or false-target blip name.
Definition WsfTrack.hpp:600
TrackType GetTrackType() const
Get the 'track type'.
Definition WsfTrack.hpp:261
bool IsReportable() const
Definition WsfTrack.hpp:361
WsfStringId GetSensorNameId() const
Definition WsfTrack.hpp:318
UtInformation< int > IFF_StatusInformation
Definition WsfTrack.hpp:684
WsfTrack()
Use this constructor if the track is a 'predefined track'.
Definition WsfTrack.cpp:42
History mHistory
Definition WsfTrack.hpp:718
int mGlobalTrackNumber
Definition WsfTrack.hpp:675
void SetUpdateCount(int aUpdateCount)
Set the number of updates to this track.
Definition WsfTrack.hpp:291
void SetTargetIndex(size_t aTargetIndex)
Definition WsfTrack.hpp:590
WsfStringId mOriginatorNameId
Definition WsfTrack.hpp:664
WsfSimulation * GetSimulation() const
Definition WsfTrack.hpp:640
void SetEmitterTypeIdValid(bool aEmitterTypeIdValid)
Define whether or not the emitter type ID attribute is valid.
Definition WsfTrack.hpp:487
bool mIsReportable
Definition WsfTrack.hpp:704
void SetSignalToNoiseValid(bool aSignalToNoiseValid)
Define whether or not the signal-to-noise attribute is valid.
Definition WsfTrack.hpp:502
UtDoubleInformation mTrackQuality
Definition WsfTrack.hpp:688
bool IsFusible() const
Is the track a fusible track.
Definition WsfTrack.hpp:333
bool IFF_StatusValid() const
Definition WsfTrack.hpp:386
WsfStringId GetSensorModeId() const
Definition WsfTrack.hpp:326
WsfTrack_SignalList SignalList
Definition WsfTrack.hpp:455
bool SignalToNoiseValid() const
Is the signal-to-noise attribute valid?
Definition WsfTrack.hpp:500
bool IsPurgeable() const
Definition WsfTrack.hpp:345
const UtCovariance * GetResidualCovariance() const
Definition WsfTrack.hpp:524
double GetLastUpdateInterval() const
Get the last time interval between updates.
Definition WsfTrack.hpp:282
double GetUpdateTime() const
Get the time when this track was last updated.
Definition WsfTrack.hpp:279
WsfStringId mProcessorNameId
Definition WsfTrack.hpp:667
void SetMessageDataTag(double aMessageDataTag)
Set the 'data Id' to be used when the track is attached to a message.
Definition WsfTrack.hpp:297
virtual History & GetHistory() const
Definition WsfTrack.cpp:1487
bool mIsPurgeable
Definition WsfTrack.hpp:701
void SetIsFalseTarget(bool aIsFalseTarget)
Definition WsfTrack.hpp:555
UtCovariancePtrInformation mResidualCovariancePtr
Definition WsfTrack.hpp:694
void SetIsCandidate(bool aIsCandidate)
Set the "candidate" status of a track.
Definition WsfTrack.hpp:541
WsfStringId mLastSourceName
The name of the platform that last provided data that updated this track.
Definition WsfTrack.hpp:716
WsfStringId GetProcessorNameId() const
Definition WsfTrack.hpp:310
void SetTrackId(const WsfTrackId &aTrackId)
Set the track ID.
Definition WsfTrack.hpp:258
int GetUpdateCount() const
Define the time when this track was last updated.
Definition WsfTrack.hpp:288
void SetStale(bool aIsStale)
Define whether the track data are to be considered 'stale.'.
Definition WsfTrack.hpp:353
void SetIFF_Status(IFF_Status aIFF_Status)
Set the IFF status of the target.
Definition WsfTrack.hpp:391
double mMessageDataTag
Definition WsfTrack.hpp:678
void SerializeP(T &aBuff)
For XIO (de)serialization.
bool mIsStale
Definition WsfTrack.hpp:702
bool IsCandidate() const
Definition WsfTrack.hpp:545
WsfTrackId mTrackId
Definition WsfTrack.hpp:662
bool IsPredefinedTrack() const
Definition WsfTrack.hpp:269
double GetSignalToNoise() const
Get the signal to noise from the sensor.
Definition WsfTrack.hpp:495
CopyCaller
An enumeration that is used to determine how 'CopyMemberData' operates.
Definition WsfTrack.hpp:217
@ cCC_COPY_CONSTRUCTOR
Called from a copy constructor.
Definition WsfTrack.hpp:219
@ cCC_REPLACEMENT_UPDATE
Definition WsfTrack.hpp:226
@ cCC_ASSIGNMENT
Called from an assignment operator.
Definition WsfTrack.hpp:222
IFF_Status
An enumeration for IFF.
Definition WsfTrack.hpp:149
@ cIFF_FRIEND
The object has been determined to be a friend.
Definition WsfTrack.hpp:157
@ cIFF_NEUTRAL
The object has been determined to be neutral.
Definition WsfTrack.hpp:159
@ cIFF_FOE
The object has been determined to be a foe,.
Definition WsfTrack.hpp:155
@ cIFF_UNKNOWN
No IFF status is being reported.
Definition WsfTrack.hpp:151
@ cIFF_AMBIGUOUS
The reporter cannot determine if the object is a friend or a foe.
Definition WsfTrack.hpp:153
bool mIsFusible
Definition WsfTrack.hpp:700
UtDoubleInformation mPixelCount
Definition WsfTrack.hpp:690
void SetSignalToNoise(double aSignalToNoise)
Set the signal to noise from the sensor.
Definition WsfTrack.hpp:497
bool IsStale() const
Definition WsfTrack.hpp:350
bool mIsCandidate
Definition WsfTrack.hpp:705
void SetLastSourceName(WsfStringId aSourceName) const
Definition WsfTrack.hpp:615
WsfStringId GetProcessorTypeId() const
Definition WsfTrack.hpp:314
WsfStringId mSensorNameId
Definition WsfTrack.hpp:669
int mFalseTargetId
Definition WsfTrack.hpp:713
const SignalList * GetSignalList() const
Definition WsfTrack.hpp:456
SignalListPtrInformation mSignalListPtr
Definition WsfTrack.hpp:692
WsfStringId mProcessorTypeId
Definition WsfTrack.hpp:668
A nested class to maintain a list of emitter type IDs.
Definition WsfTrack.hpp:204
std::vector< EmitterTypeData > mEmitterTypeIdList
Definition WsfTrack.hpp:205
void Serialize(T &aBuff)
For XIO (de)serialization.
Definition WsfTrack.hpp:209
A nested class for maintain a list of detected signals.
Definition WsfTrack.hpp:69
std::vector< WsfTrack_Signal > mSignalList
Definition WsfTrack.hpp:70
void Serialize(T &aBuff)
For XIO (de)serialization.
Definition WsfTrack.hpp:74
Copyrights Multiple, All Rights Reserved