|
WSF
|
The 'mode' of the sensor. More...
#include <WsfSAR_Sensor.hpp>


Classes | |
| class | SAR_ErrorModel |
Public Types | |
| enum | OperatingMode { cOM_SPOT , cOM_STRIP } |
Public Member Functions | |
| SAR_Mode () | |
| SAR_Mode (const SAR_Mode &aSrc) | |
| ~SAR_Mode () override=default | |
| SAR_Mode & | operator= (const SAR_Mode &)=delete |
| size_t | GetBeamCount () const override |
| WsfSensorBeam * | GetBeamEntry (size_t) override |
| WsfEM_Rcvr * | GetEM_Rcvr () override |
| WsfEM_Xmtr * | GetEM_Xmtr () override |
| bool | AttemptToDetect (double aSimTime, WsfPlatform *aTargetPtr, Settings &aSettings, WsfSensorResult &aResult) override |
| void | Deselect (double aSimTime) override |
| void | Select (double aSimTime) override |
| WsfMode * | Clone () const override |
| Create an exact duplicate of this mode. | |
| bool | Initialize (double aSimTime) override |
| bool | ProcessInput (UtInput &aInput) override |
| void | Calibrate () |
| void | ComputeGeometry (double aSimTime, Geometry &aGeometry) |
| Compute the geometry parameters for a imaging or prediction request. | |
| double | ComputeCNR (const Geometry &aGeometry, double aPRF, double aDwellTime, double aResolution) |
| double | ComputeDwellTime (const Geometry &aGeometry, double aResolution) |
| Compute the dwell time necessary to achieve a specified resolution. | |
| double | ComputePRF (const Geometry &aGeometry) |
| double | ComputeAzimuthResolution (const Geometry &aGeometry, double aDwellTime) |
| double | ComputeGroundRangeResolution (const Geometry &aGeometry) |
| bool | ComputeImageCenter (double aLocationWCS_1[3], double aLocationWCS_2[3], bool aFirstPass=false) |
| void | ComputeFOV (const Geometry &aGeometry) |
| double | ComputeSlantRange (double aAltitude, double aDepressionAngle, double &aGrazingAngle) |
| double | ComputeSquintAngle (WsfPlatform *aTargetPtr, double &aSlantRange) |
| Compute the angle between the sensing platform's velocity vector and the target. | |
| void | ComputeUpdateInterval (double aSimTime) |
| Compute the simulation update interval for this mode. | |
| void | PredictPerformance (const Geometry &aGeometry, double &aPRF, double &aDwellTime, double &aAzimuthResolution, double &aCNR, double &aMinimumPRF) |
| bool | WithinUnambiguousRange (WsfSensorResult &aResult) |
| void | SetIntegrationGain (double aIntegrationGain) override |
| 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 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 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 |
| 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 Member Functions inherited from WsfSensorBeam | |
| WsfSensorBeam () | |
| WsfSensorBeam (const WsfSensorBeam &aSrc)=default | |
| WsfSensorBeam & | operator= (const WsfSensorBeam &aRhs) |
| virtual | ~WsfSensorBeam ()=default |
| virtual int | GetNumberOfPulsesIntegrated () const |
| virtual double | GetIntegrationGain () const |
| virtual WsfEM_Clutter * | GetClutter () const |
| void | SetBeamOwner (WsfSensorMode *aSensorModePtr) |
| Set the beam owner (the parent mode). | |
| void | SetBeamIndex (size_t aBeamIndex) |
| WsfSensorMode * | GetSensorMode () const |
| size_t | GetBeamIndex () const |
| WsfSensorSignalProcessor::List & | GetSignalProcessors () |
Public Attributes | |
| WsfSAR_Sensor * | mSAR_SensorPtr |
| The pointer to the derived sensor class. | |
| SAR_ErrorModel * | mSAR_ErrorModelPtr |
| The pointer to the derived error model class. | |
| OperatingMode | mOperatingMode |
| The operating mode (spot, strip, etc.). | |
| std::unique_ptr< WsfEM_Antenna > | mAntennaPtr |
| The Antenna for the Mode. | |
| std::unique_ptr< WsfEM_Xmtr > | mXmtrPtr |
| The transmitter for a Mode. | |
| std::unique_ptr< WsfEM_Rcvr > | mRcvrPtr |
| The receiver for a Mode. | |
| double | mKa |
| Doppler filter broadening factor. | |
| double | mKd |
| Doppler fold-over margin factor (also called the over-collect ratio). | |
| double | mResolution |
| Desired azimuth resolution. | |
| double | mDwellTime |
| Desired or computed dwell/integration time. | |
| double | mMaximumDwellTime |
| Maximum dwell/integration. | |
| double | mMinimumCNR |
| Minimum allowable clutter-to-noise limit. | |
| double | mMaxDetectableSpeed |
| The speed above which an object cannot be seen. | |
| double | mCurrentAzimuthResolution |
| The current azimuth resolution. | |
| double | mCurrentGroundRangeResolution |
| The current ground range resolution. | |
| double | mAngularResolution |
| The angular resolution of a pixel (radians). | |
| double | mIntegrationGain |
| Integration gain for non-Swerling detector. | |
| double | mAdjustmentFactor |
| A term to represent a general adjustment (multiplier) to the radar range equation. | |
| double | mOneM2DetectRange |
| If non-zero, this represents the 1 m^2 detection range. | |
| bool | mComputeDwellTime |
| For spot requests, compute dwell time necessary to achieve the required image resolution. | |
| bool | mComputePRF |
| Compute the pulse repetition frequency. | |
| bool | mAutomaticTurnOff |
| bool | mInhibitSubstandardCollection |
| Inhibit collection if the computed dwell time is greater than the maximum allowable. | |
| double | mImageHeight |
| Image height and width in meters; used for spot SAR. | |
| double | mImageWidth |
| double | mImageCenterWCS [3] |
| The approximate image center. | |
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. | |
The 'mode' of the sensor.
| WsfSAR_Sensor::SAR_Mode::SAR_Mode | ( | ) |
References cOM_SPOT, GetEM_Rcvr(), mAdjustmentFactor, mAngularResolution, mAntennaPtr, mAutomaticTurnOff, mComputeDwellTime, mComputePRF, mCurrentAzimuthResolution, mCurrentGroundRangeResolution, mDwellTime, WsfSensorMode::mErrorModelPtr, mImageCenterWCS, mImageHeight, mImageWidth, mInhibitSubstandardCollection, mIntegrationGain, mKa, mKd, mMaxDetectableSpeed, mMaximumDwellTime, mMinimumCNR, mOneM2DetectRange, mOperatingMode, mRcvrPtr, mResolution, mSAR_ErrorModelPtr, mSAR_SensorPtr, mXmtrPtr, WsfSensorBeam::SetBeamOwner(), WsfSensorMode::SetErrorModel(), WsfSensorBeam::WsfSensorBeam(), and WsfSensorBeam::WsfSensorMode.
Referenced by WsfSAR_Sensor::SAR_Mode::SAR_ErrorModel::Initialize(), operator=(), and SAR_Mode().
| WsfSAR_Sensor::SAR_Mode::SAR_Mode | ( | const SAR_Mode & | aSrc | ) |
References GetEM_Rcvr(), mAdjustmentFactor, mAngularResolution, mAntennaPtr, mAutomaticTurnOff, mComputeDwellTime, mComputePRF, mCurrentAzimuthResolution, mCurrentGroundRangeResolution, mDwellTime, WsfSensorMode::mErrorModelPtr, mImageCenterWCS, mImageHeight, mImageWidth, mInhibitSubstandardCollection, mIntegrationGain, mKa, mKd, mMaxDetectableSpeed, mMaximumDwellTime, mMinimumCNR, mOneM2DetectRange, mOperatingMode, mRcvrPtr, mResolution, mSAR_ErrorModelPtr, mSAR_SensorPtr, mXmtrPtr, SAR_Mode(), WsfSensorBeam::WsfSensorBeam(), and WsfSensorBeam::WsfSensorMode.
|
overridedefault |
|
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 WsfSensorComponent::AttemptToDetect(), WsfSensorResult::BeginGenericInteraction(), WsfSensorResult::BeginTwoWayInteraction(), WsfSensorResult::cCONCEALMENT, WsfEM_Interaction::ComputeRadarSigAzEl(), WsfEM_Interaction::ComputeRF_TwoWayPower(), WsfSensorResult::cVELOCITY_LIMITS, WsfEM_Interaction::cXMTR_RANGE_LIMITS, WsfPlatformPart::DebugEnabled(), WsfPlatform::GetConcealmentFactor(), WsfObject::GetName(), WsfPlatformPart::GetPlatform(), WsfSensorMode::GetSensor(), WsfOpticalSignature::GetValue(), WsfRadarSignature::GetValue(), WsfSensor::GetZoneAttenuationModifier(), mAdjustmentFactor, WsfEM_Interaction::MaskedByTerrain(), WsfEM_Interaction::mCheckedStatus, WsfEM_Interaction::mClutterPower, mCurrentAzimuthResolution, mCurrentGroundRangeResolution, mDwellTime, WsfSensorMode::mErrorModelPtr, WsfEM_Interaction::mFailedStatus, mIntegrationGain, WsfEM_Interaction::mInterferenceFactor, WsfEM_Interaction::mInterferencePower, mMaxDetectableSpeed, WsfEM_Interaction::mOpticalSig, WsfEM_Interaction::mOpticalSigAz, WsfEM_Interaction::mOpticalSigEl, WsfSensorResult::mPd, WsfEM_Interaction::mPixelCount, WsfEM_Interaction::mRadarSig, WsfEM_Interaction::mRadarSigAz, WsfEM_Interaction::mRadarSigEl, WsfEM_Interaction::mRcvdPower, mRcvrPtr, WsfSensor::Settings::mRequiredPd, WsfEM_Interaction::mSignalToNoise, mXmtrPtr, WsfSensorComponent::PostAttemptToDetect(), WsfEM_Interaction::Print(), WsfSensorResult::Reset(), WsfEM_Interaction::SetCategory(), WsfEM_Interaction::SetReceiverBeamPosition(), WsfEM_Interaction::SetTransmitterBeamPosition(), WsfPlatform::Update(), and WithinUnambiguousRange().
| void WsfSAR_Sensor::SAR_Mode::Calibrate | ( | ) |
References WsfEM_XmtrRcvr::GetAntennaGain(), WsfEM_Xmtr::GetAveragePower(), WsfEM_XmtrRcvr::GetAzimuthBeamwidth(), WsfEM_Rcvr::GetDetectionThreshold(), WsfEM_XmtrRcvr::GetElevationBeamwidth(), WsfSAR_Sensor::GetEM_Rcvr(), WsfSAR_Sensor::GetEM_Xmtr(), WsfEM_XmtrRcvr::GetFrequency(), WsfEM_XmtrRcvr::GetInternalLoss(), WsfEM_Rcvr::GetNoisePower(), WsfEM_XmtrRcvr::GetPeakAntennaGain(), WsfEM_Xmtr::GetPeakPower(), WsfEM_XmtrRcvr::GetPolarization(), WsfEM_Xmtr::GetPower(), WsfEM_Xmtr::GetPulseCompressionRatio(), WsfEM_Xmtr::GetPulseRepetitionFrequency(), WsfEM_Xmtr::GetPulseWidth(), mAdjustmentFactor, mIntegrationGain, mOneM2DetectRange, WsfSensorMode::mSensorPtr, and WsfEM_Rcvr::SetNoisePower().
Referenced by Initialize().
|
overridevirtual |
Create an exact duplicate of this mode.
Implements WsfSensorMode.
References WsfSAR_Sensor::SAR_Mode, and WsfMode::WsfMode().
| double WsfSAR_Sensor::SAR_Mode::ComputeAzimuthResolution | ( | const Geometry & | aGeometry, |
| double | aDwellTime ) |
References mAngularResolution, WsfSAR_Sensor::Geometry::mGrazingAngle, WsfSAR_Sensor::Geometry::mGroundSpeed, mKa, WsfSAR_Sensor::Geometry::mScanAngle, WsfSAR_Sensor::Geometry::mSlantRange, WsfSAR_Sensor::Geometry::mSquintAngle, and mXmtrPtr.
Referenced by WsfSAR_Sensor::AttemptToDetect(), and PredictPerformance().
| double WsfSAR_Sensor::SAR_Mode::ComputeCNR | ( | const Geometry & | aGeometry, |
| double | aPRF, | ||
| double | aDwellTime, | ||
| double | aResolution ) |
Compute the Clutter-to-Noise Ratio This assumes UpdatePosition and ComputeGeometry have been called.
References WsfSensorResult::BeginGenericInteraction(), WsfEM_Interaction::ComputeRF_TwoWayPower(), WsfSensorResult::ComputeUndefinedGeometry(), WsfSensorMode::GetSensor(), mAdjustmentFactor, WsfSAR_Sensor::Geometry::mGrazingAngle, mIntegrationGain, mRcvrPtr, mSAR_SensorPtr, WsfSAR_Sensor::Geometry::mScanAngle, WsfSAR_Sensor::Geometry::mSlantRange, mXmtrPtr, WsfEM_Interaction::SetReceiverBeamPosition(), and WsfEM_Interaction::SetTransmitterBeamPosition().
Referenced by PredictPerformance().
| double WsfSAR_Sensor::SAR_Mode::ComputeDwellTime | ( | const Geometry & | aGeometry, |
| double | aResolution ) |
Compute the dwell time necessary to achieve a specified resolution.
References WsfSAR_Sensor::Geometry::mGrazingAngle, WsfSAR_Sensor::Geometry::mGroundSpeed, mKa, mMaximumDwellTime, WsfSAR_Sensor::Geometry::mScanAngle, WsfSAR_Sensor::Geometry::mSlantRange, WsfSAR_Sensor::Geometry::mSquintAngle, and mXmtrPtr.
Referenced by WsfSAR_Sensor::AttemptToDetect(), and PredictPerformance().
| void WsfSAR_Sensor::SAR_Mode::ComputeFOV | ( | const Geometry & | aGeometry | ) |
Computes the sensor FOV if image height and width constraints are given.
| aGeometry | Current sensor geometry |
References WsfArticulatedPart::cCUED_TO_ANGLE, WsfArticulatedPart::cCUED_TO_LOCATION, WsfArticulatedPart::cCUED_TO_NOTHING, ComputeImageCenter(), WsfArticulatedPart::GetCueType(), WsfPlatformPart::GetPlatform(), WsfSensorMode::GetSensor(), mAntennaPtr, WsfSAR_Sensor::Geometry::mDepressionAngle, mImageCenterWCS, mImageHeight, mImageWidth, and WsfSAR_Sensor::Geometry::mSlantRange.
Referenced by ComputeGeometry().
| void WsfSAR_Sensor::SAR_Mode::ComputeGeometry | ( | double | aSimTime, |
| Geometry & | aGeometry ) |
Compute the geometry parameters for a imaging or prediction request.
References WsfArticulatedPart::cAT_LIMIT_MASK, WsfEM_Antenna::cEBS_AZIMUTH, WsfEM_Antenna::cEBS_ELEVATION, WsfEM_Antenna::cEBS_NONE, ComputeFOV(), ComputeSlantRange(), WsfPlatformPart::DebugEnabled(), WsfArticulatedPart::GetMaxAzCue(), WsfArticulatedPart::GetMaxAzSlew(), WsfArticulatedPart::GetMaxElCue(), WsfArticulatedPart::GetMaxElSlew(), WsfArticulatedPart::GetMinAzCue(), WsfArticulatedPart::GetMinAzSlew(), WsfArticulatedPart::GetMinElCue(), WsfArticulatedPart::GetMinElSlew(), WsfPlatformPart::GetPlatform(), WsfSensorMode::GetSensor(), WsfArticulatedPart::GetSlewState(), WsfSAR_Sensor::Geometry::mAltitude, mAntennaPtr, WsfSAR_Sensor::Geometry::mDepressionAngle, WsfSAR_Sensor::Geometry::mGrazingAngle, WsfSAR_Sensor::Geometry::mGroundSpeed, WsfSAR_Sensor::Geometry::mScanAngle, WsfSAR_Sensor::Geometry::mSlantRange, WsfSAR_Sensor::Geometry::mSquintAngle, WsfSAR_Sensor::Geometry::mTotalAngle, mXmtrPtr, platformPtr, WsfArticulatedPart::SetAzCueLimits(), WsfArticulatedPart::SetAzSlewLimits(), WsfArticulatedPart::SetElCueLimits(), WsfArticulatedPart::SetElSlewLimits(), WsfSensor::UpdatePosition(), and WsfSensorBeam::WsfSensor.
Referenced by WsfSAR_Sensor::AttemptToDetect(), WsfSAR_Sensor::CanImageNow(), and ComputeUpdateInterval().
| double WsfSAR_Sensor::SAR_Mode::ComputeGroundRangeResolution | ( | const Geometry & | aGeometry | ) |
References mAngularResolution, WsfSAR_Sensor::Geometry::mGrazingAngle, mRcvrPtr, mResolution, WsfSAR_Sensor::Geometry::mSlantRange, and mXmtrPtr.
Referenced by WsfSAR_Sensor::AttemptToDetect().
| bool WsfSAR_Sensor::SAR_Mode::ComputeImageCenter | ( | double | aLocationWCS_1[3], |
| double | aLocationWCS_2[3], | ||
| bool | aFirstPass = false ) |
Computes the center of the image. (Recursive)
| aLocationWCS_1 | WCS location of point 1 |
| aLocationWCS_2 | WCS location of point 2 |
| aFirstPass | Set to true if first pass (default = false) |
References ComputeImageCenter(), and WsfPlatformPart::GetSimulation().
Referenced by ComputeFOV(), and ComputeImageCenter().
| double WsfSAR_Sensor::SAR_Mode::ComputePRF | ( | const Geometry & | aGeometry | ) |
| double WsfSAR_Sensor::SAR_Mode::ComputeSlantRange | ( | double | aAltitude, |
| double | aDepressionAngle, | ||
| double & | aGrazingAngle ) |
Compute the slant range to the 'center-of-interest' for a given altitude and depression angle.
| aAltitude | [input] The altitude of the sensor. (meters above MSL) |
| aDepressionAngle | [input] The depression angle to the center-of-interest. (radians). This is the POSITIVE angle that between the pointing vector to the center-of-interest and the local horizontal plane at the sensor. |
| aGrazingAngle | [output] The angle between the pointing vector to the center-of-interest and the local horizontal plane at the center of interest. (radians) |
References mXmtrPtr.
Referenced by ComputeGeometry(), and ComputePRF().
| double WsfSAR_Sensor::SAR_Mode::ComputeSquintAngle | ( | WsfPlatform * | aTargetPtr, |
| double & | aSlantRange ) |
Compute the angle between the sensing platform's velocity vector and the target.
References WsfPlatformPart::GetPlatform(), and platformPtr.
| void WsfSAR_Sensor::SAR_Mode::ComputeUpdateInterval | ( | double | aSimTime | ) |
Compute the simulation update interval for this mode.
References cOM_STRIP, ComputeGeometry(), WsfSensorMode::GetFrameTime(), WsfObject::GetName(), WsfPlatformPart::GetPlatform(), WsfSensorMode::GetSensor(), WsfSAR_Sensor::Geometry::mGroundSpeed, mOperatingMode, mSAR_SensorPtr, WsfSAR_Sensor::Geometry::mSlantRange, and mXmtrPtr.
Referenced by Select().
|
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.
|
inlineoverridevirtual |
Return the number of beams in the mode. Derived classes should return the number of beams that are defined.
Reimplemented from WsfSensorMode.
|
inlineoverridevirtual |
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 from WsfSensorMode.
References WsfSensorBeam::WsfSensorBeam().
|
inlineoverridevirtual |
|
inlineoverridevirtual |
Reimplemented from WsfSensorBeam.
References mXmtrPtr.
|
overridevirtual |
Initialize the sensor mode.
| aSimTime | The current simulation time. |
Reimplemented from WsfSensorMode.
References Calibrate(), WsfObject::GetName(), WsfPlatformPart::GetPlatform(), WsfSensorMode::GetSensor(), WsfPlatformPart::GetSimulation(), WsfSensorMode::Initialize(), mAntennaPtr, mAutomaticTurnOff, mComputeDwellTime, mComputePRF, mDwellTime, WsfSensorMode::mFrameTime, mRcvrPtr, mResolution, mSAR_SensorPtr, WsfSensorMode::mSensorPtr, mXmtrPtr, ok, and WsfSAR_Sensor::WsfSAR_Sensor().
References SAR_Mode().
| void WsfSAR_Sensor::SAR_Mode::PredictPerformance | ( | const Geometry & | aGeometry, |
| double & | aPRF, | ||
| double & | aDwellTime, | ||
| double & | aAzimuthResolution, | ||
| double & | aCNR, | ||
| double & | aMinimumPRF ) |
References ComputeAzimuthResolution(), ComputeCNR(), ComputeDwellTime(), ComputePRF(), mComputeDwellTime, mComputePRF, mDwellTime, WsfSAR_Sensor::Geometry::mGroundSpeed, mKd, mResolution, WsfSAR_Sensor::Geometry::mScanAngle, WsfSAR_Sensor::Geometry::mTotalAngle, and mXmtrPtr.
Referenced by WsfSAR_Sensor::CanImageNow().
|
overridevirtual |
Reimplemented from WsfMode.
References cOM_SPOT, cOM_STRIP, mAdjustmentFactor, mAngularResolution, mAntennaPtr, mAutomaticTurnOff, mComputeDwellTime, mDwellTime, mImageHeight, mImageWidth, mInhibitSubstandardCollection, mIntegrationGain, mKa, mKd, mMaxDetectableSpeed, mMaximumDwellTime, mMinimumCNR, mOneM2DetectRange, mOperatingMode, mRcvrPtr, mResolution, mXmtrPtr, WsfSensorBeam::ProcessInput(), and WsfSensorMode::ProcessInput().
|
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 ComputeUpdateInterval(), mRcvrPtr, and mXmtrPtr.
|
inlineoverridevirtual |
Reimplemented from WsfSensorBeam.
References mIntegrationGain.
| bool WsfSAR_Sensor::SAR_Mode::WithinUnambiguousRange | ( | WsfSensorResult & | aResult | ) |
References WsfEM_Interaction::RelativeData::mRange, mXmtrPtr, and WsfEM_Interaction::mXmtrToTgt.
Referenced by AttemptToDetect().
| double WsfSAR_Sensor::SAR_Mode::mAdjustmentFactor |
A term to represent a general adjustment (multiplier) to the radar range equation.
Referenced by AttemptToDetect(), Calibrate(), ComputeCNR(), ProcessInput(), SAR_Mode(), and SAR_Mode().
| double WsfSAR_Sensor::SAR_Mode::mAngularResolution |
The angular resolution of a pixel (radians).
Additional data to represent the sensor more simply (like in WsfRadarSensor).
Referenced by ComputeAzimuthResolution(), ComputeGroundRangeResolution(), ProcessInput(), SAR_Mode(), and SAR_Mode().
| std::unique_ptr<WsfEM_Antenna> WsfSAR_Sensor::SAR_Mode::mAntennaPtr |
The Antenna for the Mode.
Referenced by ComputeFOV(), ComputeGeometry(), Initialize(), ProcessInput(), SAR_Mode(), and SAR_Mode().
| bool WsfSAR_Sensor::SAR_Mode::mAutomaticTurnOff |
For spot mode only, 'true' if the sensor is to be automatically turned off at the end of the image formation time. If 'false' then the sensor must be turned off manually, and the sensor will continue to form the image.
Note that the image is not delivered UNTIL the sensor is turned off!
Referenced by Initialize(), ProcessInput(), SAR_Mode(), and SAR_Mode().
| bool WsfSAR_Sensor::SAR_Mode::mComputeDwellTime |
For spot requests, compute dwell time necessary to achieve the required image resolution.
Referenced by WsfSAR_Sensor::AttemptToDetect(), Initialize(), PredictPerformance(), ProcessInput(), SAR_Mode(), SAR_Mode(), WsfSAR_Sensor::SetDwellTime(), and WsfSAR_Sensor::SetResolution().
| bool WsfSAR_Sensor::SAR_Mode::mComputePRF |
Compute the pulse repetition frequency.
Referenced by WsfSAR_Sensor::AttemptToDetect(), Initialize(), PredictPerformance(), SAR_Mode(), and SAR_Mode().
| double WsfSAR_Sensor::SAR_Mode::mCurrentAzimuthResolution |
The current azimuth resolution.
Referenced by WsfSAR_Sensor::AttemptToDetect(), AttemptToDetect(), SAR_Mode(), and SAR_Mode().
| double WsfSAR_Sensor::SAR_Mode::mCurrentGroundRangeResolution |
The current ground range resolution.
Referenced by WsfSAR_Sensor::AttemptToDetect(), AttemptToDetect(), SAR_Mode(), and SAR_Mode().
| double WsfSAR_Sensor::SAR_Mode::mDwellTime |
Desired or computed dwell/integration time.
Referenced by WsfSAR_Sensor::AttemptToDetect(), AttemptToDetect(), WsfSAR_Sensor::GetDwellTime(), Initialize(), PredictPerformance(), ProcessInput(), SAR_Mode(), SAR_Mode(), WsfSAR_Sensor::SetDwellTime(), and UT_DEFINE_SCRIPT_METHOD().
| double WsfSAR_Sensor::SAR_Mode::mImageCenterWCS[3] |
The approximate image center.
Referenced by ComputeFOV(), SAR_Mode(), and SAR_Mode().
| double WsfSAR_Sensor::SAR_Mode::mImageHeight |
Image height and width in meters; used for spot SAR.
Referenced by ComputeFOV(), ProcessInput(), SAR_Mode(), and SAR_Mode().
| double WsfSAR_Sensor::SAR_Mode::mImageWidth |
Referenced by ComputeFOV(), ProcessInput(), SAR_Mode(), and SAR_Mode().
| bool WsfSAR_Sensor::SAR_Mode::mInhibitSubstandardCollection |
Inhibit collection if the computed dwell time is greater than the maximum allowable.
Referenced by ProcessInput(), SAR_Mode(), and SAR_Mode().
| double WsfSAR_Sensor::SAR_Mode::mIntegrationGain |
Integration gain for non-Swerling detector.
Referenced by AttemptToDetect(), Calibrate(), ComputeCNR(), ProcessInput(), SAR_Mode(), SAR_Mode(), and SetIntegrationGain().
| double WsfSAR_Sensor::SAR_Mode::mKa |
Doppler filter broadening factor.
Referenced by ComputeAzimuthResolution(), ComputeDwellTime(), ProcessInput(), SAR_Mode(), and SAR_Mode().
| double WsfSAR_Sensor::SAR_Mode::mKd |
Doppler fold-over margin factor (also called the over-collect ratio).
Referenced by PredictPerformance(), ProcessInput(), SAR_Mode(), and SAR_Mode().
| double WsfSAR_Sensor::SAR_Mode::mMaxDetectableSpeed |
The speed above which an object cannot be seen.
Referenced by AttemptToDetect(), ProcessInput(), SAR_Mode(), and SAR_Mode().
| double WsfSAR_Sensor::SAR_Mode::mMaximumDwellTime |
Maximum dwell/integration.
Referenced by WsfSAR_Sensor::AttemptToDetect(), WsfSAR_Sensor::CanImageNow(), ComputeDwellTime(), ProcessInput(), SAR_Mode(), and SAR_Mode().
| double WsfSAR_Sensor::SAR_Mode::mMinimumCNR |
Minimum allowable clutter-to-noise limit.
Referenced by ProcessInput(), SAR_Mode(), and SAR_Mode().
| double WsfSAR_Sensor::SAR_Mode::mOneM2DetectRange |
If non-zero, this represents the 1 m^2 detection range.
Referenced by Calibrate(), ProcessInput(), SAR_Mode(), and SAR_Mode().
| OperatingMode WsfSAR_Sensor::SAR_Mode::mOperatingMode |
The operating mode (spot, strip, etc.).
Referenced by ComputeUpdateInterval(), ProcessInput(), SAR_Mode(), SAR_Mode(), WsfSAR_Sensor::TurnOff(), and WsfSAR_Sensor::Update().
| std::unique_ptr<WsfEM_Rcvr> WsfSAR_Sensor::SAR_Mode::mRcvrPtr |
The receiver for a Mode.
Referenced by AttemptToDetect(), ComputeCNR(), ComputeGroundRangeResolution(), Deselect(), GetEM_Rcvr(), Initialize(), ProcessInput(), SAR_Mode(), SAR_Mode(), and Select().
| double WsfSAR_Sensor::SAR_Mode::mResolution |
Desired azimuth resolution.
Referenced by WsfSAR_Sensor::AttemptToDetect(), ComputeGroundRangeResolution(), WsfSAR_Sensor::GetResolution(), Initialize(), PredictPerformance(), ProcessInput(), SAR_Mode(), SAR_Mode(), WsfSAR_Sensor::SetResolution(), and UT_DEFINE_SCRIPT_METHOD().
| SAR_ErrorModel* WsfSAR_Sensor::SAR_Mode::mSAR_ErrorModelPtr |
The pointer to the derived error model class.
Referenced by SAR_Mode(), and SAR_Mode().
| WsfSAR_Sensor* WsfSAR_Sensor::SAR_Mode::mSAR_SensorPtr |
The pointer to the derived sensor class.
Referenced by ComputeCNR(), ComputePRF(), ComputeUpdateInterval(), Initialize(), SAR_Mode(), and SAR_Mode().
| std::unique_ptr<WsfEM_Xmtr> WsfSAR_Sensor::SAR_Mode::mXmtrPtr |
The transmitter for a Mode.
Referenced by WsfSAR_Sensor::AttemptToDetect(), AttemptToDetect(), ComputeAzimuthResolution(), ComputeCNR(), ComputeDwellTime(), ComputeGeometry(), ComputeGroundRangeResolution(), ComputeSlantRange(), ComputeUpdateInterval(), Deselect(), GetEM_Xmtr(), Initialize(), PredictPerformance(), ProcessInput(), SAR_Mode(), SAR_Mode(), Select(), and WithinUnambiguousRange().