|
WSF
|
#include <WsfAntennaPattern.hpp>


Classes | |
| class | GainAdjustmentTable |
| class | BaseData |
Public Member Functions | |
| WsfAntennaPattern () | |
| WsfAntennaPattern (BaseData *aBasePtr) | |
| ~WsfAntennaPattern () override | |
| WsfAntennaPattern * | Clone () const override |
| const char * | GetScriptClassName () const override |
| virtual double | GetGain (double aFrequency, double aTargetAz, double aTargetEl, double aEBS_Az, double aEBS_El) |
| virtual WSF_DEPRECATED double | GetAzimuthBeamwidth (double aFrequency) const final |
| virtual double | GetAzimuthBeamwidth (double aFrequency, double aEBS_Azimuth, double aEBS_Elevation) const |
| virtual WSF_DEPRECATED double | GetElevationBeamwidth (double aFrequency) const final |
| virtual double | GetElevationBeamwidth (double aFrequency, double aEBS_Azimuth, double aEBS_Elevation) const |
| virtual double | GetMinimumGain () const |
| virtual double | GetPeakGain (double aFrequency) const |
| virtual const GainAdjustmentTable & | GetGainAdjustmentTable () const |
| virtual double | GetGainAdjustment () const |
| virtual bool | Initialize (WsfSimulation *aSimulationPtr) |
| bool | ProcessInput (UtInput &aInput) override |
| virtual double | GetGainThresholdFraction (double aGainThreshold, double aPeakGain, double aMinAz, double aMaxAz, double aFrequency) |
| virtual void | SetAntennaBeamCount (unsigned int aBeamCount) |
| 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 TypeList & | GetTypeList () const |
| bool | IsA_TypeOf (WsfStringId aType) const |
| WsfObject & | operator= (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 Attributes | |
| static const char * | cTYPE_KIND = "antenna_pattern" |
Protected Member Functions | |
| WsfAntennaPattern (const WsfAntennaPattern &aSrc) | |
| Copy Constructor for Clone(). | |
| WsfAntennaPattern & | operator= (const WsfAntennaPattern &aRhs) |
| virtual double | ApplyEBS (double aBeamwidth, double aEBS_Az, double aEBS_El) const |
| WsfObject (const WsfObject &aSrc) | |
| Copy constructor (for Clone()). | |
Protected Attributes | |
| BaseData * | mSharedDataPtr |
Additional Inherited Members | |
| Public Types inherited from WsfObject | |
| typedef std::vector< WsfStringId > | TypeList |
| The list of types returned by GetTypeList. | |
Represents the gain of an antenna as a function of azimuth and elevation.
Antenna patterns are used by transmitters and receivers of electromagnetic radiation to compute the gain of the transmitted or received signal.
A given antenna pattern object will be shared amongst all objects that utilize the pattern.
| WsfAntennaPattern::WsfAntennaPattern | ( | ) |
References mSharedDataPtr, and WsfObject::WsfObject().
Referenced by WsfALARM_AntennaPattern::Clone(), WsfALARM_AntennaPatternBanded::Clone(), Clone(), WsfElementESA_AntennaPattern::Clone(), WsfESA_AntennaPattern::Clone(), WsfESA_NX_AntennaPattern::Clone(), WsfGENAP_AntennaPattern::Clone(), WsfStandardAntennaPattern::Clone(), WsfALARM_AntennaPattern::ALARM_Data::Initialize(), WsfAntennaPattern::BaseData::Initialize(), WsfESA_AntennaPattern::ESA_Data::Initialize(), WsfESA_NX_AntennaPattern::ESA_NX_Data::Initialize(), WsfGENAP_AntennaPattern::GENAP_Data::Initialize(), WsfStandardAntennaPattern::StandardData::Initialize(), WsfALARM_AntennaPattern::ObjectFactory(), WsfALARM_AntennaPatternBanded::ObjectFactory(), WsfElementESA_AntennaPattern::ObjectFactory(), WsfESA_AntennaPattern::ObjectFactory(), WsfESA_NX_AntennaPattern::ObjectFactory(), WsfGENAP_AntennaPattern::ObjectFactory(), operator=(), WsfStandardAntennaPattern::operator=(), WsfStandardAntennaPattern::StandardData::ProcessCircularInput(), WsfStandardAntennaPattern::StandardData::ProcessCosecantSquaredInput(), WsfALARM_AntennaPattern::ALARM_Data::ProcessInput(), WsfAntennaPattern::BaseData::ProcessInput(), WsfElementESA_AntennaPattern::EESA_Data::ProcessInput(), WsfESA_AntennaPattern::ESA_Data::ProcessInput(), WsfESA_NX_AntennaPattern::ESA_NX_Data::ProcessInput(), WsfGENAP_AntennaPattern::GENAP_Data::ProcessInput(), WsfStandardAntennaPattern::StandardData::ProcessInput(), WsfStandardAntennaPattern::StandardData::ProcessPatternTableInput(), WsfStandardAntennaPattern::StandardData::ProcessSineInput(), WsfStandardAntennaPattern::StandardData::ProcessUniformInput(), WsfALARM_AntennaPattern::WsfALARM_AntennaPattern(), WsfAntennaPattern(), WsfESA_AntennaPattern::WsfESA_AntennaPattern(), WsfESA_AntennaPattern::WsfESA_AntennaPattern(), WsfStandardAntennaPattern::WsfStandardAntennaPattern(), WsfStandardAntennaPattern::WsfStandardAntennaPattern(), WsfALARM_AntennaPattern::ALARM_Data::~ALARM_Data(), WsfAntennaPattern::BaseData::~BaseData(), WsfElementESA_AntennaPattern::EESA_Data::~EESA_Data(), WsfESA_AntennaPattern::ESA_Data::~ESA_Data(), WsfESA_NX_AntennaPattern::ESA_NX_Data::~ESA_NX_Data(), WsfGENAP_AntennaPattern::GENAP_Data::~GENAP_Data(), WsfALARM_AntennaPatternBanded::~WsfALARM_AntennaPatternBanded(), WsfElementESA_AntennaPattern::~WsfElementESA_AntennaPattern(), and WsfESA_NX_AntennaPattern::~WsfESA_NX_AntennaPattern().
| WsfAntennaPattern::WsfAntennaPattern | ( | BaseData * | aBasePtr | ) |
References mSharedDataPtr, and WsfObject::WsfObject().
|
override |
References mSharedDataPtr.
|
protected |
Copy Constructor for Clone().
References mSharedDataPtr, WsfAntennaPattern(), and WsfObject::WsfObject().
|
protectedvirtual |
Return the electronically steered beamwidth.
| aBeamwidth | The beamwidth (radians). |
| aEBS_Az | The azimuth's electronic beamwidth steering (radians). |
| aEBS_El | The elevation's electronic beamwidth steering (radians). |
Referenced by WsfALARM_AntennaPattern::GetAzimuthBeamwidth(), GetAzimuthBeamwidth(), WsfESA_AntennaPattern::GetAzimuthBeamwidth(), WsfStandardAntennaPattern::GetAzimuthBeamwidth(), WsfALARM_AntennaPattern::GetElevationBeamwidth(), GetElevationBeamwidth(), WsfESA_AntennaPattern::GetElevationBeamwidth(), and WsfStandardAntennaPattern::GetElevationBeamwidth().
|
overridevirtual |
Return a copy of this object. Must be implemented by all derived types. If cloning is impossible, a WsfUncloneableException should be thrown.
Implements WsfObject.
Reimplemented in WsfElementESA_AntennaPattern, WsfESA_AntennaPattern, WsfESA_NX_AntennaPattern, WsfGENAP_AntennaPattern, and WsfStandardAntennaPattern.
References WsfAntennaPattern().
|
finalvirtual |
Return the azimuth beamwidth at the specified frequency. The beamwidth is defined to be the width of the main lobe where the gain is 3 dB down from the peak gain.
| aFrequency | The frequency in Hz. |
References GetAzimuthBeamwidth().
Referenced by WsfEM_ALARM_Clutter::ComputeClutterPower(), GetAzimuthBeamwidth(), WsfEM_XmtrRcvr::GetAzimuthBeamwidth(), WsfDisInterface::UpdateSystemFromSensor(), and WsfMilDisInterface::UpdateSystemFromWeapon().
|
virtual |
Return the azimuth beamwidth at the specified frequency. The beamwidth is defined to be the width of the main lobe where the gain is 3 dB down from the peak gain.
| aFrequency | The frequency in Hz. |
| aEBS_Azimuth | The Electronic Beamwidth Steering in terms of Azimuth (radians) |
| aEBS_Elevation | The Electronic Beamwidth Steering in terms of Elevation (radians) |
Reimplemented in WsfALARM_AntennaPattern, WsfESA_AntennaPattern, and WsfStandardAntennaPattern.
References ApplyEBS().
|
finalvirtual |
Return the elevation beamwidth at the specified frequency. The beamwidth is defined to be the width of the main lobe where the gain is 3 dB down from the peak gain.
| aFrequency | The frequency in Hz. |
References GetElevationBeamwidth().
Referenced by GetElevationBeamwidth(), WsfEM_XmtrRcvr::GetElevationBeamwidth(), WsfDisInterface::UpdateSystemFromSensor(), and WsfMilDisInterface::UpdateSystemFromWeapon().
|
virtual |
Return the elevation beamwidth at the specified frequency. The beamwidth is defined to be the width of the main lobe where the gain is 3 dB down from the peak gain.
| aFrequency | The frequency in Hz. |
| aEBS_Azimuth | The Electronic Beamwidth Steering in terms of Azimuth (radians) |
| aEBS_Elevation | The Electronic Beamwidth Steering in terms of Elevation (radians) |
Reimplemented in WsfALARM_AntennaPattern, WsfESA_AntennaPattern, and WsfStandardAntennaPattern.
References ApplyEBS().
|
virtual |
Return the antenna gain at a specified azimuth and elevation.
| aFrequency | The frequency at which to get the gain (Hz). |
| aTargetAz | Target azimuth with respect to the gain pattern boresight (radians). |
| aTargetEl | Target elevation with respect to the gain pattern boresight (radians). |
| aEBS_Az | The Electronic Beam Steering azimuth angle (radians). |
| aEBS_El | The Electronic Beam Steering elevation angle (radians). |
Reimplemented in WsfALARM_AntennaPatternBanded, WsfESA_AntennaPattern, and WsfStandardAntennaPattern.
References mSharedDataPtr.
Referenced by WsfEM_XmtrRcvr::GetAntennaGain(), WsfALARM_AntennaPatternBanded::GetGain(), WsfAntennaPattern::BaseData::InitializeAverageGain(), and WsfEW_RepeaterEffect::UpdateEffects().
|
virtual |
Return the simple gain adjustment
References mSharedDataPtr.
|
virtual |
Return the gain adjustment table.
References mSharedDataPtr.
|
virtual |
Get the fraction of the antenna pattern that meets or exceeds a certain gain threshold.
This is a utility method used by the passive type sensor code to ESTIMATE the amount of a azimuth scan pattern that exceeds specified gain threshold.
| aGainThreshold | The gain threshold (absolute, not dB). |
| aPeakGain | The peak gain for the elevation in question (absolute, not dB). This would typically be the value returned by GetGain(freq,0.0,el,0.0,0.0). |
| aMinAz | The minimum azimuth to consider [ -pi, pi ] |
| aMaxAz | The maximum azimuth to consider [ -pi, pi ] |
| aFrequency | The frequency (only needed for the steered array pattern) |
References mSharedDataPtr.
Referenced by WsfPassiveSensor::PassiveBeam::ComputePSOS_Effects().
|
virtual |
Return the minimum gain that will be returned by GetAntennaGain
References mSharedDataPtr.
Referenced by WsfEM_XmtrRcvr::GetAntennaGain(), WsfEM_XmtrRcvr::GetMinimumAntennaGain(), and WsfEW_RepeaterEffect::UpdateEffects().
|
virtual |
Return the peak gain in the pattern at the specified frequency.
| aFrequency | The frequency in Hz. |
Reimplemented in WsfALARM_AntennaPattern, WsfESA_AntennaPattern, and WsfStandardAntennaPattern.
Referenced by WsfEM_XmtrRcvr::GetPeakAntennaGain(), and WsfEW_RepeaterEffect::UpdateEffects().
|
inlineoverride |
|
virtual |
Initialize the antenna pattern. This is called after all the input for an antenna pattern has been processed.
| aSimulationPtr | Pointer to the simulation. May be null if the antenna pattern is being checked for validity before addition to the simulation. |
Reimplemented in WsfElementESA_AntennaPattern, WsfESA_AntennaPattern, and WsfESA_NX_AntennaPattern.
References mSharedDataPtr.
Referenced by AntennaPlotFunction::Execute(), WsfElementESA_AntennaPattern::Initialize(), WsfESA_AntennaPattern::Initialize(), WsfESA_NX_AntennaPattern::Initialize(), and WsfAntennaPatternTypes::InitializeType().
|
protected |
References WsfAntennaPattern().
|
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'.
| aInput | a reference to a UtInput object. |
| UtInput::ExceptionBase | (or an object derived from it) if the command was recognized but contains some sort of error. |
Reimplemented from WsfObject.
Reimplemented in WsfElementESA_AntennaPattern, and WsfGENAP_AntennaPattern.
References mSharedDataPtr.
Referenced by WsfALARM_AntennaPatternBanded::ProcessInput(), WsfElementESA_AntennaPattern::ProcessInput(), and WsfGENAP_AntennaPattern::ProcessInput().
|
inlinevirtual |
Reimplemented in WsfESA_NX_AntennaPattern.
|
static |
|
protected |
A shared pointer to the data shared between this and derived classes.
Referenced by WsfALARM_AntennaPattern::AlarmData(), WsfElementESA_AntennaPattern::ComputeElementGain(), GetGain(), GetGainAdjustment(), GetGainAdjustmentTable(), GetGainThresholdFraction(), GetMinimumGain(), WsfStandardAntennaPattern::GetStandardData(), Initialize(), WsfGENAP_AntennaPattern::operator=(), ProcessInput(), WsfALARM_AntennaPattern::WsfALARM_AntennaPattern(), WsfAntennaPattern(), WsfAntennaPattern(), WsfAntennaPattern(), WsfESA_AntennaPattern::WsfESA_AntennaPattern(), WsfESA_AntennaPattern::WsfESA_AntennaPattern(), and ~WsfAntennaPattern().