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
namespace
ns3
15
{
16
17
/**
18
* @ingroup lte
19
*
20
* This helper class allows to easily create a topology with eNBs
21
* grouped in three-sector sites laid out on an hexagonal grid. The
22
* layout is done row-wise.
23
*
24
*/
25
class
LteHexGridEnbTopologyHelper
:
public
Object
26
{
27
public
:
28
LteHexGridEnbTopologyHelper
();
29
~LteHexGridEnbTopologyHelper
()
override
;
30
31
/**
32
* Register this type.
33
* @return The object TypeId.
34
*/
35
static
TypeId
GetTypeId
();
36
void
DoDispose
()
override
;
37
38
/**
39
* Set the LteHelper to be used to actually create the EnbNetDevices
40
*
41
* @note if no EpcHelper is ever set, then LteHexGridEnbTopologyHelper will default
42
* to creating an LTE-only simulation with no EPC, using LteRlcSm as
43
* the RLC model, and without supporting any IP networking. In other
44
* words, it will be a radio-level simulation involving only LTE PHY
45
* and MAC and the FF Scheduler, with a saturation traffic model for
46
* the RLC.
47
*
48
* @param h a pointer to the EpcHelper to be used
49
*/
50
void
SetLteHelper
(
Ptr<LteHelper>
h);
51
52
/**
53
* Position the nodes on a hex grid and install the corresponding
54
* EnbNetDevices with antenna boresight configured properly
55
*
56
* @param c the node container where the devices are to be installed
57
*
58
* @return the NetDeviceContainer with the newly created devices
59
*/
60
NetDeviceContainer
SetPositionAndInstallEnbDevice
(
NodeContainer
c);
61
62
private
:
63
/**
64
* Pointer to LteHelper object
65
*/
66
Ptr<LteHelper>
m_lteHelper
;
67
68
/**
69
* The offset [m] in the position for the node of each sector with
70
* respect to the center of the three-sector site
71
*/
72
double
m_offset
;
73
74
/**
75
* The distance [m] between nearby sites
76
*/
77
double
m_d
;
78
79
/**
80
* The x coordinate where the hex grid starts
81
*/
82
double
m_xMin
;
83
84
/**
85
* The y coordinate where the hex grid starts
86
*/
87
double
m_yMin
;
88
89
/**
90
* The number of sites in even rows (odd rows will have
91
* one additional site)
92
*/
93
uint32_t
m_gridWidth
;
94
95
/**
96
* The height [m] of each site
97
*/
98
uint32_t
m_siteHeight
;
99
};
100
101
}
// namespace ns3
102
103
#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:26
ns3::LteHexGridEnbTopologyHelper::DoDispose
void DoDispose() override
Destructor implementation.
Definition
lte-hex-grid-enb-topology-helper.cc:80
ns3::LteHexGridEnbTopologyHelper::~LteHexGridEnbTopologyHelper
~LteHexGridEnbTopologyHelper() override
Definition
lte-hex-grid-enb-topology-helper.cc:32
ns3::LteHexGridEnbTopologyHelper::GetTypeId
static TypeId GetTypeId()
Register this type.
Definition
lte-hex-grid-enb-topology-helper.cc:38
ns3::LteHexGridEnbTopologyHelper::m_d
double m_d
The distance [m] between nearby sites.
Definition
lte-hex-grid-enb-topology-helper.h:77
ns3::LteHexGridEnbTopologyHelper::m_xMin
double m_xMin
The x coordinate where the hex grid starts.
Definition
lte-hex-grid-enb-topology-helper.h:82
ns3::LteHexGridEnbTopologyHelper::m_lteHelper
Ptr< LteHelper > m_lteHelper
Pointer to LteHelper object.
Definition
lte-hex-grid-enb-topology-helper.h:66
ns3::LteHexGridEnbTopologyHelper::LteHexGridEnbTopologyHelper
LteHexGridEnbTopologyHelper()
Definition
lte-hex-grid-enb-topology-helper.cc:27
ns3::LteHexGridEnbTopologyHelper::m_yMin
double m_yMin
The y coordinate where the hex grid starts.
Definition
lte-hex-grid-enb-topology-helper.h:87
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:93
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:94
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:72
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:87
ns3::LteHexGridEnbTopologyHelper::m_siteHeight
uint32_t m_siteHeight
The height [m] of each site.
Definition
lte-hex-grid-enb-topology-helper.h:98
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
A base class which provides memory management and object aggregation.
Definition
object.h:78
ns3::Ptr
Smart pointer class similar to boost::intrusive_ptr.
Definition
mpi-test-fixtures.h:37
ns3::TypeId
a unique identifier for an interface.
Definition
type-id.h:48
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 Fri Dec 13 2024 18:20:43 for ns-3 by
1.11.0