A Discrete-Event Network Simulator
Home
Tutorials ▼
English
Portuguese
Docs ▼
Wiki
Manual
Models
Develop ▼
API
Bugs
API
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
lte-spectrum-signal-parameters.cc
Go to the documentation of this file.
1
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
2
/*
3
* Copyright (c) 2011 CTTC
4
*
5
* This program is free software; you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License version 2 as
7
* published by the Free Software Foundation;
8
*
9
* This program is distributed in the hope that it will be useful,
10
* but WITHOUT ANY WARRANTY; without even the implied warranty of
11
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
* GNU General Public License for more details.
13
*
14
* You should have received a copy of the GNU General Public License
15
* along with this program; if not, write to the Free Software
16
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17
*
18
* Author: Nicola Baldo <nbaldo@cttc.es>
19
* Modified by Marco Miozzo <mmiozzo@cttc.es> (add data and ctrl diversity)
20
*/
21
22
#include <ns3/log.h>
23
#include <ns3/packet-burst.h>
24
#include <ns3/ptr.h>
25
#include <ns3/lte-spectrum-signal-parameters.h>
26
#include <ns3/lte-control-messages.h>
27
28
29
NS_LOG_COMPONENT_DEFINE
(
"LteSpectrumSignalParameters"
);
30
31
namespace
ns3 {
32
33
LteSpectrumSignalParameters::LteSpectrumSignalParameters
()
34
{
35
NS_LOG_FUNCTION
(
this
);
36
}
37
38
LteSpectrumSignalParameters::LteSpectrumSignalParameters
(
const
LteSpectrumSignalParameters
& p)
39
:
SpectrumSignalParameters
(p)
40
{
41
NS_LOG_FUNCTION
(
this
<< &p);
42
packetBurst
= p.
packetBurst
->
Copy
();
43
}
44
45
Ptr<SpectrumSignalParameters>
46
LteSpectrumSignalParameters::Copy
()
47
{
48
NS_LOG_FUNCTION
(
this
);
49
// Ideally we would use:
50
// return Copy<LteSpectrumSignalParameters> (*this);
51
// but for some reason it doesn't work. Another alternative is
52
// return Copy<LteSpectrumSignalParameters> (this);
53
// but it causes a double creation of the object, hence it is less efficient.
54
// The solution below is copied from the implementation of Copy<> (Ptr<>) in ptr.h
55
Ptr<LteSpectrumSignalParameters>
lssp (
new
LteSpectrumSignalParameters
(*
this
),
false
);
56
return
lssp;
57
}
58
59
60
61
LteSpectrumSignalParametersDataFrame::LteSpectrumSignalParametersDataFrame
()
62
{
63
NS_LOG_FUNCTION
(
this
);
64
}
65
66
LteSpectrumSignalParametersDataFrame::LteSpectrumSignalParametersDataFrame
(
const
LteSpectrumSignalParametersDataFrame
& p)
67
:
SpectrumSignalParameters
(p)
68
{
69
NS_LOG_FUNCTION
(
this
<< &p);
70
cellId
= p.
cellId
;
71
if
(p.
packetBurst
)
72
{
73
packetBurst
= p.
packetBurst
->
Copy
();
74
}
75
ctrlMsgList
= p.
ctrlMsgList
;
76
}
77
78
Ptr<SpectrumSignalParameters>
79
LteSpectrumSignalParametersDataFrame::Copy
()
80
{
81
NS_LOG_FUNCTION
(
this
);
82
// Ideally we would use:
83
// return Copy<LteSpectrumSignalParametersDataFrame> (*this);
84
// but for some reason it doesn't work. Another alternative is
85
// return Copy<LteSpectrumSignalParametersDataFrame> (this);
86
// but it causes a double creation of the object, hence it is less efficient.
87
// The solution below is copied from the implementation of Copy<> (Ptr<>) in ptr.h
88
Ptr<LteSpectrumSignalParametersDataFrame>
lssp (
new
LteSpectrumSignalParametersDataFrame
(*
this
),
false
);
89
return
lssp;
90
}
91
92
93
94
LteSpectrumSignalParametersDlCtrlFrame::LteSpectrumSignalParametersDlCtrlFrame
()
95
{
96
NS_LOG_FUNCTION
(
this
);
97
}
98
99
LteSpectrumSignalParametersDlCtrlFrame::LteSpectrumSignalParametersDlCtrlFrame
(
const
LteSpectrumSignalParametersDlCtrlFrame
& p)
100
:
SpectrumSignalParameters
(p)
101
{
102
NS_LOG_FUNCTION
(
this
<< &p);
103
cellId
= p.
cellId
;
104
ctrlMsgList
= p.
ctrlMsgList
;
105
}
106
107
Ptr<SpectrumSignalParameters>
108
LteSpectrumSignalParametersDlCtrlFrame::Copy
()
109
{
110
NS_LOG_FUNCTION
(
this
);
111
// Ideally we would use:
112
// return Copy<LteSpectrumSignalParametersDlCtrlFrame> (*this);
113
// but for some reason it doesn't work. Another alternative is
114
// return Copy<LteSpectrumSignalParametersDlCtrlFrame> (this);
115
// but it causes a double creation of the object, hence it is less efficient.
116
// The solution below is copied from the implementation of Copy<> (Ptr<>) in ptr.h
117
Ptr<LteSpectrumSignalParametersDlCtrlFrame>
lssp (
new
LteSpectrumSignalParametersDlCtrlFrame
(*
this
),
false
);
118
return
lssp;
119
}
120
121
122
LteSpectrumSignalParametersUlSrsFrame::LteSpectrumSignalParametersUlSrsFrame
()
123
{
124
NS_LOG_FUNCTION
(
this
);
125
}
126
127
LteSpectrumSignalParametersUlSrsFrame::LteSpectrumSignalParametersUlSrsFrame
(
const
LteSpectrumSignalParametersUlSrsFrame
& p)
128
:
SpectrumSignalParameters
(p)
129
{
130
NS_LOG_FUNCTION
(
this
<< &p);
131
cellId
= p.
cellId
;
132
}
133
134
Ptr<SpectrumSignalParameters>
135
LteSpectrumSignalParametersUlSrsFrame::Copy
()
136
{
137
NS_LOG_FUNCTION
(
this
);
138
// Ideally we would use:
139
// return Copy<LteSpectrumSignalParametersUlSrsFrame> (*this);
140
// but for some reason it doesn't work. Another alternative is
141
// return Copy<LteSpectrumSignalParametersUlSrsFrame> (this);
142
// but it causes a double creation of the object, hence it is less efficient.
143
// The solution below is copied from the implementation of Copy<> (Ptr<>) in ptr.h
144
Ptr<LteSpectrumSignalParametersUlSrsFrame>
lssp (
new
LteSpectrumSignalParametersUlSrsFrame
(*
this
),
false
);
145
return
lssp;
146
}
147
148
149
150
151
152
153
154
}
// namespace ns3
src
lte
model
lte-spectrum-signal-parameters.cc
Generated on Tue May 14 2013 11:08:26 for ns-3 by
1.8.1.2