|
WSF
|
An instance of this class quantitatively models the multiple false targets that will be perceived by. More...
#include <WsfFalseTarget.hpp>


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< WsfStringId > | TypeList |
| The list of types returned by GetTypeList. | |
Public Member Functions | |
| WsfFalseTarget (WsfScenario &aScenario) | |
| WsfFalseTarget (const WsfFalseTarget &aSrc) | |
| WsfFalseTarget & | operator= (const WsfFalseTarget &)=delete |
| ~WsfFalseTarget () override | |
| WsfFalseTarget * | Clone () 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) |
| Blips & | GetBlips (unsigned int aJammerId) |
| Blip * | GetBlipPtr (WsfStringId aBlipNameId, unsigned int aJammerId) |
| Blip * | GetBlipPtr (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) |
| WsfPlatform * | GetCentroidPlatform () 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 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) |
Static Public Member Functions | |
| static void | ResetStatic () |
| static size_t | AssignFT_BlipUniqueId () |
Protected Member Functions | |
| WsfSimulation * | GetSimulation () 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 |
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.
| using WsfFalseTarget::BaseLocsVec = std::vector<BaseData> |
| using WsfFalseTarget::Blips = std::vector<WsfFalseTargetBlip*> |
| using WsfFalseTarget::BlipsIterators = std::vector<Blips::iterator> |
| using WsfFalseTarget::BlipStateVec = std::vector<ScreenerPtrJammerXmtrPtr> |
| using WsfFalseTarget::ExtentData = std::vector<ExtentPair> |
| using WsfFalseTarget::JammerIdToBlipsMap = std::map<unsigned int, Blips> |
| using WsfFalseTarget::JammerIdToStateMap = std::map<unsigned int, JammerState> |
| using WsfFalseTarget::RadarSnsrPair = std::pair<WsfStringInt, WsfStringInt> |
| using WsfFalseTarget::ScreenerPtrJammerXmtrPtr = std::pair<WsfFalseTargetScreener*, WsfEM_Xmtr*> |
OnOffState indicates what the state of this false target technique.
| Enumerator | |
|---|---|
| cOn | |
| cOff | |
"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. |
ReferenceBearing indicates what the reference angle for zero azimuth is.
| Enumerator | |
|---|---|
| cJAMMER | |
| cNORTH | |
| cPROTECTED_ENTITY | |
|
explicit |
References cBR_NONE, cNORTH, cOn, cRANDOM_SCAN_TO_SCAN, cRANDOM_TO_MULTIPLE_PLATFORMS, cRANDOM_TO_MULTIPLE_RADARS, cUNIFORM, and WsfObject::WsfObject().
Referenced by Clone(), operator=(), and WsfFalseTarget().
| WsfFalseTarget::WsfFalseTarget | ( | const WsfFalseTarget & | aSrc | ) |
References WsfPlatform::Clone(), WsfObject::GetNameId(), WsfFalseTarget(), and WsfObject::WsfObject().
|
override |
|
static |
Referenced by CreateBlipNameId(), and WsfFalseTargetBlip.
|
virtual |
Referenced by Reset().
|
virtual |
Referenced by RemoveJammer(), and Rescan().
|
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().
| void WsfFalseTarget::CreateBlipNameId | ( | Blip * | aBlipPtr | ) |
References AssignFT_BlipUniqueId(), WsfObject::GetName(), WsfFalseTargetBlip::SetNameId(), and WsfFalseTargetBlip::SetUniqueId().
Referenced by Rescan().
| void WsfFalseTarget::DropTracks | ( | RadarSnsrPair | aIdKey, |
| WsfEM_Xmtr * | aJammerXmtrPtr ) |
References WsfUniqueId::GetUniqueId().
|
inline |
Referenced by WsfEW_FalseTargetEffect::InitializeFT().
|
inline |
Referenced by WsfEW_FalseTargetEffect::InitializeFT().
|
inline |
|
inline |
Referenced by WsfEW_FalseTargetEffect::UpdateFT().
|
inline |
Referenced by WsfEW_FalseTargetEffect::UpdateFT().
|
inline |
Referenced by WsfEW_FalseTargetEffect::UpdateFT().
|
inline |
Referenced by WsfEW_FalseTargetEffect::UpdateFT().
|
inline |
|
inline |
Referenced by Rescan().
| void WsfFalseTarget::GetBlipHeadings | ( | double & | aMinBlipHeading, |
| double & | aMaxBlipHeading ) const |
| WsfFalseTargetBlip * WsfFalseTarget::GetBlipPtr | ( | size_t | aBlipUniqueId, |
| unsigned int | aJammerId ) |
References WsfFalseTargetBlip.
| WsfFalseTargetBlip * WsfFalseTarget::GetBlipPtr | ( | WsfStringId | aBlipNameId, |
| unsigned int | aJammerId ) |
References WsfFalseTargetBlip.
| WsfFalseTarget::Blips & WsfFalseTarget::GetBlips | ( | unsigned int | aJammerId | ) |
| bool WsfFalseTarget::GetBlipsCreated | ( | unsigned int | aJammerId | ) |
| void WsfFalseTarget::GetBlipSpeeds | ( | double & | aMinBlipSpeed, |
| double & | aMaxBlipSpeed ) const |
|
inline |
|
inline |
|
inline |
Referenced by PowerSufficiencyCheck().
|
inline |
| bool WsfFalseTarget::GetNewBlipsState | ( | WsfFalseTargetScreener * | aScreenerPtr, |
| WsfEM_Xmtr * | aJammerXmtrPtr ) |
|
inline |
|
inline |
Referenced by WsfEW_FalseTargetEffect::FT_Data::Initialize().
|
inline |
|
inline |
| void WsfFalseTarget::GetReferenceCentroid | ( | double & | aLatitude, |
| double & | aLongitude, | ||
| double & | aAltitude ) |
|
inline |
Referenced by WsfEW_FalseTargetEffect::UpdateFT().
|
inlineprotected |
Referenced by UpdateBaseBlipPositions(), and UpdateBlipPositions().
|
inline |
|
inline |
Referenced by WsfFalseTargetScreener::CheckFT_Toggle().
| bool WsfFalseTarget::Initialize | ( | double | aSimTime, |
| WsfEM_Xmtr * | aJammerXmtrPtr ) |
|
virtual |
References cCONSISTENT_TO_MULTIPLE_PLATFORMS, cCONSISTENT_TO_MULTIPLE_RADARS, cRANDOM_TO_MULTIPLE_RADARS, wsf::Terrain::GetElevInterp(), WsfObject::GetNameId(), WsfObject::GetTypeId(), and WsfObject::SetName().
Referenced by Initialize(), WsfFalseTargetTypes::InitializeType(), WsfFalseTargetTypes::LoadInstance(), and operator=().
|
delete |
References Initialize(), Reset(), and WsfFalseTarget().
| bool WsfFalseTarget::PowerSufficiencyCheck | ( | double | aSimTime, |
| WsfEM_Xmtr * | aJammerXmtrPtr, | ||
| WsfEM_Xmtr * | aRadarXmtrPtr, | ||
| WsfEM_Rcvr * | aRadarRcvrPtr ) |
References WsfEM_Interaction::BeginGenericInteraction(), WsfEW_Effect::cEB_JAMMER_POWER_EFFECT, WsfRF_Jammer::ComputeJammerPowers(), WsfEM_Rcvr::ComputeSignalToNoise(), WsfEM_Interaction::ComputeUndefinedGeometry(), WsfEW_Result::Find(), WsfEM_XmtrRcvr::GetArticulatedPart(), GetDebug(), WsfEM_Rcvr::GetDetectionThreshold(), WsfObject::GetName(), WsfEM_XmtrRcvr::GetPlatform(), WsfEW_Effects::mEW_CoherentJammingEffect, WsfEW_Result::mEW_Effects, WsfEW_Effects::mEW_SignalEffect, WsfEW_Effects::EW_JammingEffect::mJtoXGain, WsfEW_Effects::mMask, WsfEW_Effects::EW_JammingEffect::mModulationGain, WsfEW_Effects::EW_JammingEffect::mRepeaterFactor, WsfEW_Effects::EW_SignalEffect::mSignalPowerGain, WsfEM_Interaction::SetReceiverBeamPosition(), and WsfEM_Interaction::SetTransmitterBeamPosition().
Referenced by WsfEW_SensorComponent::EW_Mode::UpdateFalseTargetInteractors().
|
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'.
| aInput | a reference to a UtInput object. |
| UtInput::ExceptionBase | (or an object derived from it) if the command was recognized but contains some sort of error. |
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().
|
virtual |
References ClearBlips(), WsfUniqueId::GetUniqueId(), and Reset().
Referenced by WsfFalseTargetScreener::RemoveFalseTargets(), and WsfFalseTargetScreener::RemoveJammerXmtr().
|
protectedvirtual |
Produce a group of false target blips for a single scan of an observing sensor.
References begin(), cBR_JAMMER, cCONSISTENT_SCAN_TO_SCAN, cCONSISTENT_TO_MULTIPLE_RADARS, cEXPONENTIAL, cJAMMER, WsfFalseTarget::BaseData::Clear(), ClearBlips(), cLOG, cNORTH, cRANDOM_SCAN_TO_SCAN, cRANDOM_TO_MULTIPLE_RADARS, CreateBlipNameId(), GetBlipBehavior(), WsfFalseTargetBlip::GetNameId(), WsfObject::GetNameId(), WsfEM_XmtrRcvr::GetPlatform(), WsfFalseTargetBlip::GetUniqueId(), WsfUniqueId::GetUniqueId(), WsfFalseTarget::BaseData::mHeading, WsfFalseTarget::BaseData::mLocationWCS, WsfFalseTarget::BaseData::mNameId, WsfFalseTarget::BaseData::mSpeed, WsfFalseTarget::BaseData::mUniqueId, WsfFalseTargetBlip::SetBehavior(), WsfFalseTargetBlip::SetFalseTarget(), WsfFalseTargetBlip::SetJammerXmtr(), WsfFalseTargetBlip::SetNameId(), WsfFalseTargetBlip::SetUniqueId(), WsfPlatform::Update(), UpdateBaseBlipPositions(), UpdateBlipPositions(), and UpdateCentroidPosition().
Referenced by Update().
| void WsfFalseTarget::Reset | ( | ) |
References ClearAllBlips().
Referenced by operator=(), and RemoveJammer().
|
static |
Referenced by WsfFalseTargetBlip.
| void WsfFalseTarget::SetAzimuthExtent | ( | double | aAzLower, |
| double | aAzUpper ) |
References WsfFalseTarget::ExtentPair::mMax, and WsfFalseTarget::ExtentPair::mMin.
Referenced by WsfEW_FalseTargetEffect::InitializeFT().
|
inline |
Referenced by WsfEW_FalseTargetEffect::InitializeFT().
|
inline |
Referenced by WsfEW_FalseTargetEffect::InitializeFT().
|
inline |
| void WsfFalseTarget::SetBlipSpeeds | ( | double | aMinSpeed, |
| double | aMaxSpeed ) |
Referenced by WsfEW_FalseTargetEffect::InitializeFT().
|
inline |
| void WsfFalseTarget::SetInitialNumberOfFTs | ( | unsigned int | aInitialNumberOfFTs, |
| bool | aIsExplicit = false ) |
References WsfObject::GetName(), and WsfObject::GetType().
Referenced by WsfEW_FalseTargetEffect::UpdateFT().
| void WsfFalseTarget::SetNewBlipsState | ( | WsfFalseTargetScreener * | aScreenerPtr, |
| WsfEM_Xmtr * | aJammerXmtrPtr, | ||
| bool | aState ) |
| void WsfFalseTarget::SetPersistence | ( | double | aPersistence | ) |
|
inline |
Referenced by WsfEW_FalseTargetEffect::InitializeFT().
|
inline |
Referenced by WsfEW_FalseTargetEffect::InitializeFT().
|
inline |
Referenced by WsfEW_FalseTargetEffect::UpdateFT().
| void WsfFalseTarget::SetRangeExtent | ( | double | aRangeLower, |
| double | aRangeUpper ) |
References WsfFalseTarget::ExtentPair::mMax, and WsfFalseTarget::ExtentPair::mMin.
Referenced by WsfEW_FalseTargetEffect::UpdateFT().
| void WsfFalseTarget::SetReferenceCentroid | ( | double | aLatitude, |
| double | aLongitude, | ||
| double | aAltitude ) |
Referenced by ProcessInput(), and WsfEW_FalseTargetEffect::UpdateFT().
| void WsfFalseTarget::SetScanInterval | ( | double | aScanInterval | ) |
Referenced by WsfEW_FalseTargetEffect::UpdateFT().
|
inline |
|
inline |
Referenced by WsfFalseTargetScreener::CheckFT_Toggle().
|
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().
|
protected |
References cBR_JAMMER, cBR_NONE, WsfSimulation::GetPlatformByName(), GetSimulation(), and WsfPlatform::Update().
Referenced by Rescan().
|
protectedvirtual |
References begin(), cBR_JAMMER, cBR_NONE, WsfSimulation::GetPlatformByName(), GetSimulation(), and WsfPlatform::Update().
|
protected |
Referenced by Rescan().
|
friend |
References AssignFT_BlipUniqueId(), ResetStatic(), and WsfFalseTargetBlip.
Referenced by GetBlipPtr(), GetBlipPtr(), and WsfFalseTargetBlip.