12#ifndef WSFSTANDARDANTENNAPATTERN_HPP
13#define WSFSTANDARDANTENNAPATTERN_HPP
15#include "wsf_export.h"
53 double GetGain(
double aFrequency,
double aTargetAz,
double aTargetEl,
double aEBS_Az,
double aEBS_El)
override;
95 static double CircularPattern(
double aAzimuth,
double aElevation,
double aPeakGain,
double aBeamwidth);
102 double aAzimuthBeamwidth,
103 double aElevationBeamwidth,
121 double GetGain(
double aFrequency,
double aTargetAz,
double aTargetEl,
double aEBS_Az,
double aEBS_El)
override;
123 double GetAzimuthBeamwidth(
double aFrequency,
double aEBS_Azimuth,
double aEBS_Elevation)
const override;
124 double GetElevationBeamwidth(
double aFrequency,
double aEBS_Azimuth,
double aEBS_Elevation)
const override;
125 double GetPeakGain(
double aFrequency)
const override;
#define WSF_EXPORT
Definition WsfXIO_Export.hpp:35
Definition WsfAntennaPattern.hpp:47
WsfAntennaPattern * Clone() const override
Definition WsfAntennaPattern.cpp:57
BaseData * mSharedDataPtr
Definition WsfAntennaPattern.hpp:123
WsfAntennaPattern()
Definition WsfAntennaPattern.cpp:25
virtual WSF_DEPRECATED double GetElevationBeamwidth(double aFrequency) const final
Definition WsfAntennaPattern.cpp:139
virtual double GetGain(double aFrequency, double aTargetAz, double aTargetEl, double aEBS_Az, double aEBS_El)
Definition WsfAntennaPattern.cpp:72
virtual double GetPeakGain(double aFrequency) const
Definition WsfAntennaPattern.cpp:172
virtual WSF_DEPRECATED double GetAzimuthBeamwidth(double aFrequency) const final
Definition WsfAntennaPattern.cpp:113
Definition WsfStandardAntennaPattern.hpp:45
double mInputElBeamwidth
Definition WsfStandardAntennaPattern.hpp:64
double mSineAngleModificationFactor
Definition WsfStandardAntennaPattern.hpp:70
static double SinePattern(double aAzimuth, double aElevation, double aPeakGain, double aAzimuthBeamwidth, double aElevationBeamwidth, double aOffset, double aFact, int aType)
From the routine GENANT.
Definition WsfStandardAntennaPattern.cpp:681
double mCscWithinCsc2Factor
Definition WsfStandardAntennaPattern.hpp:87
double CosecantSquaredPattern(double aAzimuth, double aElevation)
Definition WsfStandardAntennaPattern.cpp:579
double mAzBeamwidth
Definition WsfStandardAntennaPattern.hpp:65
void ResetPatternType()
Definition WsfStandardAntennaPattern.cpp:535
void ProcessUniformInput(WsfAntennaPattern &aPattern, UtInput &aInput)
Definition WsfStandardAntennaPattern.cpp:490
double mCscMaxElForCsc2
Definition WsfStandardAntennaPattern.hpp:78
double mCscMinElForPeakGain
Definition WsfStandardAntennaPattern.hpp:76
double mCscElOfPeakCsc2Boundary
Definition WsfStandardAntennaPattern.hpp:77
bool mFirstTime
Definition WsfStandardAntennaPattern.hpp:91
static double CircularPattern(double aAzimuth, double aElevation, double aPeakGain, double aBeamwidth)
Definition WsfStandardAntennaPattern.cpp:656
double mCscPeakGainAdjusted
Definition WsfStandardAntennaPattern.hpp:84
double mCscAboveCsc2Factor
Definition WsfStandardAntennaPattern.hpp:88
double mCscMinimumGainAdjusted
Definition WsfStandardAntennaPattern.hpp:83
StandardData()
Definition WsfStandardAntennaPattern.cpp:73
double mInputAzBeamwidth
Definition WsfStandardAntennaPattern.hpp:63
double mElBeamwidth
Definition WsfStandardAntennaPattern.hpp:66
bool Initialize(WsfAntennaPattern &aAntennaPattern) override
Definition WsfStandardAntennaPattern.cpp:176
void ProcessPatternTableInput(WsfAntennaPattern &aPattern, UtInput &aInput)
Definition WsfStandardAntennaPattern.cpp:351
void ProcessSineInput(WsfAntennaPattern &aPattern, UtInput &aInput)
Definition WsfStandardAntennaPattern.cpp:432
int mSineFunctionType
Definition WsfStandardAntennaPattern.hpp:71
double mCscK_El
Definition WsfStandardAntennaPattern.hpp:86
UtAzElTable * mTablePtr
Definition WsfStandardAntennaPattern.hpp:60
PatternType mPatternType
Definition WsfStandardAntennaPattern.hpp:59
void ProcessCircularInput(WsfAntennaPattern &aPattern, UtInput &aInput)
Definition WsfStandardAntennaPattern.cpp:234
double GetGain(double aFrequency, double aTargetAz, double aTargetEl, double aEBS_Az, double aEBS_El) override
Definition WsfStandardAntennaPattern.cpp:182
bool ProcessInput(WsfAntennaPattern &aPattern, UtInput &aInput) override
Definition WsfStandardAntennaPattern.cpp:102
static double BesselJ1(double aX)
Calculate Bessel function J1(x).
Definition WsfStandardAntennaPattern.cpp:545
double mPeakGain
Definition WsfStandardAntennaPattern.hpp:62
void ProcessCosecantSquaredInput(WsfAntennaPattern &aPattern, UtInput &aInput)
Definition WsfStandardAntennaPattern.cpp:267
double mCscK_Az
Definition WsfStandardAntennaPattern.hpp:85
Definition WsfStandardAntennaPattern.hpp:32
WsfStandardAntennaPattern & operator=(const WsfStandardAntennaPattern &aRhs)=delete
PatternType
Definition WsfStandardAntennaPattern.hpp:35
@ cUNKNOWN
Definition WsfStandardAntennaPattern.hpp:36
@ cTABLE
Definition WsfStandardAntennaPattern.hpp:37
@ cUNIFORM_PATTERN
Definition WsfStandardAntennaPattern.hpp:41
@ cSINE_PATTERN
Definition WsfStandardAntennaPattern.hpp:40
@ cCIRCULAR_PATTERN
Definition WsfStandardAntennaPattern.hpp:38
@ cCOSECANT_SQUARED_PATTERN
Definition WsfStandardAntennaPattern.hpp:39
UtAzElTable * GetUtAzElTable() const
Definition WsfStandardAntennaPattern.hpp:135
WsfStandardAntennaPattern()
Definition WsfStandardAntennaPattern.cpp:26
double GetCscElOfPeakCsc2Boundary() const
Definition WsfStandardAntennaPattern.hpp:137
virtual double GetInputAzimuthBeamwidth() const
Definition WsfStandardAntennaPattern.hpp:139
StandardData * GetStandardData() const
Definition WsfStandardAntennaPattern.hpp:141
int GetStandardPatternType() const
Definition WsfStandardAntennaPattern.hpp:134
int GetSineFunctionType() const
Definition WsfStandardAntennaPattern.hpp:133
double GetCscMaxElForCsc2() const
Definition WsfStandardAntennaPattern.hpp:138
virtual double GetInputElevationBeamwidth() const
Definition WsfStandardAntennaPattern.hpp:140
double GetSineAngleModificationFactor() const
Definition WsfStandardAntennaPattern.hpp:132
double GetCscMinElForPeakGain() const
Definition WsfStandardAntennaPattern.hpp:136