WSF
WsfRadarSignature Class Referenceabstract

An object that represent the radar signature of a platform. More...

#include <WsfRadarSignature.hpp>

Inheritance diagram for WsfRadarSignature:
Collaboration diagram for WsfRadarSignature:

Public Types

enum  { cSIGNATURE_INDEX = 0 }
Public Types inherited from WsfObject
typedef std::vector< WsfStringIdTypeList
 The list of types returned by GetTypeList.

Public Member Functions

 WsfRadarSignature ()
WsfRadarSignatureClone () const override=0
virtual float GetSignature (WsfStringId aStateId, WsfEM_Types::Polarization aPolarization, double aFrequency, double aTgtToXmtrAz, double aTgtToXmtrEl, double aTgtToRcvrAz, double aTgtToRcvrEl, WsfEM_Xmtr *aXmtrPtr=nullptr, WsfEM_Rcvr *aRcvrPtr=nullptr)=0
virtual std::pair< float, float > GetSignatureLimits (WsfStringId aStateId, WsfEM_Types::Polarization aPolarization) const
Public Member Functions inherited from WsfSignature
 WsfSignature ()
 WsfSignature (const WsfSignature &aSrc)
WsfSignatureoperator= (const WsfSignature &)=delete
 ~WsfSignature () override=default
virtual bool InitializeType ()
virtual bool Initialize (double aSimTime, WsfPlatform *aPlatformPtr)
virtual bool IsA_ValidState (WsfStringId aId) const
virtual std::vector< WsfStringIdGetStateNames () const
 get the list of all valid states belonging to the signature
bool ProcessInput (UtInput &aInput) override
bool RequiresPlatform () const
 indicates that a signature can be queried without a valid mPlatform
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)

Methods to support the actual interface on the platform.

These methods provide the interface from the sensor model to the signature.

The user makes calls like WsfOpticalReflectivity::GetSignature(...).

static WsfStringId GetInputType (WsfPlatform *aPlatformPtr)
static WsfStringId GetState (WsfPlatform *aPlatformPtr)
static bool SetState (WsfPlatform *aPlatformPtr, WsfStringId aState)
static float GetScaleFactor (WsfPlatform *aPlatformPtr)
static bool SetScaleFactor (WsfPlatform *aPlatformPtr, float aScaleFactor)
static float GetValue (WsfPlatform *aPlatformPtr, WsfEM_Types::Polarization aPolarization, double aFrequency, double aTgtToXmtrAz, double aTgtToXmtrEl, double aTgtToRcvrAz, double aTgtToRcvrEl)
static float GetValue (WsfPlatform *aPlatformPtr, WsfEM_Xmtr *aXmtrPtr, WsfEM_Rcvr *aRcvrPtr, double aTgtToXmtrAz, double aTgtToXmtrEl, double aTgtToRcvrAz, double aTgtToRcvrEl)
static WsfRadarSignatureGetSignature (WsfPlatform *aPlatformPtr)
static bool SetSignature (WsfPlatform *aPlatformPtr, WsfRadarSignature *aSignaturePtr)
static void RegisterScriptMethods (UtScriptTypes &aScriptTypes)
static void RegisterInterface (WsfScenario &aScenario)
 Register the platform interface object on the prototype signature list in the specified scenario.

Additional Inherited Members

 WsfObject (const WsfObject &aSrc)
 Copy constructor (for Clone()).
Static Protected Member Functions inherited from WsfSignature
template<class SignatureState, WsfStringId SignatureState::* IdMember, typename Iterator>
static std::vector< WsfStringIdGetStateNamesP (Iterator aBegin, Iterator aEnd)
Protected Attributes inherited from WsfSignature
WsfPlatformmPlatformPtr
double mBaseTime
bool mRequiresPlatform {false}

Detailed Description

An object that represent the radar signature of a platform.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
cSIGNATURE_INDEX 

Index of signature within WsfSignatureList (must be unique).

Constructor & Destructor Documentation

◆ WsfRadarSignature()

Member Function Documentation

◆ Clone()

WsfRadarSignature * WsfRadarSignature::Clone ( ) const
overridepure virtual

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

Implements WsfObject.

Implemented in WsfChaffRadarSignature, WsfMilRadarSignature, and WsfStandardRadarSignature.

References WsfRadarSignature().

◆ GetInputType()

WsfStringId WsfRadarSignature::GetInputType ( WsfPlatform * aPlatformPtr)
static

Get the input type of the signature.

Parameters
aPlatformPtr[input] The pointer to the platform containing the signature.
Returns
The current signature state.

References cSIGNATURE_INDEX, WsfSignatureList::GetInputType(), and WsfPlatform::GetSignatureList().

Referenced by GetSignature().

◆ GetScaleFactor()

float WsfRadarSignature::GetScaleFactor ( WsfPlatform * aPlatformPtr)
static

Get the signature scale factor.

Parameters
aPlatformPtr[input] The pointer to the platform containing the signature.
Returns
The signature scale factor.

References cSIGNATURE_INDEX, WsfSignatureList::GetScaleFactor(), and WsfPlatform::GetSignatureList().

Referenced by GetSignature().

◆ GetSignature() [1/2]

WsfRadarSignature * WsfRadarSignature::GetSignature ( WsfPlatform * aPlatformPtr)
static

Get the radar signature object for a platform.

Parameters
aPlatformPtr[input] The pointer to the platform containing the signature.

References cSIGNATURE_INDEX, WsfPlatform::GetSignatureList(), and WsfRadarSignature().

◆ GetSignature() [2/2]

virtual float WsfRadarSignature::GetSignature ( WsfStringId aStateId,
WsfEM_Types::Polarization aPolarization,
double aFrequency,
double aTgtToXmtrAz,
double aTgtToXmtrEl,
double aTgtToRcvrAz,
double aTgtToRcvrEl,
WsfEM_Xmtr * aXmtrPtr = nullptr,
WsfEM_Rcvr * aRcvrPtr = nullptr )
pure virtual

Get the radar signature for a given set of conditions.

Parameters
aStateId[input] The string ID representing the signature state to be used.
aPolarization[input] The polarization of the signal.
aFrequency[input] The frequency of the signal (Hz).
aTgtToXmtrAz[input] The azimuth of the transmitter with respect to the target.
aTgtToXmtrEl[input] The elevation of the transmitter with respect to the target.
aTgtToRcvrAz[input] The azimuth of the receiver with respect to the target.
aTgtToRcvrEl[input] The elevation of the receiver with respect to the target.
aXmtrPtr[input] Optional pointer to the transmitter
aRcvrPtr[input] Optional pointer to the receiver
Returns
The radar cross section (m^2)

Implemented in WsfChaffRadarSignature, WsfMilRadarSignature, and WsfStandardRadarSignature.

References GetInputType(), GetScaleFactor(), GetSignature(), GetSignatureLimits(), GetState(), GetValue(), RegisterInterface(), RegisterScriptMethods(), SetScaleFactor(), SetSignature(), SetState(), and WsfRadarSignature().

Referenced by GetSignature(), GetValue(), and GetValue().

◆ GetSignatureLimits()

std::pair< float, float > WsfRadarSignature::GetSignatureLimits ( WsfStringId aStateId,
WsfEM_Types::Polarization aPolarization ) const
virtual

Get the min and max radar cross section values that can be returned by GetSignature for the given signature state and polarization.

Reimplemented in WsfChaffRadarSignature, WsfMilRadarSignature, and WsfStandardRadarSignature.

Referenced by GetSignature().

◆ GetState()

WsfStringId WsfRadarSignature::GetState ( WsfPlatform * aPlatformPtr)
static

Get the current signature state.

Parameters
aPlatformPtr[input] The pointer to the platform containing the signature.
Returns
The current signature state.

References cSIGNATURE_INDEX, WsfPlatform::GetSignatureList(), and WsfSignatureList::GetState().

Referenced by GetSignature().

◆ GetValue() [1/2]

float WsfRadarSignature::GetValue ( WsfPlatform * aPlatformPtr,
WsfEM_Types::Polarization aPolarization,
double aFrequency,
double aTgtToXmtrAz,
double aTgtToXmtrEl,
double aTgtToRcvrAz,
double aTgtToRcvrEl )
static

Get the radar signature for a given set of conditions.

Parameters
aPlatformPtr[input] The pointer to the platform containing the signature.
aPolarization[input] The polarization of the signal.
aFrequency[input] The frequency of the signal (Hz).
aTgtToXmtrAz[input] The azimuth of the transmitter with respect to the target.
aTgtToXmtrEl[input] The elevation of the transmitter with respect to the target.
aTgtToRcvrAz[input] The azimuth of the receiver with respect to the target.
aTgtToRcvrEl[input] The elevation of the receiver with respect to the target.
Returns
The radar cross section (m^2)

References cSIGNATURE_INDEX, WsfObject::GetName(), GetSignature(), WsfPlatform::GetSignatureList(), WsfObject::GetType(), and WsfRadarSignature().

Referenced by WsfSAR_Sensor::SAR_Mode::AttemptToDetect(), WsfSurfaceWaveRadarSensor::RadarMode::AttemptToDetect(), GetSignature(), and WsfEW_SLB_Effect::UpdateEffects().

◆ GetValue() [2/2]

float WsfRadarSignature::GetValue ( WsfPlatform * aPlatformPtr,
WsfEM_Xmtr * aXmtrPtr,
WsfEM_Rcvr * aRcvrPtr,
double aTgtToXmtrAz,
double aTgtToXmtrEl,
double aTgtToRcvrAz,
double aTgtToRcvrEl )
static

Get the radar signature for a given set of conditions.

Parameters
aPlatformPtr[input] The pointer to the platform containing the signature.
aXmtrPtr[input] The pointer to the transmitter.
aRcvrPtr[input] The pointer to the receiver.
aTgtToXmtrAz[input] The azimuth of the transmitter with respect to the target.
aTgtToXmtrEl[input] The elevation of the transmitter with respect to the target.
aTgtToRcvrAz[input] The azimuth of the receiver with respect to the target.
aTgtToRcvrEl[input] The elevation of the receiver with respect to the target.
Returns
The radar cross section (m^2)

References cSIGNATURE_INDEX, WsfEM_XmtrRcvr::GetFrequency(), WsfObject::GetName(), WsfEM_XmtrRcvr::GetPolarization(), GetSignature(), WsfPlatform::GetSignatureList(), WsfObject::GetType(), and WsfRadarSignature().

◆ RegisterInterface()

void WsfRadarSignature::RegisterInterface ( WsfScenario & aScenario)
static

Register the platform interface object on the prototype signature list in the specified scenario.

References WsfSignatureList::AddInterface(), cSIGNATURE_INDEX, and WsfScenario::GetSignatureListPrototype().

Referenced by GetSignature(), and WsfRadarSignatureTypes::WsfRadarSignatureTypes().

◆ RegisterScriptMethods()

void WsfRadarSignature::RegisterScriptMethods ( UtScriptTypes & aScriptTypes)
static

Register the script methods associated with this class.

Note
The WsfPlatform script class must be defined before calling this method.

Referenced by GetSignature(), and WsfScriptManager::RegisterTypes().

◆ SetScaleFactor()

bool WsfRadarSignature::SetScaleFactor ( WsfPlatform * aPlatformPtr,
float aScaleFactor )
static

Set the signature scale factor.

Parameters
aPlatformPtr[input] The pointer to the platform containing the signature.
aScaleFactor[input] The new signature scale factor.
Returns
true if successful, false if and error occurred.

References cSIGNATURE_INDEX, WsfPlatform::GetSignatureList(), and WsfSignatureList::SetScaleFactor().

Referenced by GetSignature().

◆ SetSignature()

bool WsfRadarSignature::SetSignature ( WsfPlatform * aPlatformPtr,
WsfRadarSignature * aSignaturePtr )
static

Get the radar signature object for a platform.

Parameters
aPlatformPtr[input] The pointer to the platform containing the signature.
aSignaturePtr[input] The pointer to the signature. The system assumes ownership if the method completes successfully.

References cSIGNATURE_INDEX, WsfPlatform::GetSignatureList(), WsfPlatform::GetSimTime(), WsfSignature::Initialize(), WsfSignature::InitializeType(), ok, and WsfRadarSignature().

Referenced by WsfChaffWeapon::AddWeaponToSimulation(), RadarEnvelopeFunction::Execute(), and GetSignature().

◆ SetState()

bool WsfRadarSignature::SetState ( WsfPlatform * aPlatformPtr,
WsfStringId aState )
static

Set the signatures state

Parameters
aPlatformPtr[input] The pointer to the platform containing the signature.
aState[input] The new signatures state.
Returns
true if successful, false if and error occurred.

References cSIGNATURE_INDEX, WsfPlatform::GetSignatureList(), and WsfSignatureList::SetState().

Referenced by GetSignature().


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