|
WSF
|
A 'beam' of a sensor 'mode'. More...
#include <WsfPassiveSensor.hpp>


Public Member Functions | |
| PassiveBeam () | |
| PassiveBeam (const PassiveBeam &aSrc) | |
| PassiveBeam & | operator= (const PassiveBeam &aRhs) |
| ~PassiveBeam () override | |
| WsfEM_Rcvr * | GetEM_Rcvr () override |
| bool | ProcessInput (UtInput &aInput) override |
| bool | Initialize (WsfSensor *aSensorPtr, PassiveMode *aModePtr) |
| bool | AttemptToDetect (double aSimTime, WsfEM_Xmtr *aXmtrPtr, WsfSensorResult &aResult, WsfEM_Interaction *aAuxInteractionPtr, bool aPSOS_Enabled, Interactor *aInteractorPtr) |
| bool | ComputePSOS_Effects (double aSimTime, WsfEM_Xmtr *aXmtrPtr, WsfSensorResult &aResult, Interactor *aInteractorPtr) |
| void | ProcessFailedPSOS_Detection (double aSimTime, Interactor *aInteractorPtr) |
| 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 void | SetIntegrationGain (double aIntegrationGain) |
| virtual WsfEM_Clutter * | GetClutter () const |
| virtual WsfEM_Xmtr * | GetEM_Xmtr () |
| virtual bool | Initialize (double aSimTime) |
| 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 () |
External Services access. | |
These methods support the External Services and are not part of the WSF public interface. | |
| WsfEM_Antenna * | mAntennaPtr |
| PassiveRcvr * | mRcvrPtr |
| WsfPassiveDetector | mDetector |
| size_t | GetDetectionThresholdCount (SignalType aSignalType) const |
| void | GetDetectionThresholdEntry (SignalType aSignalType, size_t aIndex, double &aFrequency, double &aThreshold) const |
| size_t | GetDetectionSensitivityCount (SignalType aSignalType) const |
| void | GetDetectionSensitivityEntry (SignalType aSignalType, size_t aIndex, double &aFrequency, double &aSensitivity) const |
| bool | TuneFrequencyBand (double aSimTime, bool aReset, unsigned int aFrequencyBandNumber, double aLowerFreq, double aUpperFreq, double aDwellTime, double aRevistTime) |
A 'beam' of a sensor 'mode'.
| WsfPassiveSensor::PassiveBeam::PassiveBeam | ( | ) |
References mAntennaPtr, mDetector, mRcvrPtr, and WsfSensorBeam::WsfSensorBeam().
Referenced by operator=(), and PassiveBeam().
| WsfPassiveSensor::PassiveBeam::PassiveBeam | ( | const PassiveBeam & | aSrc | ) |
References mAntennaPtr, mDetector, mRcvrPtr, PassiveBeam(), and WsfSensorBeam::WsfSensorBeam().
|
override |
References mAntennaPtr, and mRcvrPtr.
| bool WsfPassiveSensor::PassiveBeam::AttemptToDetect | ( | double | aSimTime, |
| WsfEM_Xmtr * | aXmtrPtr, | ||
| WsfSensorResult & | aResult, | ||
| WsfEM_Interaction * | aAuxInteractionPtr, | ||
| bool | aPSOS_Enabled, | ||
| Interactor * | aInteractorPtr ) |
| aSimTime | The current simulation time. |
| aXmtrPtr | Pointer to the transmitter that is attempting to be detected. |
| aResult | The structure containing the results of the interaction. |
| aAuxInteractionPtr | An auxiliary interaction that is attempting to be detected. This will be zero if there is not an auxiliary interaction. |
| aPSOS_Enabled | 'true' if 'Probabilistic Scan-On-Scan' processing is enabled. |
| aInteractorPtr | Pointer to the 'Interactor' object. This is only used if PSOS is enabled. |
References WsfSensorResult::BeginOneWayInteraction(), ComputePSOS_Effects(), WsfEM_Interaction::ComputeRF_OneWayPower(), WsfEM_Interaction::ComputeUndefinedGeometry(), WsfEM_Interaction::cSIGNAL_LEVEL, DEBUG_PASSIVE_SENSOR, WsfEM_XmtrRcvr::GetFrequency(), WsfEM_Interaction::MaskedByTerrain(), WsfEM_Interaction::mCheckedStatus, WsfEM_Interaction::mClutterPower, WsfEM_Interaction::mDetectionThreshold, mDetector, WsfEM_Interaction::mFailedStatus, WsfEM_Interaction::BeamData::mGain, WsfEM_Interaction::mInterferencePower, WsfSensorResult::mPd, WsfEM_Interaction::mRcvdPower, mRcvrPtr, WsfSensorResult::mRequiredPd, WsfEM_Interaction::mSignalToNoise, WsfPassiveSensor::Interactor::mUseListener, WsfEM_Interaction::mXmtrBeam, ProcessFailedPSOS_Detection(), WsfEM_Interaction::SetReceiverBeamPosition(), and WsfEM_Interaction::SetTransmitterBeamPosition().
| bool WsfPassiveSensor::PassiveBeam::ComputePSOS_Effects | ( | double | aSimTime, |
| WsfEM_Xmtr * | aXmtrPtr, | ||
| WsfSensorResult & | aResult, | ||
| Interactor * | aInteractorPtr ) |
References WsfEM_Antenna::cSCAN_AZ, WsfEM_Antenna::cSCAN_AZ_EL, WsfEM_Interaction::cSIGNAL_LEVEL, WsfEM_XmtrRcvr::GetAntenna(), WsfEM_XmtrRcvr::GetAntennaGain(), WsfEM_XmtrRcvr::GetAntennaPattern(), WsfEM_Antenna::GetAzimuthScanLimits(), WsfEM_XmtrRcvr::GetFrequency(), WsfAntennaPattern::GetGainThresholdFraction(), WsfObject::GetName(), WsfEM_XmtrRcvr::GetPlatform(), WsfEM_XmtrRcvr::GetPolarization(), WsfEM_Antenna::GetScanMode(), WsfEM_Interaction::MaskedByTerrain(), WsfEM_Interaction::BeamData::mAz, WsfEM_Interaction::mCheckedStatus, WsfEM_Interaction::mDetectionThreshold, WsfEM_Interaction::BeamData::mEBS_El, WsfEM_Interaction::BeamData::mEl, WsfEM_Interaction::mFailedStatus, WsfEM_Interaction::BeamData::mGain, WsfSensorResult::mPd, WsfPassiveSensor::Interactor::mPSOS_CumulativePd, WsfEM_Interaction::mRcvdPower, mRcvrPtr, WsfSensorResult::mRequiredPd, WsfEM_Interaction::mXmtrBeam, and ProcessFailedPSOS_Detection().
Referenced by AttemptToDetect().
| size_t WsfPassiveSensor::PassiveBeam::GetDetectionSensitivityCount | ( | SignalType | aSignalType | ) | const |
Gets the count of frequency-sensitivity entries.
| aSignalType | Type of signal (continuous (cST_CONTINUOUS) or pulsed (cST_PULSED)). |
References mDetector.
| void WsfPassiveSensor::PassiveBeam::GetDetectionSensitivityEntry | ( | SignalType | aSignalType, |
| size_t | aIndex, | ||
| double & | aFrequency, | ||
| double & | aSensitivity ) const |
Gets the data in a frequency-sensitivity entry.
| aSignalType | Type of signal (continuous (cST_CONTINUOUS) or pulsed (cST_PULSED)). |
| aIndex | The index of the entry. |
| aFrequency | The frequency in the entry. |
| aSensitivity | The sensitivity value in the entry. |
References mDetector.
| size_t WsfPassiveSensor::PassiveBeam::GetDetectionThresholdCount | ( | SignalType | aSignalType | ) | const |
Gets the count of frequency-threshold entries.
| aSignalType | Type of signal (continuous (cST_CONTINUOUS) or pulsed (cST_PULSED)). |
References mDetector.
| void WsfPassiveSensor::PassiveBeam::GetDetectionThresholdEntry | ( | SignalType | aSignalType, |
| size_t | aIndex, | ||
| double & | aFrequency, | ||
| double & | aThreshold ) const |
Gets the data in a frequency-threshold entry.
| aSignalType | Type of signal (continuous (cST_CONTINUOUS) or pulsed (cST_PULSED)). |
| aIndex | The index of the entry. |
| aFrequency | The frequency in the entry. |
| aThreshold | The threshold value in the entry. |
References mDetector.
|
inlineoverridevirtual |
Reimplemented from WsfSensorBeam.
References mRcvrPtr.
| bool WsfPassiveSensor::PassiveBeam::Initialize | ( | WsfSensor * | aSensorPtr, |
| PassiveMode * | aModePtr ) |
References WsfPlatformPart::DebugEnabled(), WsfPlatformPart::GetSimulation(), mAntennaPtr, mDetector, mRcvrPtr, ok, and WsfSensorBeam::WsfSensor.
Referenced by WsfPassiveSensor::PassiveMode::Initialize().
| WsfPassiveSensor::PassiveBeam & WsfPassiveSensor::PassiveBeam::operator= | ( | const PassiveBeam & | aRhs | ) |
References mAntennaPtr, mDetector, mRcvrPtr, WsfSensorBeam::operator=(), PassiveBeam(), and WsfPassiveSensor::PassiveRcvr.
| void WsfPassiveSensor::PassiveBeam::ProcessFailedPSOS_Detection | ( | double | aSimTime, |
| Interactor * | aInteractorPtr ) |
Process a failed PSOS detection attempt. This routine is called whenever PSOS is enabled and a detection attempt determines there is absolutely no probability of a detection.
References WsfPassiveSensor::Interactor::mPSOS_CumulativePd.
Referenced by AttemptToDetect(), and ComputePSOS_Effects().
|
overridevirtual |
Reimplemented from WsfSensorBeam.
References WsfPassiveDetector::cST_CONTINUOUS, WsfPassiveDetector::cST_PULSED, mAntennaPtr, mDetector, and mRcvrPtr.
| bool WsfPassiveSensor::PassiveBeam::TuneFrequencyBand | ( | double | aSimTime, |
| bool | aReset, | ||
| unsigned int | aFrequencyBandNumber, | ||
| double | aLowerFreq, | ||
| double | aUpperFreq, | ||
| double | aDwellTime, | ||
| double | aRevistTime ) |
References mRcvrPtr.
| WsfEM_Antenna* WsfPassiveSensor::PassiveBeam::mAntennaPtr |
Referenced by Initialize(), WsfPassiveSensor::PassiveMode::Initialize(), operator=(), PassiveBeam(), PassiveBeam(), ProcessInput(), and ~PassiveBeam().
| WsfPassiveDetector WsfPassiveSensor::PassiveBeam::mDetector |
| PassiveRcvr* WsfPassiveSensor::PassiveBeam::mRcvrPtr |
Referenced by AttemptToDetect(), ComputePSOS_Effects(), GetEM_Rcvr(), WsfPassiveSensor::GetNumberofFrequencyBands(), Initialize(), WsfPassiveSensor::PassiveMode::Initialize(), operator=(), PassiveBeam(), PassiveBeam(), ProcessInput(), WsfPassiveSensor::PassiveMode::ProcessInput(), TuneFrequencyBand(), and ~PassiveBeam().