WSF
WsfSensorMode Class Referenceabstract

#include <WsfSensorMode.hpp>

Inheritance diagram for WsfSensorMode:
Collaboration diagram for WsfSensorMode:

Classes

class  AltFrequencyChangeEvent
struct  ReportingFlags

Public Member Functions

 WsfSensorMode ()
 WsfSensorMode (const WsfSensorMode &aSrc)
WsfSensorModeoperator= (const WsfSensorMode &aRhs)
 ~WsfSensorMode () override
WsfPlatformGetPlatform () const
 Return the pointer to the platform to which the associated sensor is attached.
WsfSensorGetSensor () const
 Return the pointer to the sensor with which this mode is associated.
const WsfScenarioGetScenario () const
WsfSimulationGetSimulation () const
WsfModeClone () const override=0
 Create an exact duplicate of this mode.
virtual bool Initialize (double aSimTime)
bool ProcessInput (UtInput &aInput) override
Public Member Functions inherited from WsfMode
 WsfMode ()
 ~WsfMode () override=default
size_t GetModeIndex () const
 Return the index of this mode within its associated mode list.
bool IsSelected () const
 Returns 'true' if the mode is selected.
Public Member Functions inherited from WsfNamed
 WsfNamed ()
 WsfNamed (WsfStringId aName)
 WsfNamed (const WsfNamed &)=default
WsfNamedoperator= (const WsfNamed &)=default
virtual ~WsfNamed ()=default
const std::string & GetName () const
WsfStringId GetNameId () const
void SetName (WsfStringId aName)

Friends

class WsfSensorModeList

Automatic mode switch control.

WsfSensormSensorPtr
 Pointer to the sensor with which the mode is associated.
WsfPlatformmPlatformPtr
 Pointer to the platform with which the sensor is associated.
double mMaximumRange
double mAzCueRate
double mElCueRate
double mMinAzCue
double mMaxAzCue
double mMinElCue
double mMaxElCue
WsfSensor::SlewMode mCueMode
int mMaximumRequestCount
bool mCanSearchWhileTrack
bool mDisablesSearch
double mFrameTime
double mRevisitTime
double mDwellTime
double mRequiredPd
size_t GetOnSuccessModeIndex () const
size_t GetOnFailureModeIndex () const
int GetMessageLength () const
 Return the logical length (int bits) of report messages that originate from this sensor mode.
int GetMessagePriority () const
 Return the priority of report messages that originate from this sensor mode.
void UpdateTrackPosition (WsfTrack *aTrackPtr, WsfSensorResult &aResult, const double aTgtLocationWCS[3])
WsfSensor::SlewMode GetCueMode () const
bool InitializeReporting ()
virtual void SelectAlternateFrequency (double aSimTime, int aAltFreqId=-1)

Track establishment and maintain window definition.

double mEstablishTrackProbability
 When the M/N establish track criteria is met, this is the probability that a track will be established.
double mMaintainTrackProbability
int mHitsToEstablishTrack
 The number of hits (M) within the window (N) that are required to establish a track.
int mEstablishTrackWindow
 The window size (N) for establishing a track.
unsigned int mEstablishTrackMask
int mHitsToMaintainTrack
 The number of hits (M) within the window (N) that are required to maintain a track.
int mMaintainTrackWindow
 The window size (N) for maintaining a track.
unsigned int mMaintainTrackMask
double mTrackQuality
 Base line track quality (0..1].

Sensor error parameters.

double mAzErrorStdDev
double mElErrorStdDev
double mRangeErrorStdDev
double mRangeRateErrorStdDev
 Range rate error standard deviation.
ut::CloneablePtr< wsf::SensorErrorModelBasemErrorModelPtr {nullptr}
 The model that calculates and applies errors to sensor detection results.
WsfStringId mOnSuccessModeName
size_t mOnSuccessModeIndex
WsfStringId mOnFailureModeName
size_t mOnFailureModeIndex
int mMessageLength
 The length of messages originating from this sensor mode.
int mMessagePriority
 The priority of messages originating from this sensor mode.
WsfSpatialDomain mReportsSpatialDomain
ReportingFlags mReportingFlags
ReportingFlags mCapabilitiesFlags
static const unsigned int cNONE = 0
 The following are flags/masks meant to be combined and used in the SetCapabilities method.
static const unsigned int cLOCATION = 1
static const unsigned int cVELOCITY = 2
static const unsigned int cRANGE = 4
static const unsigned int cBEARING = 8
static const unsigned int cELEVATION = 16
static const unsigned int cRANGE_RATE = 32
static const unsigned int cSIDE = 64
static const unsigned int cTYPE = 128
static const unsigned int cIFF_STATUS = 256
static const unsigned int cSIGNAL_TO_NOISE = 512
static const unsigned int cFREQUENCY = 1024
static const unsigned int cPULSEWIDTH = 2048
static const unsigned int cPULSE_REPITITION_INTERVAL = 4096
static const unsigned int cSTATE_COVARIANCE = 8192
static const unsigned int cOTHER = 16384
static const unsigned int cALL = 0xFFFFFFFF
 Catch-all for anything other than the above.
void SetCapabilities (unsigned int aFlags)
void SetReportingFlags (unsigned int aFlags)

Beam access methods.

These are optional methods that a sensor MAY provide to access beams. A given sensor model may or may not support beams. Some derived versions of WsfSensorComputer make use of these methods to gain access to details about the beam.

virtual size_t GetBeamCount () const
virtual WsfSensorBeamGetBeamEntry (size_t aIndex)
virtual bool AttemptToDetect (double aSimTime, WsfPlatform *aTargetPtr, WsfSensor::Settings &aSettings, WsfSensorResult &aResult)=0
virtual double GetAltFreqSelectDelay () const
virtual void ScheduleAltFreqChange (double aSimTime, int aAltFreqId=-1)
virtual bool IsAltFreqChangeScheduled () const
virtual double GetLastAltFreqSelectTime () const
virtual bool IsFrequencyAgile () const
void Deselect (double aSimTime) override=0
void Select (double aSimTime) override=0
virtual void ApplyMeasurementErrors (WsfSensorResult &aResult)
virtual WSF_DEPRECATED void ComputeMeasurementErrors (WsfSensorResult &aResult, double &aAzError, double &aElError, double &aRangeError, double &aRangeRateError) final
virtual void InitializeTrack (double aSimTime, WsfTrack *&aTrackPtr)
virtual void UpdateSensorCueingLimits ()
virtual void UpdateTrack (double aSimTime, WsfTrack *aTrackPtr, WsfPlatform *aTargetPtr, WsfSensorResult &aResult)
virtual void UpdateTrackReportingFlags (double aSimTime, WsfTrack *aTrackPtr)
virtual bool WithinDetectionRange (double aSimTime, WsfPlatform *aTargetPtr)
double GetMaximumRange () const
 Return the optimistic maximum range of the sensor mode.
int GetMaximumRequestCount () const
 Return the maximum number of cued-search or tracking requests the mode can support.
bool DisablesSearch () const
 Does using this mode prevent this or any other mode from searching?
bool CanSearchWhileTrack () const
 Can this mode continue to search while it is also performing tracking requests.
double GetFrameTime () const
void SetFrameTime (double aFrameTime)
double GetRevisitTime () const
double GetDwellTime () const
double GetRequiredPd () const
double EstablishTrackProbability () const
double MaintainTrackProbability () const
int HitsToEstablishTrack () const
 The number of hits (M) within the window (N) that are required to establish a track.
int EstablishTrackWindow () const
 The window size (N) for establishing a track.
int HitsToMaintainTrack () const
 The number of hits (M) within the window (N) that are required to maintain a track.
int MaintainTrackWindow () const
 The window size (N) for maintaining a track.
unsigned int EstablishTrackMask () const
unsigned int MaintainTrackMask () const
double GetTrackQuality () const
unsigned int GetReportingFlags () const
 Accessors for the reporting flags.
bool ReportsLocation () const
bool ReportsVelocity () const
bool ReportsRange () const
bool ReportsBearing () const
bool ReportsElevation () const
bool ReportsRangeRate () const
bool ReportsSide () const
bool ReportsType () const
bool ReportsIFF_Status () const
bool ReportsSignalToNoise () const
bool ReportsFrequency () const
bool ReportsPulseWidth () const
bool ReportsPulseRepititionInterval () const

Sensor error model methods.

const wsf::SensorErrorModelBaseGetErrorModel () const
wsf::SensorErrorModelBaseGetErrorModel ()
void SetErrorModel (std::unique_ptr< wsf::SensorErrorModelBase > aErrorModelPtr)

Sensor mode error access methods.

virtual WSF_DEPRECATED double GetAzErrorStdDev () final
virtual WSF_DEPRECATED double GetElErrorStdDev () final
virtual WSF_DEPRECATED double GetRangeErrorStdDev () final
virtual WSF_DEPRECATED double GetRangeRateErrorStdDev () final
virtual WSF_DEPRECATED void SetAzErrorStdDev (double aAzErrorStdDev) final
virtual WSF_DEPRECATED void SetElErrorStdDev (double aElErrorStdDev) final
virtual WSF_DEPRECATED void SetRangeErrorStdDev (double aRangeErrorStdDev) final
virtual WSF_DEPRECATED void SetRangeRateErrorStdDev (double aRangeRateErrorStdDev) final

Detailed Description

A specialization of WsfMode for sensors. A sensor mode represents a particular set of operating characteristics for a sensor. For instance, a radar may have search, acquire and track modes.

Constructor & Destructor Documentation

◆ WsfSensorMode() [1/2]

WsfSensorMode::WsfSensorMode ( )

References cALL, mAzCueRate, mAzErrorStdDev, mCanSearchWhileTrack, mCapabilitiesFlags, mCueMode, mDisablesSearch, mDwellTime, mElCueRate, mElErrorStdDev, mErrorModelPtr, mEstablishTrackMask, mEstablishTrackProbability, mEstablishTrackWindow, mFrameTime, mHitsToEstablishTrack, mHitsToMaintainTrack, mMaintainTrackMask, mMaintainTrackProbability, mMaintainTrackWindow, mMaxAzCue, mMaxElCue, mMaximumRange, mMaximumRequestCount, mMessageLength, mMessagePriority, mMinAzCue, mMinElCue, mOnFailureModeIndex, mOnFailureModeName, mOnSuccessModeIndex, mOnSuccessModeName, mPlatformPtr, mRangeErrorStdDev, mRangeRateErrorStdDev, mReportingFlags, mReportsSpatialDomain, mRequiredPd, mRevisitTime, mSensorPtr, mTrackQuality, and WSF_SPATIAL_DOMAIN_UNKNOWN.

Referenced by WsfAcousticSensor::AcousticMode::AcousticMode(), WsfAcousticSensor::AcousticMode::AcousticMode(), WsfPassiveSensor::PassiveMode::AddInteractor(), WsfSensorMode::AltFrequencyChangeEvent::AltFrequencyChangeEvent(), WsfCompositeSensor::CompositeMode::AttemptToDetect(), WsfBeamDirector::WsfBeamDirectorMode::Clone(), WsfCompositeSensor::CompositeMode::CompositeMode(), WsfCompositeSensor::CompositeMode::CompositeMode(), WsfCompositeSensor::CompositeMode::CompositeMode(), WsfCompositeSensor::CompositeMode::Deselect(), WsfGeometricSensor::GeometricMode::GeometricMode(), WsfGeometricSensor::GeometricMode::GeometricMode(), WsfLADAR_Sensor::LADAR_Mode::LADAR_Mode(), WsfLADAR_Sensor::LADAR_Mode::LADAR_Mode(), WsfLaserDesignator::LaserDesignationMode::LaserDesignationMode(), WsfLaserDesignator::LaserDesignationMode::LaserDesignationMode(), WsfLaserTracker::LaserTrackMode::LaserTrackMode(), WsfLaserTracker::LaserTrackMode::LaserTrackMode(), WsfCompositeSensor::CompositeMode::operator=(), operator=(), WsfOpticalSensor::OpticalMode::OpticalMode(), WsfOpticalSensor::OpticalMode::OpticalMode(), WsfOTH_RadarSensor::OTH_Mode::OTH_Mode(), WsfOTH_RadarSensor::OTH_Mode::OTH_Mode(), WsfPassiveSensor::PassiveMode::PassiveMode(), WsfPassiveSensor::PassiveMode::PassiveMode(), WsfRadarSensor::RadarMode::RadarMode(), WsfRadarSensor::RadarMode::RadarMode(), WsfCompositeSensor::CompositeMode::Select(), WsfSOSM_Sensor::SOSM_Mode::SOSM_Mode(), WsfSOSM_Sensor::SOSM_Mode::SOSM_Mode(), WsfBeamDirector::WsfBeamDirectorMode::WsfBeamDirectorMode(), WsfEOIR_IRST_SensorMode::WsfEOIR_IRST_SensorMode(), WsfEOIR_IRST_SensorMode::WsfEOIR_IRST_SensorMode(), WsfSensorMode(), WsfSensorModeList, and WsfCompositeSensor::CompositeMode::~CompositeMode().

◆ WsfSensorMode() [2/2]

◆ ~WsfSensorMode()

WsfSensorMode::~WsfSensorMode ( )
override

Member Function Documentation

◆ ApplyMeasurementErrors()

void WsfSensorMode::ApplyMeasurementErrors ( WsfSensorResult & aResult)
virtual

Compute and apply measurement errors to the current detection attempt.

Parameters
aResult[input] The results of the sensing chance. [output] The mReportedLocWCS updated as appropriate.

Reimplemented in WsfCompositeSensor::CompositeMode.

References mErrorModelPtr.

Referenced by WsfEW_SensorComponent::AttemptToDetectFalseTarget(), WsfPassiveSensor::PassiveMode::EmitterActiveCallback(), WsfOTH_RadarSensor::PerformScheduledDetections(), WsfRadarSensor::PerformScheduledDetections(), WsfSensor::PerformScheduledDetections(), and Select().

◆ AttemptToDetect()

virtual bool WsfSensorMode::AttemptToDetect ( double aSimTime,
WsfPlatform * aTargetPtr,
WsfSensor::Settings & aSettings,
WsfSensorResult & aResult )
pure virtual

Attempt to detect the specified target.

Parameters
aSimTime[input] The current simulation time.
aTargetPtr[input] The platform that will be attempted to be detected.
aSettings[input] The sensor settings.
aResult[output] The results of the detection attempt.
Returns
'true' if the target was detected or 'false' if it was not detected.

Implemented in WsfAcousticSensor::AcousticMode, WsfBeamDirector::WsfBeamDirectorMode, WsfCompositeSensor::CompositeMode, WsfEOIR_Sensor::EOIR_Mode, WsfGeometricSensor::GeometricMode, WsfIRST_Sensor::IRST_Mode, WsfLADAR_Sensor::LADAR_Mode, WsfLaserDesignator::LaserDesignationMode, WsfLaserTracker::LaserTrackMode, WsfOpticalSensor::OpticalMode, WsfOTH_RadarSensor::OTH_Mode, WsfPassiveSensor::PassiveMode, WsfRadarSensor::RadarMode, WsfSAR_Sensor::SAR_Mode, WsfSOSM_Sensor::SOSM_Mode, and WsfSurfaceWaveRadarSensor::RadarMode.

Referenced by WsfPassiveSensor::AttemptToDetect(), WsfSensor::AttemptToDetect(), and WsfTRIMSIM_Processor::AttemptToDetect().

◆ CanSearchWhileTrack()

bool WsfSensorMode::CanSearchWhileTrack ( ) const
inline

Can this mode continue to search while it is also performing tracking requests.

References mCanSearchWhileTrack.

Referenced by WsfDefaultSensorScheduler::CheckSearchModeAvailability(), and WsfPhysicalScanSensorScheduler::CheckSearchModeAvailability().

◆ Clone()

◆ ComputeMeasurementErrors()

void WsfSensorMode::ComputeMeasurementErrors ( WsfSensorResult & aResult,
double & aAzError,
double & aElError,
double & aRangeError,
double & aRangeRateError )
finalvirtual

Compute the 'standard' measurement errors.

Parameters
aResult[input] The sensing chance result data. [output] Measurement sigmas.
aAzError[output] The computed azimuth error.
aElError[output] The computed elevation error.
aRangeError[output] The computed range error.
aRangeRateError[output] The computed range rate error.

References WsfSensorComponent::ComputeSphericalMeasurementErrors(), GetSensor(), wsf::SphericalMeasurementErrors::mAzError, wsf::StandardSensorErrorModel::Sigmas::mAzErrorStdDev, mAzErrorStdDev, wsf::SphericalMeasurementErrors::mElError, wsf::StandardSensorErrorModel::Sigmas::mElErrorStdDev, mElErrorStdDev, mErrorModelPtr, wsf::SphericalMeasurementErrors::mRangeError, wsf::StandardSensorErrorModel::Sigmas::mRangeErrorStdDev, mRangeErrorStdDev, wsf::SphericalMeasurementErrors::mRangeRateError, wsf::StandardSensorErrorModel::Sigmas::mRangeRateErrorStdDev, and mRangeRateErrorStdDev.

Referenced by Select().

◆ Deselect()

void WsfSensorMode::Deselect ( double aSimTime)
overridepure virtual

◆ DisablesSearch()

bool WsfSensorMode::DisablesSearch ( ) const
inline

Does using this mode prevent this or any other mode from searching?

References mDisablesSearch.

Referenced by WsfDefaultSensorScheduler::CheckSearchModeAvailability(), and WsfPhysicalScanSensorScheduler::CheckSearchModeAvailability().

◆ EstablishTrackMask()

unsigned int WsfSensorMode::EstablishTrackMask ( ) const
inline

A bit mask that defines the track establish window. If the window is N detection opportunities, then the mask will have bits 2^0 through 2^(N-1) on.

References mEstablishTrackMask.

Referenced by WsfDefaultSensorTracker::TargetDetected(), and WsfDefaultSensorTracker::TargetUndetected().

◆ EstablishTrackProbability()

double WsfSensorMode::EstablishTrackProbability ( ) const
inline

Return the probability that a track will actually be established given than the M/N establish track criteria has been met.

References mEstablishTrackProbability.

Referenced by WsfDefaultSensorTracker::TargetDetected().

◆ EstablishTrackWindow()

int WsfSensorMode::EstablishTrackWindow ( ) const
inline

The window size (N) for establishing a track.

References mEstablishTrackWindow.

Referenced by WsfDefaultSensorTracker::TargetUndetected().

◆ GetAltFreqSelectDelay()

virtual double WsfSensorMode::GetAltFreqSelectDelay ( ) const
inlinevirtual

◆ GetAzErrorStdDev()

virtual WSF_DEPRECATED double WsfSensorMode::GetAzErrorStdDev ( )
inlinefinalvirtual

References mAzErrorStdDev.

◆ GetBeamCount()

◆ GetBeamEntry()

◆ GetCueMode()

WsfSensor::SlewMode WsfSensorMode::GetCueMode ( ) const
inline

References mCueMode.

◆ GetDwellTime()

◆ GetElErrorStdDev()

virtual WSF_DEPRECATED double WsfSensorMode::GetElErrorStdDev ( )
inlinefinalvirtual

References mElErrorStdDev.

◆ GetErrorModel() [1/2]

wsf::SensorErrorModelBase * WsfSensorMode::GetErrorModel ( )
inline

References mErrorModelPtr.

◆ GetErrorModel() [2/2]

◆ GetFrameTime()

◆ GetLastAltFreqSelectTime()

virtual double WsfSensorMode::GetLastAltFreqSelectTime ( ) const
inlinevirtual

◆ GetMaximumRange()

double WsfSensorMode::GetMaximumRange ( ) const
inline

Return the optimistic maximum range of the sensor mode.

References mMaximumRange.

◆ GetMaximumRequestCount()

int WsfSensorMode::GetMaximumRequestCount ( ) const
inline

Return the maximum number of cued-search or tracking requests the mode can support.

References mMaximumRequestCount.

Referenced by WsfSensor::SelectMode(), WsfSensor::TurnOn(), and WsfDisInterface::UpdateSystemFromSensor().

◆ GetMessageLength()

int WsfSensorMode::GetMessageLength ( ) const
inline

Return the logical length (int bits) of report messages that originate from this sensor mode.

References mMessageLength.

Referenced by WsfSensor::SetMessageParameters().

◆ GetMessagePriority()

int WsfSensorMode::GetMessagePriority ( ) const
inline

Return the priority of report messages that originate from this sensor mode.

References mMessagePriority.

Referenced by WsfSensor::SetMessageParameters().

◆ GetOnFailureModeIndex()

size_t WsfSensorMode::GetOnFailureModeIndex ( ) const
inline

Return the mode list index of the mode to be used after dropping a track.

Returns
The mode list index of the next mode to be used. This will either be the index for the new mode or the index for the current mode (the value of GetModeIndex()) if 'on_failure' has not been defined.
Note
This is valid only after Initialize() has been called.

References mOnFailureModeIndex.

Referenced by WsfDefaultSensorTracker::TargetDetected(), and WsfDefaultSensorTracker::TargetUndetected().

◆ GetOnSuccessModeIndex()

size_t WsfSensorMode::GetOnSuccessModeIndex ( ) const
inline

Return the mode list index of the mode to be used after declaring a track or a successful mode switch;

Returns
The mode list index of the next mode to be used. This will either be the index for the new mode or the index for the current mode (the value of GetModeIndex()) if 'on_success' has not been defined.
Note
This is valid only after Initialize() has been called.

References mOnSuccessModeIndex.

Referenced by WsfDefaultSensorTracker::TargetDetected().

◆ GetPlatform()

WsfPlatform * WsfSensorMode::GetPlatform ( ) const
inline

◆ GetRangeErrorStdDev()

virtual WSF_DEPRECATED double WsfSensorMode::GetRangeErrorStdDev ( )
inlinefinalvirtual

References mRangeErrorStdDev.

◆ GetRangeRateErrorStdDev()

virtual WSF_DEPRECATED double WsfSensorMode::GetRangeRateErrorStdDev ( )
inlinefinalvirtual

References mRangeRateErrorStdDev.

◆ GetReportingFlags()

unsigned int WsfSensorMode::GetReportingFlags ( ) const
inline

Accessors for the reporting flags.

References mReportingFlags.

Referenced by Initialize().

◆ GetRequiredPd()

double WsfSensorMode::GetRequiredPd ( ) const
inline

Return the Pd required for detection. This is only meaningful for sensors that do not employ binary (0/1) detectors.

References mRequiredPd.

Referenced by WsfSensor::GetRequiredPd(), wsf::DetectionProbabilityTable::Initialize(), and wsf::MarcumSwerling::Initialize().

◆ GetRevisitTime()

double WsfSensorMode::GetRevisitTime ( ) const
inline

◆ GetScenario()

const WsfScenario & WsfSensorMode::GetScenario ( ) const

◆ GetSensor()

WsfSensor * WsfSensorMode::GetSensor ( ) const
inline

Return the pointer to the sensor with which this mode is associated.

References mSensorPtr.

Referenced by WsfPassiveSensor::PassiveMode::AddInteractor(), WsfAcousticSensor::AcousticMode::ApplyFilterWeighting(), wsf::AbsoluteSensorErrorModel::ApplyMeasurementErrors(), wsf::StandardSensorErrorModel::ApplyMeasurementErrors(), WsfAcousticSensor::AcousticMode::AttemptToDetect(), WsfBeamDirector::WsfBeamDirectorMode::AttemptToDetect(), WsfCompositeSensor::CompositeMode::AttemptToDetect(), WsfGeometricSensor::GeometricMode::AttemptToDetect(), WsfLADAR_Sensor::LADAR_Mode::AttemptToDetect(), WsfLADAR_Sensor::LADAR_Mode::AttemptToDetect(), WsfOpticalSensor::OpticalMode::AttemptToDetect(), WsfOTH_RadarSensor::OTH_Mode::AttemptToDetect(), WsfPassiveSensor::PassiveMode::AttemptToDetect(), WsfRadarSensor::RadarMode::AttemptToDetect(), WsfSAR_Sensor::SAR_Mode::AttemptToDetect(), WsfSOSM_Sensor::SOSM_Mode::AttemptToDetect(), WsfSurfaceWaveRadarSensor::RadarMode::AttemptToDetect(), WsfSurfaceWaveRadarSensor::RadarMode::AttemptToDetect(), WsfEOIR_IRST_SensorMode::BeginDetectionAttempt(), WsfPassiveSensor::PassiveMode::CanDetect(), WsfSAR_Sensor::SAR_Mode::ComputeCNR(), WsfSAR_Sensor::SAR_Mode::ComputeFOV(), WsfSAR_Sensor::SAR_Mode::ComputeGeometry(), wsf::AbsoluteSensorErrorModel::ComputeMeasurementErrors(), WsfPassiveSensor::PassiveMode::PassiveErrorModel::ComputeMeasurementErrors(), ComputeMeasurementErrors(), WsfSAR_Sensor::SAR_Mode::ComputeUpdateInterval(), WsfBeamDirector::WsfBeamDirectorMode::CreateImageFromResult(), WsfBeamDirector::WsfBeamDirectorMode::CreateTrackFromResult(), WsfBeamDirector::WsfBeamDirectorMode::Deselect(), WsfOTH_RadarSensor::OTH_Mode::Deselect(), WsfRadarSensor::RadarMode::Deselect(), WsfPassiveSensor::PassiveMode::EmitterActiveCallback(), WsfEOIR_IRST_SensorMode::EndDetectionAttempt(), WsfFalseTargetScreener::Find(), WsfBeamDirector::WsfBeamDirectorMode::GetImage(), WsfSensor::GetRequiredPd(), WsfSOSM_Interface::GetSensorType(), WsfAcousticSensor::AcousticMode::GroundEffectAttenuation(), wsf::OTH_RadarSensorErrorModel::Initialize(), wsf::RadarSensorErrorModel::Initialize(), wsf::SurfaceWaveRadarSensorErrorModel::Initialize(), WsfAcousticSensor::AcousticMode::Initialize(), WsfBeamDirector::WsfBeamDirectorMode::Initialize(), WsfCTD_SensorComponent::Initialize(), WsfEOIR_IRST_SensorMode::Initialize(), WsfEW_SensorComponent::Initialize(), WsfSAR_Sensor::SAR_Mode::Initialize(), WsfSAR_Sensor::SAR_Mode::SAR_ErrorModel::Initialize(), WsfTRIMSIM_ErrorModel::Initialize(), WsfEW_FalseTargetEffect::InitializeFT(), InitializeReporting(), WsfCompositeSensor::CompositeMode::InitializeTrack(), InitializeTrack(), WsfBeamDirector::WsfBeamDirectorMode::PointAtTargetUpdate(), WsfBeamDirector::WsfBeamDirectorMode::PointAtWCS(), WsfFusionCenter::PrintFuserState(), WsfSensorBeam::ProcessInput(), ProcessInput(), WsfEW_SensorComponent::ProcessModeInput(), WsfMoonLOS_SensorComponent::ProcessModeInput(), WsfPassiveSensor::PassiveMode::RemoveInteractor(), WsfBeamDirector::WsfBeamDirectorMode::Select(), WsfEOIR_Sensor::EOIR_Mode::Select(), WsfOTH_RadarSensor::OTH_Mode::Select(), WsfPassiveSensor::PassiveMode::Select(), WsfRadarSensor::RadarMode::Select(), WsfOTH_RadarSensor::OTH_Mode::SelectAlternateFrequency(), WsfRadarSensor::RadarMode::SelectAlternateFrequency(), WsfDefaultSensorTracker::TargetDetected(), WsfDefaultSensorTracker::TargetUndetected(), WsfEW_SensorComponent::TrackerAllowTracking(), WsfEW_AgilityEffect::UpdateEffects(), WsfEW_FalseTargetEffect::UpdateFT(), UpdateSensorCueingLimits(), WsfPassiveSensor::PassiveMode::UpdateTrack(), and UpdateTrack().

◆ GetSimulation()

WsfSimulation * WsfSensorMode::GetSimulation ( ) const

◆ GetTrackQuality()

◆ HitsToEstablishTrack()

int WsfSensorMode::HitsToEstablishTrack ( ) const
inline

The number of hits (M) within the window (N) that are required to establish a track.

References mHitsToEstablishTrack.

Referenced by WsfDefaultSensorTracker::TargetDetected(), and WsfDefaultSensorTracker::TargetUndetected().

◆ HitsToMaintainTrack()

int WsfSensorMode::HitsToMaintainTrack ( ) const
inline

The number of hits (M) within the window (N) that are required to maintain a track.

References mHitsToMaintainTrack.

Referenced by WsfDefaultSensorTracker::TargetDeleted(), WsfDefaultSensorTracker::TargetSkipped(), and WsfDefaultSensorTracker::TargetUndetected().

◆ Initialize()

bool WsfSensorMode::Initialize ( double aSimTime)
virtual

Initialize the sensor mode.

Parameters
aSimTimeThe current simulation time.
Returns
'true' if the mode was successfully initialize or 'false' if not.

Reimplemented in WsfAcousticSensor::AcousticMode, WsfBeamDirector::WsfBeamDirectorMode, WsfCompositeSensor::CompositeMode, WsfEOIR_IRST_SensorMode, WsfEOIR_Sensor::EOIR_Mode, WsfGeometricSensor::GeometricMode, WsfIRST_Sensor::IRST_Mode, WsfLADAR_Sensor::LADAR_Mode, WsfLaserDesignator::LaserDesignationMode, WsfLaserTracker::LaserTrackMode, WsfOpticalSensor::OpticalMode, WsfOTH_RadarSensor::OTH_Mode, WsfPassiveSensor::PassiveMode, WsfRadarSensor::RadarMode, WsfSAR_Sensor::SAR_Mode, WsfSOSM_Sensor::SOSM_Mode, and WsfSurfaceWaveRadarSensor::RadarMode.

References WsfModeList::GetModeByName(), WsfModeList::GetModeCount(), WsfMode::GetModeIndex(), WsfNamed::GetName(), GetReportingFlags(), InitializeReporting(), wsf::StandardSensorErrorModel::Sigmas::mAzErrorStdDev, mAzErrorStdDev, mCanSearchWhileTrack, mDisablesSearch, wsf::StandardSensorErrorModel::Sigmas::mElErrorStdDev, mElErrorStdDev, mErrorModelPtr, mFrameTime, mMaximumRequestCount, mOnFailureModeIndex, mOnFailureModeName, mOnSuccessModeIndex, mOnSuccessModeName, mPlatformPtr, wsf::StandardSensorErrorModel::Sigmas::mRangeErrorStdDev, mRangeErrorStdDev, wsf::StandardSensorErrorModel::Sigmas::mRangeRateErrorStdDev, mRangeRateErrorStdDev, mRevisitTime, mSensorPtr, ok, and WsfMode::WsfModeList.

Referenced by Clone(), WsfAcousticSensor::AcousticMode::Initialize(), WsfBeamDirector::WsfBeamDirectorMode::Initialize(), WsfCompositeSensor::CompositeMode::Initialize(), WsfEOIR_IRST_SensorMode::Initialize(), WsfGeometricSensor::GeometricMode::Initialize(), WsfLADAR_Sensor::LADAR_Mode::Initialize(), WsfLaserDesignator::LaserDesignationMode::Initialize(), WsfLaserTracker::LaserTrackMode::Initialize(), WsfOpticalSensor::OpticalMode::Initialize(), WsfOTH_RadarSensor::OTH_Mode::Initialize(), WsfPassiveSensor::PassiveMode::Initialize(), WsfRadarSensor::RadarMode::Initialize(), WsfSAR_Sensor::SAR_Mode::Initialize(), WsfSOSM_Sensor::SOSM_Mode::Initialize(), and WsfSurfaceWaveRadarSensor::RadarMode::Initialize().

◆ InitializeReporting()

◆ InitializeTrack()

void WsfSensorMode::InitializeTrack ( double aSimTime,
WsfTrack *& aTrackPtr )
virtual

Initialize a new track.

This method is called to initialize a new track. A new track number is assigned and all fields in the track are set to their initial state.

Parameters
aSimTimeThe current simulation time.
aTrackPtrA reference to a pointer to the track to be initialized. A track will be created if the pointer is null.

Reimplemented in WsfCompositeSensor::CompositeMode.

References WsfTrack::cUNFILTERED_SENSOR, WsfNamed::GetNameId(), GetPlatform(), GetSensor(), GetSimulation(), WsfTrack::Initialize(), mReportsSpatialDomain, mTrackQuality, ReportsBearing(), ReportsElevation(), ReportsLocation(), ReportsRange(), ReportsRangeRate(), ReportsSide(), ReportsSignalToNoise(), ReportsType(), ReportsVelocity(), WsfTrack::SetMessageDataTag(), WsfTrack::SetSensorModeId(), WsfTrack::SetSignalToNoiseValid(), WsfMeasurement::SetSpatialDomain(), and WsfTrack::SetTrackQuality().

Referenced by WsfSensorTracker::InitializeTrackP(), WsfEOIR_Sensor::NotifyObservers(), Select(), and WsfEW_SensorComponent::TrackerInitializeTrack().

◆ IsAltFreqChangeScheduled()

virtual bool WsfSensorMode::IsAltFreqChangeScheduled ( ) const
inlinevirtual

◆ IsFrequencyAgile()

virtual bool WsfSensorMode::IsFrequencyAgile ( ) const
inlinevirtual

◆ MaintainTrackMask()

unsigned int WsfSensorMode::MaintainTrackMask ( ) const
inline

A bit mask that defines the track maintain window. If the window is N detection opportunities, then the mask will have bits 2^0 through 2^(N-1) on.

References mMaintainTrackMask.

Referenced by WsfDefaultSensorTracker::TargetDeleted(), and WsfDefaultSensorTracker::TargetSkipped().

◆ MaintainTrackProbability()

double WsfSensorMode::MaintainTrackProbability ( ) const
inline

Return the probability that a track will actually be maintained given that the M/N maintain track criteria has been met.

References mMaintainTrackProbability.

Referenced by WsfDefaultSensorTracker::TargetDetected().

◆ MaintainTrackWindow()

int WsfSensorMode::MaintainTrackWindow ( ) const
inline

The window size (N) for maintaining a track.

References mMaintainTrackWindow.

Referenced by WsfDefaultSensorTracker::TargetUndetected().

◆ operator=()

◆ ProcessInput()

bool WsfSensorMode::ProcessInput ( UtInput & aInput)
overridevirtual

Reimplemented from WsfMode.

References cNONE, WsfArticulatedPart::cSLEW_AZ, WsfArticulatedPart::cSLEW_AZ_EL, WsfArticulatedPart::cSLEW_EL, WsfArticulatedPart::cSLEW_FIXED, WsfScenario::FromInput(), WsfUtil::GenerateBitMask(), WsfSensorErrorModelTypes::Get(), WsfSensor::GetComponents(), WsfNamed::GetNameId(), GetSensor(), GetSimulation(), WsfComponentList::HasComponents(), mAzCueRate, mCanSearchWhileTrack, mCueMode, mDisablesSearch, mDwellTime, mElCueRate, mErrorModelPtr, mEstablishTrackMask, mEstablishTrackProbability, mEstablishTrackWindow, mFrameTime, mHitsToEstablishTrack, mHitsToMaintainTrack, mMaintainTrackMask, mMaintainTrackProbability, mMaintainTrackWindow, mMaxAzCue, mMaxElCue, mMaximumRequestCount, mMessageLength, mMessagePriority, mMinAzCue, mMinElCue, mOnFailureModeName, mOnSuccessModeName, mReportingFlags, mReportsSpatialDomain, mRequiredPd, mRevisitTime, mSensorPtr, mTrackQuality, WsfMode::ProcessInput(), and WSF_SPATIAL_DOMAIN_UNKNOWN.

Referenced by WsfAcousticSensor::AcousticMode::ProcessInput(), WsfBeamDirector::WsfBeamDirectorMode::ProcessInput(), WsfCompositeSensor::CompositeMode::ProcessInput(), WsfEOIR_IRST_SensorMode::ProcessInput(), WsfGeometricSensor::GeometricMode::ProcessInput(), WsfLADAR_Sensor::LADAR_Mode::ProcessInput(), WsfLaserDesignator::LaserDesignationMode::ProcessInput(), WsfLaserTracker::LaserTrackMode::ProcessInput(), WsfOpticalSensor::OpticalMode::ProcessInput(), WsfOTH_RadarSensor::OTH_Mode::ProcessInput(), WsfPassiveSensor::PassiveMode::ProcessInput(), WsfRadarSensor::RadarMode::ProcessInput(), WsfSAR_Sensor::SAR_Mode::ProcessInput(), WsfSOSM_Sensor::SOSM_Mode::ProcessInput(), and WsfSurfaceWaveRadarSensor::RadarMode::ProcessInput().

◆ ReportsBearing()

◆ ReportsElevation()

◆ ReportsFrequency()

bool WsfSensorMode::ReportsFrequency ( ) const
inline

◆ ReportsIFF_Status()

bool WsfSensorMode::ReportsIFF_Status ( ) const
inline

References mReportingFlags.

Referenced by UpdateTrack().

◆ ReportsLocation()

◆ ReportsPulseRepititionInterval()

bool WsfSensorMode::ReportsPulseRepititionInterval ( ) const
inline

◆ ReportsPulseWidth()

bool WsfSensorMode::ReportsPulseWidth ( ) const
inline

◆ ReportsRange()

◆ ReportsRangeRate()

◆ ReportsSide()

bool WsfSensorMode::ReportsSide ( ) const
inline

◆ ReportsSignalToNoise()

bool WsfSensorMode::ReportsSignalToNoise ( ) const
inline

◆ ReportsType()

bool WsfSensorMode::ReportsType ( ) const
inline

◆ ReportsVelocity()

bool WsfSensorMode::ReportsVelocity ( ) const
inline

◆ ScheduleAltFreqChange()

virtual void WsfSensorMode::ScheduleAltFreqChange ( double aSimTime,
int aAltFreqId = -1 )
inlinevirtual

◆ Select()

◆ SelectAlternateFrequency()

virtual void WsfSensorMode::SelectAlternateFrequency ( double aSimTime,
int aAltFreqId = -1 )
inlineprotectedvirtual

◆ SetAzErrorStdDev()

void WsfSensorMode::SetAzErrorStdDev ( double aAzErrorStdDev)
finalvirtual

References mAzErrorStdDev, and mErrorModelPtr.

◆ SetCapabilities()

◆ SetElErrorStdDev()

void WsfSensorMode::SetElErrorStdDev ( double aElErrorStdDev)
finalvirtual

References mElErrorStdDev, and mErrorModelPtr.

◆ SetErrorModel()

◆ SetFrameTime()

void WsfSensorMode::SetFrameTime ( double aFrameTime)
inline

References mFrameTime.

◆ SetRangeErrorStdDev()

void WsfSensorMode::SetRangeErrorStdDev ( double aRangeErrorStdDev)
finalvirtual

◆ SetRangeRateErrorStdDev()

void WsfSensorMode::SetRangeRateErrorStdDev ( double aRangeRateErrorStdDev)
finalvirtual

◆ SetReportingFlags()

void WsfSensorMode::SetReportingFlags ( unsigned int aFlags)
inlineprotected

References mReportingFlags.

◆ UpdateSensorCueingLimits()

void WsfSensorMode::UpdateSensorCueingLimits ( )
virtual

◆ UpdateTrack()

void WsfSensorMode::UpdateTrack ( double aSimTime,
WsfTrack * aTrackPtr,
WsfPlatform * aTargetPtr,
WsfSensorResult & aResult )
virtual

Update a track with the results from the current detection.

Parameters
aSimTimeThe current simulation time.
aTrackPtrA pointer to the track to be updated.
aTargetPtrPointer to the target.
aResultThe results of the current detection attempt

Reimplemented in WsfCompositeSensor::CompositeMode, WsfOTH_RadarSensor::OTH_Mode, and WsfPassiveSensor::PassiveMode.

References WsfEM_XmtrRcvr::GetAntenna(), WsfPlatform::GetCategories(), WsfCategoryList::GetCategoryList(), WsfPlatform::GetIndex(), WsfPlatform::GetLocationErrorWCS(), WsfEM_Antenna::GetLocationWCS(), WsfNamed::GetNameId(), WsfObject::GetNameId(), WsfEM_XmtrRcvr::GetPlatform(), GetPlatform(), WsfEM_Interaction::GetReceiver(), GetSensor(), WsfPlatform::GetSideId(), GetSimulation(), WsfMeasurement::GetSpatialDomain(), WsfPlatform::GetSpatialDomain(), WsfObject::GetTypeId(), WsfEM_Interaction::LocationData::mIsValid, WsfEM_Interaction::LocationData::mLocWCS, WsfSensorResult::mMeasurement, WsfEM_Interaction::mRcvrLoc, WsfEM_Interaction::mRcvrToTgt, mSensorPtr, WsfEM_Interaction::mSignalToNoise, WsfEM_Interaction::RelativeData::mTrueUnitVecWCS, ReportsIFF_Status(), WsfTrack::SetIFF_Status(), WsfTrack::SetMessageDataTag(), WsfTrack::SetSensorModeId(), WsfTrack::SetSignalToNoise(), WsfMeasurement::SetSpatialDomain(), WsfTrack::SetTargetIndex(), WsfTrack::SetTargetName(), WsfTrack::SetTargetType(), WsfTrack::SignalToNoiseValid(), WsfTrack::Update(), WsfSensorComponent::UpdateTrack(), UpdateTrackPosition(), UpdateTrackReportingFlags(), and WSF_SPATIAL_DOMAIN_UNKNOWN.

Referenced by WsfEOIR_Sensor::NotifyObservers(), Select(), WsfOTH_RadarSensor::OTH_Mode::UpdateTrack(), WsfPassiveSensor::PassiveMode::UpdateTrack(), and WsfSensorTracker::UpdateTrackP().

◆ UpdateTrackPosition()

void WsfSensorMode::UpdateTrackPosition ( WsfTrack * aTrackPtr,
WsfSensorResult & aResult,
const double aTgtLocationWCS[3] )

Update a track with new position information from the current detection.

Parameters
aTrackPtrA pointer to the track to be updated.
aResult[input] The results of the sensing chance.
aTgtLocationWCSNew location specified for this track.
Note
Errors for range, bearing, elevation, and measurement covariance will also be set as appropriate.

References WsfEM_Antenna::ConvertWCS_ToNED(), WsfEM_XmtrRcvr::GetAntenna(), WsfPlatform::GetLocationErrorWCS(), GetPlatform(), WsfEM_Interaction::GetReceiver(), WsfTrack::GetUpdateTime(), WsfTrack::Is3D(), WsfSensorResult::mMeasurement, and WsfTrack::Set3D().

Referenced by UpdateTrack().

◆ UpdateTrackReportingFlags()

void WsfSensorMode::UpdateTrackReportingFlags ( double aSimTime,
WsfTrack * aTrackPtr )
virtual

Update the reported data flags in a track.

This is called by UpdateTrack() prior to applying the sensor detection results to the track. The function of the method is to set the flags in the track that indicate what data is 'valid'. UpdateTrack() uses the flags to decide what data from the sensor detection results is to be pushed into the track.

A base class may override this method to provide the ability to dynamically change the reporting abilities. The default method simply sets the reporting flags from the mode.

Parameters
aSimTimeThe current simulation time.
aTrackPtrThe track whose reporting flags are to be updated.
Note
In general, the base class should call this method.

Reimplemented in WsfPassiveSensor::PassiveMode, and WsfSOSM_Sensor::SOSM_Mode.

References mReportsSpatialDomain, ReportsBearing(), ReportsElevation(), ReportsLocation(), ReportsRange(), ReportsRangeRate(), ReportsSide(), ReportsSignalToNoise(), ReportsType(), ReportsVelocity(), WsfTrack::SetSignalToNoiseValid(), and WsfMeasurement::SetSpatialDomain().

Referenced by Select(), UpdateTrack(), WsfPassiveSensor::PassiveMode::UpdateTrackReportingFlags(), and WsfSOSM_Sensor::SOSM_Mode::UpdateTrackReportingFlags().

◆ WithinDetectionRange()

bool WsfSensorMode::WithinDetectionRange ( double aSimTime,
WsfPlatform * aTargetPtr )
virtual

Perform a very conservative check to see if the target is within the detection range of the sensor.

This method performs a very conservative check to see if the target is within the detection range of the sensor. It should can be called by the before attempting to update the targets position to the current time. It will make a quick estimate of the targets current location based on the last known location and then check to see if that location is somewhat close to the detection range of the sensor.

Judicious use of this method can reduce computation time.

Parameters
aSimTimeThe current simulation time.
aTargetPtrThe target in question.
Returns
true if there is even a remote possibility that the target is within range of the sensor.

References mMaximumRange, mPlatformPtr, and WsfUtil::PotentiallyWithinRange().

Referenced by WsfOTH_RadarSensor::PerformScheduledDetections(), WsfRadarSensor::PerformScheduledDetections(), WsfSensor::PerformScheduledDetections(), Select(), and WsfEOIR_Sensor::Update().

◆ WsfSensorModeList

friend class WsfSensorModeList
friend

References WsfSensorMode(), and WsfSensorModeList.

Referenced by WsfSensorModeList.

Member Data Documentation

◆ cALL

◆ cBEARING

const unsigned int WsfSensorMode::cBEARING = 8
staticprotected

◆ cELEVATION

const unsigned int WsfSensorMode::cELEVATION = 16
staticprotected

◆ cFREQUENCY

◆ cIFF_STATUS

const unsigned int WsfSensorMode::cIFF_STATUS = 256
staticprotected

◆ cLOCATION

const unsigned int WsfSensorMode::cLOCATION = 1
staticprotected

◆ cNONE

const unsigned int WsfSensorMode::cNONE = 0
staticprotected

The following are flags/masks meant to be combined and used in the SetCapabilities method.

Referenced by ProcessInput().

◆ cOTHER

const unsigned int WsfSensorMode::cOTHER = 16384
staticprotected

◆ cPULSE_REPITITION_INTERVAL

◆ cPULSEWIDTH

◆ cRANGE

const unsigned int WsfSensorMode::cRANGE = 4
staticprotected

◆ cRANGE_RATE

const unsigned int WsfSensorMode::cRANGE_RATE = 32
staticprotected

◆ cSIDE

const unsigned int WsfSensorMode::cSIDE = 64
staticprotected

◆ cSIGNAL_TO_NOISE

const unsigned int WsfSensorMode::cSIGNAL_TO_NOISE = 512
staticprotected

◆ cSTATE_COVARIANCE

const unsigned int WsfSensorMode::cSTATE_COVARIANCE = 8192
staticprotected

◆ cTYPE

const unsigned int WsfSensorMode::cTYPE = 128
staticprotected

◆ cVELOCITY

const unsigned int WsfSensorMode::cVELOCITY = 2
staticprotected

◆ mAzCueRate

double WsfSensorMode::mAzCueRate
protected

Mode-specific cueing rates and limits. These limits are in addition the slew rates and limits of the sensor. They are typically used to disable or otherwise limit cueing in a particular direction.

Referenced by operator=(), ProcessInput(), UpdateSensorCueingLimits(), WsfSensorMode(), and WsfSensorMode().

◆ mAzErrorStdDev

double WsfSensorMode::mAzErrorStdDev
protected

Azimuth error standard deviation. If positive then it is in radians. If negative then it is the negative 'percent_of_true_range' specification.

Referenced by ComputeMeasurementErrors(), GetAzErrorStdDev(), Initialize(), operator=(), SetAzErrorStdDev(), WsfSensorMode(), and WsfSensorMode().

◆ mCanSearchWhileTrack

bool WsfSensorMode::mCanSearchWhileTrack
protected

Can this mode continue to search while it is also tracking? This has applicability only if this mode has tracking capabilities (maximum_request_count > 0). If 'true' then this mode can perform search attempts while it is also performing tracking requests. If 'false' then submitting any tracking request to the mode will prevent it from performing search requests.

This value is forced to 'true' if maximum_request_count = 0.

Referenced by CanSearchWhileTrack(), Initialize(), operator=(), ProcessInput(), WsfSensorMode(), and WsfSensorMode().

◆ mCapabilitiesFlags

ReportingFlags WsfSensorMode::mCapabilitiesFlags
protected

◆ mCueMode

◆ mDisablesSearch

bool WsfSensorMode::mDisablesSearch
protected

Does this mode prevent another mode from searching. If 'true' then using this mode will prevent this or any other active mode from performing searches. If 'false' then search attempts are interleaved to the extent possible.

This value is forced to 'false' if maximum_request_count = 0.

Referenced by DisablesSearch(), Initialize(), operator=(), ProcessInput(), WsfSensorMode(), and WsfSensorMode().

◆ mDwellTime

double WsfSensorMode::mDwellTime
protected

◆ mElCueRate

double WsfSensorMode::mElCueRate
protected

◆ mElErrorStdDev

double WsfSensorMode::mElErrorStdDev
protected

Elevation error standard deviation. If positive then it is in radians. If negative then it is the negative 'percent_of_true_range' specification.

Referenced by ComputeMeasurementErrors(), GetElErrorStdDev(), Initialize(), operator=(), SetElErrorStdDev(), WsfSensorMode(), and WsfSensorMode().

◆ mErrorModelPtr

ut::CloneablePtr<wsf::SensorErrorModelBase> WsfSensorMode::mErrorModelPtr {nullptr}
protected

◆ mEstablishTrackMask

unsigned int WsfSensorMode::mEstablishTrackMask
protected

A bit mask that defines the track establish window. If the window is N detection opportunities, then the mask will have bits 2^0 through 2^(N-1) on.

Referenced by EstablishTrackMask(), operator=(), ProcessInput(), WsfSensorMode(), and WsfSensorMode().

◆ mEstablishTrackProbability

double WsfSensorMode::mEstablishTrackProbability
protected

When the M/N establish track criteria is met, this is the probability that a track will be established.

Referenced by EstablishTrackProbability(), operator=(), ProcessInput(), WsfSensorMode(), and WsfSensorMode().

◆ mEstablishTrackWindow

int WsfSensorMode::mEstablishTrackWindow
protected

The window size (N) for establishing a track.

Referenced by EstablishTrackWindow(), operator=(), ProcessInput(), WsfSensorMode(), and WsfSensorMode().

◆ mFrameTime

◆ mHitsToEstablishTrack

int WsfSensorMode::mHitsToEstablishTrack
protected

The number of hits (M) within the window (N) that are required to establish a track.

Referenced by HitsToEstablishTrack(), operator=(), ProcessInput(), WsfSensorMode(), and WsfSensorMode().

◆ mHitsToMaintainTrack

int WsfSensorMode::mHitsToMaintainTrack
protected

The number of hits (M) within the window (N) that are required to maintain a track.

Referenced by HitsToMaintainTrack(), operator=(), ProcessInput(), WsfSensorMode(), and WsfSensorMode().

◆ mMaintainTrackMask

unsigned int WsfSensorMode::mMaintainTrackMask
protected

A bit mask that defines the track maintain window. If the window is N detection opportunities, then the mask will have bits 2^0 through 2^(N-1) on.

Referenced by MaintainTrackMask(), operator=(), ProcessInput(), WsfSensorMode(), and WsfSensorMode().

◆ mMaintainTrackProbability

double WsfSensorMode::mMaintainTrackProbability
protected

As long as the M/N maintain track criteria is met, this is the probability that the track will be maintained.

Referenced by MaintainTrackProbability(), operator=(), ProcessInput(), WsfSensorMode(), and WsfSensorMode().

◆ mMaintainTrackWindow

int WsfSensorMode::mMaintainTrackWindow
protected

The window size (N) for maintaining a track.

Referenced by MaintainTrackWindow(), operator=(), ProcessInput(), WsfSensorMode(), and WsfSensorMode().

◆ mMaxAzCue

double WsfSensorMode::mMaxAzCue
protected

◆ mMaxElCue

double WsfSensorMode::mMaxElCue
protected

◆ mMaximumRange

double WsfSensorMode::mMaximumRange
protected

◆ mMaximumRequestCount

int WsfSensorMode::mMaximumRequestCount
protected

The maximum number of cued search/track requests. A pure search mode will have a maximum request count of 0.

Referenced by GetMaximumRequestCount(), WsfBeamDirector::WsfBeamDirectorMode::Initialize(), Initialize(), operator=(), ProcessInput(), WsfSensorMode(), and WsfSensorMode().

◆ mMessageLength

int WsfSensorMode::mMessageLength
protected

The length of messages originating from this sensor mode.

Referenced by GetMessageLength(), operator=(), ProcessInput(), WsfSensorMode(), and WsfSensorMode().

◆ mMessagePriority

int WsfSensorMode::mMessagePriority
protected

The priority of messages originating from this sensor mode.

Referenced by GetMessagePriority(), operator=(), ProcessInput(), WsfSensorMode(), and WsfSensorMode().

◆ mMinAzCue

double WsfSensorMode::mMinAzCue
protected

◆ mMinElCue

double WsfSensorMode::mMinElCue
protected

◆ mOnFailureModeIndex

size_t WsfSensorMode::mOnFailureModeIndex
protected

◆ mOnFailureModeName

WsfStringId WsfSensorMode::mOnFailureModeName
protected

The name (ID) of the next mode on lost of track. The value is zero if no automatic switch is to be performed.

Referenced by Initialize(), operator=(), ProcessInput(), WsfSensorMode(), and WsfSensorMode().

◆ mOnSuccessModeIndex

size_t WsfSensorMode::mOnSuccessModeIndex
protected

◆ mOnSuccessModeName

WsfStringId WsfSensorMode::mOnSuccessModeName
protected

The name (ID) of the next mode on successful acquisition. The value is zero if no automatic switch is to be performed.

Referenced by Initialize(), operator=(), ProcessInput(), WsfSensorMode(), and WsfSensorMode().

◆ mPlatformPtr

WsfPlatform* WsfSensorMode::mPlatformPtr
protected

Pointer to the platform with which the sensor is associated.

Referenced by GetPlatform(), WsfEOIR_IRST_SensorMode::Initialize(), Initialize(), operator=(), WithinDetectionRange(), WsfSensorMode(), and WsfSensorMode().

◆ mRangeErrorStdDev

double WsfSensorMode::mRangeErrorStdDev
protected

Range error standard deviation. If positive then it is in meters. If negative then it is the negative 'percent_of_true_range' specification.

Referenced by ComputeMeasurementErrors(), GetRangeErrorStdDev(), Initialize(), operator=(), SetRangeErrorStdDev(), WsfSensorMode(), and WsfSensorMode().

◆ mRangeRateErrorStdDev

double WsfSensorMode::mRangeRateErrorStdDev
protected

◆ mReportingFlags

◆ mReportsSpatialDomain

WsfSpatialDomain WsfSensorMode::mReportsSpatialDomain
protected

The spatial domain for tracks reported by this sensor mode. If this value is WSF_SPATIAL_DOMAIN_UNKNOWN then it will report the spatial domain of the platform.

Referenced by InitializeTrack(), operator=(), ProcessInput(), UpdateTrackReportingFlags(), WsfSensorMode(), and WsfSensorMode().

◆ mRequiredPd

double WsfSensorMode::mRequiredPd
protected

The required probability for detection. The default value is -1.0, which indicates the standard 1.0 - GetSimulation()->GetRandom().Uniform() is to be used. If greater than or equal to zero then this is the fixed required Pd required for detection.

Referenced by GetRequiredPd(), operator=(), ProcessInput(), WsfSensorMode(), and WsfSensorMode().

◆ mRevisitTime

double WsfSensorMode::mRevisitTime
protected

◆ mSensorPtr

◆ mTrackQuality

double WsfSensorMode::mTrackQuality
protected

Base line track quality (0..1].

Referenced by GetTrackQuality(), InitializeTrack(), operator=(), ProcessInput(), WsfSensorMode(), and WsfSensorMode().


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