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
* SPDX-License-Identifier: GPL-2.0-only
5
*
6
* Author: Nicola Baldo <nbaldo@cttc.es>
7
*/
8
9
#ifndef LTE_HEX_GRID_ENB_TOPOLOGY_HELPER_H
10
#define LTE_HEX_GRID_ENB_TOPOLOGY_HELPER_H
11
12
#include "
lte-helper.h
"
13
14
#include "ns3/wraparound-model.h"
15
16
namespace
ns3
17
{
18
19
/**
20
* @ingroup lte
21
*
22
* This helper class allows to easily create a topology with eNBs
23
* grouped in three-sector sites laid out on an hexagonal grid. The
24
* layout is done row-wise.
25
*
26
*/
27
class
LteHexGridEnbTopologyHelper
:
public
Object
28
{
29
public
:
30
LteHexGridEnbTopologyHelper
();
31
~LteHexGridEnbTopologyHelper
()
override
;
32
33
/**
34
* Register this type.
35
* @return The object TypeId.
36
*/
37
static
TypeId
GetTypeId
();
38
void
DoDispose
()
override
;
39
40
/**
41
* Set the LteHelper to be used to actually create the EnbNetDevices
42
*
43
* @note if no EpcHelper is ever set, then LteHexGridEnbTopologyHelper will default
44
* to creating an LTE-only simulation with no EPC, using LteRlcSm as
45
* the RLC model, and without supporting any IP networking. In other
46
* words, it will be a radio-level simulation involving only LTE PHY
47
* and MAC and the FF Scheduler, with a saturation traffic model for
48
* the RLC.
49
*
50
* @param h a pointer to the EpcHelper to be used
51
*/
52
void
SetLteHelper
(
Ptr<LteHelper>
h);
53
54
/**
55
* Position the nodes on a hex grid and install the corresponding
56
* EnbNetDevices with antenna boresight configured properly
57
*
58
* @param c the node container where the devices are to be installed
59
*
60
* @return the NetDeviceContainer with the newly created devices
61
*/
62
NetDeviceContainer
SetPositionAndInstallEnbDevice
(
NodeContainer
c);
63
64
/**
65
* @brief Get the configured wraparound model.
66
* If wraparound is not enabled, a null pointer is returned instead.
67
* @return a pointer to the wraparound model
68
*/
69
Ptr<WraparoundModel>
GetWraparoundModel
()
const
;
70
71
private
:
72
/**
73
* Pointer to LteHelper object
74
*/
75
Ptr<LteHelper>
m_lteHelper
;
76
77
/**
78
* The offset [m] in the position for the node of each sector with
79
* respect to the center of the three-sector site
80
*/
81
double
m_offset
;
82
83
/**
84
* The distance [m] between nearby sites
85
*/
86
double
m_d
;
87
88
/**
89
* The x coordinate where the hex grid starts
90
*/
91
double
m_xMin
;
92
93
/**
94
* The y coordinate where the hex grid starts
95
*/
96
double
m_yMin
;
97
98
/**
99
* The number of sites in even rows (odd rows will have
100
* one additional site)
101
*/
102
uint32_t
m_gridWidth
;
103
104
/**
105
* The height [m] of each site
106
*/
107
uint32_t
m_siteHeight
;
108
109
/**
110
* Boolean flag indicating whether to install or not wraparound model
111
*/
112
bool
m_installWraparound
;
113
114
/**
115
* Wraparound model pointer
116
*/
117
Ptr<WraparoundModel>
m_wraparoundModel
;
118
};
119
120
}
// namespace ns3
121
122
#endif
// LTE_HEX_GRID_ENB_TOPOLOGY_HELPER_H
ns3::LteHexGridEnbTopologyHelper::DoDispose
void DoDispose() override
Destructor implementation.
Definition
lte-hex-grid-enb-topology-helper.cc:86
ns3::LteHexGridEnbTopologyHelper::~LteHexGridEnbTopologyHelper
~LteHexGridEnbTopologyHelper() override
Definition
lte-hex-grid-enb-topology-helper.cc:33
ns3::LteHexGridEnbTopologyHelper::m_installWraparound
bool m_installWraparound
Boolean flag indicating whether to install or not wraparound model.
Definition
lte-hex-grid-enb-topology-helper.h:112
ns3::LteHexGridEnbTopologyHelper::GetTypeId
static TypeId GetTypeId()
Register this type.
Definition
lte-hex-grid-enb-topology-helper.cc:39
ns3::LteHexGridEnbTopologyHelper::m_d
double m_d
The distance [m] between nearby sites.
Definition
lte-hex-grid-enb-topology-helper.h:86
ns3::LteHexGridEnbTopologyHelper::GetWraparoundModel
Ptr< WraparoundModel > GetWraparoundModel() const
Get the configured wraparound model.
Definition
lte-hex-grid-enb-topology-helper.cc:184
ns3::LteHexGridEnbTopologyHelper::m_xMin
double m_xMin
The x coordinate where the hex grid starts.
Definition
lte-hex-grid-enb-topology-helper.h:91
ns3::LteHexGridEnbTopologyHelper::m_lteHelper
Ptr< LteHelper > m_lteHelper
Pointer to LteHelper object.
Definition
lte-hex-grid-enb-topology-helper.h:75
ns3::LteHexGridEnbTopologyHelper::LteHexGridEnbTopologyHelper
LteHexGridEnbTopologyHelper()
Definition
lte-hex-grid-enb-topology-helper.cc:28
ns3::LteHexGridEnbTopologyHelper::m_yMin
double m_yMin
The y coordinate where the hex grid starts.
Definition
lte-hex-grid-enb-topology-helper.h:96
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:102
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:100
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:81
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:93
ns3::LteHexGridEnbTopologyHelper::m_siteHeight
uint32_t m_siteHeight
The height [m] of each site.
Definition
lte-hex-grid-enb-topology-helper.h:107
ns3::LteHexGridEnbTopologyHelper::m_wraparoundModel
Ptr< WraparoundModel > m_wraparoundModel
Wraparound model pointer.
Definition
lte-hex-grid-enb-topology-helper.h:117
ns3::NetDeviceContainer
holds a vector of ns3::NetDevice pointers
Definition
net-device-container.h:32
ns3::NodeContainer
keep track of a set of node pointers.
Definition
node-container.h:29
ns3::Object::Object
Object()
Constructor.
Definition
object.cc:96
ns3::Ptr
Smart pointer class similar to boost::intrusive_ptr.
Definition
ptr.h:67
ns3::TypeId
a unique identifier for an interface.
Definition
type-id.h:49
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 Wed Oct 1 2025 18:22:06 for ns-3 by
1.13.2