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 * 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
14namespace 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 */
26{
27 public:
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 */
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 */
61
62 private:
63 /**
64 * Pointer to LteHelper object
65 */
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 */
94
95 /**
96 * The height [m] of each site
97 */
99};
100
101} // namespace ns3
102
103#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:78
Smart pointer class similar to boost::intrusive_ptr.
a unique identifier for an interface.
Definition type-id.h:48
Every class exported by the ns3 library is enclosed in the ns3 namespace.