WSF
WsfFalseTargetScreener Class Reference

#include <WsfFalseTargetScreener.hpp>

Inheritance diagram for WsfFalseTargetScreener:
Collaboration diagram for WsfFalseTargetScreener:

Classes

struct  ForceData

Public Types

enum  OutputType { cPLOT , cTRACKS , cOVERLOAD }
 Describe the output state of this object. More...
enum  Picture { cPERFECT , cDEGRADED , cINEFFECTIVE }
enum  RangeForceType { cFORCE_NEITHER = 0 , cFORCE_INSIDE = 1 , cFORCE_OUTSIDE = 2 , cFORCE_IN_OUT = 3 }
using FT_JammerPair = std::pair<WsfFalseTarget*, WsfEM_Xmtr*>
using FT_JammerIdPair = std::pair<WsfStringId, unsigned int>
using FT_JammerVec = std::vector<FT_JammerPair>
using FT_Result = std::map<unsigned int, WsfEM_Interaction*>
using BlipAlloc = std::map<WsfFalseTarget::BlipBehavior, int>
using BlipIdFTJammerList = std::vector<std::pair<size_t, FT_JammerPair>>
using TargetIds = std::vector<size_t>
using RR_Map = std::map<WsfFalseTarget::BlipBehavior, double>
using RR_MapPair = std::pair<WsfFalseTarget::BlipBehavior, double>
using TrackIdMap = std::map<size_t, WsfTrackId>
using BlipIdToForceDataMap = std::map<size_t, ForceData>
Public Types inherited from WsfObject
typedef std::vector< WsfStringIdTypeList
 The list of types returned by GetTypeList.

Public Member Functions

 WsfFalseTargetScreener (const WsfScenario &aScenario)
 WsfFalseTargetScreener (const WsfFalseTargetScreener &aSrc)
WsfFalseTargetScreeneroperator= (const WsfFalseTargetScreener &)=delete
 ~WsfFalseTargetScreener () override
WsfFalseTargetScreenerClone () const override
virtual bool Initialize (double aSimTime, WsfSensorMode *aSensorModePtr, bool aReportsSignalToNoise)
bool ProcessInput (UtInput &aInput) override
void ProcessInputBlock (UtInputBlock &aInputBlock)
 A convenience method to check for and process a 'false_target_screener/end_false_target_screener' block.
bool NeedsUpdated (double aSimTime)
void Update (double aSimTime, WsfSensor::Settings &aSettings)
void Reset ()
void PrintScreenerState (double aSimTime)
void SetSensorModePtr (WsfSensorMode *aSensorModePtr)
WsfSensorModeGetSensorModePtr ()
bool ReportsSNR () const
OutputType GetScreenerOutputType () const
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 TypeListGetTypeList () const
bool IsA_TypeOf (WsfStringId aType) const
WsfObjectoperator= (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)

Static Public Member Functions

static WsfFalseTargetScreenerFind (const WsfSensorMode &aSensorMode)

Fusion Center (WsfFusionCenter) methods.

TrackIdMap mReportingTrackIds
 Reportable Track Id list from the sensor tracker. The sensor tracker manages this list.
FT_JammerVec mFalseTargetsJammers
 List of false target jammer pairs being considered by screener function.
int GetPassedFalseTargetNumber () const
int GetPassedRealTargetNumber () const
int GetFalseTargetNumber () const
int GetRealTargetNumber () const
WsfPlatformGetTempPlatform ()
WsfSimulationGetSimulation () const

Target track list variables.

A target track Id is only allowed to be in one of the three available lists at any instance.

TrackIdMap mActiveTargetTrackIds
 List of active target track Ids that are being tracked in the sensor tracker.
TrackIdMap mBlockedTargetTrackIds
TrackIdMap mForcedTargetTrackIds
TrackIdMap mNullTargetTrackIds
 List of target track Ids that are being detected but not yet a track in the sensor tracker.
bool mTargetsAdjusted
bool mTargetsInvalid
double mLastUpdate
 The last time a full update of the screener was achieved.

Blip list variables.

A blip Id is only allowed to be in one of the three available lists at any instance.

BlipIdFTJammerList mBlockedBlipIds
 Blocked but detectable blip list.
BlipIdFTJammerList mUndetectedBlipIds
 Undetectable blip list.
BlipIdFTJammerList mTrackableBlipIds
 Track-able blip list (i.e. detected).
bool mBlipsAdjusted
bool mBlipsInvalid
int GetAllowedRealTargetNumber () const
void CheckFT_Toggle ()
void RemoveBlips (WsfFalseTarget *aFalseTargetPtr, WsfEM_Xmtr *aJammerXmtrPtr)
void AdjustTargetsAndBlips (double aSimTime)
bool ForceTargetTrack (double aRadar2TargetRange, double aRadar2TargetAzimuth, double aTargetSNR)

Status methods.

bool GetDebugEnabled () const
bool GetScreenerValid ()

Data methods.

int GetPlotCapacity () const
int GetTrackCapacity () const
int GetTransferCapacity () const
int GetRangeForceType () const
double GetForceSectorArc () const
double GetForceRange () const
int GetForceCountPerRangeSector () const
double GetForceJtoSDeltaThreshold () const

Blip Methods.

bool FindTrackableBlip (size_t aBlipId)
BlipIdFTJammerListGetTrackableBlipIds ()
WsfFalseTarget::BlipGetTrackableBlip (size_t aBlipId)
bool FindBlockedBlip (size_t aBlipId)
BlipIdFTJammerListGetBlockedBlipIds ()
WsfFalseTarget::BlipGetBlockedBlip (size_t aBlipId)
bool FindUndetectedBlip (size_t aBlipId)
BlipIdFTJammerListGetUndetectedBlipIds ()
WsfFalseTarget::BlipGetUndetectedBlip (size_t aBlipId)
WsfFalseTargetGetFalseTarget (const std::string &aName, WsfEM_Xmtr *aJammerXmtrPtr) const
bool AddFalseTarget (FT_JammerPair aFT_JammerPair)
bool RemoveFalseTarget (FT_JammerPair aFT_JammerPair)
bool RemoveFalseTargets (WsfFalseTarget *aFalseTargetPtr)
bool FindFalseTarget (FT_JammerPair aFT_JammerPair)
WsfEM_XmtrGetJammerXmtr (WsfFalseTarget *aFalseTargetPtr) const
bool RemoveJammerXmtr (WsfEM_Xmtr *aJammerXmtrPtr)
TrackIdMap GetActiveTargetTracks () const
TrackIdMap GetBlockedTargets ()

False target track methods.

void AddFalseTargetTrack (size_t aBlipId, WsfTrackId aTrackId)
void DropFalseTargetTrack (size_t aBlipId)
bool FindFalseTargetTrack (size_t aBlipId)
TrackIdMap GetFalseTargetTracks ()
bool IsRequestBasedTracking () const
bool OnlyScreenFT_TrackRequests () const
void AddTargetTrack (WsfStringInt aObjectId, WsfTrack *aValidTrackPtr)
void UpdateTargetTrack (size_t aObjectId, WsfTrack *aValidTrackPtr)
void DropTargetTrack (size_t aObjectId)
bool AllowTargetTrack (double aSimTime, size_t aObjectId, WsfTrack *aTrackPtr, const WsfSensorResult &aResult)
bool AllowTrackReporting (size_t aObjectId, const WsfTrack *aTrackPtr)
void TracksTransfered ()
bool TrackExists (size_t aObjectId)
bool IsRadarModeTurnedOn ()

Additional Inherited Members

 WsfObject (const WsfObject &aSrc)
 Copy constructor (for Clone()).

Detailed Description

A class for collecting false target blips and merging them with existing tracks in the sensor tracker.

See also
WsfSensorTracker
WsfDefaultSensorTracker

Member Typedef Documentation

◆ BlipAlloc

◆ BlipIdFTJammerList

using WsfFalseTargetScreener::BlipIdFTJammerList = std::vector<std::pair<size_t, FT_JammerPair>>

◆ BlipIdToForceDataMap

◆ FT_JammerIdPair

using WsfFalseTargetScreener::FT_JammerIdPair = std::pair<WsfStringId, unsigned int>

◆ FT_JammerPair

◆ FT_JammerVec

◆ FT_Result

using WsfFalseTargetScreener::FT_Result = std::map<unsigned int, WsfEM_Interaction*>

◆ RR_Map

◆ RR_MapPair

◆ TargetIds

using WsfFalseTargetScreener::TargetIds = std::vector<size_t>

◆ TrackIdMap

Member Enumeration Documentation

◆ OutputType

Describe the output state of this object.

Enumerator
cPLOT 

Producing plotted output, a pseudo-radar screen representation.

cTRACKS 

Producing tracks, for communication to external entities.

cOVERLOAD 

Countermeasures have produced an excessive number of false targets, causing an overload.

◆ Picture

Describe whether the electronic attack is successful in getting enough "applied technique" energy into the target receiver for the desired effect.

Enumerator
cPERFECT 

Enough energy is injected to produce the desired effect.

cDEGRADED 

Marginally effective.

cINEFFECTIVE 

Not successful with the desired effect.

◆ RangeForceType

An enumeration that indicates the blip range constraining type to force target tracks. Note: Do not change these values. cFORCE_IN_OUT must equal cFORCE_INSIDE | cFORCE_OUTSIDE.

Enumerator
cFORCE_NEITHER 
cFORCE_INSIDE 
cFORCE_OUTSIDE 
cFORCE_IN_OUT 

Constructor & Destructor Documentation

◆ WsfFalseTargetScreener() [1/2]

◆ WsfFalseTargetScreener() [2/2]

◆ ~WsfFalseTargetScreener()

WsfFalseTargetScreener::~WsfFalseTargetScreener ( )
override

Member Function Documentation

◆ AddFalseTarget()

bool WsfFalseTargetScreener::AddFalseTarget ( FT_JammerPair aFT_JammerPair)

◆ AddFalseTargetTrack()

void WsfFalseTargetScreener::AddFalseTargetTrack ( size_t aBlipId,
WsfTrackId aTrackId )

◆ AddTargetTrack()

void WsfFalseTargetScreener::AddTargetTrack ( WsfStringInt aObjectId,
WsfTrack * aValidTrackPtr )
inline

References UpdateTargetTrack().

◆ AdjustTargetsAndBlips()

void WsfFalseTargetScreener::AdjustTargetsAndBlips ( double aSimTime)
protected

◆ AllowTargetTrack()

◆ AllowTrackReporting()

bool WsfFalseTargetScreener::AllowTrackReporting ( size_t aObjectId,
const WsfTrack * aTrackPtr )

◆ CheckFT_Toggle()

void WsfFalseTargetScreener::CheckFT_Toggle ( )
protected

◆ Clone()

WsfFalseTargetScreener * WsfFalseTargetScreener::Clone ( ) const
overridevirtual

Return a copy of this object. Must be implemented by all derived types. If cloning is impossible, a WsfUncloneableException should be thrown.

Implements WsfObject.

References WsfFalseTargetScreener().

◆ DropFalseTargetTrack()

void WsfFalseTargetScreener::DropFalseTargetTrack ( size_t aBlipId)

◆ DropTargetTrack()

void WsfFalseTargetScreener::DropTargetTrack ( size_t aObjectId)

◆ Find()

WsfFalseTargetScreener * WsfFalseTargetScreener::Find ( const WsfSensorMode & aSensorMode)
static

Return the pointer to the false target screener associated with the specified mode.

Returns
Pointer to the false target screener. This may be null.

References WsfEW_SensorComponent::Find(), WsfEW_SensorComponent::GetScreener(), WsfSensorMode::GetSensor(), and WsfFalseTargetScreener().

Referenced by WsfFusionCenter::CheckForScreenerAdd(), WsfFusionCenter::CheckForScreenerReset(), WsfEW_RcvrComponent::RemoveInteractor(), and WsfEW_SimpleFT_Effect::UpdateEffects().

◆ FindBlockedBlip()

bool WsfFalseTargetScreener::FindBlockedBlip ( size_t aBlipId)

References mBlockedBlipIds.

◆ FindFalseTarget()

bool WsfFalseTargetScreener::FindFalseTarget ( FT_JammerPair aFT_JammerPair)

References mFalseTargetsJammers.

◆ FindFalseTargetTrack()

bool WsfFalseTargetScreener::FindFalseTargetTrack ( size_t aBlipId)

◆ FindTrackableBlip()

bool WsfFalseTargetScreener::FindTrackableBlip ( size_t aBlipId)

References mTrackableBlipIds.

◆ FindUndetectedBlip()

bool WsfFalseTargetScreener::FindUndetectedBlip ( size_t aBlipId)

References mUndetectedBlipIds.

◆ ForceTargetTrack()

bool WsfFalseTargetScreener::ForceTargetTrack ( double aRadar2TargetRange,
double aRadar2TargetAzimuth,
double aTargetSNR )
protected

◆ GetActiveTargetTracks()

WsfFalseTargetScreener::TrackIdMap WsfFalseTargetScreener::GetActiveTargetTracks ( ) const

◆ GetAllowedRealTargetNumber()

int WsfFalseTargetScreener::GetAllowedRealTargetNumber ( ) const
inlineprotected

◆ GetBlockedBlip()

WsfFalseTarget::Blip * WsfFalseTargetScreener::GetBlockedBlip ( size_t aBlipId)

References mBlockedBlipIds.

◆ GetBlockedBlipIds()

BlipIdFTJammerList & WsfFalseTargetScreener::GetBlockedBlipIds ( )
inline

References mBlockedBlipIds.

◆ GetBlockedTargets()

TrackIdMap WsfFalseTargetScreener::GetBlockedTargets ( )
inline

◆ GetDebugEnabled()

bool WsfFalseTargetScreener::GetDebugEnabled ( ) const
inline

◆ GetFalseTarget()

WsfFalseTarget * WsfFalseTargetScreener::GetFalseTarget ( const std::string & aName,
WsfEM_Xmtr * aJammerXmtrPtr ) const

◆ GetFalseTargetNumber()

int WsfFalseTargetScreener::GetFalseTargetNumber ( ) const
inline

References mTrackableBlipIds.

◆ GetFalseTargetTracks()

TrackIdMap WsfFalseTargetScreener::GetFalseTargetTracks ( )
inline

◆ GetForceCountPerRangeSector()

int WsfFalseTargetScreener::GetForceCountPerRangeSector ( ) const
inline

◆ GetForceJtoSDeltaThreshold()

double WsfFalseTargetScreener::GetForceJtoSDeltaThreshold ( ) const
inline

◆ GetForceRange()

double WsfFalseTargetScreener::GetForceRange ( ) const
inline

◆ GetForceSectorArc()

double WsfFalseTargetScreener::GetForceSectorArc ( ) const
inline

◆ GetJammerXmtr()

WsfEM_Xmtr * WsfFalseTargetScreener::GetJammerXmtr ( WsfFalseTarget * aFalseTargetPtr) const

References mFalseTargetsJammers.

◆ GetPassedFalseTargetNumber()

int WsfFalseTargetScreener::GetPassedFalseTargetNumber ( ) const
inline

◆ GetPassedRealTargetNumber()

int WsfFalseTargetScreener::GetPassedRealTargetNumber ( ) const
inline

◆ GetPlotCapacity()

int WsfFalseTargetScreener::GetPlotCapacity ( ) const
inline

◆ GetRangeForceType()

int WsfFalseTargetScreener::GetRangeForceType ( ) const
inline

◆ GetRealTargetNumber()

int WsfFalseTargetScreener::GetRealTargetNumber ( ) const
inline

◆ GetScreenerOutputType()

OutputType WsfFalseTargetScreener::GetScreenerOutputType ( ) const
inline

◆ GetScreenerValid()

bool WsfFalseTargetScreener::GetScreenerValid ( )
inline

◆ GetSensorModePtr()

WsfSensorMode * WsfFalseTargetScreener::GetSensorModePtr ( )
inline

◆ GetSimulation()

WsfSimulation * WsfFalseTargetScreener::GetSimulation ( ) const

◆ GetTempPlatform()

WsfPlatform * WsfFalseTargetScreener::GetTempPlatform ( )
inline

◆ GetTrackableBlip()

WsfFalseTarget::Blip * WsfFalseTargetScreener::GetTrackableBlip ( size_t aBlipId)

◆ GetTrackableBlipIds()

BlipIdFTJammerList & WsfFalseTargetScreener::GetTrackableBlipIds ( )
inline

References mTrackableBlipIds.

◆ GetTrackCapacity()

int WsfFalseTargetScreener::GetTrackCapacity ( ) const
inline

◆ GetTransferCapacity()

int WsfFalseTargetScreener::GetTransferCapacity ( ) const
inline

◆ GetUndetectedBlip()

WsfFalseTarget::Blip * WsfFalseTargetScreener::GetUndetectedBlip ( size_t aBlipId)

References mUndetectedBlipIds.

◆ GetUndetectedBlipIds()

BlipIdFTJammerList & WsfFalseTargetScreener::GetUndetectedBlipIds ( )
inline

References mUndetectedBlipIds.

◆ Initialize()

bool WsfFalseTargetScreener::Initialize ( double aSimTime,
WsfSensorMode * aSensorModePtr,
bool aReportsSignalToNoise )
virtual

◆ IsRadarModeTurnedOn()

bool WsfFalseTargetScreener::IsRadarModeTurnedOn ( )

◆ IsRequestBasedTracking()

bool WsfFalseTargetScreener::IsRequestBasedTracking ( ) const
inline

◆ NeedsUpdated()

bool WsfFalseTargetScreener::NeedsUpdated ( double aSimTime)

◆ OnlyScreenFT_TrackRequests()

bool WsfFalseTargetScreener::OnlyScreenFT_TrackRequests ( ) const
inline

◆ operator=()

◆ PrintScreenerState()

void WsfFalseTargetScreener::PrintScreenerState ( double aSimTime)

◆ ProcessInput()

bool WsfFalseTargetScreener::ProcessInput ( UtInput & aInput)
overridevirtual

Process input from a generic source.

Examine the current input command. If it is NOT one of the commands recognized by this class then it simply returns 'false'. If it is one of the commands recognized by this class then it processes the command and returns 'true'.

Parameters
aInputa reference to a UtInput object.
Returns
'true' if the command was one recognized by the class or 'false' if not.
Exceptions
UtInput::ExceptionBase(or an object derived from it) if the command was recognized but contains some sort of error.
Note
If a derived class does not recognize the command (i.e.: the return value is false) then it should call the base class ProcessInput method. This chain should continue until either the command is recognized or the top-level base class is encountered.

Reimplemented from WsfObject.

References WsfFalseTarget::cCONSISTENT_SCAN_TO_SCAN, cFORCE_IN_OUT, cFORCE_INSIDE, cFORCE_NEITHER, cFORCE_OUTSIDE, and WsfFalseTarget::cRANDOM_SCAN_TO_SCAN.

Referenced by ProcessInputBlock().

◆ ProcessInputBlock()

void WsfFalseTargetScreener::ProcessInputBlock ( UtInputBlock & aInputBlock)

A convenience method to check for and process a 'false_target_screener/end_false_target_screener' block.

References ProcessInput().

Referenced by operator=().

◆ RemoveBlips()

void WsfFalseTargetScreener::RemoveBlips ( WsfFalseTarget * aFalseTargetPtr,
WsfEM_Xmtr * aJammerXmtrPtr )
protected

◆ RemoveFalseTarget()

bool WsfFalseTargetScreener::RemoveFalseTarget ( FT_JammerPair aFT_JammerPair)

◆ RemoveFalseTargets()

◆ RemoveJammerXmtr()

◆ ReportsSNR()

bool WsfFalseTargetScreener::ReportsSNR ( ) const
inline

◆ Reset()

◆ SetSensorModePtr()

void WsfFalseTargetScreener::SetSensorModePtr ( WsfSensorMode * aSensorModePtr)
inline

◆ TrackExists()

bool WsfFalseTargetScreener::TrackExists ( size_t aObjectId)

◆ TracksTransfered()

void WsfFalseTargetScreener::TracksTransfered ( )

◆ Update()

void WsfFalseTargetScreener::Update ( double aSimTime,
WsfSensor::Settings & aSettings )

◆ UpdateTargetTrack()

Member Data Documentation

◆ mActiveTargetTrackIds

TrackIdMap WsfFalseTargetScreener::mActiveTargetTrackIds
protected

◆ mBlipsAdjusted

bool WsfFalseTargetScreener::mBlipsAdjusted
protected

◆ mBlipsInvalid

bool WsfFalseTargetScreener::mBlipsInvalid
protected

◆ mBlockedBlipIds

BlipIdFTJammerList WsfFalseTargetScreener::mBlockedBlipIds
protected

◆ mBlockedTargetTrackIds

TrackIdMap WsfFalseTargetScreener::mBlockedTargetTrackIds
protected

List of target track Ids which exist in the sensor tracker, but are not being tracked due to maximum track capacity limitations

Referenced by AdjustTargetsAndBlips(), DropTargetTrack(), GetBlockedTargets(), PrintScreenerState(), Reset(), UpdateTargetTrack(), WsfFalseTargetScreener(), and WsfFalseTargetScreener().

◆ mFalseTargetsJammers

FT_JammerVec WsfFalseTargetScreener::mFalseTargetsJammers
protected

◆ mForcedTargetTrackIds

TrackIdMap WsfFalseTargetScreener::mForcedTargetTrackIds
protected

List of target track Ids whose range from the sensor is less than the mMinimumFalseTargetRange and are being forced as tracks to the sensor tracker.

Referenced by AdjustTargetsAndBlips(), AllowTargetTrack(), AllowTrackReporting(), DropTargetTrack(), GetActiveTargetTracks(), GetRealTargetNumber(), PrintScreenerState(), Reset(), TrackExists(), TracksTransfered(), UpdateTargetTrack(), WsfFalseTargetScreener(), and WsfFalseTargetScreener().

◆ mLastUpdate

double WsfFalseTargetScreener::mLastUpdate
protected

The last time a full update of the screener was achieved.

Referenced by NeedsUpdated(), Update(), WsfFalseTargetScreener(), and WsfFalseTargetScreener().

◆ mNullTargetTrackIds

TrackIdMap WsfFalseTargetScreener::mNullTargetTrackIds
protected

List of target track Ids that are being detected but not yet a track in the sensor tracker.

Referenced by AdjustTargetsAndBlips(), AllowTargetTrack(), PrintScreenerState(), Reset(), UpdateTargetTrack(), WsfFalseTargetScreener(), and WsfFalseTargetScreener().

◆ mReportingTrackIds

TrackIdMap WsfFalseTargetScreener::mReportingTrackIds
protected

Reportable Track Id list from the sensor tracker. The sensor tracker manages this list.

Referenced by AllowTrackReporting(), DropFalseTargetTrack(), DropTargetTrack(), PrintScreenerState(), Reset(), Update(), WsfFalseTargetScreener(), and WsfFalseTargetScreener().

◆ mTargetsAdjusted

bool WsfFalseTargetScreener::mTargetsAdjusted
protected

◆ mTargetsInvalid

bool WsfFalseTargetScreener::mTargetsInvalid
protected

◆ mTrackableBlipIds

◆ mUndetectedBlipIds

BlipIdFTJammerList WsfFalseTargetScreener::mUndetectedBlipIds
protected

The documentation for this class was generated from the following files:
Copyrights Multiple, All Rights Reserved