|
INET Framework for OMNeT++/OMNEST
|
This interface represents the directional selectivity of an antenna. More...
#include <IAntennaGain.h>
Public Member Functions | |
| virtual double | getMinGain () const =0 |
| Returns the minimum possible antenna gain independent of any direction. More... | |
| virtual double | getMaxGain () const =0 |
| Returns the maximum possible antenna gain independent of any direction. More... | |
| virtual double | computeGain (const Quaternion &direction) const =0 |
| Returns the antenna gain in the provided direction. More... | |
Public Member Functions inherited from inet::IPrintableObject | |
| virtual | ~IPrintableObject () |
| virtual std::ostream & | printToStream (std::ostream &stream, int level, int evFlags=0) const |
| Prints this object to the provided output stream. More... | |
| virtual std::string | printToString () const |
| virtual std::string | printToString (int level, int evFlags=0) const |
| virtual std::string | getInfoStringRepresentation (int evFlags=0) const |
| virtual std::string | getDetailStringRepresentation (int evFlags=0) const |
| virtual std::string | getDebugStringRepresentation (int evFlags=0) const |
| virtual std::string | getTraceStringRepresentation (int evFlags=0) const |
| virtual std::string | getCompleteStringRepresentation (int evFlags=0) const |
Public Member Functions inherited from inet::IntrusivePtrCounter< IAntennaGain > | |
| INET_ALWAYS_INLINE | IntrusivePtrCounter () noexcept |
| INET_ALWAYS_INLINE | IntrusivePtrCounter (IntrusivePtrCounter const &) noexcept |
| INET_ALWAYS_INLINE unsigned int | use_count () const noexcept |
| INET_ALWAYS_INLINE IntrusivePtrCounter & | operator= (IntrusivePtrCounter const &) noexcept |
| INET_ALWAYS_INLINE IntrusivePtr< IAntennaGain > | shared_from_this () |
Additional Inherited Members | |
Public Types inherited from inet::IPrintableObject | |
| enum | PrintLevel { PRINT_LEVEL_TRACE, PRINT_LEVEL_DEBUG, PRINT_LEVEL_DETAIL, PRINT_LEVEL_INFO, PRINT_LEVEL_COMPLETE = INT_MIN } |
| enum | PrintFlag { PRINT_FLAG_FORMATTED = (1 << 0), PRINT_FLAG_MULTILINE = (1 << 1) } |
Protected Member Functions inherited from inet::IntrusivePtrCounter< IAntennaGain > | |
| INET_ALWAYS_INLINE | ~IntrusivePtrCounter ()=default |
This interface represents the directional selectivity of an antenna.
|
pure virtual |
Returns the antenna gain in the provided direction.
The direction is determined by rotating the X axis using the given quaternion. The direction is to be interpreted in the local coordinate system of the radiation pattern. This way the gain depends only on the antenna radion pattern characteristics, and not on the antenna orientation determined by the antenna's mobility model.
For transmissions, it determines how well the antenna converts input power into radio waves headed in the specified direction. For receptions, it determines how well the antenna converts radio waves arriving from the specified direction.
Implemented in inet::physicallayer::InterpolatingAntenna::AntennaGain, inet::physicallayer::AxiallySymmetricAntenna::AntennaGain, inet::physicallayer::DipoleAntenna::AntennaGain, inet::physicallayer::CosineAntenna::AntennaGain, inet::physicallayer::ConstantGainAntenna::AntennaGain, inet::physicallayer::ParabolicAntenna::AntennaGain, and inet::physicallayer::IsotropicAntenna::AntennaGain.
Referenced by inet::physicallayer::AnalogModelBase::computeAntennaGain(), and inet::physicallayer::AntennaGainFunction::getValue().
|
pure virtual |
Returns the maximum possible antenna gain independent of any direction.
Implemented in inet::physicallayer::InterpolatingAntenna::AntennaGain, inet::physicallayer::AxiallySymmetricAntenna::AntennaGain, inet::physicallayer::DipoleAntenna::AntennaGain, inet::physicallayer::ConstantGainAntenna::AntennaGain, inet::physicallayer::CosineAntenna::AntennaGain, inet::physicallayer::IsotropicAntenna::AntennaGain, and inet::physicallayer::ParabolicAntenna::AntennaGain.
Referenced by inet::physicallayer::AnalogModelBase::computeAntennaGain(), and inet::physicallayer::AntennaGainFunction::printStructure().
|
pure virtual |
Returns the minimum possible antenna gain independent of any direction.
Implemented in inet::physicallayer::InterpolatingAntenna::AntennaGain, inet::physicallayer::AxiallySymmetricAntenna::AntennaGain, inet::physicallayer::DipoleAntenna::AntennaGain, inet::physicallayer::ConstantGainAntenna::AntennaGain, inet::physicallayer::CosineAntenna::AntennaGain, inet::physicallayer::ParabolicAntenna::AntennaGain, and inet::physicallayer::IsotropicAntenna::AntennaGain.
Referenced by inet::physicallayer::AnalogModelBase::computeAntennaGain(), and inet::physicallayer::AntennaGainFunction::printStructure().