WSF
WsfEM_EARCE_Attenuation Class Reference

#include <WsfEM_EARCE_Attenuation.hpp>

Inheritance diagram for WsfEM_EARCE_Attenuation:
Collaboration diagram for WsfEM_EARCE_Attenuation:

Public Member Functions

 WsfEM_EARCE_Attenuation ()=default
 WsfEM_EARCE_Attenuation (const WsfEM_EARCE_Attenuation &aSrc)
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)

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

The RF atmospheric attenuation model from the ESAMS/ALARM/RADGUNS Common Environment. This is a C++ conversion of the FORTRAN model as found in SUPPRESSOR.

Note
This algorithm is only valid for ground-based radars.

Constructor & Destructor Documentation

◆ WsfEM_EARCE_Attenuation() [1/2]

WsfEM_EARCE_Attenuation::WsfEM_EARCE_Attenuation ( )
default

◆ WsfEM_EARCE_Attenuation() [2/2]

WsfEM_EARCE_Attenuation::WsfEM_EARCE_Attenuation ( const WsfEM_EARCE_Attenuation & aSrc)

Member Function Documentation

◆ Clone()

WsfEM_Attenuation * WsfEM_EARCE_Attenuation::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_EARCE_Attenuation().

◆ ComputeAttenuationFactorP()

double WsfEM_EARCE_Attenuation::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_EARCE_Attenuation::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_EARCE_Attenuation().


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