A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
lte-hex-grid-enb-topology-helper.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2012 Centre Tecnologic de Telecomunicacions de Catalunya (CTTC)
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation;
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program; if not, write to the Free Software
15 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
16 *
17 * Author: Nicola Baldo <nbaldo@cttc.es>
18 */
19
20#ifndef LTE_HEX_GRID_ENB_TOPOLOGY_HELPER_H
21#define LTE_HEX_GRID_ENB_TOPOLOGY_HELPER_H
22
23#include "lte-helper.h"
24
25namespace ns3
26{
27
28/**
29 * \ingroup lte
30 *
31 * This helper class allows to easily create a topology with eNBs
32 * grouped in three-sector sites laid out on an hexagonal grid. The
33 * layout is done row-wise.
34 *
35 */
37{
38 public:
41
42 /**
43 * Register this type.
44 * \return The object TypeId.
45 */
46 static TypeId GetTypeId();
47 void DoDispose() override;
48
49 /**
50 * Set the LteHelper to be used to actually create the EnbNetDevices
51 *
52 * \note if no EpcHelper is ever set, then LteHexGridEnbTopologyHelper will default
53 * to creating an LTE-only simulation with no EPC, using LteRlcSm as
54 * the RLC model, and without supporting any IP networking. In other
55 * words, it will be a radio-level simulation involving only LTE PHY
56 * and MAC and the FF Scheduler, with a saturation traffic model for
57 * the RLC.
58 *
59 * \param h a pointer to the EpcHelper to be used
60 */
62
63 /**
64 * Position the nodes on a hex grid and install the corresponding
65 * EnbNetDevices with antenna boresight configured properly
66 *
67 * \param c the node container where the devices are to be installed
68 *
69 * \return the NetDeviceContainer with the newly created devices
70 */
72
73 private:
74 /**
75 * Pointer to LteHelper object
76 */
78
79 /**
80 * The offset [m] in the position for the node of each sector with
81 * respect to the center of the three-sector site
82 */
83 double m_offset;
84
85 /**
86 * The distance [m] between nearby sites
87 */
88 double m_d;
89
90 /**
91 * The x coordinate where the hex grid starts
92 */
93 double m_xMin;
94
95 /**
96 * The y coordinate where the hex grid starts
97 */
98 double m_yMin;
99
100 /**
101 * The number of sites in even rows (odd rows will have
102 * one additional site)
103 */
105
106 /**
107 * The height [m] of each site
108 */
110};
111
112} // namespace ns3
113
114#endif // LTE_HEX_GRID_ENB_TOPOLOGY_HELPER_H
This helper class allows to easily create a topology with eNBs grouped in three-sector sites laid out...
void DoDispose() override
Destructor implementation.
static TypeId GetTypeId()
Register this type.
double m_d
The distance [m] between nearby sites.
double m_xMin
The x coordinate where the hex grid starts.
Ptr< LteHelper > m_lteHelper
Pointer to LteHelper object.
double m_yMin
The y coordinate where the hex grid starts.
uint32_t m_gridWidth
The number of sites in even rows (odd rows will have one additional site)
NetDeviceContainer SetPositionAndInstallEnbDevice(NodeContainer c)
Position the nodes on a hex grid and install the corresponding EnbNetDevices with antenna boresight c...
double m_offset
The offset [m] in the position for the node of each sector with respect to the center of the three-se...
void SetLteHelper(Ptr< LteHelper > h)
Set the LteHelper to be used to actually create the EnbNetDevices.
uint32_t m_siteHeight
The height [m] of each site.
holds a vector of ns3::NetDevice pointers
keep track of a set of node pointers.
A base class which provides memory management and object aggregation.
Definition: object.h:89
Smart pointer class similar to boost::intrusive_ptr.
Definition: ptr.h:77
a unique identifier for an interface.
Definition: type-id.h:59
Every class exported by the ns3 library is enclosed in the ns3 namespace.