24 #include "ns3/string.h" 
   25 #include <ns3/simulator.h> 
   35   : m_dlTxFirstWrite (true),
 
   36     m_ulTxFirstWrite (true)
 
   52     .AddConstructor<PhyTxStatsCalculator> ()
 
   53     .AddAttribute (
"DlTxOutputFilename",
 
   54                    "Name of the file where the downlink results will be saved.",
 
   58     .AddAttribute (
"UlTxOutputFilename",
 
   59                    "Name of the file where the uplink results will be saved.",
 
   97   std::ofstream outFile;
 
  101       if (!outFile.is_open ())
 
  108       outFile << 
"% time\tcellId\tIMSI\tRNTI\tlayer\tmcs\tsize\trv\tndi";
 
  109       outFile << std::endl;
 
  114       if (!outFile.is_open ())
 
  123   outFile << (uint32_t) params.
m_cellId << 
"\t";
 
  124   outFile << params.
m_imsi << 
"\t";
 
  125   outFile << params.
m_rnti << 
"\t";
 
  127   outFile << (uint32_t) params.
m_layer << 
"\t";
 
  128   outFile << (uint32_t) params.
m_mcs << 
"\t";
 
  129   outFile << params.
m_size << 
"\t";
 
  130   outFile << (uint32_t) params.
m_rv << 
"\t";
 
  131   outFile << (uint32_t) params.
m_ndi << std::endl;
 
  141   std::ofstream outFile;
 
  145       if (!outFile.is_open ())
 
  152       outFile << 
"% time\tcellId\tIMSI\tRNTI\tlayer\tmcs\tsize\trv\tndi";
 
  153       outFile << std::endl;
 
  158       if (!outFile.is_open ())
 
  167   outFile << (uint32_t) params.
m_cellId << 
"\t";
 
  168   outFile << params.
m_imsi << 
"\t";
 
  169   outFile << params.
m_rnti << 
"\t";
 
  171   outFile << (uint32_t) params.
m_layer << 
"\t";
 
  172   outFile << (uint32_t) params.
m_mcs << 
"\t";
 
  173   outFile << params.
m_size << 
"\t";
 
  174   outFile << (uint32_t) params.
m_rv << 
"\t";
 
  175   outFile << (uint32_t) params.
m_ndi << std::endl;
 
  185   std::ostringstream pathAndRnti;
 
  186   pathAndRnti << path << 
"/" << params.
m_rnti;
 
  187   if (phyTxStats->ExistsImsiPath (pathAndRnti.str ()) == 
true)
 
  189       imsi = phyTxStats->GetImsiPath (pathAndRnti.str ());
 
  194       phyTxStats->SetImsiPath (pathAndRnti.str (), imsi);
 
  198   phyTxStats->DlPhyTransmission (params);
 
  207   std::ostringstream pathAndRnti;
 
  208   pathAndRnti << path << 
"/" << params.
m_rnti;
 
  209   if (phyTxStats->ExistsImsiPath (pathAndRnti.str ()) == 
true)
 
  211       imsi = phyTxStats->GetImsiPath (pathAndRnti.str ());
 
  216       phyTxStats->SetImsiPath (pathAndRnti.str (), imsi);
 
  220   phyTxStats->UlPhyTransmission (params);
 
smart pointer class similar to boost::intrusive_ptr 
 
#define NS_LOG_FUNCTION(parameters)
 
hold variables of type string 
 
void SetUlOutputFilename(std::string outputFilename)
 
static uint64_t FindImsiForEnb(std::string path, uint16_t rnti)
 
NS_OBJECT_ENSURE_REGISTERED(AntennaModel)
 
void SetDlTxOutputFilename(std::string outputFilename)
 
std::string GetDlTxOutputFilename(void)
 
void DlPhyTransmission(PhyTransmissionStatParameters params)
 
std::string GetUlTxOutputFilename(void)
 
std::string GetUlOutputFilename(void)
 
static void DlPhyTransmissionCallback(Ptr< PhyTxStatsCalculator > phyTxStats, std::string path, PhyTransmissionStatParameters params)
 
void SetDlOutputFilename(std::string outputFilename)
 
static uint64_t FindImsiForUe(std::string path, uint16_t rnti)
 
virtual ~PhyTxStatsCalculator()
 
static void UlPhyTransmissionCallback(Ptr< PhyTxStatsCalculator > phyTxStats, std::string path, PhyTransmissionStatParameters params)
 
NS_LOG_COMPONENT_DEFINE("PacketLossCounter")
 
void SetUlTxOutputFilename(std::string outputFilename)
 
#define NS_LOG_ERROR(msg)
 
a unique identifier for an interface. 
 
TypeId SetParent(TypeId tid)
 
static TypeId GetTypeId(void)
 
void UlPhyTransmission(PhyTransmissionStatParameters params)
 
std::string GetDlOutputFilename(void)