WSF
WsfEM_Antenna Class Reference

#include <WsfEM_Antenna.hpp>

Inheritance diagram for WsfEM_Antenna:
Collaboration diagram for WsfEM_Antenna:

Public Types

enum  ScanMode { cSCAN_FIXED = 0 , cSCAN_AZ = 1 , cSCAN_EL = 2 , cSCAN_AZ_EL = 3 }
 The scan mode indicates how the beam scans within the field of view. More...
enum  EBS_Mode { cEBS_NONE = 0 , cEBS_AZIMUTH = 1 , cEBS_ELEVATION = 2 , cEBS_BOTH = 3 }
 Electronic beam steering capabilities. More...
enum  ScanStabilization { cSS_NONE = 0 , cSS_PITCH = 1 , cSS_ROLL = 2 , cSS_BOTH = 3 }
 The scan stabilization indicates in which axes scan stabilization is performed. More...

Public Member Functions

 WsfEM_Antenna ()
 WsfEM_Antenna (const WsfEM_Antenna &aSrc)
WsfEM_Antennaoperator= (const WsfEM_Antenna &aRhs)
 ~WsfEM_Antenna () override
WsfArticulatedPartGetArticulatedPart () const
WsfPlatformGetPlatform () const
 A convenience method to get the platform associated with the antenna.
virtual bool Initialize (WsfArticulatedPart *aArticulatedPartPtr)
virtual bool ProcessInput (UtInput &aInput)
virtual void UpdatePosition (double aSimTime)
const char * GetScriptClassName () const override
Public Member Functions inherited from WsfSinglePlatformObserver
virtual ~WsfSinglePlatformObserver ()
virtual void OnPlatformDeleting (double aSimTime, WsfPlatform *aPlatformPtr)
 Called before the platform is actually deleted.
virtual void OnPlatformDeleted (double aSimTime, WsfPlatform *aPlatformPtr)
 Called just before the platform is removed from the simulation.

Field-of-regard methods.

WsfArticulatedPartmArticulatedPartPtr
double mOffset [3]
 The offset of the antenna relative to the articulated part.
double mPitch
 The pitch (tilt) angle of the antenna relative to the articulated part.
double mEBS_AzCosSteeringLimit
 the cosine of the maximum electronic beam steering angle in azimuth.
double mEBS_ElCosSteeringLimit
 the cosine of the maximum electronic beam steering angle in elevation.
double mEBS_AzLossExponent
double mEBS_ElLossExponent
EBS_Mode mEBS_Mode
 The degrees-of-freedom for electronic beam steering.
bool WithinAltitude (double aTgtAlt)
bool WithinFieldOfView (double aThisToTgtAz, double aThisToTgtEl)
bool WithinFieldOfView (WsfPlatform *aTargetPtr, double aEarthRadiusMultiplier, double &aTrueThisToTgtAz, double &aTrueThisToTgtEl, double aApparentThisToTgtLocWCS[3], double &aApparentThisToTgtAz, double &aApparentThisToTgtEl, double aApparentTgtToThisLocWCS[3])
bool WithinFieldOfView (WsfArticulatedPart *aTargetPtr, double aEarthRadiusMultiplier, double &aTrueThisToTgtAz, double &aTrueThisToTgtEl, double aApparentThisToTgtLocWCS[3], double &aApparentThisToTgtAz, double &aApparentThisToTgtEl, double aApparentTgtToThisLocWCS[3])
bool WithinFieldOfView (double aTgtLocWCS[3], double aEarthRadiusMultiplier, double &aTrueThisToTgtAz, double &aTrueThisToTgtEl, double aApparentThisToTgtLocWCS[3], double &aApparentThisToTgtAz, double &aApparentThisToTgtEl, double aApparentTgtToThisLocWCS[3])
const WsfFieldOfViewGetFieldOfView () const
bool DefaultFieldOfView () const
void IndicateNondefaultFieldOfView ()
bool WithinRange (double aTgtRange) const
void ConvertAnglesFromPCS_ToSSCS (double &aAz, double &aEl)
void ConvertAnglesFromSSCS_ToPCS (double &aAz, double &aEl)
void OnPlatformUpdated (double aSimTime, WsfPlatform *aPlatformPtr) override
void UpdateLocationLLA ()
 Update the locally cached LLA location of the antenna.
void UpdateLocationWCS ()
 Update the locally cached WCS location of the antenna.
void UpdateWCS_ToACS_Transform ()
void UpdateWCS_ToNED_Transform ()
void UpdateWCS_ToSSCS_Transform ()

Scan limits with respect to the current cue.

ScanMode mScanMode
 The degrees-of-freedom for scanning.
ScanStabilization mScanStabilization
 The degrees-of-freedom for scan-stabilization.
double mMinAzScan
double mMaxAzScan
double mMinElScan
double mMaxElScan

Field of view with respect current cue.

This should encompass the scan limits PLUS whatever the beam pattern might pick up when at the physical limits of the scan pattern.

ut::CloneablePtr< WsfFieldOfViewmFieldOfViewPtr
bool mDefaultFieldOfView
 Indicates that the used field of view is unaltered from the default state (360 az x 180 el).
double mMinRange
double mMaxRange
double mMinAlt
double mMaxAlt

Locally computed location values.

These values are invalidated when Update() is called and are recomputed when needed.

double mLocationWCS [3]
 The WCS location of the antenna (includes the antenna_height contribution).
double mOffsetWCS [3]
 The WCS vector from the articulated part to the antenna.
double mLat
double mLon
double mAlt
double mPartYaw
 Used to determine if the uncued articulated part orientation has changed.
double mPartPitch
double mPartRoll
double mECS_ToACS_Transform [3][3]
 The transformation from the ECS to the antenna coordinate system (ACS).
double mWCS_ToACS_Transform [3][3]
 The transformation from WCS to ACS.
double mWCS_ToNED_Transform [3][3]
 The transformation from WCS to NED.
double mWCS_ToSSCS_Transform [3][3]
 The transformation from WCS to the stabilized-scan coordinate system (SSCS).
bool mLocationWCS_IsValid
 'true' if the antenna WCS location/offset values are valid.
bool mLocationLLA_IsValid
 'true' if the antenna LLA values are valid.
bool mECS_ToACS_TransformIsValid
bool mWCS_ToACS_TransformIsValid
bool mWCS_ToNED_TransformIsValid
bool mWCS_ToSSCS_TransformIsValid

Antenna parameter definition methods.

double GetHeight () const
void SetHeight (double aHeight)
double GetPitch () const
void SetPitch (double aPitch)
void SetFieldOfView (std::unique_ptr< WsfFieldOfView > aFieldOfViewPtr)
void GetAzimuthFieldOfView (double &aMinAzFOV, double &aMaxAzFOV) const
 Return the azimuth field of view.
void SetAzimuthFieldOfView (double aMinAzFOV, double aMaxAzFOV)
 Set the azimuth field of view.
void GetElevationFieldOfView (double &aMinElFOV, double &aMaxElFOV) const
 Return the elevation field of view.
void SetElevationFieldOfView (double aMinElFOV, double aMaxElFOV)
 Set the elevation field of view.
void GetRangeLimits (double &aMinRange, double &aMaxRange) const
 Get the range limits.
double GetMaximumRange () const
 Return the maximum range.
double GetMinimumRange () const
 Return the minimum range.
void SetRangeLimits (double aMinRange, double aMaxRange)
void SetMaximumRange (double aMaxRange)
void SetMinimumRange (double aMinRange)
void GetAltitudeLimits (double &aMinAlt, double &aMaxAlt) const
 Get the altitude limits.
double GetMaximumAltitude () const
 Return the maximum altitude.
double GetMinimumAltitude () const
 Return the minimum altitude.
void SetAltitudeLimits (double aMinAlt, double aMaxAlt)
void SetMaximumAltitude (double aMaxAltitude)
void SetMinimumAltitude (double aMinAltitude)
EBS_Mode GetEBS_Mode () const
 Get the electronic beam steering capabilities.
void SetEBS_Mode (EBS_Mode aEBS_Mode)
 Set the electronic beam steering capabilities.
double GetEBS_AzLossExponent () const
 Get the azimuth specific steering loss exponent.
double GetEBS_ElLossExponent () const
 Get the elevation specific steering loss exponent.
void SetEBS_AzLossExponent (double aEBS_LossExponentAz)
 Set the electronic beam steering exponent specific to azimuth dropoff.
void SetEBS_ElLossExponent (double aEBS_LossExponentEl)
 Set the electronic beam steering exponent specific to elevation dropoff.
double GetEBS_AzCosSteeringLimit () const
double GetEBS_ElCosSteeringLimit () const
void SetEBS_AzCosSteeringLimit (double aEBS_AzCosSteeringLimit)
 Set the electronic beam steering cosine steering limit in azimuth.
void SetEBS_ElCosSteeringLimit (double aEBS_ElCosSteeringLimit)
 Set the electronic beam steering cosine steering limit in elevation.
ScanMode GetScanMode () const
 Get the beam scanning mode.
void SetScanMode (ScanMode aScanMode)
 Set the beam scanning mode.
ScanStabilization GetScanStabilization () const
 Get the scan stabilization mode.
void SetScanStabilization (ScanStabilization aScanStabilization)
 Set the scan stabilization mode.
void GetAzimuthScanLimits (double &aMinAzScan, double &aMaxAzScan) const
 Get the azimuth scan limits.
double GetMinimumAzimuthScanLimit () const
 Return the minimum azimuth scan limit.
double GetMaximumAzimuthScanLimit () const
 Return the maximum azimuth scan limit.
void SetAzimuthScanLimits (double aMinAzScan, double aMaxAzScan)
 Set the azimuth scan limits.
void SetMaximumAzimuthScanLimit (double aMaxAzScan)
void SetMinimumAzimuthScanLimit (double aMinAzScan)
void GetElevationScanLimits (double &aMinElScan, double &aMaxElScan) const
 Get the elevation scan limits.
double GetMinimumElevationScanLimit () const
 Return the minimum elevation scan limit.
double GetMaximumElevationScanLimit () const
 Return the maximum elevation scan limit.
void SetElevationScanLimits (double aMinElScan, double aMaxElScan)
 Set the elevation scan limits.
void SetMaximumElevationScanLimit (double aMaxElScan)
void SetMinimumElevationScanLimit (double aMinElScan)

Location and aspect methods.

Most of these just pass-through to WsfArticulatedPart (UtEntityPart);

void ComputeAspect (const double aThisToTgtLocWCS[3], double &aThisToTgtAz, double &aThisToTgtEl)
void ComputeBeamAspect (const double aWCS_ToBeamTransform[3][3], const double aThisToTgtWCS[3], double &aBeamToTgtAz, double &aBeamToTgtEl) const
void ComputeBeamPosition (WsfEM_XmtrRcvr *aXmtrRcvrPtr, double aThisToTgtAz, double aThisToTgtEl, double aWCS_ToBeamTransform[3][3], double &aEBS_Az, double &aEBS_El)
double ComputeBeamSteeringLoss (double aEBS_Az, double aEBS_El)
void ConvertWCS_ToACS (const double aLocationWCS[3], double aLocationACS[3])
 Given a WCS location, return the position in antenna coordinates.
void ConvertWCS_ToNED (const double aLocationWCS[3], double aLocationNED[3])
 Given a WCS location, return the NED location relative to the antenna.
void ConvertNED_ToWCS (const double aLocationNED[3], double aLocationWCS[3])
 Given an NED location relative to the antenna, return the WCS location.
void ConvertWCS_VectorToACS (const double aVectorWCS[3], double aVectorACS[3])
 Convert a vector in the WCS frame to the antenna frame.
void ConvertWCS_VectorToNED (const double aVectorWCS[3], double aVectorNED[3])
 Convert a vector in the WCS frame to the antenna NED frame.
void ConvertNED_VectorToWCS (const double aVectorNED[3], double aVectorWCS[3])
 Convert a vector in the antenna NED frame to the WCS frame.
void GetLocationLLA (double &aLat, double &aLon, double &aAlt)
 Get the absolute latitude/longitude/altitude of the antenna.
void GetLocationWCS (double aLocationWCS[3])
void GetLocationWCS (const double aThisToTgtLocWCS[3], double aTgtLocWCS[3])
void GetRelativeLocationNED (WsfPlatform *aTargetPtr, double aLocationNED[3])
 Return the NED position vector of the target relative to this antenna.
void GetRelativeLocationNED (const double aTgtLocWCS[3], double aLocationNED[3])
 Return the NED position vector of the target relative to this antenna.
void GetRelativeLocationWCS (double aThisToTgtAz, double aThisToTgtEl, double aThisToTgtRange, double aThisToTgtLocWCS[3])
void GetRelativeLocationWCS (const double aTgtLocWCS[3], double aThisToTgtLocWCS[3])
void GetRelativeLocationWCS (WsfPlatform *aTargetPtr, double aThisToTgtLocWCS[3])

Detailed Description

An object that represents the physical location and orientation of the antenna.

Every transmitter or receiver has an associated 'antenna' which defines several properties about the antenna:

  • The location and orientation of the antenna with respect to the host platform.
  • The field of view of the antenna.
  • The ability of the antenna to 'scan'.

One of these objects can be shared to represent an an antenna that is shared between a transmitter and receiver. The WsfEM_Antenna object itself is also associated with a WsfArticulatedPart, which serves at the geometry source for the antenna.

Note that this does NOT define the gain pattern. The gain pattern (as defined by WsfAntennaPattern) is attached to the transmitter or receiver that represents the 'beam'. A complex system may have multiple 'beams' that are all transmitted or received through the same antenna!

Member Enumeration Documentation

◆ EBS_Mode

Electronic beam steering capabilities.

Enumerator
cEBS_NONE 

No electronic beam steering.

cEBS_AZIMUTH 

Electronic beam steering in azimuth.

cEBS_ELEVATION 

Electronic beam steering in elevation.

cEBS_BOTH 

Electronic beam steering in azimuth and elevation.

◆ ScanMode

The scan mode indicates how the beam scans within the field of view.

Enumerator
cSCAN_FIXED 
cSCAN_AZ 
cSCAN_EL 
cSCAN_AZ_EL 

◆ ScanStabilization

The scan stabilization indicates in which axes scan stabilization is performed.

Enumerator
cSS_NONE 

Scan is not stabilization.

cSS_PITCH 

Scan is stabilized in pitch.

cSS_ROLL 

Scan is stabilized in roll.

cSS_BOTH 

Scan is stabilized in pitch and roll.

Constructor & Destructor Documentation

◆ WsfEM_Antenna() [1/2]

◆ WsfEM_Antenna() [2/2]

◆ ~WsfEM_Antenna()

WsfEM_Antenna::~WsfEM_Antenna ( )
override

References mArticulatedPartPtr.

Member Function Documentation

◆ ComputeAspect()

void WsfEM_Antenna::ComputeAspect ( const double aThisToTgtLocWCS[3],
double & aThisToTgtAz,
double & aThisToTgtEl )

Given the WCS vector of a target with respect to the antenna, return the azimuth and elevation angles.

Parameters
aThisToTgtLocWCS[input] The WCS vector from the antenna to the target.
aThisToTgtAz[output] The azimuth of the target with respect to the antenna.
aThisToTgtEl[output] The elevation of the target with respect to the antenna.

References mArticulatedPartPtr.

Referenced by WsfEM_Interaction::BeginOneWayInteraction(), WsfEW_RepeaterEffect::UpdateEffects(), WsfEM_Interaction::WithinFieldOfView(), and WsfFieldOfView::WithinFieldOfView().

◆ ComputeBeamAspect()

void WsfEM_Antenna::ComputeBeamAspect ( const double aWCS_ToBeamTransform[3][3],
const double aThisToTgtWCS[3],
double & aBeamToTgtAz,
double & aBeamToTgtEl ) const

Compute the aspect of target with respect to a beam.

Parameters
aWCS_ToBeamTransform[input] The transformation matrix for converting a WCS vector to the beam coordinate system.
aThisToTgtWCS[input] The relative WCS position of the target with respect to this.
aBeamToTgtAz[output] Azimuth of the target with respect to the beam (radians).
aBeamToTgtEl[output] Elevation of the target with respect to the beam (radians).

Referenced by WsfEM_FastMultipath::ComputeReflectionGain().

◆ ComputeBeamPosition()

void WsfEM_Antenna::ComputeBeamPosition ( WsfEM_XmtrRcvr * aXmtrRcvrPtr,
double aThisToTgtAz,
double aThisToTgtEl,
double aWCS_ToBeamTransform[3][3],
double & aEBS_Az,
double & aEBS_El )

Compute the beam position given a target point.

This routine computes the WCS-to-Beam transformation matrix that represents the instantaneous position of the beam.

Parameters
aXmtrRcvrPtr[input] The transmitter or receiver containing the beam.
aThisToTgtAz[input] The azimuth of the target with respect to the CUED position of the articulated part.
aThisToTgtEl[input] The elevation of the target with respect to the CUED position of the articulated part.
aWCS_ToBeamTransform[output] The transformation matrix that will take a WCS coordinate and create beam coordinate system (BCS) coordinate.
aEBS_Az[output] The amount of electronic steering in azimuth (zero for non-electronically scanned systems).
aEBS_El[output] The amount of electronic steering in elevation (zero for non-electronically scanned systems).

References cEBS_AZIMUTH, cEBS_ELEVATION, cEBS_NONE, ConvertAnglesFromPCS_ToSSCS(), ConvertAnglesFromSSCS_ToPCS(), cSCAN_AZ, cSCAN_EL, cSS_NONE, WsfEM_XmtrRcvr::GetBeamTilt(), mArticulatedPartPtr, mEBS_Mode, mMaxAzScan, mMaxElScan, mMinAzScan, mMinElScan, mPitch, mScanMode, mScanStabilization, mWCS_ToACS_Transform, mWCS_ToACS_TransformIsValid, and UpdateWCS_ToACS_Transform().

Referenced by WsfEM_Interaction::SetReceiverBeamPosition(), and WsfEM_Interaction::SetTransmitterBeamPosition().

◆ ComputeBeamSteeringLoss()

double WsfEM_Antenna::ComputeBeamSteeringLoss ( double aEBS_Az,
double aEBS_El )

Compute the gain multiplier to account for losses due to electronic beam steering.

Parameters
aEBS_AzBeam azimuth with respect to the antenna (in radians).
aEBS_ElBeam elevation with respect to the antenna (in radians).
Returns
The gain multiplier (0, 1] to account for electronic beam steering losses. A value of 1 indicates no losses.

References cEBS_NONE, mEBS_AzCosSteeringLimit, mEBS_AzLossExponent, mEBS_ElCosSteeringLimit, mEBS_ElLossExponent, and mEBS_Mode.

◆ ConvertAnglesFromPCS_ToSSCS()

void WsfEM_Antenna::ConvertAnglesFromPCS_ToSSCS ( double & aAz,
double & aEl )
protected

Convert the part-relative az/el to a stabilized scan az/el.

Note
The angles are converted 'in-place' (the output replaces the input).

References mArticulatedPartPtr, mWCS_ToSSCS_Transform, mWCS_ToSSCS_TransformIsValid, and UpdateWCS_ToSSCS_Transform().

Referenced by ComputeBeamPosition(), and WithinFieldOfView().

◆ ConvertAnglesFromSSCS_ToPCS()

void WsfEM_Antenna::ConvertAnglesFromSSCS_ToPCS ( double & aAz,
double & aEl )
protected

Convert stabilized scan az/el to part-relative az/el.

Note
The angles are converted 'in-place' (the output replaces the input).

References mArticulatedPartPtr, mWCS_ToSSCS_Transform, mWCS_ToSSCS_TransformIsValid, and UpdateWCS_ToSSCS_Transform().

Referenced by ComputeBeamPosition().

◆ ConvertNED_ToWCS()

void WsfEM_Antenna::ConvertNED_ToWCS ( const double aLocationNED[3],
double aLocationWCS[3] )

Given an NED location relative to the antenna, return the WCS location.

References mArticulatedPartPtr, mLocationWCS, mWCS_ToNED_Transform, mWCS_ToNED_TransformIsValid, and UpdateWCS_ToNED_Transform().

◆ ConvertNED_VectorToWCS()

void WsfEM_Antenna::ConvertNED_VectorToWCS ( const double aVectorNED[3],
double aVectorWCS[3] )

◆ ConvertWCS_ToACS()

void WsfEM_Antenna::ConvertWCS_ToACS ( const double aLocationWCS[3],
double aLocationACS[3] )

Given a WCS location, return the position in antenna coordinates.

References GetRelativeLocationWCS(), mArticulatedPartPtr, mWCS_ToACS_Transform, mWCS_ToACS_TransformIsValid, and UpdateWCS_ToACS_Transform().

◆ ConvertWCS_ToNED()

void WsfEM_Antenna::ConvertWCS_ToNED ( const double aLocationWCS[3],
double aLocationNED[3] )

◆ ConvertWCS_VectorToACS()

void WsfEM_Antenna::ConvertWCS_VectorToACS ( const double aVectorWCS[3],
double aVectorACS[3] )

Convert a vector in the WCS frame to the antenna frame.

References mArticulatedPartPtr, mWCS_ToACS_Transform, mWCS_ToACS_TransformIsValid, and UpdateWCS_ToACS_Transform().

◆ ConvertWCS_VectorToNED()

◆ DefaultFieldOfView()

bool WsfEM_Antenna::DefaultFieldOfView ( ) const
inline

References mDefaultFieldOfView.

◆ GetAltitudeLimits()

void WsfEM_Antenna::GetAltitudeLimits ( double & aMinAlt,
double & aMaxAlt ) const
inline

Get the altitude limits.

References mMaxAlt, and mMinAlt.

Referenced by ProcessInput().

◆ GetArticulatedPart()

◆ GetAzimuthFieldOfView()

void WsfEM_Antenna::GetAzimuthFieldOfView ( double & aMinAzFOV,
double & aMaxAzFOV ) const

◆ GetAzimuthScanLimits()

◆ GetEBS_AzCosSteeringLimit()

double WsfEM_Antenna::GetEBS_AzCosSteeringLimit ( ) const
inline

Get the azimuth electronic beam steering cosine steering limit. The cosine steering limit used in computing the electronic steering losses (cos(steering limit angle))

References mEBS_AzCosSteeringLimit.

◆ GetEBS_AzLossExponent()

double WsfEM_Antenna::GetEBS_AzLossExponent ( ) const
inline

Get the azimuth specific steering loss exponent.

References mEBS_AzLossExponent.

◆ GetEBS_ElCosSteeringLimit()

double WsfEM_Antenna::GetEBS_ElCosSteeringLimit ( ) const
inline

Get the electronic beam steering cosine steering limit. The cosine steering limit used in computing the electronic steering losses (cos(steering limit angle))

References mEBS_ElCosSteeringLimit.

◆ GetEBS_ElLossExponent()

double WsfEM_Antenna::GetEBS_ElLossExponent ( ) const
inline

Get the elevation specific steering loss exponent.

References mEBS_ElLossExponent.

◆ GetEBS_Mode()

EBS_Mode WsfEM_Antenna::GetEBS_Mode ( ) const
inline

Get the electronic beam steering capabilities.

References mEBS_Mode.

Referenced by WsfEM_ALARM_Antenna::antenna::antenna(), wsf::event::utils::PrintEM_BeamData(), and wsf::event::utilsCSV::PrintEM_BeamData().

◆ GetElevationFieldOfView()

void WsfEM_Antenna::GetElevationFieldOfView ( double & aMinElFOV,
double & aMaxElFOV ) const

◆ GetElevationScanLimits()

◆ GetFieldOfView()

const WsfFieldOfView * WsfEM_Antenna::GetFieldOfView ( ) const
inline

References mFieldOfViewPtr.

◆ GetHeight()

double WsfEM_Antenna::GetHeight ( ) const
inline

Get the height of the antenna with respect articulated part to which the antenna is attached.

Returns
The antenna height (meters).
Note
The antenna height is designed to be used only for things like physically scanning radars. This z-component of the host articulated part could also be used, but implementation of multi-beam systems would be more complicated because each would require their own articulated part to represent their own height. That would messy because each part would have to be updated with cueing information from the main part.

References mOffset.

Referenced by WsfEM_FastMultipath::ComputePropagationFactor(), Sensor::CreateAndInitialize(), and SAM_LaunchComputerGenerator::Initialize().

◆ GetLocationLLA()

◆ GetLocationWCS() [1/2]

void WsfEM_Antenna::GetLocationWCS ( const double aThisToTgtLocWCS[3],
double aTgtLocWCS[3] )

Get the WCS location of a target given its WCS vector relative to the antenna.

Parameters
aThisToTgtLocWCS[input] The WCS vector of the target relative to the antenna.
aTgtLocWCS[output] The WCS location of the target.

References mArticulatedPartPtr, mLocationWCS, mLocationWCS_IsValid, and UpdateLocationWCS().

◆ GetLocationWCS() [2/2]

◆ GetMaximumAltitude()

double WsfEM_Antenna::GetMaximumAltitude ( ) const
inline

Return the maximum altitude.

References mMaxAlt.

◆ GetMaximumAzimuthScanLimit()

double WsfEM_Antenna::GetMaximumAzimuthScanLimit ( ) const
inline

Return the maximum azimuth scan limit.

References mMaxAzScan.

◆ GetMaximumElevationScanLimit()

double WsfEM_Antenna::GetMaximumElevationScanLimit ( ) const
inline

Return the maximum elevation scan limit.

References mMaxElScan.

◆ GetMaximumRange()

double WsfEM_Antenna::GetMaximumRange ( ) const
inline

◆ GetMinimumAltitude()

double WsfEM_Antenna::GetMinimumAltitude ( ) const
inline

Return the minimum altitude.

References mMinAlt.

◆ GetMinimumAzimuthScanLimit()

double WsfEM_Antenna::GetMinimumAzimuthScanLimit ( ) const
inline

Return the minimum azimuth scan limit.

References mMinAzScan.

◆ GetMinimumElevationScanLimit()

double WsfEM_Antenna::GetMinimumElevationScanLimit ( ) const
inline

Return the minimum elevation scan limit.

References mMinElScan.

◆ GetMinimumRange()

double WsfEM_Antenna::GetMinimumRange ( ) const
inline

Return the minimum range.

References mMinRange.

◆ GetPitch()

double WsfEM_Antenna::GetPitch ( ) const
inline

Get the antenna pitch (tilt) angle.

Returns
the antenna pitch angle (radians).
Note
The antenna tilt is designed to be used only for things like physically scanning radars. The tilt angle is the angle above/below the scan plane (the x-y plane) of the host articulated part. The 'pitch' of the articulated part cannot be used to model antenna tilt because it would tilt the scan plane.

References mPitch.

Referenced by WsfEM_ALARM_Antenna::antenna::antenna().

◆ GetPlatform()

WsfPlatform * WsfEM_Antenna::GetPlatform ( ) const

A convenience method to get the platform associated with the antenna.

References mArticulatedPartPtr.

Referenced by WsfEM_ALARM_Antenna::antenna::antenna().

◆ GetRangeLimits()

void WsfEM_Antenna::GetRangeLimits ( double & aMinRange,
double & aMaxRange ) const
inline

Get the range limits.

References mMaxRange, and mMinRange.

Referenced by ProcessInput().

◆ GetRelativeLocationNED() [1/2]

void WsfEM_Antenna::GetRelativeLocationNED ( const double aTgtLocWCS[3],
double aLocationNED[3] )

Return the NED position vector of the target relative to this antenna.

References GetRelativeLocationWCS(), mArticulatedPartPtr, mWCS_ToNED_Transform, mWCS_ToNED_TransformIsValid, and UpdateWCS_ToNED_Transform().

◆ GetRelativeLocationNED() [2/2]

void WsfEM_Antenna::GetRelativeLocationNED ( WsfPlatform * aTargetPtr,
double aLocationNED[3] )

Return the NED position vector of the target relative to this antenna.

References GetRelativeLocationWCS(), mArticulatedPartPtr, mWCS_ToNED_Transform, mWCS_ToNED_TransformIsValid, and UpdateWCS_ToNED_Transform().

◆ GetRelativeLocationWCS() [1/3]

void WsfEM_Antenna::GetRelativeLocationWCS ( const double aTgtLocWCS[3],
double aThisToTgtLocWCS[3] )

◆ GetRelativeLocationWCS() [2/3]

◆ GetRelativeLocationWCS() [3/3]

void WsfEM_Antenna::GetRelativeLocationWCS ( WsfPlatform * aTargetPtr,
double aThisToTgtLocWCS[3] )

Get the relative WCS vector from this to the indicated target.

Parameters
aTargetPtr[input] Pointer to the target.
aThisToTgtLocWCS[output] The relative WCS vector from this to the target.

References mArticulatedPartPtr, mLocationWCS, mLocationWCS_IsValid, and UpdateLocationWCS().

◆ GetScanMode()

◆ GetScanStabilization()

ScanStabilization WsfEM_Antenna::GetScanStabilization ( ) const
inline

Get the scan stabilization mode.

References mScanStabilization.

◆ GetScriptClassName()

const char * WsfEM_Antenna::GetScriptClassName ( ) const
inlineoverride

◆ IndicateNondefaultFieldOfView()

void WsfEM_Antenna::IndicateNondefaultFieldOfView ( )
inline

Denote that the antenna's field of view is not default, allowing it to be communicated over the eventpipe. This should only be used during initialization, and will have no effect if set

References mDefaultFieldOfView.

◆ Initialize()

bool WsfEM_Antenna::Initialize ( WsfArticulatedPart * aArticulatedPartPtr)
virtual

Initialize the antenna.

Parameters
aArticulatedPartPtrThe articulated part to which the antenna is attached.

References mArticulatedPartPtr, mFieldOfViewPtr, and ok.

◆ OnPlatformUpdated()

void WsfEM_Antenna::OnPlatformUpdated ( double aSimTime,
WsfPlatform * aPlatformPtr )
overrideprotectedvirtual

This routine is invoked by the WsfPlatform::Update via the WsfSinglePlatformObserver interface. It invalidates coordinate transformations so location and orientation values are recomputed when next requested.

Reimplemented from WsfSinglePlatformObserver.

References mLocationLLA_IsValid, mLocationWCS_IsValid, mWCS_ToACS_TransformIsValid, mWCS_ToNED_TransformIsValid, and mWCS_ToSSCS_TransformIsValid.

◆ operator=()

◆ ProcessInput()

◆ SetAltitudeLimits()

void WsfEM_Antenna::SetAltitudeLimits ( double aMinAlt,
double aMaxAlt )

Set the altitude limits

Parameters
aMinAlt[input] The minimum altitude.
aMaxAlt[input] The maximum altitude.

References mMaxAlt, and mMinAlt.

Referenced by ProcessInput().

◆ SetAzimuthFieldOfView()

void WsfEM_Antenna::SetAzimuthFieldOfView ( double aMinAzFOV,
double aMaxAzFOV )

Set the azimuth field of view.

References mFieldOfViewPtr.

Referenced by UT_DEFINE_SCRIPT_METHOD().

◆ SetAzimuthScanLimits()

void WsfEM_Antenna::SetAzimuthScanLimits ( double aMinAzScan,
double aMaxAzScan )

Set the azimuth scan limits.

References mMaxAzScan, and mMinAzScan.

Referenced by ProcessInput().

◆ SetEBS_AzCosSteeringLimit()

void WsfEM_Antenna::SetEBS_AzCosSteeringLimit ( double aEBS_AzCosSteeringLimit)
inline

Set the electronic beam steering cosine steering limit in azimuth.

References mEBS_AzCosSteeringLimit.

Referenced by AntennaPlotFunction::Execute().

◆ SetEBS_AzLossExponent()

void WsfEM_Antenna::SetEBS_AzLossExponent ( double aEBS_LossExponentAz)
inline

Set the electronic beam steering exponent specific to azimuth dropoff.

References mEBS_AzLossExponent.

Referenced by AntennaPlotFunction::Execute(), and ProcessInput().

◆ SetEBS_ElCosSteeringLimit()

void WsfEM_Antenna::SetEBS_ElCosSteeringLimit ( double aEBS_ElCosSteeringLimit)
inline

Set the electronic beam steering cosine steering limit in elevation.

References mEBS_ElCosSteeringLimit.

Referenced by AntennaPlotFunction::Execute().

◆ SetEBS_ElLossExponent()

void WsfEM_Antenna::SetEBS_ElLossExponent ( double aEBS_LossExponentEl)
inline

Set the electronic beam steering exponent specific to elevation dropoff.

References mEBS_ElLossExponent.

Referenced by AntennaPlotFunction::Execute(), and ProcessInput().

◆ SetEBS_Mode()

void WsfEM_Antenna::SetEBS_Mode ( EBS_Mode aEBS_Mode)
inline

Set the electronic beam steering capabilities.

References mEBS_Mode.

Referenced by AntennaPlotFunction::Execute(), and ProcessInput().

◆ SetElevationFieldOfView()

void WsfEM_Antenna::SetElevationFieldOfView ( double aMinElFOV,
double aMaxElFOV )

Set the elevation field of view.

References mFieldOfViewPtr.

Referenced by UT_DEFINE_SCRIPT_METHOD().

◆ SetElevationScanLimits()

void WsfEM_Antenna::SetElevationScanLimits ( double aMinElScan,
double aMaxElScan )

Set the elevation scan limits.

References mMaxElScan, and mMinElScan.

Referenced by ProcessInput().

◆ SetFieldOfView()

void WsfEM_Antenna::SetFieldOfView ( std::unique_ptr< WsfFieldOfView > aFieldOfViewPtr)

Set the field of view on the antenna.

Parameters
aFieldOfViewPtrThe new field of view object to be used by the antenna.

References GetArticulatedPart(), and mFieldOfViewPtr.

Referenced by UT_DEFINE_SCRIPT_METHOD(), UT_DEFINE_SCRIPT_METHOD(), and UT_DEFINE_SCRIPT_METHOD().

◆ SetHeight()

void WsfEM_Antenna::SetHeight ( double aHeight)

Set the height of the antenna with respect to the host articulated part.

Parameters
aHeightOffset of the antenna with respect to the articulated part to which it is attached.

References mOffset.

Referenced by ProcessInput().

◆ SetMaximumAltitude()

void WsfEM_Antenna::SetMaximumAltitude ( double aMaxAltitude)
inline

References mMaxAlt.

◆ SetMaximumAzimuthScanLimit()

void WsfEM_Antenna::SetMaximumAzimuthScanLimit ( double aMaxAzScan)
inline

References mMaxAzScan.

◆ SetMaximumElevationScanLimit()

void WsfEM_Antenna::SetMaximumElevationScanLimit ( double aMaxElScan)
inline

References mMaxElScan.

◆ SetMaximumRange()

void WsfEM_Antenna::SetMaximumRange ( double aMaxRange)
inline

References mMaxRange.

◆ SetMinimumAltitude()

void WsfEM_Antenna::SetMinimumAltitude ( double aMinAltitude)
inline

References mMinAlt.

◆ SetMinimumAzimuthScanLimit()

void WsfEM_Antenna::SetMinimumAzimuthScanLimit ( double aMinAzScan)
inline

References mMinAzScan.

◆ SetMinimumElevationScanLimit()

void WsfEM_Antenna::SetMinimumElevationScanLimit ( double aMinElScan)
inline

References mMinElScan.

◆ SetMinimumRange()

void WsfEM_Antenna::SetMinimumRange ( double aMinRange)
inline

References mMinRange.

◆ SetPitch()

void WsfEM_Antenna::SetPitch ( double aPitch)

Set the antenna pitch (tilt) angle with respect to the host articulated part.

Parameters
aPitchthe antenna pitch angle with respect to the host articulated part (radians).

References mECS_ToACS_TransformIsValid, mPitch, and mWCS_ToACS_TransformIsValid.

Referenced by ProcessInput().

◆ SetRangeLimits()

void WsfEM_Antenna::SetRangeLimits ( double aMinRange,
double aMaxRange )

Set the range limits

Parameters
aMinRange[input] The minimum range.
aMaxRange[input] The maximum range.

References mMaxRange, and mMinRange.

Referenced by ProcessInput(), and UT_DEFINE_SCRIPT_METHOD().

◆ SetScanMode()

void WsfEM_Antenna::SetScanMode ( ScanMode aScanMode)
inline

Set the beam scanning mode.

References mScanMode.

Referenced by ProcessInput().

◆ SetScanStabilization()

void WsfEM_Antenna::SetScanStabilization ( ScanStabilization aScanStabilization)
inline

Set the scan stabilization mode.

References mScanStabilization.

Referenced by ProcessInput().

◆ UpdateLocationLLA()

void WsfEM_Antenna::UpdateLocationLLA ( )
protected

Update the locally cached LLA location of the antenna.

References mAlt, mLat, mLocationLLA_IsValid, mLocationWCS, mLocationWCS_IsValid, mLon, and UpdateLocationWCS().

Referenced by GetLocationLLA(), UpdateWCS_ToNED_Transform(), and WithinAltitude().

◆ UpdateLocationWCS()

void WsfEM_Antenna::UpdateLocationWCS ( )
protected

◆ UpdatePosition()

void WsfEM_Antenna::UpdatePosition ( double aSimTime)
virtual

Update the state of the antenna to represent its position at the indicated time.

Parameters
aSimTimeThe current simulation time.

References mArticulatedPartPtr.

◆ UpdateWCS_ToACS_Transform()

◆ UpdateWCS_ToNED_Transform()

◆ UpdateWCS_ToSSCS_Transform()

void WsfEM_Antenna::UpdateWCS_ToSSCS_Transform ( )
protected

Update the world to stabilized scan coordinate system transform (WCS->SSCS).

Note
This routine should only get called if a stabilized scan has been requested.

References cSS_BOTH, cSS_PITCH, cSS_ROLL, mArticulatedPartPtr, mScanStabilization, mWCS_ToSSCS_Transform, mWCS_ToSSCS_TransformIsValid, and platformPtr.

Referenced by ConvertAnglesFromPCS_ToSSCS(), and ConvertAnglesFromSSCS_ToPCS().

◆ WithinAltitude()

bool WsfEM_Antenna::WithinAltitude ( double aTgtAlt)

Is the target altitude with the relative altitude limits?

Parameters
aTgtAlt[input] Altitude of the target (meters).
Returns
'true' if the target is within the altitude limits or 'false' if not.

References mAlt, mArticulatedPartPtr, mLocationLLA_IsValid, mMaxAlt, mMinAlt, and UpdateLocationLLA().

Referenced by WsfGeometricSensor::GeometricMode::AttemptToDetect(), WsfEM_Interaction::BeginOneWayInteraction(), WsfEM_Interaction::BeginOneWayInteraction(), WsfEM_Interaction::BeginTwoWayInteraction(), and WsfEM_Interaction::BeginTwoWayOTH_Interaction().

◆ WithinFieldOfView() [1/4]

bool WsfEM_Antenna::WithinFieldOfView ( double aTgtLocWCS[3],
double aEarthRadiusMultiplier,
double & aTrueThisToTgtAz,
double & aTrueThisToTgtEl,
double aApparentThisToTgtLocWCS[3],
double & aApparentThisToTgtAz,
double & aApparentThisToTgtEl,
double aApparentTgtToThisLocWCS[3] )

Compute azimuth and elevation of the target and determine if it is within the field of view.

This method computes the azimuth and elevation angles for a target. The 'true' values are computed using the actual geometric coordinates. The 'apparent' values are those computed using the 'Earth Radius Multiplier', which simulates the effects of atmospheric refraction.

Parameters
aTgtLocWCS[input] A target WCS position.
aEarthRadiusMultiplier[input] A scale factor to be applied to the Earth's radius to simulate the effect of atmospheric refraction.
aTrueThisToTgtAz[output] The true (geometric) azimuth of the target with respect to the antenna coordinate system (radians).
aTrueThisToTgtEl[output] The true (geometric) elevation of the target with respect to the antenna coordinate system (radians).
aApparentThisToTgtLocWCS[output] The WCS vector from the antenna to the apparent position of the target (meters).
aApparentThisToTgtAz[output] The azimuth of the apparent target with respect to the antenna coordinate system (radians).
aApparentThisToTgtEl[output] The elevation of the apparent target with respect to the antenna coordinate system (radians).
aApparentTgtToThisLocWCS[output] The WCS vector from the target to the apparent position of the antenna (meters).
Returns
'true' if within the field of view or 'false' if not.
Note
Sorry this has so many arguments, but various routine need these values and they are too expensive to recompute.

References mArticulatedPartPtr, and mFieldOfViewPtr.

◆ WithinFieldOfView() [2/4]

bool WsfEM_Antenna::WithinFieldOfView ( double aThisToTgtAz,
double aThisToTgtEl )

Is the target within the field-of-view?

Parameters
aThisToTgtAz[input] Azimuth of the target with respect to the device (radians).
aThisToTgtEl[input] Elevation of the target with respect to the device (radians).
Returns
'true' if within the field of view or 'false' if not.

References ConvertAnglesFromPCS_ToSSCS(), cSS_NONE, mArticulatedPartPtr, mFieldOfViewPtr, and mScanStabilization.

Referenced by UT_DEFINE_SCRIPT_METHOD(), WsfEM_Interaction::WithinFieldOfView(), WsfRF_Jammer::WithinFieldOfView(), WsfRF_Jammer::WithinFieldOfView(), WsfSensor::WithinFieldOfView(), WsfSensor::WithinFieldOfView(), WsfWeapon::WithinFieldOfView(), and WsfWeapon::WithinFieldOfView().

◆ WithinFieldOfView() [3/4]

bool WsfEM_Antenna::WithinFieldOfView ( WsfArticulatedPart * aArticulatedPartPtr,
double aEarthRadiusMultiplier,
double & aTrueThisToTgtAz,
double & aTrueThisToTgtEl,
double aApparentThisToTgtLocWCS[3],
double & aApparentThisToTgtAz,
double & aApparentThisToTgtEl,
double aApparentTgtToThisLocWCS[3] )

Compute azimuth and elevation of the target and determine if it is within the field of view.

This method computes the azimuth and elevation angles for a target. The 'true' values are computed using the actual geometric coordinates. The 'apparent' values are those computed using the 'Earth Radius Multiplier', which simulates the effects of atmospheric refraction.

Parameters
aArticulatedPartPtr[input] Pointer to the articulated part.
aEarthRadiusMultiplier[input] A scale factor to be applied to the Earth's radius to simulate the effect of atmospheric refraction.
aTrueThisToTgtAz[output] The true (geometric) azimuth of the target with respect to the antenna coordinate system (radians).
aTrueThisToTgtEl[output] The true (geometric) elevation of the target with respect to the antenna coordinate system (radians).
aApparentThisToTgtLocWCS[output] The WCS vector from the antenna to the apparent position of the target (meters).
aApparentThisToTgtAz[output] The azimuth of the apparent target with respect to the antenna coordinate system (radians).
aApparentThisToTgtEl[output] The elevation of the apparent target with respect to the antenna coordinate system (radians).
aApparentTgtToThisLocWCS[output] The WCS vector from the target to the apparent position of the antenna (meters).
Returns
'true' if within the field of view or 'false' if not.
Note
Sorry this has so many arguments, but various routine need these values and they are too expensive to recompute.

References mFieldOfViewPtr.

◆ WithinFieldOfView() [4/4]

bool WsfEM_Antenna::WithinFieldOfView ( WsfPlatform * aTargetPtr,
double aEarthRadiusMultiplier,
double & aTrueThisToTgtAz,
double & aTrueThisToTgtEl,
double aApparentThisToTgtLocWCS[3],
double & aApparentThisToTgtAz,
double & aApparentThisToTgtEl,
double aApparentTgtToThisLocWCS[3] )

Compute azimuth and elevation of the target and determine if it is within the field of view.

This method computes the azimuth and elevation angles for a target. The 'true' values are computed using the actual geometric coordinates. The 'apparent' values are those computed using the 'Earth Radius Multiplier', which simulates the effects of atmospheric refraction.

Parameters
aTargetPtr[input] Pointer to the target.
aEarthRadiusMultiplier[input] A scale factor to be applied to the Earth's radius to simulate the effect of atmospheric refraction.
aTrueThisToTgtAz[output] The true (geometric) azimuth of the target with respect to the antenna coordinate system (radians).
aTrueThisToTgtEl[output] The true (geometric) elevation of the target with respect to the antenna coordinate system (radians).
aApparentThisToTgtLocWCS[output] The WCS vector from the antenna to the apparent position of the target (meters).
aApparentThisToTgtAz[output] The azimuth of the apparent target with respect to the antenna coordinate system (radians).
aApparentThisToTgtEl[output] The elevation of the apparent target with respect to the antenna coordinate system (radians).
aApparentTgtToThisLocWCS[output] The WCS vector from the target to the apparent position of the antenna (meters).
Returns
'true' if within the field of view or 'false' if not.
Note
Sorry this has so many arguments, but various routine need these values and they are too expensive to recompute.

References mFieldOfViewPtr.

◆ WithinRange()

bool WsfEM_Antenna::WithinRange ( double aTgtRange) const
inline

Is the given range within the range limits.

Parameters
aTgtRange[input] Range to target (meters).
Returns
'true' if in range or 'false' if not.

References mMaxRange, and mMinRange.

Referenced by WsfEM_Interaction::BeginOneWayInteraction(), WsfEM_Interaction::BeginOneWayInteraction(), WsfEM_Interaction::BeginTwoWayInteraction(), WsfEM_Interaction::BeginTwoWayOTH_Interaction(), and UT_DEFINE_SCRIPT_METHOD().

Member Data Documentation

◆ mAlt

◆ mArticulatedPartPtr

◆ mDefaultFieldOfView

bool WsfEM_Antenna::mDefaultFieldOfView
protected

Indicates that the used field of view is unaltered from the default state (360 az x 180 el).

Referenced by DefaultFieldOfView(), IndicateNondefaultFieldOfView(), operator=(), ProcessInput(), WsfEM_Antenna(), and WsfEM_Antenna().

◆ mEBS_AzCosSteeringLimit

double WsfEM_Antenna::mEBS_AzCosSteeringLimit
protected

the cosine of the maximum electronic beam steering angle in azimuth.

Referenced by ComputeBeamSteeringLoss(), GetEBS_AzCosSteeringLimit(), operator=(), ProcessInput(), SetEBS_AzCosSteeringLimit(), WsfEM_Antenna(), and WsfEM_Antenna().

◆ mEBS_AzLossExponent

double WsfEM_Antenna::mEBS_AzLossExponent
protected

The exponent 'n' of cos(x)^n for azimuth component beam losses. For the case when azimuth dropoff are not uniform.

Referenced by ComputeBeamSteeringLoss(), GetEBS_AzLossExponent(), operator=(), SetEBS_AzLossExponent(), WsfEM_Antenna(), and WsfEM_Antenna().

◆ mEBS_ElCosSteeringLimit

double WsfEM_Antenna::mEBS_ElCosSteeringLimit
protected

the cosine of the maximum electronic beam steering angle in elevation.

Referenced by ComputeBeamSteeringLoss(), GetEBS_ElCosSteeringLimit(), operator=(), ProcessInput(), SetEBS_ElCosSteeringLimit(), WsfEM_Antenna(), and WsfEM_Antenna().

◆ mEBS_ElLossExponent

double WsfEM_Antenna::mEBS_ElLossExponent
protected

The exponent 'n' of cos(x)^n for elevation component beam losses. For the case when elevation dropoff are not uniform.

Referenced by ComputeBeamSteeringLoss(), GetEBS_ElLossExponent(), operator=(), SetEBS_ElLossExponent(), WsfEM_Antenna(), and WsfEM_Antenna().

◆ mEBS_Mode

EBS_Mode WsfEM_Antenna::mEBS_Mode
protected

The degrees-of-freedom for electronic beam steering.

Referenced by ComputeBeamPosition(), ComputeBeamSteeringLoss(), GetEBS_Mode(), operator=(), SetEBS_Mode(), WsfEM_Antenna(), and WsfEM_Antenna().

◆ mECS_ToACS_Transform

double WsfEM_Antenna::mECS_ToACS_Transform[3][3]
protected

The transformation from the ECS to the antenna coordinate system (ACS).

Referenced by operator=(), UpdateWCS_ToACS_Transform(), WsfEM_Antenna(), and WsfEM_Antenna().

◆ mECS_ToACS_TransformIsValid

bool WsfEM_Antenna::mECS_ToACS_TransformIsValid
protected

◆ mFieldOfViewPtr

◆ mLat

◆ mLocationLLA_IsValid

bool WsfEM_Antenna::mLocationLLA_IsValid
protected

◆ mLocationWCS

double WsfEM_Antenna::mLocationWCS[3]
protected

◆ mLocationWCS_IsValid

bool WsfEM_Antenna::mLocationWCS_IsValid
protected

◆ mLon

◆ mMaxAlt

◆ mMaxAzScan

◆ mMaxElScan

◆ mMaxRange

◆ mMinAlt

◆ mMinAzScan

◆ mMinElScan

◆ mMinRange

◆ mOffset

double WsfEM_Antenna::mOffset[3]
protected

The offset of the antenna relative to the articulated part.

Referenced by GetHeight(), operator=(), SetHeight(), UpdateLocationWCS(), WsfEM_Antenna(), and WsfEM_Antenna().

◆ mOffsetWCS

double WsfEM_Antenna::mOffsetWCS[3]
protected

The WCS vector from the articulated part to the antenna.

Referenced by operator=(), UpdateLocationWCS(), WsfEM_Antenna(), and WsfEM_Antenna().

◆ mPartPitch

double WsfEM_Antenna::mPartPitch
protected

◆ mPartRoll

double WsfEM_Antenna::mPartRoll
protected

◆ mPartYaw

double WsfEM_Antenna::mPartYaw
protected

Used to determine if the uncued articulated part orientation has changed.

Referenced by operator=(), UpdateWCS_ToACS_Transform(), WsfEM_Antenna(), and WsfEM_Antenna().

◆ mPitch

double WsfEM_Antenna::mPitch
protected

The pitch (tilt) angle of the antenna relative to the articulated part.

Referenced by ComputeBeamPosition(), GetPitch(), operator=(), SetPitch(), UpdateWCS_ToACS_Transform(), WsfEM_Antenna(), and WsfEM_Antenna().

◆ mScanMode

ScanMode WsfEM_Antenna::mScanMode
protected

The degrees-of-freedom for scanning.

Referenced by ComputeBeamPosition(), GetScanMode(), operator=(), SetScanMode(), WsfEM_Antenna(), and WsfEM_Antenna().

◆ mScanStabilization

ScanStabilization WsfEM_Antenna::mScanStabilization
protected

◆ mWCS_ToACS_Transform

double WsfEM_Antenna::mWCS_ToACS_Transform[3][3]
protected

◆ mWCS_ToACS_TransformIsValid

◆ mWCS_ToNED_Transform

double WsfEM_Antenna::mWCS_ToNED_Transform[3][3]
protected

◆ mWCS_ToNED_TransformIsValid

◆ mWCS_ToSSCS_Transform

double WsfEM_Antenna::mWCS_ToSSCS_Transform[3][3]
protected

The transformation from WCS to the stabilized-scan coordinate system (SSCS).

Referenced by ConvertAnglesFromPCS_ToSSCS(), ConvertAnglesFromSSCS_ToPCS(), operator=(), UpdateWCS_ToSSCS_Transform(), WsfEM_Antenna(), and WsfEM_Antenna().

◆ mWCS_ToSSCS_TransformIsValid


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