A Discrete-Event Network Simulator
Home
Tutorials ▼
English
Documentation ▼
Installation
Manual
Models
Contributing
Wiki
Development ▼
API Docs
Issue Tracker
Merge Requests
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
25
namespace
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
*/
36
class
LteHexGridEnbTopologyHelper
:
public
Object
37
{
38
public
:
39
LteHexGridEnbTopologyHelper
();
40
~LteHexGridEnbTopologyHelper
()
override
;
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
*/
61
void
SetLteHelper
(
Ptr<LteHelper>
h);
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
*/
71
NetDeviceContainer
SetPositionAndInstallEnbDevice
(
NodeContainer
c);
72
73
private
:
74
/**
75
* Pointer to LteHelper object
76
*/
77
Ptr<LteHelper>
m_lteHelper
;
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
*/
104
uint32_t
m_gridWidth
;
105
106
/**
107
* The height [m] of each site
108
*/
109
uint32_t
m_siteHeight
;
110
};
111
112
}
// namespace ns3
113
114
#endif
// LTE_HEX_GRID_ENB_TOPOLOGY_HELPER_H
ns3::LteHexGridEnbTopologyHelper
This helper class allows to easily create a topology with eNBs grouped in three-sector sites laid out...
Definition:
lte-hex-grid-enb-topology-helper.h:37
ns3::LteHexGridEnbTopologyHelper::DoDispose
void DoDispose() override
Destructor implementation.
Definition:
lte-hex-grid-enb-topology-helper.cc:91
ns3::LteHexGridEnbTopologyHelper::~LteHexGridEnbTopologyHelper
~LteHexGridEnbTopologyHelper() override
Definition:
lte-hex-grid-enb-topology-helper.cc:43
ns3::LteHexGridEnbTopologyHelper::GetTypeId
static TypeId GetTypeId()
Register this type.
Definition:
lte-hex-grid-enb-topology-helper.cc:49
ns3::LteHexGridEnbTopologyHelper::m_d
double m_d
The distance [m] between nearby sites.
Definition:
lte-hex-grid-enb-topology-helper.h:88
ns3::LteHexGridEnbTopologyHelper::m_xMin
double m_xMin
The x coordinate where the hex grid starts.
Definition:
lte-hex-grid-enb-topology-helper.h:93
ns3::LteHexGridEnbTopologyHelper::m_lteHelper
Ptr< LteHelper > m_lteHelper
Pointer to LteHelper object.
Definition:
lte-hex-grid-enb-topology-helper.h:77
ns3::LteHexGridEnbTopologyHelper::LteHexGridEnbTopologyHelper
LteHexGridEnbTopologyHelper()
Definition:
lte-hex-grid-enb-topology-helper.cc:38
ns3::LteHexGridEnbTopologyHelper::m_yMin
double m_yMin
The y coordinate where the hex grid starts.
Definition:
lte-hex-grid-enb-topology-helper.h:98
ns3::LteHexGridEnbTopologyHelper::m_gridWidth
uint32_t m_gridWidth
The number of sites in even rows (odd rows will have one additional site)
Definition:
lte-hex-grid-enb-topology-helper.h:104
ns3::LteHexGridEnbTopologyHelper::SetPositionAndInstallEnbDevice
NetDeviceContainer SetPositionAndInstallEnbDevice(NodeContainer c)
Position the nodes on a hex grid and install the corresponding EnbNetDevices with antenna boresight c...
Definition:
lte-hex-grid-enb-topology-helper.cc:105
ns3::LteHexGridEnbTopologyHelper::m_offset
double m_offset
The offset [m] in the position for the node of each sector with respect to the center of the three-se...
Definition:
lte-hex-grid-enb-topology-helper.h:83
ns3::LteHexGridEnbTopologyHelper::SetLteHelper
void SetLteHelper(Ptr< LteHelper > h)
Set the LteHelper to be used to actually create the EnbNetDevices.
Definition:
lte-hex-grid-enb-topology-helper.cc:98
ns3::LteHexGridEnbTopologyHelper::m_siteHeight
uint32_t m_siteHeight
The height [m] of each site.
Definition:
lte-hex-grid-enb-topology-helper.h:109
ns3::NetDeviceContainer
holds a vector of ns3::NetDevice pointers
Definition:
net-device-container.h:43
ns3::NodeContainer
keep track of a set of node pointers.
Definition:
node-container.h:40
ns3::Object
A base class which provides memory management and object aggregation.
Definition:
object.h:89
ns3::Ptr
Smart pointer class similar to boost::intrusive_ptr.
Definition:
ptr.h:77
ns3::TypeId
a unique identifier for an interface.
Definition:
type-id.h:59
uint32_t
lte-helper.h
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
src
lte
helper
lte-hex-grid-enb-topology-helper.h
Generated on Tue May 28 2024 23:37:02 for ns-3 by
1.9.6