5G-LENA nr-v3.3-159-ga6832aa7
The 5G/NR module for the ns-3 simulator
Loading...
Searching...
No Matches
nr-component-carrier.h
1// Copyright (c) 2015 Danilo Abrignani
2//
3// SPDX-License-Identifier: GPL-2.0-only
4//
5// Author: Danilo Abrignani <danilo.abrignani@unibo.it>
6
7#ifndef NR_COMPONENT_CARRIER_H
8#define NR_COMPONENT_CARRIER_H
9
10#include "ns3/object.h"
11
12namespace ns3
13{
14
25class NrComponentCarrier : public Object
26{
27 public:
32 static TypeId GetTypeId();
33
35
36 ~NrComponentCarrier() override;
37 void DoDispose() override;
38
42 uint16_t GetUlBandwidth() const;
43
47 virtual void SetUlBandwidth(uint16_t bw);
48
52 uint16_t GetDlBandwidth() const;
53
57 virtual void SetDlBandwidth(uint16_t bw);
58
62 uint32_t GetDlEarfcn() const;
63
67 void SetDlEarfcn(uint32_t earfcn);
68
72 uint32_t GetUlEarfcn() const;
73
77 void SetUlEarfcn(uint32_t earfcn);
78
84 uint32_t GetCsgId() const;
85
98 void SetCsgId(uint32_t csgId);
99
105 bool GetCsgIndication() const;
106
122 void SetCsgIndication(bool csgIndication);
123
128 void SetAsPrimary(bool primaryCarrier);
129
134 bool IsPrimary() const;
135
136 protected:
137 uint32_t m_csgId{0};
138 bool m_csgIndication{false};
139
140 bool m_primaryCarrier{false};
141
142 uint16_t m_dlBandwidth{0};
143 uint16_t m_ulBandwidth{0};
144
145 uint32_t m_dlEarfcn{0};
146 uint32_t m_ulEarfcn{0};
147};
148
149} // namespace ns3
150
151#endif /* NR_COMPONENT_CARRIER_H */
void SetAsPrimary(bool primaryCarrier)
Set as primary carrier.
bool m_csgIndication
CSG indication.
virtual void SetDlBandwidth(uint16_t bw)
uint32_t m_dlEarfcn
downlink carrier frequency *‍/
bool m_primaryCarrier
whether the carrier is primary
uint16_t m_dlBandwidth
downlink bandwidth in RBs *‍/
bool GetCsgIndication() const
Returns the CSG indication flag of the eNodeB.
void SetDlEarfcn(uint32_t earfcn)
uint32_t GetCsgId() const
Returns the CSG ID of the eNodeB.
uint32_t m_ulEarfcn
uplink carrier frequency *‍/
virtual void SetUlBandwidth(uint16_t bw)
bool IsPrimary() const
Checks if the carrier is the primary carrier.
void SetUlEarfcn(uint32_t earfcn)
void SetCsgIndication(bool csgIndication)
Enable or disable the CSG indication flag.
uint16_t m_ulBandwidth
uplink bandwidth in RBs *‍/
void SetCsgId(uint32_t csgId)
Associate the eNodeB device with a particular CSG.
static TypeId GetTypeId()
Get the type ID.