WSF
wsf::comm::Result Class Reference

#include <WsfCommResult.hpp>

Inheritance diagram for wsf::comm::Result:
Collaboration diagram for wsf::comm::Result:

Public Member Functions

 Result ()=default
 ~Result () override=default
const char * GetScriptClassName () const override
Public Member Functions inherited from WsfEM_Interaction
 WsfEM_Interaction ()=default
 ~WsfEM_Interaction () override=default
virtual unsigned int BeginOneWayInteraction (WsfEM_Rcvr *aRcvrPtr, WsfPlatform *aTgtPtr)
virtual unsigned int BeginOneWayInteraction (WsfEM_Xmtr *aXmtrPtr, WsfEM_Rcvr *aRcvrPtr, bool aCheckXmtrLimits, bool aCheckRcvrLimits, bool aCheckMaskingFactor=true)
virtual unsigned int BeginTwoWayInteraction (WsfEM_Xmtr *aXmtrPtr, WsfPlatform *aTgtPtr, WsfEM_Rcvr *aRcvrPtr)
virtual unsigned int BeginTwoWayOTH_Interaction (WsfEM_Xmtr *aXmtrPtr, WsfPlatform *aTgtPtr, WsfEM_Rcvr *aRcvrPtr, double aReflectionLocWCS[3])
virtual unsigned int BeginGenericInteraction (WsfEM_Xmtr *aXmtrPtr, WsfPlatform *aTgtPtr, WsfEM_Rcvr *aRcvrPtr)
double ComputeAttenuationFactor (Geometry aGeometry)
 Compute the attenuation loss between two points.
void ComputeMaskingFactor ()
 Compute the masking factor.
void ComputeInfraredSigAzEl ()
void ComputeOpticalSigAzEl ()
void ComputeRadarSigAzEl ()
double ComputeRF_OneWayPower ()
double ComputeRF_TwoWayPower (double aCrossSection)
double ComputeRF_ReceivedPower (double aPowerDensity)
double ComputeRF_TransmittedPower ()
virtual void ComputeUndefinedGeometry ()
double ComputeTargetDopplerFrequency (bool aFilterOwnshipFromDoppler)
double ComputeTargetDopplerSpeed (bool aFilterOwnshipFromDoppler)
WsfEM_RcvrGetReceiver () const
WsfEM_XmtrGetTransmitter () const
WsfPlatformGetTarget () const
bool MaskedByTerrain ()
 Does the terrain mask any part of the computation?
virtual void Print (ut::log::MessageStream &aMsgStream)
 Print the interaction data to standard output.
virtual void PrintGeometry (ut::log::MessageStream &aMsgStream)
virtual void PrintStatus (ut::log::MessageStream &aMsgStream) const
 PrintStatus adds a "Status" note and formats it properly if the status mFailedStatus is 0.
virtual void PrintStatusP (ut::log::MessageStream &aMsgStream) const
 Adds a list of notes to aMsgStream with the status.
double PrintableAngle (double aAngle) const
 A convenience method to return a printable angle.
virtual void Reset ()
 Reset the interaction data so it can be reused.
const char * GetScriptClassName () const override
void SetReceiverBeamPosition ()
void SetReceiverBeamPosition (const BeamData &aBeamData)
void SetTransmitterBeamPosition ()
void SetTransmitterBeamPosition (const BeamData &aBeamData)
bool WithinFieldOfView (WsfEM_Antenna *aAntennaPtr, LocationData &aSrcLoc, LocationData &aTgtLoc, RelativeData &aSrcToTgt, RelativeData &aTgtToSrc, bool aIgnoreLimits=false)
void SetCategory (WsfStringId aCategory)
bool CategoryIsSet () const
void AddComponent (Component *aComponentPtr)
const ComponentListGetComponents () const

Public Attributes

double mDataRate {-1.0}
 The reported data rate in bit/s.
double mEnergyBitToNoiseDensity {-1.0}
 The reported energy per bit to the spectral noise density (Eb/No) ratio in dB.
double mBitErrorRate {-1.0}
 The reported bit error rate (BER).
Public Attributes inherited from WsfEM_Interaction
unsigned int mCheckedStatus {0}
unsigned int mFailedStatus {0}
bool mBistatic {false}
LocationData mXmtrLoc
LocationData mRcvrLoc
LocationData mTgtLoc
RelativeData mRcvrToTgt
RelativeData mTgtToRcvr
RelativeData mXmtrToTgt
RelativeData mTgtToXmtr
RelativeData mXmtrToRcvr
RelativeData mRcvrToXmtr
BeamData mRcvrBeam
 Antenna gain lookup data for the receiver.
BeamData mXmtrBeam
 Antenna gain lookup data for the transmitter.
double mMaskingFactor {1.0}
double mInfraredSig {-1.0}
double mInfraredSigAz {0.0}
double mInfraredSigEl {0.0}
double mRadarSig {-1.0}
double mRadarSigAz {0.0}
double mRadarSigEl {0.0}
double mOpticalSig {-1.0}
double mOpticalSigAz {0.0}
double mOpticalSigEl {0.0}
double mOpticalReflectivity {-1.0}
double mXmtdPower {0.0}
double mPowerDensityAtTarget {0.0}
double mRcvdPower {0.0}
double mRcvrNoisePower {0.0}
double mClutterPower {0.0}
double mInterferencePower {0.0}
double mInterferenceFactor {0.0}
double mSignalToNoise {0.0}
double mPropagationFactor {0.0}
double mAbsorptionFactor {0.0}
double mBackgroundRadiantIntensity {0.0}
double mContrastRadiantIntensity {0.0}
double mDetectionThreshold {0.0}
double mPixelCount {0.0}
double mEarthRadiusScale {0.0}
WsfStringId mCategoryId {nullptr}
 If non-zero, the name of ID of the category to be used for zone-based attenuation.
double mZoneAttenuationValue {0.0}
 The computed zone-based attenuation factor.

Additional Inherited Members

Public Types inherited from WsfEM_Interaction
enum  {
  cRCVR_RANGE_LIMITS = 0x00000001 , cRCVR_ALTITUDE_LIMITS = 0x00000002 , cRCVR_ANGLE_LIMITS = 0x00000004 , cRCVR_HORIZON_MASKING = 0x00000008 ,
  cRCVR_TERRAIN_MASKING = 0x00000010 , cXMTR_RANGE_LIMITS = 0x00000020 , cXMTR_ALTITUDE_LIMITS = 0x00000040 , cXMTR_ANGLE_LIMITS = 0x00000080 ,
  cXMTR_HORIZON_MASKING = 0x00000100 , cXMTR_TERRAIN_MASKING = 0x00000200 , cSIGNAL_LEVEL = 0x00000400 , cSTATUS_MASK = 0x0000FFFF
}
enum  Geometry { cXMTR_TO_TARGET , cTARGET_TO_RCVR , cXMTR_TO_RCVR }
using Component = WsfEM_InteractionComponent
using ComponentList = WsfComponentListT<WsfEM_InteractionComponent>
Static Public Member Functions inherited from WsfEM_Interaction
static bool MaskedByHorizon (const WsfEM_Xmtr *aXmtrPtr, const WsfEM_Rcvr *aRcvrPtr)
static bool MaskedByHorizon (const WsfEM_XmtrRcvr *aXmtrRcvrPtr, WsfPlatform *aPlatformPtr, double aEarthRadiusScale)
static bool MaskedByHorizon (const WsfEM_XmtrRcvr *aXmtrRcvrPtr, WsfPlatform *aPlatformPtr, double aReflectionPointWCS[3], double aEarthRadiusScale)

Detailed Description

A class that provides detailed information about message reception. An instance of this class is supplied to simulation observers by a comm receiver to provide more detailed information about the physics of the reception.

On output it contains detailed data about the reception attempt. Not every comm device will update every member. Each member documents under what conditions it is valid. It is the responsibility of the caller to ensure that the member they are using contains valid data.

Constructor & Destructor Documentation

◆ Result()

wsf::comm::Result::Result ( )
default

◆ ~Result()

wsf::comm::Result::~Result ( )
overridedefault

Member Function Documentation

◆ GetScriptClassName()

const char * wsf::comm::Result::GetScriptClassName ( ) const
inlineoverride

Get the name of the script class associated with this class. This is necessary for proper downcasts in the scripting language.

Member Data Documentation

◆ mBitErrorRate

double wsf::comm::Result::mBitErrorRate {-1.0}

The reported bit error rate (BER).

Referenced by wsf::comm::medium::ModeUnguided::CalculateTransferRate().

◆ mDataRate

double wsf::comm::Result::mDataRate {-1.0}

The reported data rate in bit/s.

Referenced by wsf::comm::medium::ModeUnguided::CalculateTransferRate().

◆ mEnergyBitToNoiseDensity

double wsf::comm::Result::mEnergyBitToNoiseDensity {-1.0}

The reported energy per bit to the spectral noise density (Eb/No) ratio in dB.

Referenced by wsf::comm::medium::ModeUnguided::CalculateTransferRate().


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