23 #include "ns3/lte-enb-net-device.h"
24 #include "ns3/lte-ue-net-device.h"
25 #include "ns3/lte-spectrum-phy.h"
42 for (std::map<uint16_t, std::map<uint64_t, double> >::const_iterator cellIdIt =
m_pathlossMap.begin ();
46 for (std::map<uint64_t, double>::const_iterator imsiIt = cellIdIt->second.begin ();
47 imsiIt != cellIdIt->second.end ();
50 std::cout <<
"CellId: " << cellIdIt->first <<
" IMSI: " << imsiIt->first <<
" pathloss: " << imsiIt->second <<
" dB" << std::endl;
60 std::map<uint16_t, std::map<uint64_t, double> >::iterator cellIt =
m_pathlossMap.find (cellId);
63 return std::numeric_limits<double>::infinity ();
65 std::map<uint64_t, double>::iterator ueIt = cellIt->second.find (imsi);
66 if (ueIt == cellIt->second.end())
68 return std::numeric_limits<double>::infinity ();
void Print()
print the stored pathloss values to standard output
#define NS_LOG_FUNCTION(parameters)
If log level LOG_FUNCTION is enabled, this macro will output all input parameters separated by "...
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name.
virtual void UpdatePathloss(std::string context, Ptr< SpectrumPhy > txPhy, Ptr< SpectrumPhy > rxPhy, double lossDb)
update the pathloss value
virtual ~LteGlobalPathlossDatabase(void)
std::map< uint16_t, std::map< uint64_t, double > > m_pathlossMap
virtual Ptr< NetDevice > GetDevice()=0
get the associated NetDevice instance
double GetPathloss(uint16_t cellId, uint64_t imsi)
The eNodeB device implementation.
virtual void UpdatePathloss(std::string context, Ptr< SpectrumPhy > txPhy, Ptr< SpectrumPhy > rxPhy, double lossDb)
update the pathloss value
The LteUeNetDevice class implements the UE net device.