diff --git a/src/antenna/model/angles.cc b/src/antenna/model/angles.cc index 5eda6b980..e8f8191d5 100644 --- a/src/antenna/model/angles.cc +++ b/src/antenna/model/angles.cc @@ -20,7 +20,7 @@ #include -#include +#include #include "angles.h" @@ -46,6 +46,17 @@ std::ostream& operator<< (std::ostream& os, const Angles& a) return os; } +std::istream &operator >> (std::istream &is, Angles &a) +{ + char c; + is >> a.phi >> c >> a.theta; + if (c != ':') + { + is.setstate (std::ios_base::failbit); + } + return is; +} + Angles::Angles () : phi (0), diff --git a/src/antenna/model/angles.h b/src/antenna/model/angles.h index 866da4160..28e0e43c5 100644 --- a/src/antenna/model/angles.h +++ b/src/antenna/model/angles.h @@ -49,7 +49,11 @@ double RadiansToDegrees (double radians); * * struct holding the azimuth and inclination angles of spherical * coordinates. The notation is the one used in "Antenna Theory - Analysis - * and Design", C.A. Balanis, Wiley, 2nd Ed., section 2.2 "Radiation pattern". + * and Design", C.A. Balanis, Wiley, 2nd Ed., section 2.2 "Radiation + * pattern". + * This notation corresponds to the standard spherical coordinates, with phi + * measured counterclockwise in the x-y plane off the x-axis, and + * theta measured off the z-axis. * * ^ * z | @@ -67,7 +71,7 @@ double RadiansToDegrees (double radians); struct Angles { /** - * default constructor, will inizialize phi and theta to zero + * default constructor, will initialize phi and theta to zero * */ Angles (); @@ -124,7 +128,16 @@ struct Angles * \return a reference to the output stream */ std::ostream& operator<< ( std::ostream& os, const Angles& a); - + +/** + * initialize a struct Angles from input + * + * \param is the input stream + * \param a the Angles struct + * + * \return a reference to the input stream + */ +std::istream &operator >> (std::istream &is, Angles &a); } // namespace ns3 diff --git a/src/antenna/model/antenna-model.cc b/src/antenna/model/antenna-model.cc index 86c6b1e1d..281462d6e 100644 --- a/src/antenna/model/antenna-model.cc +++ b/src/antenna/model/antenna-model.cc @@ -20,7 +20,7 @@ #include -#include +#include #include "antenna-model.h" diff --git a/src/antenna/model/antenna-model.h b/src/antenna/model/antenna-model.h index 73fa7ec6d..54ea20f65 100644 --- a/src/antenna/model/antenna-model.h +++ b/src/antenna/model/antenna-model.h @@ -34,10 +34,10 @@ namespace ns3 { * * This class provides an interface for the definition of antenna * radiation pattern models. This interface is based on the use of - * spherical coordinates, in particolar of the azimuth and inclination + * spherical coordinates, in particular of the azimuth and inclination * angles. This choice is the one proposed "Antenna Theory - Analysis * and Design", C.A. Balanis, Wiley, 2nd Ed., see in particular - * section 2.2 "Radiation pattern". + * section 2.2 "Radiation pattern". * * */ @@ -59,7 +59,10 @@ public: * \param the spherical angles at which the radiation pattern should * be evaluated * - * \return the gain in dB of the antenna radiation pattern at the specified angles + * \return the power gain in dBi of the antenna radiation pattern at + * the specified angles; dBi means dB with respect to the gain of an + * isotropic radiator. Since a power gain is used, the efficiency of + * the antenna is expected to be included in the gain value. */ virtual double GetGainDb (Angles a) = 0; diff --git a/src/antenna/model/cosine-antenna-model.cc b/src/antenna/model/cosine-antenna-model.cc index fd2f2f116..d1f8a3f23 100644 --- a/src/antenna/model/cosine-antenna-model.cc +++ b/src/antenna/model/cosine-antenna-model.cc @@ -21,7 +21,7 @@ #include #include -#include +#include #include "antenna-model.h" #include "cosine-antenna-model.h" @@ -112,7 +112,7 @@ CosineAntennaModel::GetGainDb (Angles a) double ef = pow (cos (phi / 2.0), m_exponent); // the array factor is not considered. Note that if we did consider - // the array factor, the actual beawidth would change, and in + // the array factor, the actual beamwidth would change, and in // particular it would be different from the one specified by the // user. Hence it is not desirable to use the array factor, for the // ease of use of this model. diff --git a/src/antenna/model/parabolic-antenna-model.cc b/src/antenna/model/parabolic-antenna-model.cc index eb3169ab4..751d528ab 100644 --- a/src/antenna/model/parabolic-antenna-model.cc +++ b/src/antenna/model/parabolic-antenna-model.cc @@ -21,7 +21,7 @@ #include #include -#include +#include #include "antenna-model.h" #include "parabolic-antenna-model.h" diff --git a/src/antenna/test/test-angles.cc b/src/antenna/test/test-angles.cc index 45b59095d..616e57f66 100644 --- a/src/antenna/test/test-angles.cc +++ b/src/antenna/test/test-angles.cc @@ -21,7 +21,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/src/antenna/test/test-cosine-antenna.cc b/src/antenna/test/test-cosine-antenna.cc index f4d9ffa72..92a307fc8 100644 --- a/src/antenna/test/test-cosine-antenna.cc +++ b/src/antenna/test/test-cosine-antenna.cc @@ -23,7 +23,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/src/antenna/test/test-degrees-radians.cc b/src/antenna/test/test-degrees-radians.cc index 8237e4e8a..6cc991a86 100644 --- a/src/antenna/test/test-degrees-radians.cc +++ b/src/antenna/test/test-degrees-radians.cc @@ -21,7 +21,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/src/antenna/test/test-isotropic-antenna.cc b/src/antenna/test/test-isotropic-antenna.cc index 223d1bf5d..12fe6a91c 100644 --- a/src/antenna/test/test-isotropic-antenna.cc +++ b/src/antenna/test/test-isotropic-antenna.cc @@ -21,7 +21,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/src/antenna/test/test-parabolic-antenna.cc b/src/antenna/test/test-parabolic-antenna.cc index 33d8906e0..7b8ef329e 100644 --- a/src/antenna/test/test-parabolic-antenna.cc +++ b/src/antenna/test/test-parabolic-antenna.cc @@ -23,7 +23,7 @@ #include #include #include -#include +#include #include #include #include