WSF
WsfEM_RF_Type1Attenuation Class Reference

#include <WsfEM_RF_Type1Attenuation.hpp>

Inheritance diagram for WsfEM_RF_Type1Attenuation:
Collaboration diagram for WsfEM_RF_Type1Attenuation:

Public Member Functions

 WsfEM_RF_Type1Attenuation ()
 WsfEM_RF_Type1Attenuation (const WsfEM_RF_Type1Attenuation &aSrc)
 ~WsfEM_RF_Type1Attenuation () override=default
WsfEM_RF_Type1Attenuationoperator= (const WsfEM_RF_Type1Attenuation &)=delete
WsfEM_AttenuationClone () const override
bool Initialize (WsfEM_XmtrRcvr *aXmtrRcvrPtr) override
Public Member Functions inherited from WsfEM_Attenuation
 WsfEM_Attenuation ()
 ~WsfEM_Attenuation () override
virtual bool Initialize (WsfEM_Xmtr *aXmtrPtr)
bool ProcessInput (UtInput &aInput) override
const char * GetScriptClassName () const override
bool DebugEnabled () const
 Is 'debug' enabled?
virtual bool IsNullModel () const
virtual bool AcceptsInlineBlockInput () const
virtual double ComputeAttenuationFactor (WsfEM_Interaction &aInteraction, WsfEnvironment &aEnvironment, WsfEM_Interaction::Geometry aGeometry)
Public Member Functions inherited from WsfObject
 WsfObject ()
 This is the constructor for the WsfObject class.
 ~WsfObject () override
 This is the destructor for the WsfObject class.
const char * GetScriptClassName () const override
const std::string & GetType () const
WsfStringId GetTypeId () const
 Get the string ID of the 'type' of the object.
void SetType (WsfStringId aType)
const std::string & GetBaseType () const
WsfStringId GetBaseTypeId () const
const TypeListGetTypeList () const
bool IsA_TypeOf (WsfStringId aType) const
WsfObjectoperator= (const WsfObject &aRhs)
 Assignment operator.
template<typename T>
void Serialize (T &aBuff)
 For XIO (de)serialization.
const std::string & GetName () const
WsfStringId GetNameId () const
void SetName (WsfStringId aName)

Static Public Member Functions

static WsfEM_AttenuationObjectFactory (const std::string &aTypeName)

Protected Member Functions

double ComputeAttenuationFactorP (double aRange, double aElevation, double aAltitude, double aFrequency) override
Protected Member Functions inherited from WsfEM_Attenuation
 WsfEM_Attenuation (const WsfEM_Attenuation &aSrc)
void GetAltitudesAndGroundRange (WsfEM_Interaction &aInteraction, WsfEM_Interaction::Geometry aGeometry, double &aAltitude1, double &aAltitude2, double &aGroundRange)
void GetRangeElevationAltitude (WsfEM_Interaction &aInteraction, WsfEM_Interaction::Geometry aGeometry, double &aRange, double &aElevation, double &aAltitude)
 WsfObject (const WsfObject &aSrc)
 Copy constructor (for Clone()).

Additional Inherited Members

Public Types inherited from WsfObject
typedef std::vector< WsfStringIdTypeList
 The list of types returned by GetTypeList.
Protected Attributes inherited from WsfEM_Attenuation
bool mDebugEnabled
bool mSortEndPoints

Detailed Description

An RF attenuation model that can include the effects of dust, rain and clouds.

This model utilizes frequency-dependent lookup-tables and formulas to compute the attenuation of the atmosphere, dust, rain and clouds on RF signals in the 1 - 90 GHZ frequency range.

Note
This model was provided for a specific project application. It is assumed that the sensor is on an aircraft at a reasonable high altitude looking down at ground targets.

Constructor & Destructor Documentation

◆ WsfEM_RF_Type1Attenuation() [1/2]

WsfEM_RF_Type1Attenuation::WsfEM_RF_Type1Attenuation ( )

◆ WsfEM_RF_Type1Attenuation() [2/2]

WsfEM_RF_Type1Attenuation::WsfEM_RF_Type1Attenuation ( const WsfEM_RF_Type1Attenuation & aSrc)

◆ ~WsfEM_RF_Type1Attenuation()

WsfEM_RF_Type1Attenuation::~WsfEM_RF_Type1Attenuation ( )
overridedefault

Member Function Documentation

◆ Clone()

WsfEM_Attenuation * WsfEM_RF_Type1Attenuation::Clone ( ) const
overridevirtual

Return a copy of this object. Must be implemented by all derived types. If cloning is impossible, a WsfUncloneableException should be thrown.

Implements WsfEM_Attenuation.

References WsfEM_Attenuation::WsfEM_Attenuation(), and WsfEM_RF_Type1Attenuation().

◆ ComputeAttenuationFactorP()

double WsfEM_RF_Type1Attenuation::ComputeAttenuationFactorP ( double aRange,
double aElevation,
double aAltitude,
double aFrequency )
overrideprotectedvirtual

Compute the attenuation loss factor along a specified path.

Parameters
aRangeThe range over which the signal will travel (meters)
aElevationThe elevation angle above the horizontal plane that is tangent to the Earth's surface (radians)
aAltitudeThe altitude of the lowest point between the two points under consideration. This altitude must be lowest as some models assume it.
aFrequencyThe frequency of the signal (hertz).
Returns
The fraction of the signal that remains at the end of the path, in the range [0, 1].
Note
This form is NOT called directly by the routines in WsfEM_Interaction (they call the 3-argument form). The base class 3-argument form calls this form, which as a signature that is typical for many RF models.
This form is protected and can ONLY be called by the base class 3-argument form.

Reimplemented from WsfEM_Attenuation.

◆ Initialize()

bool WsfEM_RF_Type1Attenuation::Initialize ( WsfEM_XmtrRcvr * aXmtrRcvrPtr)
overridevirtual

Initialize the attenuation object.

Parameters
aXmtrRcvrPtrThe transmitter/receiver to which the attenuation object is attached.

Reimplemented from WsfEM_Attenuation.

References WsfEM_XmtrRcvr::GetPlatform(), and WsfPlatform::GetScenario().

◆ ObjectFactory()

WsfEM_Attenuation * WsfEM_RF_Type1Attenuation::ObjectFactory ( const std::string & aTypeName)
static

Factory method for WsfEM_Attenuation. This is called by WsfEM_Attenuation::LoadInstance to determine if a model represented by this class is being requested.

References WsfEM_Attenuation::WsfEM_Attenuation(), and WsfEM_RF_Type1Attenuation().

◆ operator=()

WsfEM_RF_Type1Attenuation & WsfEM_RF_Type1Attenuation::operator= ( const WsfEM_RF_Type1Attenuation & )
delete

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