5G-LENA nr-v3.0-33-g7aea1e4
The 5G/NR module for the ns-3 simulator
Loading...
Searching...
No Matches
grid-scenario-helper.h
1/* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */
2
3// Copyright (c) 2019 Centre Tecnologic de Telecomunicacions de Catalunya (CTTC)
4//
5// SPDX-License-Identifier: GPL-2.0-only
6
7#ifndef GRID_SCENARIO_HELPER_H
8#define GRID_SCENARIO_HELPER_H
9
10#include "node-distribution-scenario-interface.h"
11
12#include <ns3/random-variable-stream.h>
13#include <ns3/vector.h>
14
15namespace ns3
16{
17
24{
25 public:
30
34 ~GridScenarioHelper() override;
35
39 void SetHorizontalBsDistance(double d);
40
44 void SetVerticalBsDistance(double d);
45
49 void SetRows(uint32_t r);
50
54 void SetColumns(uint32_t c);
55
60 void SetStartingPosition(const Vector& initialPos);
61
62 void SetScenarioLength(double m);
63
64 void SetScenarioHeight(double m);
65
66 // inherited
67 void CreateScenario() override;
68
77 int64_t AssignStreams(int64_t stream);
78
79 private:
80 double m_verticalBsDistance{-1.0};
81 double m_horizontalBsDistance{-1.0};
82 uint32_t m_rows{0};
83 uint32_t m_columns{0};
84 Vector m_initialPos;
85 double m_length{0};
86 double m_height{0};
87 Ptr<UniformRandomVariable> m_x;
88 Ptr<UniformRandomVariable> m_y;
89};
90
91} // namespace ns3
92#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.