A Discrete-Event Network Simulator
API
hybrid-buildings-propagation-loss-model.h
Go to the documentation of this file.
1 /* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */
2 /*
3  * Copyright (c) 2011 Centre Tecnologic de Telecomunicacions de Catalunya (CTTC)
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License version 2 as
7  * published by the Free Software Foundation;
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program; if not, write to the Free Software
16  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17  *
18  * Author: Marco Miozzo <marco.miozzo@cttc.es>
19  * Nicola Baldo <nbaldo@cttc.es>
20  *
21  */
22 
23 #ifndef HYBRID_BUILDINGS_PROPAGATION_LOSS_MODEL_H_
24 #define HYBRID_BUILDINGS_PROPAGATION_LOSS_MODEL_H_
25 
26 #include <ns3/buildings-propagation-loss-model.h>
27 #include <ns3/propagation-environment.h>
28 
29 namespace ns3 {
30 
31 class OkumuraHataPropagationLossModel;
32 class ItuR1411LosPropagationLossModel;
33 class ItuR1411NlosOverRooftopPropagationLossModel;
34 class ItuR1238PropagationLossModel;
35 class Kun2600MhzPropagationLossModel;
36 
57 {
58 
59 public:
60  static TypeId GetTypeId (void);
63 
64 
71 
77  void SetCitySize (CitySize size);
78 
84  void SetFrequency (double freq);
85 
91  void SetRooftopHeight (double rooftopHeight);
92 
98  virtual double GetLoss (Ptr<MobilityModel> a, Ptr<MobilityModel> b) const;
99 
100 
101 private:
102 
104  double ItuR1411 (Ptr<MobilityModel> a, Ptr<MobilityModel> b) const;
105  double ItuR1238 (Ptr<MobilityModel> a, Ptr<MobilityModel> b) const;
106 
112 
115  double m_frequency;
116 
117 };
118 
119 }
120 
121 #endif /* HYBRID_BUILDINGS_PROPAGATION_LOSS_MODEL_H_ */
void SetEnvironment(EnvironmentType env)
set the environment type
EnvironmentType
The type of propagation environment.
void SetFrequency(double freq)
set the propagation frequency
double OkumuraHata(Ptr< MobilityModel > a, Ptr< MobilityModel > b) const
This model provides means for simulating the following propagation phenomena in the presence of build...
virtual double GetLoss(Ptr< MobilityModel > a, Ptr< MobilityModel > b) const
Ptr< ItuR1411NlosOverRooftopPropagationLossModel > m_ituR1411NlosOverRooftop
double ItuR1238(Ptr< MobilityModel > a, Ptr< MobilityModel > b) const
void SetRooftopHeight(double rooftopHeight)
set the rooftop height
void SetCitySize(CitySize size)
set the size of the city
Every class exported by the ns3 library is enclosed in the ns3 namespace.
CitySize
The size of the city in which propagation takes place.
The HybridBuildingsPropagationModel is a compound of different models able to evaluate the pathloss f...
a unique identifier for an interface.
Definition: type-id.h:58
double ItuR1411(Ptr< MobilityModel > a, Ptr< MobilityModel > b) const