|
WSF
|
#include <WsfSOSM_Sensor.hpp>


Public Types | |
| using | TargetMap = std::map<size_t, SOSM_SensorTarget*> |
Public Member Functions | |
| SOSM_Mode () | |
| SOSM_Mode (const SOSM_Mode &aSrc) | |
| ~SOSM_Mode () override | |
| SOSM_Mode & | operator= (const SOSM_Mode &)=delete |
| WsfMode * | Clone () const override |
| Create an exact duplicate of this mode. | |
| bool | Initialize (double aSimTime) override |
| bool | ProcessInput (UtInput &aInput) override |
| bool | AttemptToDetect (double aSimTime, WsfPlatform *aTargetPtr, Settings &aSettings, WsfSensorResult &aResult) override |
| void | Deselect (double aSimTime) override |
| void | Select (double aSimTime) override |
| void | PlatformDeleted (WsfPlatform *aPlatformPtr) |
| void | UpdateTrackReportingFlags (double aSimTime, WsfTrack *aTrackPtr) override |
| WsfSOSM_Interface * | GetSOSM_Interface () const |
| Public Member Functions inherited from WsfSensorMode | |
| 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 |
| bool | ProcessInput (UtInput &aInput) override |
| 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 |
| virtual size_t | GetBeamCount () const |
| virtual WsfSensorBeam * | GetBeamEntry (size_t aIndex) |
| virtual double | GetAltFreqSelectDelay () const |
| virtual void | ScheduleAltFreqChange (double aSimTime, int aAltFreqId=-1) |
| virtual bool | IsAltFreqChangeScheduled () const |
| virtual double | GetLastAltFreqSelectTime () const |
| virtual bool | IsFrequencyAgile () const |
| 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 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 |
| const wsf::SensorErrorModelBase * | GetErrorModel () const |
| wsf::SensorErrorModelBase * | GetErrorModel () |
| void | SetErrorModel (std::unique_ptr< wsf::SensorErrorModelBase > aErrorModelPtr) |
| 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 |
| 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) |
Public Attributes | |
| WsfStringId | mSOSM_SensorType |
| WsfEM_Antenna | mAntenna |
| WsfEM_Rcvr | mRcvr |
| TargetMap | mTargetMap |
| double | mRangingTime |
| double | mRangingTimeTrackQuality |
Additional Inherited Members | |
| bool | InitializeReporting () |
| virtual void | SelectAlternateFrequency (double aSimTime, int aAltFreqId=-1) |
| void | SetCapabilities (unsigned int aFlags) |
| void | SetReportingFlags (unsigned int aFlags) |
| 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 |
| 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]. | |
| 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. | |
| using WsfSOSM_Sensor::SOSM_Mode::TargetMap = std::map<size_t, SOSM_SensorTarget*> |
| WsfSOSM_Sensor::SOSM_Mode::SOSM_Mode | ( | ) |
References mAntenna, mRangingTime, mRangingTimeTrackQuality, mRcvr, mSOSM_SensorType, mTargetMap, and WsfSensorMode::WsfSensorMode().
Referenced by Clone(), operator=(), and SOSM_Mode().
| WsfSOSM_Sensor::SOSM_Mode::SOSM_Mode | ( | const SOSM_Mode & | aSrc | ) |
References mAntenna, mRangingTime, mRangingTimeTrackQuality, mRcvr, mSOSM_SensorType, mTargetMap, SOSM_Mode(), and WsfSensorMode::WsfSensorMode().
|
override |
References mTargetMap.
|
overridevirtual |
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. |
Implements WsfSensorMode.
References SOSM_Manager::AllocateSensorTargetPair(), WsfSensorResult::BeginGenericInteraction(), WsfSensorResult::BeginOneWayInteraction(), WsfSensorResult::cCONCEALMENT, WsfEM_Interaction::ComputeInfraredSigAzEl(), WsfEM_Interaction::ComputeOpticalSigAzEl(), SOSM_SensorTarget::ComputeProbabilityOfDetection(), SOSM_SensorTarget::ComputeTargetIrradiance(), WsfEM_Interaction::cSIGNAL_LEVEL, WsfPlatformPart::DebugEnabled(), WsfPlatform::GetConcealmentFactor(), WsfPlatform::GetIndex(), WsfSOSM_Interface::GetManager(), WsfObject::GetName(), WsfPlatformPart::GetPlatform(), SOSM_SensorTarget::GetSensor(), WsfSensorMode::GetSensor(), WsfSOSM_Sensor::GetSOSM_Interface(), SOSM_SensorTarget::GetTarget(), WsfSOSM_Interface::GetTargetType(), WsfEM_Interaction::mAbsorptionFactor, WsfEM_Interaction::MaskedByTerrain(), SOSM_Interaction::mBackgroundRadiance, WsfEM_Interaction::mBackgroundRadiantIntensity, SOSM_Interaction::mBodyArea, SOSM_Interaction::mBodyIntensity, WsfEM_Interaction::mCheckedStatus, SOSM_Interaction::mContrastIntensity, WsfEM_Interaction::mContrastRadiantIntensity, SOSM_Interaction::mDetectionThreshold, WsfEM_Interaction::mDetectionThreshold, WsfEM_Interaction::mFailedStatus, WsfEM_Interaction::mInfraredSig, SOSM_Interaction::mInstallationAdjustment, WsfEM_Interaction::mMaskingFactor, SOSM_Interaction::mNoiseEquivalentIrradiance, WsfEM_Interaction::mOpticalSig, WsfSensorResult::mPd, SOSM_Interaction::mPlumeArea, SOSM_Interaction::mPlumeIntensity, WsfEM_Interaction::mRcvdPower, mRcvr, WsfSensor::Settings::mRequiredPd, WsfEM_Interaction::mSignalToNoise, mSOSM_SensorType, mTargetMap, SOSM_Interaction::mTransmittance, WsfSensorComponent::PostAttemptToDetect(), WsfEM_Interaction::Print(), WsfSensorResult::Reset(), WsfEM_Interaction::SetReceiverBeamPosition(), and WsfPlatform::Update().
Referenced by operator=().
|
overridevirtual |
Create an exact duplicate of this mode.
Implements WsfSensorMode.
References SOSM_Mode(), and WsfMode::WsfMode().
Referenced by operator=().
|
overridevirtual |
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. |
Implements WsfSensorMode.
References mRcvr, and mTargetMap.
Referenced by operator=().
| WsfSOSM_Interface * WsfSOSM_Sensor::SOSM_Mode::GetSOSM_Interface | ( | ) | const |
References WsfSOSM_Sensor::GetSOSM_Interface(), WsfSensorMode::mSensorPtr, and WsfSOSM_Sensor::WsfSOSM_Sensor().
Referenced by operator=().
|
overridevirtual |
Initialize the sensor mode.
| aSimTime | The current simulation time. |
Reimplemented from WsfSensorMode.
References SOSM_SpectralObject::Count(), SOSM_Manager::FindSensorType(), SOSM_Sensor::GetDetectionThresholdAboveHorizon(), WsfSOSM_Interface::GetManager(), WsfObject::GetName(), SOSM_Sensor::GetNoiseEquivalentIrradiance(), WsfSOSM_Interface::GetSensorType(), WsfPlatformPart::GetSimulation(), WsfSOSM_Sensor::GetSOSM_Interface(), SOSM_CoreBase::GetTypeName(), SOSM_SpectralObject::Increment(), WsfSensorMode::Initialize(), mAntenna, mRcvr, WsfSensorMode::mSensorPtr, mSOSM_SensorType, ok, and SOSM_SpectralObject::Origin().
Referenced by operator=().
| void WsfSOSM_Sensor::SOSM_Mode::PlatformDeleted | ( | WsfPlatform * | aPlatformPtr | ) |
References WsfPlatform::GetIndex(), and mTargetMap.
Referenced by operator=().
|
overridevirtual |
Reimplemented from WsfMode.
References mAntenna, mRangingTime, mRangingTimeTrackQuality, mRcvr, mSOSM_SensorType, and WsfSensorMode::ProcessInput().
Referenced by operator=().
|
overridevirtual |
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. |
Implements WsfSensorMode.
References mRcvr.
Referenced by operator=().
|
overridevirtual |
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. |
This function overrides the base class method to set the track validity flags as appropriate.
Reimplemented from WsfSensorMode.
References WsfTrack::GetStartTime(), mRangingTime, mRangingTimeTrackQuality, WsfTrack::SetTrackQuality(), and WsfSensorMode::UpdateTrackReportingFlags().
Referenced by operator=().
| WsfEM_Antenna WsfSOSM_Sensor::SOSM_Mode::mAntenna |
Referenced by Initialize(), ProcessInput(), SOSM_Mode(), and SOSM_Mode().
| double WsfSOSM_Sensor::SOSM_Mode::mRangingTime |
Referenced by ProcessInput(), SOSM_Mode(), SOSM_Mode(), and UpdateTrackReportingFlags().
| double WsfSOSM_Sensor::SOSM_Mode::mRangingTimeTrackQuality |
Referenced by ProcessInput(), SOSM_Mode(), SOSM_Mode(), and UpdateTrackReportingFlags().
| WsfEM_Rcvr WsfSOSM_Sensor::SOSM_Mode::mRcvr |
Referenced by AttemptToDetect(), Deselect(), Initialize(), ProcessInput(), Select(), SOSM_Mode(), and SOSM_Mode().
| WsfStringId WsfSOSM_Sensor::SOSM_Mode::mSOSM_SensorType |
Referenced by AttemptToDetect(), Initialize(), ProcessInput(), SOSM_Mode(), and SOSM_Mode().
| TargetMap WsfSOSM_Sensor::SOSM_Mode::mTargetMap |
Referenced by AttemptToDetect(), Deselect(), PlatformDeleted(), SOSM_Mode(), SOSM_Mode(), and ~SOSM_Mode().