A Discrete-Event Network Simulator
API
wifi-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 "wifi-ppdu.h"
25 
26 namespace ns3 {
27 
28 NS_LOG_COMPONENT_DEFINE ("WifiSpectrumSignalParameters");
29 
31  : txCenterFreq (0)
32 {
33  NS_LOG_FUNCTION (this);
34 }
35 
38 {
39  NS_LOG_FUNCTION (this << &p);
40  ppdu = p.ppdu;
42 }
43 
46 {
47  NS_LOG_FUNCTION (this);
48  // Ideally we would use:
49  // return Copy<WifiSpectrumSignalParameters> (*this);
50  // but for some reason it doesn't work. Another alternative is
51  // return Copy<WifiSpectrumSignalParameters> (this);
52  // but it causes a double creation of the object, hence it is less efficient.
53  // The solution below is copied from the implementation of Copy<> (Ptr<>) in ptr.h
55  return wssp;
56 }
57 
58 
59 } // namespace ns3
Smart pointer class similar to boost::intrusive_ptr.
Definition: ptr.h:74
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name.
Definition: log.h:205
#define NS_LOG_FUNCTION(parameters)
If log level LOG_FUNCTION is enabled, this macro will output all input parameters separated by ",...
Every class exported by the ns3 library is enclosed in the ns3 namespace.
This struct provides the generic signal representation to be used by all wireless technologies.
Ptr< WifiPpdu > ppdu
The PPDU being transmitted.
uint16_t txCenterFreq
the center frequency of the transmitted signal in MHz
Ptr< SpectrumSignalParameters > Copy() override
make a "virtual" copy of this class, where "virtual" refers to the fact that if the actual object is ...
Declaration of ns3::WifiPpdu class and ns3::WifiConstPsduMap.