|
WSF
|
#include <WsfSensorMode.hpp>


Classes | |
| class | AltFrequencyChangeEvent |
| struct | ReportingFlags |
Public Member Functions | |
| WsfSensorMode () | |
| WsfSensorMode (const WsfSensorMode &aSrc) | |
| WsfSensorMode & | operator= (const WsfSensorMode &aRhs) |
| ~WsfSensorMode () override | |
| WsfPlatform * | GetPlatform () const |
| Return the pointer to the platform to which the associated sensor is attached. | |
| WsfSensor * | GetSensor () const |
| Return the pointer to the sensor with which this mode is associated. | |
| const WsfScenario & | GetScenario () const |
| WsfSimulation * | GetSimulation () const |
| WsfMode * | Clone () 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 | |
| WsfNamed & | operator= (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. | |
| WsfSensor * | mSensorPtr |
| Pointer to the sensor with which the mode is associated. | |
| WsfPlatform * | mPlatformPtr |
| 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::SensorErrorModelBase > | mErrorModelPtr {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 WsfSensorBeam * | GetBeamEntry (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::SensorErrorModelBase * | GetErrorModel () const |
| wsf::SensorErrorModelBase * | GetErrorModel () |
| 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 |
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.
| 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::WsfSensorMode | ( | const WsfSensorMode & | aSrc | ) |
References 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, WsfMode::WsfMode(), and WsfSensorMode().
|
override |
|
virtual |
Compute and apply measurement errors to the current detection attempt.
| 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().
|
pure virtual |
Attempt to detect the specified target.
| 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. |
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().
|
inline |
Can this mode continue to search while it is also performing tracking requests.
References mCanSearchWhileTrack.
Referenced by WsfDefaultSensorScheduler::CheckSearchModeAvailability(), and WsfPhysicalScanSensorScheduler::CheckSearchModeAvailability().
|
overridepure virtual |
Create an exact duplicate of this mode.
Implements WsfMode.
Implemented in WsfAcousticSensor::AcousticMode, WsfBeamDirector::WsfBeamDirectorMode, WsfCompositeSensor::CompositeMode, WsfEOIR_Sensor::EOIR_Mode, WsfESM_Sensor::ESM_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 GetBeamCount(), GetBeamEntry(), Initialize(), and WsfMode::WsfMode().
|
finalvirtual |
Compute the 'standard' measurement errors.
| 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().
|
overridepure virtual |
The mode is being deselected. The specific implementation should perform whatever actions are associated with deselecting the mode (e.g.: deactivating transmitters or receivers).
| aSimTime | [input] The current simulation time. |
Reimplemented from WsfMode.
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 WsfCompositeSensor::CompositeMode::Deselect(), WsfBeamDirector::PointAtTarget(), and WsfBeamDirector::TurnOff().
|
inline |
Does using this mode prevent this or any other mode from searching?
References mDisablesSearch.
Referenced by WsfDefaultSensorScheduler::CheckSearchModeAvailability(), and WsfPhysicalScanSensorScheduler::CheckSearchModeAvailability().
|
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().
|
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().
|
inline |
The window size (N) for establishing a track.
References mEstablishTrackWindow.
Referenced by WsfDefaultSensorTracker::TargetUndetected().
|
inlinevirtual |
Reimplemented in WsfOTH_RadarSensor::OTH_Mode, and WsfRadarSensor::RadarMode.
Referenced by WsfEW_SensorComponent::Initialize(), and WsfEW_AgilityEffect::UpdateEffects().
|
inlinefinalvirtual |
References mAzErrorStdDev.
|
virtual |
Return the number of beams in the mode. Derived classes should return the number of beams that are defined.
Reimplemented in WsfOTH_RadarSensor::OTH_Mode, WsfPassiveSensor::PassiveMode, WsfRadarSensor::RadarMode, WsfSAR_Sensor::SAR_Mode, and WsfSurfaceWaveRadarSensor::RadarMode.
Referenced by WsfSensorModeList::AddMode(), WsfEW_SensorComponent::AttemptToDetectFalseTarget(), Clone(), WsfEW_SensorComponent::DeselectEP_Technique(), WsfCTD_SensorComponent::Initialize(), WsfEW_SensorComponent::Initialize(), WsfEW_SensorComponent::IsEP_TechniqueActive(), WsfEW_SensorComponent::SelectEP_Technique(), WsfEW_SensorComponent::EW_Mode::UpdateFalseTargetInteractors(), UT_DEFINE_SCRIPT_METHOD(), UT_DEFINE_SCRIPT_METHOD(), and UT_DEFINE_SCRIPT_METHOD().
|
virtual |
Return a pointer to the beam with the specified index. A derived class will return a pointer
| aIndex | The index of the beam to be retrieved. The index is NOT checked for validity. It MUST be in the range [0..GetBeamCount()]. |
Reimplemented in WsfOTH_RadarSensor::OTH_Mode, WsfPassiveSensor::PassiveMode, WsfRadarSensor::RadarMode, WsfSAR_Sensor::SAR_Mode, and WsfSurfaceWaveRadarSensor::RadarMode.
Referenced by WsfSensorModeList::AddMode(), WsfCTD_SensorComponent::AttemptToDetect(), Clone(), WsfEW_SensorComponent::DeselectEP_Technique(), WsfEW_SensorComponent::EW_Beam::DetectJamStrobes(), wsf::DetectionProbabilityTable::Initialize(), wsf::MarcumSwerling::Initialize(), WsfCTD_SensorComponent::Initialize(), WsfEW_SensorComponent::Initialize(), WsfRadarMTD_SignalProcessor::Initialize(), WsfRadarMTI_SignalProcessor::Initialize(), WsfRadarPD_SignalProcessor::Initialize(), WsfEW_SensorComponent::IsEP_TechniqueActive(), WsfEW_SensorComponent::SelectEP_Technique(), and WsfEW_SensorComponent::EW_Mode::UpdateFalseTargetInteractors().
|
inline |
References mCueMode.
|
inline |
References mDwellTime.
Referenced by WsfRadarMTI_AdjSignalProcessor::Initialize(), WsfDefaultSensorScheduler::SelectTarget(), WsfSensorsManagerFovSensorScheduler::TurnOn(), WsfEW_RPJ_Effect::UpdateEffects(), WsfEW_SimpleFT_Effect::UpdateEffects(), WsfEW_FalseTargetEffect::UpdateFT(), WsfEW_FalseTargetEffect::UpdateJammerPulseDensity(), and WsfEW_SimpleFT_Effect::UpdateJammerPulseDensity().
|
inlinefinalvirtual |
References mElErrorStdDev.
|
inline |
References mErrorModelPtr.
|
inline |
References mErrorModelPtr.
Referenced by WsfTRIMSIM_Processor::AttemptToDetect(), WsfEOIR_Sensor::Update(), and WsfTRIMSIM_SensorComponent::UpdateTrack().
|
inline |
References mFrameTime.
Referenced by WsfPassiveSensor::PassiveMode::AttemptToDetect(), WsfSAR_Sensor::SAR_Mode::ComputeUpdateInterval(), WsfEOIR_Sensor::EOIR_Mode::Initialize(), WsfEW_SensorComponent::Initialize(), WsfPassiveSensor::PassiveMode::Initialize(), WsfPhysicalScanSensorScheduler::Initialize(), WsfRadarMTI_AdjSignalProcessor::Initialize(), WsfEOIR_Sensor::EOIR_Mode::Select(), WsfPassiveSensor::PassiveMode::Select(), WsfEventPipeInterface::SendModeActive(), WsfDefaultSensorScheduler::StartTracking(), WsfDefaultSensorScheduler::TrackerModeChange(), WsfSensorsManagerFovSensorScheduler::TurnOn(), WsfEventStepSimulation::TurnPartOn(), WsfEOIR_Sensor::Update(), WsfEW_RPJ_Effect::UpdateEffects(), WsfEW_SimpleFT_Effect::UpdateEffects(), WsfEW_FalseTargetEffect::UpdateFT(), WsfEW_FalseTargetEffect::UpdateJammerPulseDensity(), and WsfEW_SimpleFT_Effect::UpdateJammerPulseDensity().
|
inlinevirtual |
Reimplemented in WsfOTH_RadarSensor::OTH_Mode, and WsfRadarSensor::RadarMode.
Referenced by WsfEW_AgilityEffect::UpdateEffects().
|
inline |
Return the optimistic maximum range of the sensor mode.
References mMaximumRange.
|
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().
|
inline |
Return the logical length (int bits) of report messages that originate from this sensor mode.
References mMessageLength.
Referenced by WsfSensor::SetMessageParameters().
|
inline |
Return the priority of report messages that originate from this sensor mode.
References mMessagePriority.
Referenced by WsfSensor::SetMessageParameters().
|
inline |
Return the mode list index of the mode to be used after dropping a track.
References mOnFailureModeIndex.
Referenced by WsfDefaultSensorTracker::TargetDetected(), and WsfDefaultSensorTracker::TargetUndetected().
|
inline |
Return the mode list index of the mode to be used after declaring a track or a successful mode switch;
References mOnSuccessModeIndex.
Referenced by WsfDefaultSensorTracker::TargetDetected().
|
inline |
Return the pointer to the platform to which the associated sensor is attached.
References mPlatformPtr.
Referenced by WsfEOIR_IRST_SensorMode::BeginDetectionAttempt(), InitializeTrack(), WsfFusionCenter::PrintFuserState(), WsfEW_SensorComponent::TrackerAllowTracking(), UpdateTrack(), and UpdateTrackPosition().
|
inlinefinalvirtual |
References mRangeErrorStdDev.
|
inlinefinalvirtual |
References mRangeRateErrorStdDev.
|
inline |
|
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().
|
inline |
References mRevisitTime.
Referenced by WsfDefaultSensorScheduler::SelectTarget().
| const WsfScenario & WsfSensorMode::GetScenario | ( | ) | const |
References mSensorPtr.
Referenced by WsfSAR_Sensor::SAR_Mode::SAR_ErrorModel::Initialize().
|
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().
| WsfSimulation * WsfSensorMode::GetSimulation | ( | ) | const |
References mSensorPtr.
Referenced by WsfSensorMode::AltFrequencyChangeEvent::Execute(), InitializeTrack(), ProcessInput(), and UpdateTrack().
|
inline |
References mTrackQuality.
Referenced by WsfDefaultSensorTracker::TargetDetected(), WsfEOIR_Sensor::Update(), UT_DEFINE_SCRIPT_METHOD(), UT_DEFINE_SCRIPT_METHOD(), and UT_DEFINE_SCRIPT_METHOD().
|
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().
|
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().
|
virtual |
Initialize the sensor mode.
| aSimTime | The current simulation time. |
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().
|
protected |
References WsfSensorMode::ReportingFlags::Get(), WsfNamed::GetName(), WsfObject::GetName(), WsfPlatformPart::GetPlatform(), GetSensor(), mCapabilitiesFlags, mReportingFlags, WsfSensorMode::ReportingFlags::mReportsBearing, WsfSensorMode::ReportingFlags::mReportsElevation, WsfSensorMode::ReportingFlags::mReportsFrequency, WsfSensorMode::ReportingFlags::mReportsIFF_Status, WsfSensorMode::ReportingFlags::mReportsLocation, WsfSensorMode::ReportingFlags::mReportsOther, WsfSensorMode::ReportingFlags::mReportsPulseRepititionInterval, WsfSensorMode::ReportingFlags::mReportsPulseWidth, WsfSensorMode::ReportingFlags::mReportsRange, WsfSensorMode::ReportingFlags::mReportsRangeRate, WsfSensorMode::ReportingFlags::mReportsSide, WsfSensorMode::ReportingFlags::mReportsSignalToNoise, WsfSensorMode::ReportingFlags::mReportsType, WsfSensorMode::ReportingFlags::mReportsVelocity, and ok.
Referenced by Initialize().
|
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.
| aSimTime | The current simulation time. |
| aTrackPtr | A 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().
|
inlinevirtual |
Reimplemented in WsfOTH_RadarSensor::OTH_Mode, and WsfRadarSensor::RadarMode.
Referenced by WsfEW_AgilityEffect::UpdateEffects().
|
inlinevirtual |
Reimplemented in WsfOTH_RadarSensor::OTH_Mode, and WsfRadarSensor::RadarMode.
Referenced by WsfEW_FalseTargetEffect::UpdateFT().
|
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().
|
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().
|
inline |
The window size (N) for maintaining a track.
References mMaintainTrackWindow.
Referenced by WsfDefaultSensorTracker::TargetUndetected().
| WsfSensorMode & WsfSensorMode::operator= | ( | const WsfSensorMode & | aRhs | ) |
References 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, WsfNamed::operator=(), and WsfSensorMode().
Referenced by WsfCompositeSensor::CompositeMode::operator=(), WsfCompositeSensor::CompositeMode::operator=(), WsfGeometricSensor::GeometricMode::operator=(), WsfPassiveSensor::PassiveMode::operator=(), and WsfRadarSensor::RadarMode::operator=().
|
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().
|
inline |
|
inline |
|
inline |
References mReportingFlags.
Referenced by WsfPassiveSensor::PassiveMode::AttemptToDetect(), and WsfPassiveSensor::PassiveMode::UpdateTrack().
|
inline |
References mReportingFlags.
Referenced by UpdateTrack().
|
inline |
|
inline |
References mReportingFlags.
Referenced by WsfPassiveSensor::PassiveMode::AttemptToDetect().
|
inline |
References mReportingFlags.
Referenced by WsfPassiveSensor::PassiveMode::AttemptToDetect().
|
inline |
|
inline |
|
inline |
References mReportingFlags.
Referenced by InitializeTrack(), and UpdateTrackReportingFlags().
|
inline |
References mReportingFlags.
Referenced by WsfEW_SensorComponent::Initialize(), InitializeTrack(), and UpdateTrackReportingFlags().
|
inline |
References mReportingFlags.
Referenced by InitializeTrack(), WsfPassiveSensor::PassiveMode::UpdateTrack(), and UpdateTrackReportingFlags().
|
inline |
References mReportingFlags.
Referenced by UCI_Util::GetKinematics(), InitializeTrack(), and UpdateTrackReportingFlags().
|
inlinevirtual |
Reimplemented in WsfOTH_RadarSensor::OTH_Mode, and WsfRadarSensor::RadarMode.
Referenced by WsfEW_AgilityEffect::UpdateEffects().
|
overridepure virtual |
The mode is being activated. The specific implementation should perform whatever actions are associated with selecting the mode (e.g.: activating transmitters or receivers).
| aSimTime | [input] The current simulation time. |
Reimplemented from WsfMode.
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.
References ApplyMeasurementErrors(), ComputeMeasurementErrors(), InitializeTrack(), UpdateSensorCueingLimits(), UpdateTrack(), UpdateTrackReportingFlags(), and WithinDetectionRange().
Referenced by WsfCompositeSensor::CompositeMode::Select().
|
inlineprotectedvirtual |
Reimplemented in WsfOTH_RadarSensor::OTH_Mode, and WsfRadarSensor::RadarMode.
|
finalvirtual |
References mAzErrorStdDev, and mErrorModelPtr.
|
inlineprotected |
References mCapabilitiesFlags.
Referenced by WsfAcousticSensor::AcousticMode::AcousticMode(), WsfGeometricSensor::GeometricMode::GeometricMode(), WsfBeamDirector::WsfBeamDirectorMode::Initialize(), WsfLADAR_Sensor::LADAR_Mode::LADAR_Mode(), WsfOpticalSensor::OpticalMode::OpticalMode(), WsfOTH_RadarSensor::OTH_Mode::OTH_Mode(), and WsfEOIR_IRST_SensorMode::WsfEOIR_IRST_SensorMode().
|
finalvirtual |
References mElErrorStdDev, and mErrorModelPtr.
|
inline |
References mErrorModelPtr.
Referenced by WsfCompositeSensor::CompositeMode::CompositeMode(), WsfCompositeSensor::CompositeMode::CompositeMode(), WsfEOIR_Sensor::EOIR_Mode::EOIR_Mode(), WsfCompositeSensor::CompositeMode::operator=(), WsfOTH_RadarSensor::OTH_Mode::OTH_Mode(), WsfPassiveSensor::PassiveMode::PassiveMode(), WsfRadarSensor::RadarMode::RadarMode(), and WsfSAR_Sensor::SAR_Mode::SAR_Mode().
|
inline |
References mFrameTime.
|
finalvirtual |
References mErrorModelPtr, and mRangeErrorStdDev.
|
finalvirtual |
References mErrorModelPtr, and mRangeRateErrorStdDev.
|
inlineprotected |
References mReportingFlags.
|
virtual |
Update the sensor cueing limits from the mode cueing limits. This is called by WsfSensor::AttemptToDetect immediately before calling WsfSensorMode::AttempToDetect. It modifies the sensor cueing limits to be the same as the mode cueing limits.
References GetSensor(), mAzCueRate, mCueMode, mElCueRate, mMaxAzCue, mMaxElCue, mMinAzCue, mMinElCue, WsfArticulatedPart::SetAzCueLimits(), WsfArticulatedPart::SetCueMode(), WsfArticulatedPart::SetCueRates(), and WsfArticulatedPart::SetElCueLimits().
Referenced by WsfPassiveSensor::AttemptToDetect(), WsfSensor::AttemptToDetect(), WsfPassiveSensor::PassiveMode::CanDetect(), WsfPassiveSensor::PassiveMode::EmitterActiveCallback(), Select(), WsfSensor::SelectMode(), and WsfSensor::TurnOn().
|
virtual |
Update a track with the results from the current detection.
| aSimTime | The current simulation time. |
| aTrackPtr | A pointer to the track to be updated. |
| aTargetPtr | Pointer to the target. |
| aResult | The 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().
| void WsfSensorMode::UpdateTrackPosition | ( | WsfTrack * | aTrackPtr, |
| WsfSensorResult & | aResult, | ||
| const double | aTgtLocationWCS[3] ) |
Update a track with new position information from the current detection.
| aTrackPtr | A pointer to the track to be updated. |
| aResult | [input] The results of the sensing chance. |
| aTgtLocationWCS | New location specified for this track. |
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().
|
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.
| aSimTime | The current simulation time. |
| aTrackPtr | The track whose reporting flags are to be updated. |
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().
|
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.
| aSimTime | The current simulation time. |
| aTargetPtr | The target in question. |
References mMaximumRange, mPlatformPtr, and WsfUtil::PotentiallyWithinRange().
Referenced by WsfOTH_RadarSensor::PerformScheduledDetections(), WsfRadarSensor::PerformScheduledDetections(), WsfSensor::PerformScheduledDetections(), Select(), and WsfEOIR_Sensor::Update().
|
friend |
References WsfSensorMode(), and WsfSensorModeList.
Referenced by WsfSensorModeList.
|
staticprotected |
Catch-all for anything other than the above.
Referenced by WsfAcousticSensor::AcousticMode::AcousticMode(), WsfGeometricSensor::GeometricMode::GeometricMode(), WsfLADAR_Sensor::LADAR_Mode::LADAR_Mode(), WsfOpticalSensor::OpticalMode::OpticalMode(), WsfOTH_RadarSensor::OTH_Mode::OTH_Mode(), WsfSensorMode::ReportingFlags::ReportingFlags(), WsfEOIR_IRST_SensorMode::WsfEOIR_IRST_SensorMode(), and WsfSensorMode().
|
staticprotected |
Referenced by WsfBeamDirector::WsfBeamDirectorMode::Initialize().
|
staticprotected |
Referenced by WsfBeamDirector::WsfBeamDirectorMode::Initialize().
|
staticprotected |
Referenced by WsfAcousticSensor::AcousticMode::AcousticMode(), WsfGeometricSensor::GeometricMode::GeometricMode(), WsfLADAR_Sensor::LADAR_Mode::LADAR_Mode(), WsfOpticalSensor::OpticalMode::OpticalMode(), WsfOTH_RadarSensor::OTH_Mode::OTH_Mode(), and WsfEOIR_IRST_SensorMode::WsfEOIR_IRST_SensorMode().
|
staticprotected |
|
staticprotected |
Referenced by WsfBeamDirector::WsfBeamDirectorMode::Initialize().
|
staticprotected |
The following are flags/masks meant to be combined and used in the SetCapabilities method.
Referenced by ProcessInput().
|
staticprotected |
|
staticprotected |
Referenced by WsfAcousticSensor::AcousticMode::AcousticMode(), WsfGeometricSensor::GeometricMode::GeometricMode(), WsfLADAR_Sensor::LADAR_Mode::LADAR_Mode(), WsfOpticalSensor::OpticalMode::OpticalMode(), WsfOTH_RadarSensor::OTH_Mode::OTH_Mode(), and WsfEOIR_IRST_SensorMode::WsfEOIR_IRST_SensorMode().
|
staticprotected |
Referenced by WsfAcousticSensor::AcousticMode::AcousticMode(), WsfGeometricSensor::GeometricMode::GeometricMode(), WsfLADAR_Sensor::LADAR_Mode::LADAR_Mode(), WsfOpticalSensor::OpticalMode::OpticalMode(), WsfOTH_RadarSensor::OTH_Mode::OTH_Mode(), and WsfEOIR_IRST_SensorMode::WsfEOIR_IRST_SensorMode().
|
staticprotected |
Referenced by WsfBeamDirector::WsfBeamDirectorMode::Initialize().
|
staticprotected |
|
staticprotected |
|
staticprotected |
Referenced by WsfGeometricSensor::GeometricMode::GeometricMode().
|
staticprotected |
|
staticprotected |
Referenced by WsfBeamDirector::WsfBeamDirectorMode::Initialize().
|
staticprotected |
Referenced by WsfBeamDirector::WsfBeamDirectorMode::Initialize().
|
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().
|
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().
|
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().
|
protected |
Referenced by InitializeReporting(), operator=(), SetCapabilities(), WsfSensorMode(), and WsfSensorMode().
|
protected |
Referenced by GetCueMode(), operator=(), ProcessInput(), UpdateSensorCueingLimits(), WsfSensorMode(), and WsfSensorMode().
|
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().
|
protected |
Referenced by GetDwellTime(), operator=(), ProcessInput(), WsfSensorMode(), and WsfSensorMode().
|
protected |
Referenced by operator=(), ProcessInput(), UpdateSensorCueingLimits(), WsfSensorMode(), and WsfSensorMode().
|
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().
|
protected |
The model that calculates and applies errors to sensor detection results.
Referenced by ApplyMeasurementErrors(), WsfSAR_Sensor::SAR_Mode::AttemptToDetect(), ComputeMeasurementErrors(), GetErrorModel(), GetErrorModel(), Initialize(), operator=(), ProcessInput(), WsfSurfaceWaveRadarSensor::RadarMode::ProcessInput(), WsfSAR_Sensor::SAR_Mode::SAR_Mode(), WsfSAR_Sensor::SAR_Mode::SAR_Mode(), SetAzErrorStdDev(), SetElErrorStdDev(), SetErrorModel(), SetRangeErrorStdDev(), SetRangeRateErrorStdDev(), WsfSensorMode(), and WsfSensorMode().
|
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().
|
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().
|
protected |
The window size (N) for establishing a track.
Referenced by EstablishTrackWindow(), operator=(), ProcessInput(), WsfSensorMode(), and WsfSensorMode().
|
protected |
|
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().
|
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().
|
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().
|
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().
|
protected |
The window size (N) for maintaining a track.
Referenced by MaintainTrackWindow(), operator=(), ProcessInput(), WsfSensorMode(), and WsfSensorMode().
|
protected |
Referenced by operator=(), ProcessInput(), UpdateSensorCueingLimits(), WsfSensorMode(), and WsfSensorMode().
|
protected |
Referenced by operator=(), ProcessInput(), UpdateSensorCueingLimits(), WsfSensorMode(), and WsfSensorMode().
|
protected |
A very optimistic estimate of the maximum range at which this mode can detect a target. This is ONLY used for performing initial detection culling. The default is std::numeric_limits<double>::max() and can be overridden by the sensor.
Referenced by WsfLaserTracker::LaserTrackMode::GetMaximumRange(), GetMaximumRange(), WsfAcousticSensor::AcousticMode::Initialize(), WsfEOIR_IRST_SensorMode::Initialize(), WsfGeometricSensor::GeometricMode::Initialize(), WsfOTH_RadarSensor::OTH_Mode::Initialize(), WsfPassiveSensor::PassiveMode::Initialize(), WsfRadarSensor::RadarMode::Initialize(), WsfSurfaceWaveRadarSensor::RadarMode::Initialize(), operator=(), WsfLaserTracker::LaserTrackMode::ProcessInput(), WithinDetectionRange(), WsfSensorMode(), and WsfSensorMode().
|
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().
|
protected |
The length of messages originating from this sensor mode.
Referenced by GetMessageLength(), operator=(), ProcessInput(), WsfSensorMode(), and WsfSensorMode().
|
protected |
The priority of messages originating from this sensor mode.
Referenced by GetMessagePriority(), operator=(), ProcessInput(), WsfSensorMode(), and WsfSensorMode().
|
protected |
Referenced by operator=(), ProcessInput(), UpdateSensorCueingLimits(), WsfSensorMode(), and WsfSensorMode().
|
protected |
Referenced by operator=(), ProcessInput(), UpdateSensorCueingLimits(), WsfSensorMode(), and WsfSensorMode().
|
protected |
Referenced by GetOnFailureModeIndex(), Initialize(), operator=(), WsfSensorMode(), and WsfSensorMode().
|
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().
|
protected |
Referenced by GetOnSuccessModeIndex(), Initialize(), operator=(), WsfSensorMode(), and WsfSensorMode().
|
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().
|
protected |
Pointer to the platform with which the sensor is associated.
Referenced by GetPlatform(), WsfEOIR_IRST_SensorMode::Initialize(), Initialize(), operator=(), WithinDetectionRange(), WsfSensorMode(), and WsfSensorMode().
|
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().
|
protected |
Range rate error standard deviation.
Referenced by ComputeMeasurementErrors(), GetRangeRateErrorStdDev(), Initialize(), operator=(), SetRangeRateErrorStdDev(), WsfSensorMode(), and WsfSensorMode().
|
protected |
Referenced by WsfCompositeSensor::CompositeMode::CompositeMode(), GetReportingFlags(), WsfOTH_RadarSensor::OTH_Mode::Initialize(), WsfRadarSensor::RadarMode::Initialize(), InitializeReporting(), operator=(), ProcessInput(), ReportsBearing(), ReportsElevation(), ReportsFrequency(), ReportsIFF_Status(), ReportsLocation(), ReportsPulseRepititionInterval(), ReportsPulseWidth(), ReportsRange(), ReportsRangeRate(), ReportsSide(), ReportsSignalToNoise(), ReportsType(), ReportsVelocity(), SetReportingFlags(), WsfSensorMode(), and WsfSensorMode().
|
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().
|
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().
|
protected |
Referenced by GetRevisitTime(), Initialize(), operator=(), ProcessInput(), WsfSensorMode(), and WsfSensorMode().
|
protected |
Pointer to the sensor with which the mode is associated.
Referenced by WsfSensorModeList::AddMode(), WsfGeometricSensor::GeometricMode::AttemptToDetect(), WsfSAR_Sensor::SAR_Mode::Calibrate(), WsfSurfaceWaveRadarSensor::RadarMode::Calibrate(), GetScenario(), GetSensor(), GetSimulation(), WsfSOSM_Sensor::SOSM_Mode::GetSOSM_Interface(), 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(), Initialize(), WsfSOSM_Sensor::SOSM_Mode::Initialize(), WsfSurfaceWaveRadarSensor::RadarMode::Initialize(), operator=(), ProcessInput(), WsfPassiveSensor::PassiveMode::RemoveInteractor(), WsfBeamDirector::WsfBeamDirectorMode::Update(), UpdateTrack(), WsfSensorMode(), and WsfSensorMode().
|
protected |
Base line track quality (0..1].
Referenced by GetTrackQuality(), InitializeTrack(), operator=(), ProcessInput(), WsfSensorMode(), and WsfSensorMode().