A Discrete-Event Network Simulator
API
phy-rx-stats-calculator.h
Go to the documentation of this file.
1 /* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */
2 /*
3  * Copyright (c) 2011 Centre Tecnologic de Telecomunicacions de Catalunya (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: Jaume Nin <jnin@cttc.es>
19  * modified by: Marco Miozzo <mmiozzo@cttc.es>
20  * Convert MacStatsCalculator in PhyRxStatsCalculator
21  */
22 
23 #ifndef PHY_RX_STATS_CALCULATOR_H_
24 #define PHY_RX_STATS_CALCULATOR_H_
25 
26 #include "ns3/lte-stats-calculator.h"
27 #include "ns3/nstime.h"
28 #include "ns3/uinteger.h"
29 #include <string>
30 #include <fstream>
31 #include <ns3/lte-common.h>
32 
33 namespace ns3 {
34 
51 {
52 public:
57 
61  virtual ~PhyRxStatsCalculator ();
62 
63  // Inherited from ns3::Object
68  static TypeId GetTypeId (void);
69 
75  void SetUlRxOutputFilename (std::string outputFilename);
76 
81  std::string GetUlRxOutputFilename (void);
82 
88  void SetDlRxOutputFilename (std::string outputFilename);
89 
94  std::string GetDlRxOutputFilename (void);
95 
101 
107 
115  static void DlPhyReceptionCallback (Ptr<PhyRxStatsCalculator> phyRxStats,
116  std::string path, PhyReceptionStatParameters params);
117 
125  static void UlPhyReceptionCallback (Ptr<PhyRxStatsCalculator> phyRxStats,
126  std::string path, PhyReceptionStatParameters params);
127 private:
128 
136 
144 
148  std::ofstream m_dlRxOutFile;
149 
153  std::ofstream m_ulRxOutFile;
154 };
155 
156 } // namespace ns3
157 
158 #endif /* PHY_RX_STATS_CALCULATOR_H_ */
Base class for ***StatsCalculator classes.
Takes care of storing the information generated at PHY layer regarding reception.
std::string GetUlRxOutputFilename(void)
Get the name of the file where the UL RX PHY statistics will be stored.
bool m_dlRxFirstWrite
When writing DL RX PHY statistics first time to file, columns description is added.
std::ofstream m_ulRxOutFile
UL RX PHY output trace file.
static TypeId GetTypeId(void)
Register this type.
bool m_ulRxFirstWrite
When writing UL RX PHY statistics first time to file, columns description is added.
virtual ~PhyRxStatsCalculator()
Destructor.
static void UlPhyReceptionCallback(Ptr< PhyRxStatsCalculator > phyRxStats, std::string path, PhyReceptionStatParameters params)
trace sink
std::string GetDlRxOutputFilename(void)
Get the name of the file where the DL RX PHY statistics will be stored.
void DlPhyReception(PhyReceptionStatParameters params)
Notifies the stats calculator that an downlink reception has occurred.
void SetDlRxOutputFilename(std::string outputFilename)
Set the name of the file where the DL RX PHY statistics will be stored.
static void DlPhyReceptionCallback(Ptr< PhyRxStatsCalculator > phyRxStats, std::string path, PhyReceptionStatParameters params)
trace sink
void UlPhyReception(PhyReceptionStatParameters params)
Notifies the stats calculator that an uplink reception has occurred.
void SetUlRxOutputFilename(std::string outputFilename)
Set the name of the file where the UL Rx PHY statistics will be stored.
std::ofstream m_dlRxOutFile
DL RX PHY output trace file.
Smart pointer class similar to boost::intrusive_ptr.
Definition: ptr.h:74
a unique identifier for an interface.
Definition: type-id.h:59
Every class exported by the ns3 library is enclosed in the ns3 namespace.
PhyReceptionStatParameters structure.
Definition: lte-common.h:213