WSF
WsfEM_BlakeAttenuation Class Reference

#include <WsfEM_BlakeAttenuation.hpp>

Inheritance diagram for WsfEM_BlakeAttenuation:
Collaboration diagram for WsfEM_BlakeAttenuation:

Public Member Functions

 WsfEM_BlakeAttenuation ()
 WsfEM_BlakeAttenuation (const WsfEM_BlakeAttenuation &aSrc)
WsfEM_BlakeAttenuationoperator= (const WsfEM_BlakeAttenuation &aRhs)=delete
 ~WsfEM_BlakeAttenuation () override
WsfEM_AttenuationClone () const override
Public Member Functions inherited from WsfEM_Attenuation
 WsfEM_Attenuation ()
 ~WsfEM_Attenuation () override
virtual bool Initialize (WsfEM_XmtrRcvr *aXmtrRcvrPtr)
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)
 Factory method called by WsfEM_AttenuationTypes.

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

Class definition for the Atmospheric Attenuation (Absorption) Model of Lamont Blake.

Translated to C++ from FORTRAN.

Computes a percentage of signal NOT lost due to absorption as a function of signal frequency, elevation between origin and destination, and range between origin and destination.

Constructor & Destructor Documentation

◆ WsfEM_BlakeAttenuation() [1/2]

WsfEM_BlakeAttenuation::WsfEM_BlakeAttenuation ( )

◆ WsfEM_BlakeAttenuation() [2/2]

WsfEM_BlakeAttenuation::WsfEM_BlakeAttenuation ( const WsfEM_BlakeAttenuation & aSrc)

◆ ~WsfEM_BlakeAttenuation()

WsfEM_BlakeAttenuation::~WsfEM_BlakeAttenuation ( )
override

Member Function Documentation

◆ Clone()

WsfEM_Attenuation * WsfEM_BlakeAttenuation::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_BlakeAttenuation().

◆ ComputeAttenuationFactorP()

double WsfEM_BlakeAttenuation::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.

◆ ObjectFactory()

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

◆ operator=()

WsfEM_BlakeAttenuation & WsfEM_BlakeAttenuation::operator= ( const WsfEM_BlakeAttenuation & aRhs)
delete

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