12#ifndef WSFEM_XMTRRCVR_HPP
13#define WSFEM_XMTRRCVR_HPP
15#include "wsf_export.h"
21#include "UtScriptAccessible.hpp"
125 virtual double GetAzimuthBeamwidth(
double aEBS_Azimuth,
double aEBS_Elevation)
const;
129 virtual double GetElevationBeamwidth(
double aEBS_Azimuth,
double aEBS_Elevation)
const;
131 virtual double GetPeakAntennaGain()
const;
133 virtual double GetMinimumAntennaGain()
const;
135 virtual void SetAntennaBeamCount(
unsigned int aBeamCount);
154 bool IsHorizonMaskingEnabled()
const;
157 bool IsTerrainMaskingEnabled()
const;
160 std::string MaskingMode()
const;
163 void SetMaskingMode(
const std::string& aTerrainMaskingMode);
214 double GetWavelength()
const;
237 virtual void SetFrequency(
double aFrequency);
239 virtual void SetBandwidth(
double aBandwidth);
315 void ClearAntennaPatterns();
320 bool mAttenuationInputEnabled;
321 bool mPropagationInputEnabled;
UtStringId WsfStringId
WsfStringId – the same thing as UtStringId.
Definition WsfStringId.hpp:23
#define WSF_EXPORT
Definition WsfXIO_Export.hpp:35
Definition WsfAntennaPattern.hpp:35
Definition WsfArticulatedPart.hpp:36
bool ProcessInput(UtInput &aInput)
Definition WsfAuxDataEnabled.cpp:95
WsfAuxDataEnabled()=default
Definition WsfEM_Antenna.hpp:49
Definition WsfEM_Attenuation.hpp:28
Definition WsfEM_Manager.hpp:44
An abstract base class for computing pattern propagation factors.
Definition WsfEM_Propagation.hpp:26
Definition WsfEM_XmtrRcvr.hpp:42
bool CheckMasking() const
determine if horizon and terrain masking is to be checked
Definition WsfEM_XmtrRcvr.hpp:166
double mEarthRadiusMultiplier
Definition WsfEM_XmtrRcvr.hpp:294
void SetPropagationInputEnabled(bool aEnabled)
Enable or disable 'propagation_model' input.
Definition WsfEM_XmtrRcvr.hpp:257
WsfPlatform * GetPlatform() const
Definition WsfEM_XmtrRcvr.cpp:130
WsfMode * GetMode() const
Definition WsfEM_XmtrRcvr.hpp:187
size_t GetIndex() const
Get the index of the xmtr/rcvr in the complex assembly.
Definition WsfEM_XmtrRcvr.hpp:195
WsfEM_Attenuation * mAttenuationPtr
Pointer to the atmospheric attenuation model.
Definition WsfEM_XmtrRcvr.hpp:268
double mFrequency
Definition WsfEM_XmtrRcvr.hpp:295
void SetIndex(size_t aIndex)
Set the index of the xmtr/rcvr in the complex assembly.
Definition WsfEM_XmtrRcvr.hpp:198
void SetAttenuationInputEnabled(bool aEnabled)
Enable or disable 'attenuation_model' input.
Definition WsfEM_XmtrRcvr.hpp:255
WsfEM_Antenna * mAntennaPtr
Pointer to the 'geometry' object for this transmitter/receiver.
Definition WsfEM_XmtrRcvr.hpp:278
void SetAttenuationModelType(WsfStringId aAttenuationType)
Definition WsfEM_XmtrRcvr.hpp:74
WsfEM_Propagation * GetPropagationModel() const
Definition WsfEM_XmtrRcvr.hpp:78
WsfMode * mModePtr
Definition WsfEM_XmtrRcvr.hpp:275
WsfEM_XmtrRcvr(WsfEM_Antenna *aAntennaPtr=nullptr)
Definition WsfEM_XmtrRcvr.cpp:40
WsfEM_Types::Polarization mPolarization
Definition WsfEM_XmtrRcvr.hpp:298
std::vector< std::pair< WsfAntennaPattern *, double > > AntennaPatternList
Vector of pairs of antenna pattern pointer and associated lower frequency bounds.
Definition WsfEM_XmtrRcvr.hpp:45
bool mDebugEnabled
Definition WsfEM_XmtrRcvr.hpp:308
double GetEarthRadiusMultiplier() const
Definition WsfEM_XmtrRcvr.hpp:208
void DisableMaskingCheck()
disables the checking of horizon and terrain masking (retained for compatibility)
Definition WsfEM_XmtrRcvr.hpp:172
std::array< bool, WsfEM_Types::cPOL_COUNT > mUsedExplicitPolarization
Definition WsfEM_XmtrRcvr.hpp:306
double GetFrequency() const
Definition WsfEM_XmtrRcvr.hpp:212
virtual WSF_DEPRECATED double GetElevationBeamwidth() const final
Definition WsfEM_XmtrRcvr.hpp:127
WsfArticulatedPart * GetArticulatedPart() const
Definition WsfEM_XmtrRcvr.cpp:138
WsfStringId GetPropagationModelType() const
Return the type of the propagation model (if one is defined).
Definition WsfEM_XmtrRcvr.hpp:83
void SetAntenna(WsfEM_Antenna *aAntennaPtr)
Definition WsfEM_XmtrRcvr.hpp:99
WsfEM_Propagation * mPropagationPtr
Pointer to the propagation object.
Definition WsfEM_XmtrRcvr.hpp:271
const char * GetScriptClassName() const override
Definition WsfEM_XmtrRcvr.hpp:61
WsfEM_Attenuation * GetAttenuationModel() const
Definition WsfEM_XmtrRcvr.hpp:65
void SetCheckMasking(bool aCheckMasking)
enable/disable checking of horizon and terrain masking
Definition WsfEM_XmtrRcvr.hpp:169
void SetBeamTilt(double aBeamTilt)
Set the angle of the boresight of the antenna gain pattern above/below (+/-) the antenna boresight.
Definition WsfEM_XmtrRcvr.hpp:114
void SetMode(WsfMode *aModePtr)
Definition WsfEM_XmtrRcvr.hpp:192
void SetDebugEnabled(bool aDebugEnabled)
Definition WsfEM_XmtrRcvr.hpp:147
double GetBandwidth() const
Definition WsfEM_XmtrRcvr.hpp:218
WsfEM_Types::Polarization GetPolarization() const
Get the polarization of the EM system.
Definition WsfEM_XmtrRcvr.hpp:230
virtual void UpdatePosition(double aSimTime)
Definition WsfEM_XmtrRcvr.cpp:455
unsigned int mTerrainMaskingMode
Settings used for masking checks.
Definition WsfEM_XmtrRcvr.hpp:310
WsfStringId mAttenuationType
The type of the atmospheric attenuation model to be used.
Definition WsfEM_XmtrRcvr.hpp:262
WsfStringId mPropagationType
The type of the propagation model to be used.
Definition WsfEM_XmtrRcvr.hpp:265
bool IsBandwidthExplicit() const
Definition WsfEM_XmtrRcvr.hpp:222
void SetInternalLoss(double aInternalLoss)
Definition WsfEM_XmtrRcvr.hpp:244
bool mExplicitBandwidth
true if explicit 'bandwidth' specified
Definition WsfEM_XmtrRcvr.hpp:312
WsfEM_XmtrRcvr * mAssociatePtr
Definition WsfEM_XmtrRcvr.hpp:288
bool mCheckMasking
true if horizon and terrain masking enabled.
Definition WsfEM_XmtrRcvr.hpp:311
virtual bool Initialize(WsfSimulation &aSimulation)
Definition WsfEM_XmtrRcvr.cpp:144
double GetBeamTilt() const
Definition WsfEM_XmtrRcvr.hpp:111
size_t mIndex
Definition WsfEM_XmtrRcvr.hpp:302
void SetEarthRadiusMultiplier(double aMultiplier)
Definition WsfEM_XmtrRcvr.hpp:235
double mBandwidth
Definition WsfEM_XmtrRcvr.hpp:296
double mInternalLoss
Definition WsfEM_XmtrRcvr.hpp:297
virtual WSF_DEPRECATED double GetAzimuthBeamwidth() const final
Definition WsfEM_XmtrRcvr.hpp:123
double mBeamTilt
Definition WsfEM_XmtrRcvr.hpp:292
bool DebugEnabled() const
Determine if debugging is enabled.
Definition WsfEM_XmtrRcvr.hpp:143
std::array< AntennaPatternList, WsfEM_Types::cPOL_COUNT > mPatternTables
Definition WsfEM_XmtrRcvr.hpp:283
void SetPropagationModelType(WsfStringId aPropagationType)
Definition WsfEM_XmtrRcvr.hpp:87
WsfEM_Antenna * GetAntenna() const
Get the pointer associated geometry object.
Definition WsfEM_XmtrRcvr.hpp:93
double GetInternalLoss() const
Definition WsfEM_XmtrRcvr.hpp:227
WsfStringId GetAttenuationModelType() const
Return the type of the attenuation model (if one is defined).
Definition WsfEM_XmtrRcvr.hpp:70
Definition WsfMode.hpp:32
Contains the data required to create a simulation, and acts as the entry point for input file process...
Definition WsfScenario.hpp:111
The main controller for a simulation.
Definition WsfSimulation.hpp:109
WsfUniqueId()
Construtor initializes the unique identifier to 0.
Definition WsfUniqueId.hpp:38
Polarization
Polarization of the electromagnetic wave.
Definition WsfEM_Types.hpp:21