WSF
WsfEM_SurfaceClutter Class Reference

Land and sea clutter model. More...

#include <WsfEM_SurfaceClutter.hpp>

Inheritance diagram for WsfEM_SurfaceClutter:
Collaboration diagram for WsfEM_SurfaceClutter:

Public Member Functions

 WsfEM_SurfaceClutter ()
WsfEM_SurfaceClutteroperator= (const WsfEM_SurfaceClutter &)=delete
 ~WsfEM_SurfaceClutter () override=default
WsfEM_ClutterClone () const override
bool Initialize (WsfEM_Rcvr *aRcvrPtr) override
bool ProcessInput (UtInput &aInput) override
double ComputeClutterPower (WsfEM_Interaction &aInteraction, WsfEnvironment &aEnvironment, double aProcessingFactor) override
Public Member Functions inherited from WsfEM_Clutter
 WsfEM_Clutter ()
 Constructor.
 ~WsfEM_Clutter () override=default
bool DebugEnabled () const
 Is 'debug' enabled?
virtual bool IsNullModel () const
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_ClutterObjectFactory (const std::string &aTypeName)
 Factory method called by WsfEM_ClutterTypes.

Protected Member Functions

 WsfEM_SurfaceClutter (const WsfEM_SurfaceClutter &aSrc)=default
Protected Member Functions inherited from WsfEM_Clutter
 WsfEM_Clutter (const WsfEM_Clutter &aSrc)
 Copy constructor.
WsfEM_Clutteroperator= (const WsfEM_Clutter &aRhs)
 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.

Detailed Description

Land and sea clutter model.

Constructor & Destructor Documentation

◆ WsfEM_SurfaceClutter() [1/2]

WsfEM_SurfaceClutter::WsfEM_SurfaceClutter ( )

◆ ~WsfEM_SurfaceClutter()

WsfEM_SurfaceClutter::~WsfEM_SurfaceClutter ( )
overridedefault

◆ WsfEM_SurfaceClutter() [2/2]

WsfEM_SurfaceClutter::WsfEM_SurfaceClutter ( const WsfEM_SurfaceClutter & aSrc)
protecteddefault

Member Function Documentation

◆ Clone()

WsfEM_Clutter * WsfEM_SurfaceClutter::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_Clutter.

References WsfEM_Clutter::WsfEM_Clutter(), and WsfEM_SurfaceClutter().

◆ ComputeClutterPower()

double WsfEM_SurfaceClutter::ComputeClutterPower ( WsfEM_Interaction & aInteraction,
WsfEnvironment & aEnvironment,
double aProcessingFactor )
overridevirtual

Computes the clutter signal for various terrain types.

Land clutter data based on MIT Lincoln Lab's report on radar propagation at low altitude and tabulated radar ground clutter, and from Nathanson page 272. Data voids filled by J.A. Hueseman, E245 MDAC-STL. Radar ground clutter data as a function of depression angle and frequency was input by Ray Perry in Nov of 1986.

The sea clutter backscatter coefficient is computed as a function of radar frequency (FMhz) and radar beam grazing angle for several sea environments and radar polarizations

Basic sea clutter routine taken from NISC P001/ADRAD Model. Original data from Nathanson pgs 231-239. Data voids filled by E.M. Schultz, E245 MDAC-STL

Implements WsfEM_Clutter.

References WsfEM_Antenna::cSCAN_AZ, WsfEM_XmtrRcvr::GetAntenna(), WsfEM_Xmtr::GetPulseRepetitionFrequency(), WsfEM_Interaction::GetReceiver(), WsfEM_Antenna::GetScanMode(), WsfEM_Interaction::GetTransmitter(), and WsfEM_Interaction::mBistatic.

◆ Initialize()

bool WsfEM_SurfaceClutter::Initialize ( WsfEM_Rcvr * aRcvrPtr)
overridevirtual

◆ ObjectFactory()

WsfEM_Clutter * WsfEM_SurfaceClutter::ObjectFactory ( const std::string & aTypeName)
static

◆ operator=()

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

◆ ProcessInput()

bool WsfEM_SurfaceClutter::ProcessInput ( UtInput & aInput)
overridevirtual

Process input from a generic source.

Examine the current input command. If it is NOT one of the commands recognized by this class then it simply returns 'false'. If it is one of the commands recognized by this class then it processes the command and returns 'true'.

Parameters
aInputa reference to a UtInput object.
Returns
'true' if the command was one recognized by the class or 'false' if not.
Exceptions
UtInput::ExceptionBase(or an object derived from it) if the command was recognized but contains some sort of error.
Note
If a derived class does not recognize the command (i.e.: the return value is false) then it should call the base class ProcessInput method. This chain should continue until either the command is recognized or the top-level base class is encountered.

Reimplemented from WsfEM_Clutter.

References WsfEM_Clutter::ProcessInput().


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