|
WSF
|
Data that is shared amongst all instances of a given ALARM antenna pattern. More...
#include <WsfALARM_AntennaPattern.hpp>


Classes | |
| struct | PatternData |
Public Types | |
| using | PatternMap = std::map<WsfEM_Types::Polarization, PatternData> |
Public Member Functions | |
| ALARM_Data () | |
| ~ALARM_Data () override=default | |
| bool | ProcessInput (WsfAntennaPattern &aPattern, UtInput &aInput) override |
| bool | Initialize (WsfAntennaPattern &aAntennaPattern) override |
| double | GetGain (double aFrequency, double aTargetAz, double aTargetEl, double aEBS_Az, double aEBS_El) override |
| virtual void | ReadPattern (WsfScenario &aScenario, const std::string &aFileName) |
| bool | InitializeBase () |
| Perform common initialization for derived classes. | |
| Public Member Functions inherited from WsfAntennaPattern::BaseData | |
| BaseData () | |
| BaseData (const BaseData &aSrc)=default | |
| ~BaseData () override=default | |
| virtual double | PerformGainAdjustment (double aFrequency, double aGain) |
| virtual void | InitializeAverageGain (double aFrequency) |
| Initialize the average gain table if not already initialized. | |
Public Attributes | |
| std::string | mFileName |
| ApertureShape | mApertureShape |
| double | mMinGain |
| WsfEM_Types::Polarization | mSetPolarization |
| std::vector< WsfEM_Types::Polarization > | mPolarizations |
| Set polarization for this pattern set by user. | |
| PatternMap | mPatternMap |
| vector of ordered polarizations read in | |
| double | mOneMinusE_2 |
| double | mGainCorrection |
| For elliptical aperture, the value (1 -e^2). | |
| std::string | mTitle |
| std::string | mClassification |
| double | mWavelength |
| bool | mInputIs2D |
| bool | mInputIsDB |
| Public Attributes inherited from WsfAntennaPattern::BaseData | |
| double | mMinimumGain |
| The minimum gain that should be returned by any antenna pattern. | |
| double | mGainAdjustment |
| A simple gain adjustment. | |
| GainAdjustmentTable | mGainAdjustmentTable |
| Frequency-dependent gain adjustment table. | |
| bool | mInitialized |
| bool | mAvgGainInitialized |
| bool | mShowAvgGain |
| std::recursive_mutex | mAvgGainMutex |
| std::vector< double > | mAvgGain |
| double | mSampledPeakGain |
| The peak gain of the sample. This SHOULD be the peak gain of the pattern. | |
Protected Member Functions | |
| std::vector< double >::size_type | GetIndex (const std::vector< double > &aTable, double aValue) const |
| double | GetCircularApertureGain (double aAzLook, double aElLook) |
| double | GetEllipticalApertureGain (double aAzLook, double aElLook) |
| double | GetRectangularApertureGain (double aAzLook, double aElLook) |
Data that is shared amongst all instances of a given ALARM antenna pattern.
| using WsfALARM_AntennaPattern::ALARM_Data::PatternMap = std::map<WsfEM_Types::Polarization, PatternData> |
| WsfALARM_AntennaPattern::ALARM_Data::ALARM_Data | ( | ) |
References WsfAntennaPattern::BaseData::BaseData(), WsfALARM_AntennaPattern::cAS_UNKNOWN, mApertureShape, mClassification, mGainCorrection, mInputIs2D, mInputIsDB, mMinGain, mOneMinusE_2, mPatternMap, mSetPolarization, mTitle, and mWavelength.
Referenced by WsfGENAP_AntennaPattern::GENAP_Data::GENAP_Data().
|
overridedefault |
References WsfAntennaPattern::WsfAntennaPattern().
|
protected |
References GetIndex(), WsfALARM_AntennaPattern::ALARM_Data::PatternData::mAzAngles, WsfALARM_AntennaPattern::ALARM_Data::PatternData::mAzGains, WsfALARM_AntennaPattern::ALARM_Data::PatternData::mAzMax, WsfALARM_AntennaPattern::ALARM_Data::PatternData::mAzMin, mMinGain, mPatternMap, and mSetPolarization.
Referenced by GetGain().
|
protected |
References GetIndex(), WsfALARM_AntennaPattern::ALARM_Data::PatternData::mAzAngles, WsfALARM_AntennaPattern::ALARM_Data::PatternData::mAzBeamwidth, WsfALARM_AntennaPattern::ALARM_Data::PatternData::mAzGains, WsfALARM_AntennaPattern::ALARM_Data::PatternData::mAzMax, WsfALARM_AntennaPattern::ALARM_Data::PatternData::mAzMin, WsfALARM_AntennaPattern::ALARM_Data::PatternData::mElAngles, WsfALARM_AntennaPattern::ALARM_Data::PatternData::mElBeamwidth, WsfALARM_AntennaPattern::ALARM_Data::PatternData::mElGains, WsfALARM_AntennaPattern::ALARM_Data::PatternData::mElMax, WsfALARM_AntennaPattern::ALARM_Data::PatternData::mElMin, mMinGain, mOneMinusE_2, mPatternMap, and mSetPolarization.
Referenced by GetGain().
|
overridevirtual |
Reimplemented from WsfAntennaPattern::BaseData.
References WsfALARM_AntennaPattern::cAS_CIRCULAR, WsfALARM_AntennaPattern::cAS_ELLIPTICAL, WsfALARM_AntennaPattern::cAS_RECTANGULAR, GetCircularApertureGain(), GetEllipticalApertureGain(), GetRectangularApertureGain(), mApertureShape, WsfALARM_AntennaPattern::ALARM_Data::PatternData::mAzMax, WsfALARM_AntennaPattern::ALARM_Data::PatternData::mAzMin, WsfALARM_AntennaPattern::ALARM_Data::PatternData::mElMax, WsfALARM_AntennaPattern::ALARM_Data::PatternData::mElMin, WsfAntennaPattern::BaseData::mMinimumGain, mPatternMap, WsfALARM_AntennaPattern::ALARM_Data::PatternData::mPeakGain, mSetPolarization, and WsfAntennaPattern::BaseData::PerformGainAdjustment().
|
protected |
Return the lower index of the interval that contains the specified value.
| aTable | The table to be searched. |
| aValue | The value to be found in the table. |
Referenced by GetCircularApertureGain(), GetEllipticalApertureGain(), and GetRectangularApertureGain().
|
protected |
References GetIndex(), WsfALARM_AntennaPattern::ALARM_Data::PatternData::mAzAngles, WsfALARM_AntennaPattern::ALARM_Data::PatternData::mAzGains, WsfALARM_AntennaPattern::ALARM_Data::PatternData::mElAngles, WsfALARM_AntennaPattern::ALARM_Data::PatternData::mElGains, mMinGain, mPatternMap, and mSetPolarization.
Referenced by GetGain().
|
overridevirtual |
Reimplemented from WsfAntennaPattern::BaseData.
Reimplemented in WsfGENAP_AntennaPattern::GENAP_Data.
References InitializeBase(), and WsfAntennaPattern::WsfAntennaPattern().
| bool WsfALARM_AntennaPattern::ALARM_Data::InitializeBase | ( | ) |
Perform common initialization for derived classes.
References WsfALARM_AntennaPattern::cAS_ELLIPTICAL, WsfEM_Types::cPOL_DEFAULT, WsfEM_Util::EnumToString(), mApertureShape, WsfALARM_AntennaPattern::ALARM_Data::PatternData::mAzAngles, WsfALARM_AntennaPattern::ALARM_Data::PatternData::mAzBeamwidth, WsfALARM_AntennaPattern::ALARM_Data::PatternData::mAzMax, WsfALARM_AntennaPattern::ALARM_Data::PatternData::mAzMin, WsfALARM_AntennaPattern::ALARM_Data::PatternData::mElAngles, WsfALARM_AntennaPattern::ALARM_Data::PatternData::mElBeamwidth, WsfALARM_AntennaPattern::ALARM_Data::PatternData::mElMax, WsfALARM_AntennaPattern::ALARM_Data::PatternData::mElMin, mFileName, mOneMinusE_2, mPatternMap, mPolarizations, mSetPolarization, and std::swap().
Referenced by Initialize(), and WsfGENAP_AntennaPattern::GENAP_Data::Initialize().
|
overridevirtual |
Reimplemented from WsfAntennaPattern::BaseData.
Reimplemented in WsfGENAP_AntennaPattern::GENAP_Data.
References WsfScenario::FromInput(), mFileName, WsfAntennaPattern::BaseData::mGainAdjustment, mSetPolarization, WsfAntennaPattern::BaseData::ProcessInput(), ReadPattern(), WsfEM_Util::StringToEnum(), and WsfAntennaPattern::WsfAntennaPattern().
|
virtual |
Read an ALARM antenna pattern file.
| aScenario | The scenario |
| aFileName | The file to be read. |
| A | UtException if an error occurs. |
References WsfALARM_AntennaPattern::cAS_CIRCULAR, WsfALARM_AntennaPattern::cAS_ELLIPTICAL, WsfALARM_AntennaPattern::cAS_RECTANGULAR, WsfEM_Types::cPOL_DEFAULT, WsfEM_Types::cPOL_HORIZONTAL, WsfEM_Types::cPOL_VERTICAL, WsfScenario::GetSystemLog(), mApertureShape, mClassification, mInputIs2D, mInputIsDB, mMinGain, mPatternMap, mPolarizations, mTitle, mWavelength, and WsfSystemLog::WriteLogEntry().
Referenced by ProcessInput().
| ApertureShape WsfALARM_AntennaPattern::ALARM_Data::mApertureShape |
| std::string WsfALARM_AntennaPattern::ALARM_Data::mClassification |
Referenced by ALARM_Data(), and ReadPattern().
| std::string WsfALARM_AntennaPattern::ALARM_Data::mFileName |
Referenced by InitializeBase(), and ProcessInput().
| double WsfALARM_AntennaPattern::ALARM_Data::mGainCorrection |
For elliptical aperture, the value (1 -e^2).
Referenced by ALARM_Data(), and WsfALARM_AntennaPattern::GetGainCorrection().
| bool WsfALARM_AntennaPattern::ALARM_Data::mInputIs2D |
Referenced by ALARM_Data(), and ReadPattern().
| bool WsfALARM_AntennaPattern::ALARM_Data::mInputIsDB |
Referenced by ALARM_Data(), and ReadPattern().
| double WsfALARM_AntennaPattern::ALARM_Data::mMinGain |
| double WsfALARM_AntennaPattern::ALARM_Data::mOneMinusE_2 |
Referenced by ALARM_Data(), GetEllipticalApertureGain(), and InitializeBase().
| PatternMap WsfALARM_AntennaPattern::ALARM_Data::mPatternMap |
vector of ordered polarizations read in
Referenced by ALARM_Data(), WsfGENAP_AntennaPattern::GENAP_Data::GENAP_Data(), WsfALARM_AntennaPattern::GetAzAngles(), WsfALARM_AntennaPattern::GetAzGains(), GetCircularApertureGain(), WsfALARM_AntennaPattern::GetElAngles(), WsfALARM_AntennaPattern::GetElGains(), GetEllipticalApertureGain(), GetGain(), WsfALARM_AntennaPattern::GetInputAzimuthBeamwidth(), WsfALARM_AntennaPattern::GetInputElevationBeamwidth(), GetRectangularApertureGain(), WsfGENAP_AntennaPattern::GENAP_Data::Initialize(), InitializeBase(), WsfGENAP_AntennaPattern::GENAP_Data::ProcessInput(), and ReadPattern().
| std::vector<WsfEM_Types::Polarization> WsfALARM_AntennaPattern::ALARM_Data::mPolarizations |
Set polarization for this pattern set by user.
Referenced by WsfGENAP_AntennaPattern::GENAP_Data::GENAP_Data(), InitializeBase(), and ReadPattern().
| WsfEM_Types::Polarization WsfALARM_AntennaPattern::ALARM_Data::mSetPolarization |
Referenced by ALARM_Data(), WsfALARM_AntennaPattern::GetAzAngles(), WsfALARM_AntennaPattern::GetAzGains(), GetCircularApertureGain(), WsfALARM_AntennaPattern::GetElAngles(), WsfALARM_AntennaPattern::GetElGains(), GetEllipticalApertureGain(), GetGain(), WsfALARM_AntennaPattern::GetInputAzimuthBeamwidth(), WsfALARM_AntennaPattern::GetInputElevationBeamwidth(), GetRectangularApertureGain(), InitializeBase(), and ProcessInput().
| std::string WsfALARM_AntennaPattern::ALARM_Data::mTitle |
Referenced by ALARM_Data(), and ReadPattern().
| double WsfALARM_AntennaPattern::ALARM_Data::mWavelength |
Referenced by ALARM_Data(), and ReadPattern().