5G-LENA nr-v3.3-161-gad18933f
The 5G/NR module for the ns-3 simulator
Loading...
Searching...
No Matches
grid-scenario-helper.h
1// Copyright (c) 2019 Centre Tecnologic de Telecomunicacions de Catalunya (CTTC)
2//
3// SPDX-License-Identifier: GPL-2.0-only
4
5#ifndef GRID_SCENARIO_HELPER_H
6#define GRID_SCENARIO_HELPER_H
7
8#include "node-distribution-scenario-interface.h"
9
10#include "ns3/random-variable-stream.h"
11#include "ns3/vector.h"
12
13namespace ns3
14{
15
22{
23 public:
28
32 ~GridScenarioHelper() override;
33
37 void SetHorizontalBsDistance(double d);
38
42 void SetVerticalBsDistance(double d);
43
47 void SetRows(uint32_t r);
48
52 void SetColumns(uint32_t c);
53
58 void SetStartingPosition(const Vector& initialPos);
59
60 void SetScenarioLength(double m);
61
62 void SetScenarioHeight(double m);
63
64 // inherited
65 void CreateScenario() override;
66
75 int64_t AssignStreams(int64_t stream);
76
77 private:
78 double m_verticalBsDistance{-1.0};
79 double m_horizontalBsDistance{-1.0};
80 uint32_t m_rows{0};
81 uint32_t m_columns{0};
82 Vector m_initialPos;
83 double m_length{0};
84 double m_height{0};
85 Ptr<UniformRandomVariable> m_x;
86 Ptr<UniformRandomVariable> m_y;
87};
88
89} // namespace ns3
90#endif // GRID_SCENARIO_HELPER_H
The GridScenarioHelper class.
void SetRows(uint32_t r)
SetRows.
void SetHorizontalBsDistance(double d)
SetHorizontalBsDistance.
void SetVerticalBsDistance(double d)
SetVerticalBsDistance.
void CreateScenario() override
Create the scenario, with the configured parameter.
int64_t AssignStreams(int64_t stream)
~GridScenarioHelper() override
~GridScenarioHelper
GridScenarioHelper()
GridScenarioHelper.
void SetColumns(uint32_t c)
SetColumns.
void SetStartingPosition(const Vector &initialPos)
Set starting position of the grid.
Represents a scenario with base stations and user terminals.