|
WSF
|
#include <WsfESA_NX_AntennaPattern.hpp>


Classes | |
| struct | ArraySubDivideRatios |
| class | ESA_NX_Data |
Public Types | |
| using | ArraySplitRatios = std::map<int, ArraySubDivideRatios> |
| Public Types inherited from WsfESA_AntennaPattern | |
| enum | LatticeType { cLT_RECTANGLULAR , cLT_TRIANGLULAR } |
| enum | WeightingFun { cWT_None = 0 , cWT_Taylor = 1 , cWT_Uniform = 2 } |
| using | ElementVec = std::vector<Element> |
| using | WeightVec = std::vector<double> |
| Public Types inherited from WsfObject | |
| typedef std::vector< WsfStringId > | TypeList |
| The list of types returned by GetTypeList. | |
Public Member Functions | |
| WsfESA_NX_AntennaPattern () | |
| ~WsfESA_NX_AntennaPattern () override=default | |
| WsfAntennaPattern * | Clone () const override |
| bool | Initialize (WsfSimulation *aSimulationPtr) override |
| void | SetAntennaBeamCount (unsigned int aBeamCount) override |
| Public Member Functions inherited from WsfESA_AntennaPattern | |
| WsfESA_AntennaPattern (ESA_Data *aEsaData=nullptr) | |
| ~WsfESA_AntennaPattern () override | |
| double | GetGain (double aFrequency, double aTargetAz, double aTargetEl, double aEBS_Az, double aEBS_EL) override |
| double | GetAzimuthBeamwidth (double aFrequency, double aEBS_Azimuth, double aEBS_Elevation) const override |
| double | GetElevationBeamwidth (double aFrequency, double aEBS_Azimuth, double aEBS_Elevation) const override |
| double | GetPeakGain (double aFrequency) const override |
| double | GetElementSpacingX () const |
| double | GetElementSpacingY () const |
| int | GetNumberElementsX () const |
| int | GetNumberElementsY () const |
| bool | IsDistributionTaylor () const |
| bool | IsDistributionUniform () const |
| double | GetTaylorDataSidelobeLevelX () const |
| double | GetTaylorDataSidelobeLevelY () const |
| double | GetTaylorDataN_BarX () const |
| double | GetTaylorDataN_BarY () const |
| int | GetPhaseNumBits () const |
| int | GetAmpNumBits () const |
| Public Member Functions inherited from WsfAntennaPattern | |
| WsfAntennaPattern () | |
| WsfAntennaPattern (BaseData *aBasePtr) | |
| ~WsfAntennaPattern () override | |
| const char * | GetScriptClassName () const override |
| virtual WSF_DEPRECATED double | GetAzimuthBeamwidth (double aFrequency) const final |
| virtual WSF_DEPRECATED double | GetElevationBeamwidth (double aFrequency) const final |
| virtual double | GetMinimumGain () const |
| virtual const GainAdjustmentTable & | GetGainAdjustmentTable () const |
| virtual double | GetGainAdjustment () const |
| bool | ProcessInput (UtInput &aInput) override |
| virtual double | GetGainThresholdFraction (double aGainThreshold, double aPeakGain, double aMinAz, double aMaxAz, double aFrequency) |
| 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 Member Functions | |
| static WsfAntennaPattern * | ObjectFactory (const std::string &aTypeName) |
| Static Public Member Functions inherited from WsfESA_AntennaPattern | |
| static WsfAntennaPattern * | ObjectFactory (const std::string &aTypeName) |
Private data access. | |
These methods return data that should not be considered part of the public interface. They were provided to support External Services. Use at your own risk! | |
| double | GetEdgeAngleX () const |
| double | GetEdgeAngleY () const |
| double | GetElementSpacingX () const |
| double | GetElementSpacingY () const |
| int | GetNumberElementsX () const |
| int | GetNumberElementsY () const |
| bool | IsDistributionTaylor () const |
| bool | IsDistributionUniform () const |
| double | GetTaylorDataSidelobeLevelX () const |
| double | GetTaylorDataSidelobeLevelY () const |
| double | GetTaylorDataN_BarX () const |
| double | GetTaylorDataN_BarY () const |
| int | GetPhaseNumBits () const |
| int | GetAmpNumBits () const |
| ESA_NX_Data * | NX_Data () const |
| WsfESA_NX_AntennaPattern (const WsfESA_NX_AntennaPattern &aSrc) | |
| WsfESA_NX_AntennaPattern & | operator= (const WsfESA_NX_AntennaPattern &aRhs)=delete |
| Assignment is not supported. | |
| double | ComputeDirectivityGain (double aFrequency, double aEBS_Az, double aEBS_El) const override |
| void | ResizeArray () override |
| void | AdjustElementLocations () override |
Additional Inherited Members | |
| Static Public Attributes inherited from WsfAntennaPattern | |
| static const char * | cTYPE_KIND = "antenna_pattern" |
| WsfESA_AntennaPattern (const WsfESA_AntennaPattern &aSrc) | |
| WsfESA_AntennaPattern & | operator= (const WsfESA_AntennaPattern &aRhs)=delete |
| Assignment is not supported. | |
| ESA_Data * | GetData () const |
| virtual double | ComputeElementGain (double aFrequency, double aAzAngle, double aElAngle) const |
| virtual double | ComputeElementFactor (double aFrequency, double aEBS_Az, double aEBS_El, double aAzAngle, double aElAngle) const |
| void | SetESA_DataPtr (ESA_Data *aESA_DataPtr) |
| virtual void | AdjustApertureElements (ut::Random &aRandom) |
| void | ComputeFailedModulesWeights (ut::Random &aRandom) |
| Protected Member Functions inherited from WsfAntennaPattern | |
| 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 inherited from WsfESA_AntennaPattern | |
| WeightVec | mWeightVecX |
| WeightVec | mWeightVecY |
| Calculated aperture efficiency. | |
| double | mApertureEff |
| double | mApertureEffX |
| double | mApertureEffY |
| WsfAntennaPattern * | mElementPatternPtr |
| ElementVec | mElements |
| Current vector of elements used for pattern calculations. | |
| double | mLengthX |
| Current X-axis length of the array in meters. | |
| double | mLengthY |
| Current Y-axis length of the array in meters. | |
| int | mNX |
| Current X-axis number of elements. | |
| int | mNY |
| Current Y-axis number of elements. | |
| Protected Attributes inherited from WsfAntennaPattern | |
| BaseData * | mSharedDataPtr |
The implementation of an subdividing 'Electronically Scanned Array (ESA)' antenna patterns.
Different weighting functions can be applied:
Adaption from Skolnik 2nd edition adding in array sub-division and edge angles to model modern threat radar systems making it non-exportable.
| using WsfESA_NX_AntennaPattern::ArraySplitRatios = std::map<int, ArraySubDivideRatios> |
| WsfESA_NX_AntennaPattern::WsfESA_NX_AntennaPattern | ( | ) |
References WsfESA_AntennaPattern::WsfESA_AntennaPattern().
Referenced by Clone(), ObjectFactory(), operator=(), and WsfESA_NX_AntennaPattern().
|
overridedefault |
References WsfAntennaPattern::WsfAntennaPattern().
|
protected |
References WsfESA_AntennaPattern::WsfESA_AntennaPattern(), and WsfESA_NX_AntennaPattern().
|
overrideprotectedvirtual |
Reimplemented from WsfESA_AntennaPattern.
References WsfESA_AntennaPattern::cLT_TRIANGLULAR, WsfESA_AntennaPattern::ESA_Data::mdX, WsfESA_AntennaPattern::ESA_Data::mdY, WsfESA_NX_AntennaPattern::ESA_NX_Data::mEdgeAngleX, WsfESA_NX_AntennaPattern::ESA_NX_Data::mEdgeAngleY, WsfESA_AntennaPattern::mElements, WsfESA_AntennaPattern::Element::mLocation, WsfESA_AntennaPattern::mNX, WsfESA_AntennaPattern::mNY, and NX_Data().
|
overridevirtual |
Return a copy of this object. Must be implemented by all derived types. If cloning is impossible, a WsfUncloneableException should be thrown.
Reimplemented from WsfESA_AntennaPattern.
References WsfAntennaPattern::WsfAntennaPattern(), and WsfESA_NX_AntennaPattern().
|
overrideprotectedvirtual |
Reimplemented from WsfESA_AntennaPattern.
References WsfESA_AntennaPattern::ComputeDirectivityGain(), and NX_Data().
|
inline |
References WsfESA_AntennaPattern::ESA_Data::mAmpNumBits, and NX_Data().
|
inline |
References WsfESA_NX_AntennaPattern::ESA_NX_Data::mEdgeAngleX, and NX_Data().
|
inline |
References WsfESA_NX_AntennaPattern::ESA_NX_Data::mEdgeAngleY, and NX_Data().
|
inline |
References WsfESA_AntennaPattern::ESA_Data::mdX, and NX_Data().
|
inline |
References WsfESA_AntennaPattern::ESA_Data::mdY, and NX_Data().
|
inline |
References WsfESA_AntennaPattern::ESA_Data::mNX, and NX_Data().
|
inline |
References WsfESA_AntennaPattern::ESA_Data::mNY, and NX_Data().
|
inline |
References WsfESA_AntennaPattern::ESA_Data::mPhaseNumBits, and NX_Data().
|
inline |
|
inline |
|
inline |
|
inline |
|
overridevirtual |
Initialize the antenna pattern. This is called after all the input for an antenna pattern has been processed.
Reimplemented from WsfESA_AntennaPattern.
References WsfESA_AntennaPattern::AdjustApertureElements(), WsfSimulation::GetRandom(), WsfAntennaPattern::Initialize(), WsfESA_AntennaPattern::mApertureEff, WsfESA_AntennaPattern::mApertureEffX, WsfESA_AntennaPattern::mApertureEffY, NX_Data(), and ok.
|
inline |
|
inline |
|
inlineprotected |
References WsfESA_AntennaPattern::GetData().
Referenced by AdjustElementLocations(), ComputeDirectivityGain(), GetAmpNumBits(), GetEdgeAngleX(), GetEdgeAngleY(), GetElementSpacingX(), GetElementSpacingY(), GetNumberElementsX(), GetNumberElementsY(), GetPhaseNumBits(), GetTaylorDataN_BarX(), GetTaylorDataN_BarY(), GetTaylorDataSidelobeLevelX(), GetTaylorDataSidelobeLevelY(), Initialize(), IsDistributionTaylor(), IsDistributionUniform(), and ResizeArray().
|
static |
Factory method for WsfESA_NX_AntennaPatternTypes. This is called by WsfESA__NX_AntennaPatternTypes::LoadType to determine if a pattern represented by this class is being requested.
References WsfAntennaPattern::WsfAntennaPattern(), WsfESA_AntennaPattern::WsfESA_AntennaPattern(), and WsfESA_NX_AntennaPattern().
|
protecteddelete |
Assignment is not supported.
References WsfESA_NX_AntennaPattern().
|
overrideprotectedvirtual |
Reimplemented from WsfESA_AntennaPattern.
References WsfESA_NX_AntennaPattern::ESA_NX_Data::GetArraySplitRatios(), WsfESA_AntennaPattern::ESA_Data::mdX, WsfESA_AntennaPattern::ESA_Data::mdY, WsfESA_AntennaPattern::ESA_Data::mLengthX, WsfESA_AntennaPattern::mLengthX, WsfESA_AntennaPattern::ESA_Data::mLengthY, WsfESA_AntennaPattern::mLengthY, WsfESA_AntennaPattern::ESA_Data::mNX, WsfESA_AntennaPattern::mNX, WsfESA_AntennaPattern::ESA_Data::mNY, WsfESA_AntennaPattern::mNY, and NX_Data().
|
overridevirtual |
Reimplemented from WsfAntennaPattern.
References WsfESA_AntennaPattern::AdjustApertureElements().