WSF
WsfFalseTarget Class Reference

An instance of this class quantitatively models the multiple false targets that will be perceived by. More...

#include <WsfFalseTarget.hpp>

Inheritance diagram for WsfFalseTarget:
Collaboration diagram for WsfFalseTarget:

Classes

struct  JammerState
struct  BaseData
struct  ExtentPair

Public Types

enum  PlatformBehavior { cRANDOM_TO_MULTIPLE_PLATFORMS , cCONSISTENT_TO_MULTIPLE_PLATFORMS }
enum  RadarBehavior { cRANDOM_TO_MULTIPLE_RADARS , cCONSISTENT_TO_MULTIPLE_RADARS }
 "RadarBehavior" describes the observed time-variant behavior for the false-target blips among different radar sites: More...
enum  BlipBehavior { cRANDOM_SCAN_TO_SCAN , cCONSISTENT_SCAN_TO_SCAN }
enum  BlipDistribution { cRANDOM , cCIRCULAR , cSECTORED }
 "BlipDistribution" appearance describes how the false targets are spread over an area surrounding a radar site. More...
enum  RangeDistribution { cUNIFORM , cLOG , cEXPONENTIAL }
 "RangeDistribution" describes how the false targets are spread over the range from the radar site. More...
enum  OnOffState { cOn , cOff }
 OnOffState indicates what the state of this false target technique. More...
enum  ReferenceBearing { cJAMMER , cNORTH , cPROTECTED_ENTITY }
 ReferenceBearing indicates what the reference angle for zero azimuth is. More...
enum  BlipReference { cBR_NONE , cBR_JAMMER }
using Blip = WsfFalseTargetBlip
using RadarSnsrPair = std::pair<WsfStringInt, WsfStringInt>
using ExtentData = std::vector<ExtentPair>
using BaseLocsVec = std::vector<BaseData>
using Blips = std::vector<WsfFalseTargetBlip*>
using BlipsIterators = std::vector<Blips::iterator>
using JammerIdToBlipsMap = std::map<unsigned int, Blips>
using JammerIdToStateMap = std::map<unsigned int, JammerState>
using ScreenerPtrJammerXmtrPtr = std::pair<WsfFalseTargetScreener*, WsfEM_Xmtr*>
using BlipStateVec = std::vector<ScreenerPtrJammerXmtrPtr>
Public Types inherited from WsfObject
typedef std::vector< WsfStringIdTypeList
 The list of types returned by GetTypeList.

Public Member Functions

 WsfFalseTarget (WsfScenario &aScenario)
 WsfFalseTarget (const WsfFalseTarget &aSrc)
WsfFalseTargetoperator= (const WsfFalseTarget &)=delete
 ~WsfFalseTarget () override
WsfFalseTargetClone () const override
virtual bool Initialize (WsfSimulation *aSimulationPtr)
bool ProcessInput (UtInput &aInput) override
virtual void Update (double aSimTime, WsfEM_Xmtr *aJammerXmtrPtr)
bool Initialize (double aSimTime, WsfEM_Xmtr *aJammerXmtrPtr)
void Reset ()
BlipBehavior GetBlipBehavior () const
RadarBehavior GetRadarBehavior () const
PlatformBehavior GetPlatformBehavior () const
double GetScanInterval () const
bool GetNewBlipsState (WsfFalseTargetScreener *aScreenerPtr, WsfEM_Xmtr *aJammerXmtrPtr)
void SetNewBlipsState (WsfFalseTargetScreener *aScreenerPtr, WsfEM_Xmtr *aJammerXmtrPtr, bool aState)
virtual void ClearAllBlips ()
virtual void ClearBlips (unsigned int aJammerId)
BlipsGetBlips (unsigned int aJammerId)
BlipGetBlipPtr (WsfStringId aBlipNameId, unsigned int aJammerId)
BlipGetBlipPtr (size_t aBlipUniqueId, unsigned int aJammerId)
bool GetBlipsCreated (unsigned int aJammerId)
void CreateBlipNameId (Blip *aBlipPtr)
void SetBlipBehavior (BlipBehavior aBlipBehavior)
void SetRadarBehavior (RadarBehavior aRadarBehavior)
void SetPlatformBehavior (PlatformBehavior aPlatformBehavior)
void SetScanInterval (double aScanInterval)
void SetPersistence (double aPersistence)
void SetInitialNumberOfFTs (unsigned int aInitialNumberOfFTs, bool aIsExplicit=false)
void SetAzimuthExtent (double aAzLower, double aAzUpper)
void SetRangeExtent (double aRangeLower, double aRangeUpper)
void SetBlipSpeeds (double aMinSpeed, double aMaxSpeed)
void GetBlipSpeeds (double &aMinBlipSpeed, double &aMaxBlipSpeed) const
void GetBlipHeadings (double &aMinBlipHeading, double &aMaxBlipHeading) const
void SetBearingReference (ReferenceBearing aBearingReference)
ReferenceBearing GetBearingReference () const
void SetReferenceCentroid (double aLatitude, double aLongitude, double aAltitude)
void GetReferenceCentroid (double &aLatitude, double &aLongitude, double &aAltitude)
WsfPlatformGetCentroidPlatform () const
virtual void RemoveJammer (WsfEM_Xmtr *aJammerXmtrPtr)
bool GetChanged () const
void SetDebug (bool aDebug)
bool GetDebug () const
unsigned int GetInitialNumberOfFTs () const
double GetPersistence () const
bool GetRangeConstrained () const
void SetRangeConstrained (bool aRangeConstrained)
void SetState (OnOffState aState)
OnOffState GetState () const
void SetToggled (bool aToggled)
bool GetToggled () const
void DropTracks (RadarSnsrPair aIdKey, WsfEM_Xmtr *aJammerXmtrPtr)
bool PowerSufficiencyCheck (double aSimTime, WsfEM_Xmtr *aJammerXmtrPtr, WsfEM_Xmtr *aRadarXmtrPtr, WsfEM_Rcvr *aRadarRcvrPtr)
void SetBlips (int aJammerID, WsfFalseTarget::Blips &aBlips)
bool ExplicitAzimuthExtent () const
bool ExplicitNumberOfFTs () const
bool ExplicitRangeConstraint () const
bool ExplicitRangeExtent () const
bool ExplicitReferenceCentroid () const
bool ExplicitScanInterval () const
bool ExplicitBlipSpeeds () 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 void ResetStatic ()
static size_t AssignFT_BlipUniqueId ()

Protected Member Functions

WsfSimulationGetSimulation () const
virtual void Rescan (double aSimTime, WsfEM_Xmtr *aJammerXmtrPtr)
 Produce a group of false target blips for a single scan of an observing sensor.
virtual void UpdateBlipPositions (double aSimTime, unsigned int aJammerId)
void UpdateBaseBlipPositions (double aSimTime)
void UpdateCentroidPosition (double aSimTime)
 WsfObject (const WsfObject &aSrc)
 Copy constructor (for Clone()).

Friends

class WsfFalseTargetBlip

Detailed Description

An instance of this class quantitatively models the multiple false targets that will be perceived by.

Electronic Attack (EA) techniques. Different instances of this type will be created if the randomness among multiple radar sites.

  • A per platform instance is used if this type is to be consistent among different radar sites but random to multiple platforms.
  • A single instance is used if this type is to be consistent among different radar sites and consistent to multiple platforms.

Member Typedef Documentation

◆ BaseLocsVec

using WsfFalseTarget::BaseLocsVec = std::vector<BaseData>

◆ Blip

◆ Blips

◆ BlipsIterators

using WsfFalseTarget::BlipsIterators = std::vector<Blips::iterator>

◆ BlipStateVec

◆ ExtentData

using WsfFalseTarget::ExtentData = std::vector<ExtentPair>

◆ JammerIdToBlipsMap

using WsfFalseTarget::JammerIdToBlipsMap = std::map<unsigned int, Blips>

◆ JammerIdToStateMap

using WsfFalseTarget::JammerIdToStateMap = std::map<unsigned int, JammerState>

◆ RadarSnsrPair

◆ ScreenerPtrJammerXmtrPtr

Member Enumeration Documentation

◆ BlipBehavior

"BlipBehavior" describes the observed time-variant behavior for the false-target blips for each radar site:

Enumerator
cRANDOM_SCAN_TO_SCAN 

Perception changes randomly from scan to scan.

cCONSISTENT_SCAN_TO_SCAN 

Relative to the true track geometry, perception is consistent from scan to scan.

◆ BlipDistribution

"BlipDistribution" appearance describes how the false targets are spread over an area surrounding a radar site.

Enumerator
cRANDOM 
cCIRCULAR 
cSECTORED 

◆ BlipReference

Enumerator
cBR_NONE 

Uses the input speed and heading for the false target blip movement.

cBR_JAMMER 

Uses the jammer (i.e. transmitter) platform for the heading and speed of the blips.

◆ OnOffState

OnOffState indicates what the state of this false target technique.

Enumerator
cOn 
cOff 

◆ PlatformBehavior

"PlatformBehavior" describes the observed time-variant behavior for the false-target blips among different jamming platforms, this behavior coupled with the "RadarBehavior" defines how cCONSISTENT_TO_MULTIPLE_RADARS are fused among different jamming platforms:

Enumerator
cRANDOM_TO_MULTIPLE_PLATFORMS 

Perception from multiple platforms is uncorrelated.

cCONSISTENT_TO_MULTIPLE_PLATFORMS 

Perception from multiple platforms is correlated.

◆ RadarBehavior

"RadarBehavior" describes the observed time-variant behavior for the false-target blips among different radar sites:

Enumerator
cRANDOM_TO_MULTIPLE_RADARS 

Perception from multiple radars is uncorrelated.

cCONSISTENT_TO_MULTIPLE_RADARS 

Perception from multiple radars is correlated.

◆ RangeDistribution

"RangeDistribution" describes how the false targets are spread over the range from the radar site.

Enumerator
cUNIFORM 
cLOG 
cEXPONENTIAL 

◆ ReferenceBearing

ReferenceBearing indicates what the reference angle for zero azimuth is.

Enumerator
cJAMMER 
cNORTH 
cPROTECTED_ENTITY 

Constructor & Destructor Documentation

◆ WsfFalseTarget() [1/2]

WsfFalseTarget::WsfFalseTarget ( WsfScenario & aScenario)
explicit

◆ WsfFalseTarget() [2/2]

WsfFalseTarget::WsfFalseTarget ( const WsfFalseTarget & aSrc)

◆ ~WsfFalseTarget()

WsfFalseTarget::~WsfFalseTarget ( )
override

Member Function Documentation

◆ AssignFT_BlipUniqueId()

size_t WsfFalseTarget::AssignFT_BlipUniqueId ( )
static

◆ ClearAllBlips()

void WsfFalseTarget::ClearAllBlips ( )
virtual

Referenced by Reset().

◆ ClearBlips()

void WsfFalseTarget::ClearBlips ( unsigned int aJammerId)
virtual

Referenced by RemoveJammer(), and Rescan().

◆ Clone()

WsfFalseTarget * WsfFalseTarget::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 WsfFalseTarget().

Referenced by WsfEW_FalseTargetEffect::FT_Data::FT_Data(), and WsfEW_FalseTargetEffect::FT_Data::Initialize().

◆ CreateBlipNameId()

void WsfFalseTarget::CreateBlipNameId ( Blip * aBlipPtr)

◆ DropTracks()

void WsfFalseTarget::DropTracks ( RadarSnsrPair aIdKey,
WsfEM_Xmtr * aJammerXmtrPtr )

◆ ExplicitAzimuthExtent()

bool WsfFalseTarget::ExplicitAzimuthExtent ( ) const
inline

◆ ExplicitBlipSpeeds()

bool WsfFalseTarget::ExplicitBlipSpeeds ( ) const
inline

◆ ExplicitNumberOfFTs()

bool WsfFalseTarget::ExplicitNumberOfFTs ( ) const
inline

◆ ExplicitRangeConstraint()

bool WsfFalseTarget::ExplicitRangeConstraint ( ) const
inline

◆ ExplicitRangeExtent()

bool WsfFalseTarget::ExplicitRangeExtent ( ) const
inline

◆ ExplicitReferenceCentroid()

bool WsfFalseTarget::ExplicitReferenceCentroid ( ) const
inline

◆ ExplicitScanInterval()

bool WsfFalseTarget::ExplicitScanInterval ( ) const
inline

◆ GetBearingReference()

ReferenceBearing WsfFalseTarget::GetBearingReference ( ) const
inline

◆ GetBlipBehavior()

BlipBehavior WsfFalseTarget::GetBlipBehavior ( ) const
inline

Referenced by Rescan().

◆ GetBlipHeadings()

void WsfFalseTarget::GetBlipHeadings ( double & aMinBlipHeading,
double & aMaxBlipHeading ) const

◆ GetBlipPtr() [1/2]

WsfFalseTargetBlip * WsfFalseTarget::GetBlipPtr ( size_t aBlipUniqueId,
unsigned int aJammerId )

References WsfFalseTargetBlip.

◆ GetBlipPtr() [2/2]

WsfFalseTargetBlip * WsfFalseTarget::GetBlipPtr ( WsfStringId aBlipNameId,
unsigned int aJammerId )

References WsfFalseTargetBlip.

◆ GetBlips()

WsfFalseTarget::Blips & WsfFalseTarget::GetBlips ( unsigned int aJammerId)

◆ GetBlipsCreated()

bool WsfFalseTarget::GetBlipsCreated ( unsigned int aJammerId)

◆ GetBlipSpeeds()

void WsfFalseTarget::GetBlipSpeeds ( double & aMinBlipSpeed,
double & aMaxBlipSpeed ) const

◆ GetCentroidPlatform()

WsfPlatform * WsfFalseTarget::GetCentroidPlatform ( ) const
inline

◆ GetChanged()

bool WsfFalseTarget::GetChanged ( ) const
inline

◆ GetDebug()

bool WsfFalseTarget::GetDebug ( ) const
inline

Referenced by PowerSufficiencyCheck().

◆ GetInitialNumberOfFTs()

unsigned int WsfFalseTarget::GetInitialNumberOfFTs ( ) const
inline

◆ GetNewBlipsState()

bool WsfFalseTarget::GetNewBlipsState ( WsfFalseTargetScreener * aScreenerPtr,
WsfEM_Xmtr * aJammerXmtrPtr )

◆ GetPersistence()

double WsfFalseTarget::GetPersistence ( ) const
inline

◆ GetPlatformBehavior()

PlatformBehavior WsfFalseTarget::GetPlatformBehavior ( ) const
inline

◆ GetRadarBehavior()

RadarBehavior WsfFalseTarget::GetRadarBehavior ( ) const
inline

◆ GetRangeConstrained()

bool WsfFalseTarget::GetRangeConstrained ( ) const
inline

◆ GetReferenceCentroid()

void WsfFalseTarget::GetReferenceCentroid ( double & aLatitude,
double & aLongitude,
double & aAltitude )

◆ GetScanInterval()

double WsfFalseTarget::GetScanInterval ( ) const
inline

◆ GetSimulation()

WsfSimulation * WsfFalseTarget::GetSimulation ( ) const
inlineprotected

◆ GetState()

OnOffState WsfFalseTarget::GetState ( ) const
inline

◆ GetToggled()

bool WsfFalseTarget::GetToggled ( ) const
inline

◆ Initialize() [1/2]

bool WsfFalseTarget::Initialize ( double aSimTime,
WsfEM_Xmtr * aJammerXmtrPtr )

◆ Initialize() [2/2]

◆ operator=()

WsfFalseTarget & WsfFalseTarget::operator= ( const WsfFalseTarget & )
delete

◆ PowerSufficiencyCheck()

◆ ProcessInput()

bool WsfFalseTarget::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 cBR_JAMMER, cBR_NONE, cCONSISTENT_SCAN_TO_SCAN, cCONSISTENT_TO_MULTIPLE_RADARS, cEXPONENTIAL, cJAMMER, cLOG, cNORTH, cRANDOM_SCAN_TO_SCAN, cRANDOM_TO_MULTIPLE_RADARS, cUNIFORM, WsfObject::GetNameId(), WsfFalseTarget::ExtentPair::mMax, WsfFalseTarget::ExtentPair::mMin, and SetReferenceCentroid().

◆ RemoveJammer()

void WsfFalseTarget::RemoveJammer ( WsfEM_Xmtr * aJammerXmtrPtr)
virtual

◆ Rescan()

◆ Reset()

void WsfFalseTarget::Reset ( )

References ClearAllBlips().

Referenced by operator=(), and RemoveJammer().

◆ ResetStatic()

void WsfFalseTarget::ResetStatic ( )
static

Referenced by WsfFalseTargetBlip.

◆ SetAzimuthExtent()

void WsfFalseTarget::SetAzimuthExtent ( double aAzLower,
double aAzUpper )

◆ SetBearingReference()

void WsfFalseTarget::SetBearingReference ( ReferenceBearing aBearingReference)
inline

◆ SetBlipBehavior()

void WsfFalseTarget::SetBlipBehavior ( BlipBehavior aBlipBehavior)
inline

◆ SetBlips()

void WsfFalseTarget::SetBlips ( int aJammerID,
WsfFalseTarget::Blips & aBlips )
inline

◆ SetBlipSpeeds()

void WsfFalseTarget::SetBlipSpeeds ( double aMinSpeed,
double aMaxSpeed )

◆ SetDebug()

void WsfFalseTarget::SetDebug ( bool aDebug)
inline

◆ SetInitialNumberOfFTs()

void WsfFalseTarget::SetInitialNumberOfFTs ( unsigned int aInitialNumberOfFTs,
bool aIsExplicit = false )

◆ SetNewBlipsState()

void WsfFalseTarget::SetNewBlipsState ( WsfFalseTargetScreener * aScreenerPtr,
WsfEM_Xmtr * aJammerXmtrPtr,
bool aState )

◆ SetPersistence()

void WsfFalseTarget::SetPersistence ( double aPersistence)

◆ SetPlatformBehavior()

void WsfFalseTarget::SetPlatformBehavior ( PlatformBehavior aPlatformBehavior)
inline

◆ SetRadarBehavior()

void WsfFalseTarget::SetRadarBehavior ( RadarBehavior aRadarBehavior)
inline

◆ SetRangeConstrained()

void WsfFalseTarget::SetRangeConstrained ( bool aRangeConstrained)
inline

◆ SetRangeExtent()

void WsfFalseTarget::SetRangeExtent ( double aRangeLower,
double aRangeUpper )

◆ SetReferenceCentroid()

void WsfFalseTarget::SetReferenceCentroid ( double aLatitude,
double aLongitude,
double aAltitude )

◆ SetScanInterval()

void WsfFalseTarget::SetScanInterval ( double aScanInterval)

◆ SetState()

void WsfFalseTarget::SetState ( OnOffState aState)
inline

◆ SetToggled()

void WsfFalseTarget::SetToggled ( bool aToggled)
inline

◆ Update()

void WsfFalseTarget::Update ( double aSimTime,
WsfEM_Xmtr * aJammerXmtrPtr )
virtual

The Update method resolves the existence of targeted radar sites, and calculates a reference location for the false targets.

References cRANDOM_SCAN_TO_SCAN, WsfUniqueId::GetUniqueId(), Rescan(), and UpdateBlipPositions().

Referenced by Initialize().

◆ UpdateBaseBlipPositions()

void WsfFalseTarget::UpdateBaseBlipPositions ( double aSimTime)
protected

◆ UpdateBlipPositions()

void WsfFalseTarget::UpdateBlipPositions ( double aSimTime,
unsigned int aJammerId )
protectedvirtual

◆ UpdateCentroidPosition()

void WsfFalseTarget::UpdateCentroidPosition ( double aSimTime)
protected

Referenced by Rescan().

◆ WsfFalseTargetBlip


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