WSF
WsfOTH_RadarSensor::OTH_Beam Class Reference

#include <WsfOTH_RadarSensor.hpp>

Inheritance diagram for WsfOTH_RadarSensor::OTH_Beam:
Collaboration diagram for WsfOTH_RadarSensor::OTH_Beam:

Public Member Functions

 OTH_Beam ()
 OTH_Beam (const OTH_Beam &aSrc)
OTH_Beamoperator= (const OTH_Beam &)=delete
 ~OTH_Beam () override
WsfEM_RcvrGetEM_Rcvr () override
WsfEM_XmtrGetEM_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_AdjustmentTableGetMTI_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_ClutterGetClutter () const override
Public Member Functions inherited from WsfSensorBeam
 WsfSensorBeam ()
 WsfSensorBeam (const WsfSensorBeam &aSrc)=default
WsfSensorBeamoperator= (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)
WsfSensorModeGetSensorMode () const
size_t GetBeamIndex () const
WsfSensorSignalProcessor::ListGetSignalProcessors ()

Public Attributes

std::unique_ptr< WsfEM_AntennamAntennaPtr
std::unique_ptr< WsfEM_XmtrmXmtrPtr
 The transmitter for a radar beam.
std::unique_ptr< WsfEM_RcvrmRcvrPtr
 The receiver for a radar beam.
WsfEM_CluttermClutterPtr
WsfEM_Noise mNoise
 The galactic noise.
double mErrorModelAzBeamwidth
 Additional parameters associated with measurement errors.
double mErrorModelElBeamwidth
double mErrorModelPulseWidth
double mErrorModelDopplerResolution

Detailed Description

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.

Constructor & Destructor Documentation

◆ OTH_Beam() [1/2]

◆ OTH_Beam() [2/2]

◆ ~OTH_Beam()

WsfOTH_RadarSensor::OTH_Beam::~OTH_Beam ( )
override

References mClutterPtr.

Member Function Documentation

◆ AreIonosphericParametersValid()

bool WsfOTH_RadarSensor::OTH_Beam::AreIonosphericParametersValid ( )

References ok.

Referenced by Initialize().

◆ AttemptToDetect()

void WsfOTH_RadarSensor::OTH_Beam::AttemptToDetect ( double aSimTime,
WsfPlatform * aTargetPtr,
Settings & aSettings,
WsfSensorResult & aResult )

Attempt to detect the specified target.

Parameters
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().

◆ ComputeIonosphericCharacteristics()

void WsfOTH_RadarSensor::OTH_Beam::ComputeIonosphericCharacteristics ( )

References mXmtrPtr.

Referenced by Initialize(), and UpdateIonosphericCharacteristics().

◆ ComputeMTI_Effects()

void WsfOTH_RadarSensor::OTH_Beam::ComputeMTI_Effects ( WsfSensorResult & aResult,
double & aClutterAttenuationFactor )

Compute the clutter attenuation to be applied to the current interaction

Parameters
aResultThe current interaction.
aClutterAttenuationFactorThe 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.

◆ GetAdjustmentFactor()

double WsfOTH_RadarSensor::OTH_Beam::GetAdjustmentFactor ( ) const
inline

◆ GetClutter()

WsfEM_Clutter * WsfOTH_RadarSensor::OTH_Beam::GetClutter ( ) const
inlineoverridevirtual

Reimplemented from WsfSensorBeam.

References mClutterPtr.

◆ GetClutterType()

WsfStringId WsfOTH_RadarSensor::OTH_Beam::GetClutterType ( ) const
inline

◆ GetDopplerResolution()

double WsfOTH_RadarSensor::OTH_Beam::GetDopplerResolution ( ) const
inline

◆ GetEM_Rcvr()

WsfEM_Rcvr * WsfOTH_RadarSensor::OTH_Beam::GetEM_Rcvr ( )
inlineoverridevirtual

◆ GetEM_Xmtr()

WsfEM_Xmtr * WsfOTH_RadarSensor::OTH_Beam::GetEM_Xmtr ( )
inlineoverridevirtual

Reimplemented from WsfSensorBeam.

References mXmtrPtr.

Referenced by WsfOTH_RadarSensor::UpdateXmtrRcvrLists().

◆ GetIntegrationGain()

double WsfOTH_RadarSensor::OTH_Beam::GetIntegrationGain ( ) const
inlineoverridevirtual

Reimplemented from WsfSensorBeam.

◆ GetIonosphereChanged()

bool WsfOTH_RadarSensor::OTH_Beam::GetIonosphereChanged ( ) const
inline

◆ GetIonosphericRangeConstrained()

bool WsfOTH_RadarSensor::OTH_Beam::GetIonosphericRangeConstrained ( ) const
inline

Referenced by Initialize().

◆ GetIonosphericRangeLimits()

void WsfOTH_RadarSensor::OTH_Beam::GetIonosphericRangeLimits ( double & aMin,
double & aMax )

◆ GetMinUsableFrequency()

double WsfOTH_RadarSensor::OTH_Beam::GetMinUsableFrequency ( ) const
inline

◆ GetMTI_AdjustmentTable()

WsfMTI_TableManager::MTI_AdjustmentTable * WsfOTH_RadarSensor::OTH_Beam::GetMTI_AdjustmentTable ( )
inline

For External Services.

◆ GetNumberOfPulsesIntegrated()

int WsfOTH_RadarSensor::OTH_Beam::GetNumberOfPulsesIntegrated ( ) const
inlineoverridevirtual

Reimplemented from WsfSensorBeam.

◆ GetReflectionLocationWCS()

void WsfOTH_RadarSensor::OTH_Beam::GetReflectionLocationWCS ( double aReflectionLocationWCS[])

◆ Initialize()

◆ operator=()

OTH_Beam & WsfOTH_RadarSensor::OTH_Beam::operator= ( const OTH_Beam & )
delete

References OTH_Beam().

◆ ProcessInput()

◆ ReadTable()

◆ SetClutterAttenuationFactor()

void WsfOTH_RadarSensor::OTH_Beam::SetClutterAttenuationFactor ( double aFactor)
inline

◆ SetIntegrationGain()

void WsfOTH_RadarSensor::OTH_Beam::SetIntegrationGain ( double aIntegrationGain)
inlineoverridevirtual

Reimplemented from WsfSensorBeam.

◆ SetIonosphereChanged()

void WsfOTH_RadarSensor::OTH_Beam::SetIonosphereChanged ( bool aIonosphereChanged)
inline

◆ SetLoopGain()

void WsfOTH_RadarSensor::OTH_Beam::SetLoopGain ( double aLoopGain)
inline

◆ UpdateIonosphericCharacteristics()

void WsfOTH_RadarSensor::OTH_Beam::UpdateIonosphericCharacteristics ( )

◆ UsingDetector()

bool WsfOTH_RadarSensor::OTH_Beam::UsingDetector ( ) const
inline

Member Data Documentation

◆ mAntennaPtr

std::unique_ptr<WsfEM_Antenna> WsfOTH_RadarSensor::OTH_Beam::mAntennaPtr

◆ mClutterPtr

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().

◆ mErrorModelAzBeamwidth

double WsfOTH_RadarSensor::OTH_Beam::mErrorModelAzBeamwidth

Additional parameters associated with measurement errors.

Referenced by OTH_Beam(), OTH_Beam(), and ProcessInput().

◆ mErrorModelDopplerResolution

double WsfOTH_RadarSensor::OTH_Beam::mErrorModelDopplerResolution

Referenced by OTH_Beam(), OTH_Beam(), and ProcessInput().

◆ mErrorModelElBeamwidth

double WsfOTH_RadarSensor::OTH_Beam::mErrorModelElBeamwidth

Referenced by OTH_Beam(), OTH_Beam(), and ProcessInput().

◆ mErrorModelPulseWidth

double WsfOTH_RadarSensor::OTH_Beam::mErrorModelPulseWidth

Referenced by OTH_Beam(), OTH_Beam(), and ProcessInput().

◆ mNoise

WsfEM_Noise WsfOTH_RadarSensor::OTH_Beam::mNoise

The galactic noise.

Referenced by Initialize(), OTH_Beam(), OTH_Beam(), and ProcessInput().

◆ mRcvrPtr

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().

◆ mXmtrPtr

std::unique_ptr<WsfEM_Xmtr> WsfOTH_RadarSensor::OTH_Beam::mXmtrPtr

The documentation for this class was generated from the following files:
Copyrights Multiple, All Rights Reserved