src/wifi/model/yans-wifi-phy.cc
changeset 11451 36f951da53ac
parent 11450 9f4ae69f12b7
child 11479 a3dcf66928f3
equal deleted inserted replaced
11450:9f4ae69f12b7 11451:36f951da53ac
    34 #include "ns3/enum.h"
    34 #include "ns3/enum.h"
    35 #include "ns3/pointer.h"
    35 #include "ns3/pointer.h"
    36 #include "ns3/net-device.h"
    36 #include "ns3/net-device.h"
    37 #include "ns3/trace-source-accessor.h"
    37 #include "ns3/trace-source-accessor.h"
    38 #include "ns3/boolean.h"
    38 #include "ns3/boolean.h"
       
    39 #include "ns3/node.h"
    39 #include "ampdu-tag.h"
    40 #include "ampdu-tag.h"
    40 #include <cmath>
    41 #include <cmath>
    41 
    42 
    42 namespace ns3 {
    43 namespace ns3 {
    43 
    44 
   312 {
   313 {
   313   m_interference.SetErrorRateModel (rate);
   314   m_interference.SetErrorRateModel (rate);
   314 }
   315 }
   315 
   316 
   316 void
   317 void
   317 YansWifiPhy::SetDevice (Ptr<Object> device)
   318 YansWifiPhy::SetDevice (Ptr<NetDevice> device)
   318 {
   319 {
   319   m_device = device;
   320   m_device = device;
   320 }
   321 }
   321 
   322 
   322 void
   323 void
   323 YansWifiPhy::SetMobility (Ptr<Object> mobility)
   324 YansWifiPhy::SetMobility (Ptr<MobilityModel> mobility)
   324 {
   325 {
   325   m_mobility = mobility;
   326   m_mobility = mobility;
   326 }
   327 }
   327 
   328 
   328 double
   329 double
   371 YansWifiPhy::GetErrorRateModel (void) const
   372 YansWifiPhy::GetErrorRateModel (void) const
   372 {
   373 {
   373   return m_interference.GetErrorRateModel ();
   374   return m_interference.GetErrorRateModel ();
   374 }
   375 }
   375 
   376 
   376 Ptr<Object>
   377 Ptr<NetDevice>
   377 YansWifiPhy::GetDevice (void) const
   378 YansWifiPhy::GetDevice (void) const
   378 {
   379 {
   379   return m_device;
   380   return m_device;
   380 }
   381 }
   381 
   382 
   382 Ptr<Object>
   383 Ptr<MobilityModel>
   383 YansWifiPhy::GetMobility (void)
   384 YansWifiPhy::GetMobility (void)
   384 {
   385 {
   385   return m_mobility;
   386   if (m_mobility != 0)
       
   387     {
       
   388       return m_mobility;
       
   389     }
       
   390   else
       
   391     {
       
   392       return m_device->GetNode ()->GetObject<MobilityModel> ();
       
   393     }
   386 }
   394 }
   387 
   395 
   388 double
   396 double
   389 YansWifiPhy::CalculateSnr (WifiMode txMode, double ber) const
   397 YansWifiPhy::CalculateSnr (WifiMode txMode, double ber) const
   390 {
   398 {