|
WSF
|
#include <WsfOTH_RadarSensor.hpp>


Public Member Functions | |
| OTH_Beam () | |
| OTH_Beam (const OTH_Beam &aSrc) | |
| OTH_Beam & | operator= (const OTH_Beam &)=delete |
| ~OTH_Beam () override | |
| WsfEM_Rcvr * | GetEM_Rcvr () override |
| WsfEM_Xmtr * | GetEM_Xmtr () override |
| bool | ProcessInput (UtInput &aInput) override |
| void | AttemptToDetect (double aSimTime, WsfPlatform *aTargetPtr, Settings &aSettings, WsfSensorResult &aResult) |
| double | GetAdjustmentFactor () const |
| double | GetIntegrationGain () const override |
| void | SetIntegrationGain (double aIntegrationGain) override |
| int | GetNumberOfPulsesIntegrated () const override |
| bool | UsingDetector () const |
| double | GetDopplerResolution () const |
| WsfMTI_TableManager::MTI_AdjustmentTable * | GetMTI_AdjustmentTable () |
| For External Services. | |
| bool | AreIonosphericParametersValid () |
| void | ComputeIonosphericCharacteristics () |
| void | UpdateIonosphericCharacteristics () |
| void | GetReflectionLocationWCS (double aReflectionLocationWCS[]) |
| bool | GetIonosphericRangeConstrained () const |
| double | GetMinUsableFrequency () const |
| void | GetIonosphericRangeLimits (double &aMin, double &aMax) |
| bool | GetIonosphereChanged () const |
| void | SetIonosphereChanged (bool aIonosphereChanged) |
| void | SetLoopGain (double aLoopGain) |
| void | SetClutterAttenuationFactor (double aFactor) |
| bool | Initialize (double aSimTime, unsigned int aBeamIndex, WsfSensor *aSensorPtr, OTH_Mode *aModePtr, bool aCanTransmit, bool aCanReceive, bool aShowCalibrationData, bool aIsMultiBeam) |
| void | ReadTable (UtInput &aInput, WsfMTI_TableManager::MTI_AdjustmentTable &aMTI_AdjustmentTable) |
| void | ComputeMTI_Effects (WsfSensorResult &aResult, double &aClutterAttenuationFactor) |
| WsfStringId | GetClutterType () const |
| WsfEM_Clutter * | GetClutter () const override |
| Public Member Functions inherited from WsfSensorBeam | |
| WsfSensorBeam () | |
| WsfSensorBeam (const WsfSensorBeam &aSrc)=default | |
| WsfSensorBeam & | operator= (const WsfSensorBeam &aRhs) |
| virtual | ~WsfSensorBeam ()=default |
| 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 () |
Public Attributes | |
| std::unique_ptr< WsfEM_Antenna > | mAntennaPtr |
| std::unique_ptr< WsfEM_Xmtr > | mXmtrPtr |
| The transmitter for a radar beam. | |
| std::unique_ptr< WsfEM_Rcvr > | mRcvrPtr |
| The receiver for a radar beam. | |
| WsfEM_Clutter * | mClutterPtr |
| WsfEM_Noise | mNoise |
| The galactic noise. | |
| double | mErrorModelAzBeamwidth |
| Additional parameters associated with measurement errors. | |
| double | mErrorModelElBeamwidth |
| double | mErrorModelPulseWidth |
| double | mErrorModelDopplerResolution |
A RadarBeam represents a beam in a radar system. A single-beam radar is represents by one such object. A multi-beam radar is represented by a vector of these objects.
| WsfOTH_RadarSensor::OTH_Beam::OTH_Beam | ( | ) |
References GetEM_Rcvr(), mAntennaPtr, mClutterPtr, mErrorModelAzBeamwidth, mErrorModelDopplerResolution, mErrorModelElBeamwidth, mErrorModelPulseWidth, mNoise, mRcvrPtr, mXmtrPtr, and WsfSensorBeam::WsfSensorBeam().
Referenced by operator=(), and OTH_Beam().
| WsfOTH_RadarSensor::OTH_Beam::OTH_Beam | ( | const OTH_Beam & | aSrc | ) |
|
override |
References mClutterPtr.
| bool WsfOTH_RadarSensor::OTH_Beam::AreIonosphericParametersValid | ( | ) |
References ok.
Referenced by Initialize().
| void WsfOTH_RadarSensor::OTH_Beam::AttemptToDetect | ( | double | aSimTime, |
| WsfPlatform * | aTargetPtr, | ||
| Settings & | aSettings, | ||
| WsfSensorResult & | aResult ) |
Attempt to detect the specified target.
| aSimTime | [input] The current simulation time. |
| aTargetPtr | [input] The target that is trying to be detected. |
| aSettings | [input] The settings of the sensor which is attempting to detect the aTargetPtr. |
| aResult | [updated] On input this contains the current relative geometry information. On output this it will be updated to contain the RCS, signal-to-noise and Pd. |
References WsfSensor::AttemptToDetect(), WsfSensorResult::cOTH_LIMITS, WsfEM_Interaction::cSIGNAL_LEVEL, WsfOTH_RadarSensor::GetEM_Xmtr(), WsfEM_XmtrRcvr::GetPlatform(), WsfSensorResult::mBeamIndex, WsfEM_Interaction::mFailedStatus, mRcvrPtr, WsfEM_Interaction::mSignalToNoise, WsfSensorResult::Reset(), and UpdateIonosphericCharacteristics().
| void WsfOTH_RadarSensor::OTH_Beam::ComputeIonosphericCharacteristics | ( | ) |
References mXmtrPtr.
Referenced by Initialize(), and UpdateIonosphericCharacteristics().
| void WsfOTH_RadarSensor::OTH_Beam::ComputeMTI_Effects | ( | WsfSensorResult & | aResult, |
| double & | aClutterAttenuationFactor ) |
Compute the clutter attenuation to be applied to the current interaction
| aResult | The current interaction. |
| aClutterAttenuationFactor | The attenuation factor for the clutter signal. 0 for complete attenuation and 1 for no attenuation. Taken from SalramMode::ComputeProbabilityOfDetection and SalramMode::Initialize. |
References WsfEM_Interaction::GetTarget(), mClutterPtr, WsfEM_Interaction::LocationData::mLocWCS, WsfEM_Interaction::RelativeData::mRange, WsfEM_Interaction::mRcvdPower, WsfEM_Interaction::mRcvrLoc, WsfEM_Interaction::mRcvrNoisePower, WsfEM_Interaction::mRcvrToTgt, WsfEM_Interaction::mTgtLoc, WsfEM_Interaction::RelativeData::mTrueEl, mXmtrPtr, and WsfEM_Interaction::mXmtrToTgt.
|
inline |
|
inlineoverridevirtual |
Reimplemented from WsfSensorBeam.
References mClutterPtr.
|
inline |
|
inline |
|
inlineoverridevirtual |
Reimplemented from WsfSensorBeam.
References mRcvrPtr.
Referenced by Initialize(), OTH_Beam(), OTH_Beam(), and WsfOTH_RadarSensor::UpdateXmtrRcvrLists().
|
inlineoverridevirtual |
Reimplemented from WsfSensorBeam.
References mXmtrPtr.
Referenced by WsfOTH_RadarSensor::UpdateXmtrRcvrLists().
|
inlineoverridevirtual |
Reimplemented from WsfSensorBeam.
|
inline |
|
inline |
Referenced by Initialize().
| void WsfOTH_RadarSensor::OTH_Beam::GetIonosphericRangeLimits | ( | double & | aMin, |
| double & | aMax ) |
Referenced by Initialize(), and UpdateIonosphericCharacteristics().
|
inline |
|
inline |
For External Services.
|
inlineoverridevirtual |
Reimplemented from WsfSensorBeam.
| void WsfOTH_RadarSensor::OTH_Beam::GetReflectionLocationWCS | ( | double | aReflectionLocationWCS[] | ) |
Referenced by WsfOTH_RadarSensor::OTH_Mode::UpdateTrack().
| bool WsfOTH_RadarSensor::OTH_Beam::Initialize | ( | double | aSimTime, |
| unsigned int | aBeamIndex, | ||
| WsfSensor * | aSensorPtr, | ||
| OTH_Mode * | aModePtr, | ||
| bool | aCanTransmit, | ||
| bool | aCanReceive, | ||
| bool | aShowCalibrationData, | ||
| bool | aIsMultiBeam ) |
References AreIonosphericParametersValid(), WsfPlatformPart::cLEVEL_TWO_DEBUG, WsfObjectTypeList< T >::Clone(), ComputeIonosphericCharacteristics(), WsfPlatformPart::DebugEnabled(), WsfEM_ClutterTypes::Get(), WsfPlatformPart::GetDebugMask(), GetEM_Rcvr(), GetIonosphericRangeConstrained(), GetIonosphericRangeLimits(), WsfNamed::GetName(), WsfObject::GetName(), WsfPlatformPart::GetPlatform(), WsfPlatformPart::GetScenario(), WsfSensorBeam::GetSignalProcessors(), WsfPlatformPart::GetSimulation(), WsfScenario::GetSimulationInput(), WsfObject::GetType(), mAntennaPtr, mClutterPtr, mNoise, mRcvrPtr, mXmtrPtr, ok, WsfSimulationInput::UseDefaultFrequency(), and WsfSensorBeam::WsfSensor.
Referenced by WsfOTH_RadarSensor::OTH_Mode::Initialize().
References OTH_Beam().
|
overridevirtual |
Reimplemented from WsfSensorBeam.
References wsf::MarcumSwerling::cDL_LINEAR, wsf::MarcumSwerling::cDL_LOG, wsf::MarcumSwerling::cDL_SQUARE, WsfScenario::FromInput(), WsfEM_ClutterTypes::Get(), mAntennaPtr, mErrorModelAzBeamwidth, mErrorModelDopplerResolution, mErrorModelElBeamwidth, mErrorModelPulseWidth, mNoise, mRcvrPtr, mXmtrPtr, and WsfSensorBeam::ProcessInput().
| void WsfOTH_RadarSensor::OTH_Beam::ReadTable | ( | UtInput & | aInput, |
| WsfMTI_TableManager::MTI_AdjustmentTable & | aMTI_AdjustmentTable ) |
|
inline |
|
inlineoverridevirtual |
Reimplemented from WsfSensorBeam.
|
inline |
|
inline |
| void WsfOTH_RadarSensor::OTH_Beam::UpdateIonosphericCharacteristics | ( | ) |
References ComputeIonosphericCharacteristics(), GetIonosphericRangeLimits(), and mAntennaPtr.
Referenced by AttemptToDetect().
|
inline |
| std::unique_ptr<WsfEM_Antenna> WsfOTH_RadarSensor::OTH_Beam::mAntennaPtr |
| WsfEM_Clutter* WsfOTH_RadarSensor::OTH_Beam::mClutterPtr |
The pointer to the clutter model (after initialization). This will be zero if no clutter model has been selected.
Referenced by ComputeMTI_Effects(), GetClutter(), Initialize(), OTH_Beam(), OTH_Beam(), and ~OTH_Beam().
| double WsfOTH_RadarSensor::OTH_Beam::mErrorModelAzBeamwidth |
Additional parameters associated with measurement errors.
Referenced by OTH_Beam(), OTH_Beam(), and ProcessInput().
| double WsfOTH_RadarSensor::OTH_Beam::mErrorModelDopplerResolution |
Referenced by OTH_Beam(), OTH_Beam(), and ProcessInput().
| double WsfOTH_RadarSensor::OTH_Beam::mErrorModelElBeamwidth |
Referenced by OTH_Beam(), OTH_Beam(), and ProcessInput().
| double WsfOTH_RadarSensor::OTH_Beam::mErrorModelPulseWidth |
Referenced by OTH_Beam(), OTH_Beam(), and ProcessInput().
| WsfEM_Noise WsfOTH_RadarSensor::OTH_Beam::mNoise |
The galactic noise.
Referenced by Initialize(), OTH_Beam(), OTH_Beam(), and ProcessInput().
| std::unique_ptr<WsfEM_Rcvr> WsfOTH_RadarSensor::OTH_Beam::mRcvrPtr |
The receiver for a radar beam.
Referenced by AttemptToDetect(), GetEM_Rcvr(), Initialize(), OTH_Beam(), OTH_Beam(), and ProcessInput().
| std::unique_ptr<WsfEM_Xmtr> WsfOTH_RadarSensor::OTH_Beam::mXmtrPtr |
The transmitter for a radar beam.
Referenced by ComputeIonosphericCharacteristics(), ComputeMTI_Effects(), GetEM_Xmtr(), Initialize(), WsfOTH_RadarSensor::OTH_Mode::Initialize(), OTH_Beam(), OTH_Beam(), and ProcessInput().