From 64b9588860170e69a43584fba48d8a751e6c4652 Mon Sep 17 00:00:00 2001 From: Nicola Baldo Date: Mon, 13 Aug 2018 18:55:01 -0700 Subject: [PATCH] antenna: allow non-unitary gain for IsotropicAntennaModel --- src/antenna/model/isotropic-antenna-model.cc | 9 ++++++++- src/antenna/model/isotropic-antenna-model.h | 10 +++++++++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/src/antenna/model/isotropic-antenna-model.cc b/src/antenna/model/isotropic-antenna-model.cc index 86f9d3db2..65aefc910 100644 --- a/src/antenna/model/isotropic-antenna-model.cc +++ b/src/antenna/model/isotropic-antenna-model.cc @@ -20,11 +20,13 @@ #include +#include #include "antenna-model.h" #include "isotropic-antenna-model.h" + namespace ns3 { NS_LOG_COMPONENT_DEFINE ("IsotropicAntennaModel"); @@ -39,6 +41,11 @@ IsotropicAntennaModel::GetTypeId () .SetParent () .SetGroupName("Antenna") .AddConstructor () + .AddAttribute ("Gain", + "The gain of the antenna in dB", + DoubleValue (0), + MakeDoubleAccessor (&IsotropicAntennaModel::m_gainDb), + MakeDoubleChecker ()) ; return tid; } @@ -52,7 +59,7 @@ double IsotropicAntennaModel::GetGainDb (Angles a) { NS_LOG_FUNCTION (this << a); - return 0.0; + return m_gainDb; } } diff --git a/src/antenna/model/isotropic-antenna-model.h b/src/antenna/model/isotropic-antenna-model.h index 2fe895910..8288d30a4 100644 --- a/src/antenna/model/isotropic-antenna-model.h +++ b/src/antenna/model/isotropic-antenna-model.h @@ -30,7 +30,7 @@ namespace ns3 { /** * \brief Isotropic antenna model * - * This is the simplest antenna model. The gain of this antenna is unitary (=0dB) in all directions. + * This is the simplest antenna model. The gain of this antenna is the same in all directions. */ class IsotropicAntennaModel : public AntennaModel { @@ -42,6 +42,14 @@ public: // inherited from AntennaModel virtual double GetGainDb (Angles a); + +protected: + + /** + * gain of the antenna in dB, in all directions + * + */ + double m_gainDb; };