12#ifndef WSFESA_NX_ANTENNAPATTERN_HPP
13#define WSFESA_NX_ANTENNAPATTERN_HPP
56 void GetArraySplitRatios(
unsigned int aBeamCount,
double& aX_SplitRatio,
double& aY_SplitRatio);
115 unsigned int mAntennaBeamCount;
WsfAntennaPattern()
Definition WsfAntennaPattern.cpp:25
Definition WsfESA_AntennaPattern.hpp:67
WeightingFun mDistribution
The weighting function to be applied.
Definition WsfESA_AntennaPattern.hpp:107
int mPhaseNumBits
Quantization of the steering phase.
Definition WsfESA_AntennaPattern.hpp:117
double mdX
X-axis element spacing in meters.
Definition WsfESA_AntennaPattern.hpp:96
int mNY
Input Y-axis number of elements.
Definition WsfESA_AntennaPattern.hpp:101
int mNX
Input X-axis number of elements.
Definition WsfESA_AntennaPattern.hpp:100
TaylorWeightingData mTaylorData
Taylor sidelobe level control data.
Definition WsfESA_AntennaPattern.hpp:109
double mdY
Y-axis element spacing in meters.
Definition WsfESA_AntennaPattern.hpp:97
int mAmpNumBits
Quantization of the amplitude weighting.
Definition WsfESA_AntennaPattern.hpp:118
@ cWT_Taylor
Definition WsfESA_AntennaPattern.hpp:45
@ cWT_Uniform
Definition WsfESA_AntennaPattern.hpp:46
ESA_Data * GetData() const
Definition WsfESA_AntennaPattern.hpp:170
WsfESA_AntennaPattern(ESA_Data *aEsaData=nullptr)
Definition WsfESA_AntennaPattern.cpp:30
Definition WsfESA_NX_AntennaPattern.hpp:47
bool ProcessInput(WsfAntennaPattern &aAntennaPattern, UtInput &aInput) override
Definition WsfESA_NX_AntennaPattern.cpp:169
~ESA_NX_Data() override=default
ESA_NX_Data()
Definition WsfESA_NX_AntennaPattern.cpp:158
bool Initialize(WsfAntennaPattern &aAntennaPattern) override
Definition WsfESA_NX_AntennaPattern.cpp:223
double mEdgeAngleX
The elevation lean angle of the area, effectively create a trapezoid (radians).
Definition WsfESA_NX_AntennaPattern.hpp:59
double mEdgeAngleY
Definition WsfESA_NX_AntennaPattern.hpp:62
ESA_NX_Data(const ESA_NX_Data &aSrc)=default
void GetArraySplitRatios(unsigned int aBeamCount, double &aX_SplitRatio, double &aY_SplitRatio)
The azimuth lean angle of the area, effectively create a trapezoid (radians).
Definition WsfESA_NX_AntennaPattern.cpp:228
ArraySplitRatios mArraySplitRatios
Map of beam count to beam splitting ratios.
Definition WsfESA_NX_AntennaPattern.hpp:64
Definition WsfESA_NX_AntennaPattern.hpp:36
static WsfAntennaPattern * ObjectFactory(const std::string &aTypeName)
Definition WsfESA_NX_AntennaPattern.cpp:38
bool IsDistributionUniform() const
Definition WsfESA_NX_AntennaPattern.hpp:89
ESA_NX_Data * NX_Data() const
Definition WsfESA_NX_AntennaPattern.hpp:99
double GetTaylorDataSidelobeLevelY() const
Definition WsfESA_NX_AntennaPattern.hpp:91
bool IsDistributionTaylor() const
Definition WsfESA_NX_AntennaPattern.hpp:88
std::map< int, ArraySubDivideRatios > ArraySplitRatios
Definition WsfESA_NX_AntennaPattern.hpp:44
~WsfESA_NX_AntennaPattern() override=default
WsfAntennaPattern * Clone() const override
Definition WsfESA_NX_AntennaPattern.cpp:49
void ResizeArray() override
Definition WsfESA_NX_AntennaPattern.cpp:93
int GetNumberElementsX() const
Definition WsfESA_NX_AntennaPattern.hpp:86
double GetTaylorDataSidelobeLevelX() const
Definition WsfESA_NX_AntennaPattern.hpp:90
double GetElementSpacingX() const
Definition WsfESA_NX_AntennaPattern.hpp:84
double GetTaylorDataN_BarY() const
Definition WsfESA_NX_AntennaPattern.hpp:93
double GetEdgeAngleX() const
Definition WsfESA_NX_AntennaPattern.hpp:82
int GetPhaseNumBits() const
Definition WsfESA_NX_AntennaPattern.hpp:94
int GetAmpNumBits() const
Definition WsfESA_NX_AntennaPattern.hpp:95
bool Initialize(WsfSimulation *aSimulationPtr) override
Definition WsfESA_NX_AntennaPattern.cpp:58
double GetElementSpacingY() const
Definition WsfESA_NX_AntennaPattern.hpp:85
double GetTaylorDataN_BarX() const
Definition WsfESA_NX_AntennaPattern.hpp:92
int GetNumberElementsY() const
Definition WsfESA_NX_AntennaPattern.hpp:87
WsfESA_NX_AntennaPattern & operator=(const WsfESA_NX_AntennaPattern &aRhs)=delete
Assignment is not supported.
void SetAntennaBeamCount(unsigned int aBeamCount) override
Definition WsfESA_NX_AntennaPattern.cpp:80
void AdjustElementLocations() override
Definition WsfESA_NX_AntennaPattern.cpp:114
double ComputeDirectivityGain(double aFrequency, double aEBS_Az, double aEBS_El) const override
Definition WsfESA_NX_AntennaPattern.cpp:146
WsfESA_NX_AntennaPattern()
Definition WsfESA_NX_AntennaPattern.cpp:20
double GetEdgeAngleY() const
Definition WsfESA_NX_AntennaPattern.hpp:83
The main controller for a simulation.
Definition WsfSimulation.hpp:109
double mSidelobeLevelY
Elevation sidelobe level used for weighting functions (ratio).
Definition WsfESA_AntennaPattern.hpp:72
int mN_BarX
Elevation n-bar parameter for Taylor Sidelobe control (n-bar = num sidelobes controlled + 1).
Definition WsfESA_AntennaPattern.hpp:75
int mN_BarY
Definition WsfESA_AntennaPattern.hpp:78
double mSidelobeLevelX
Azimuth sidelobe level used for weighting functions (ratio).
Definition WsfESA_AntennaPattern.hpp:71
Definition WsfESA_NX_AntennaPattern.hpp:39
double Y_Ratio
Definition WsfESA_NX_AntennaPattern.hpp:41
double X_Ratio
Definition WsfESA_NX_AntennaPattern.hpp:40