Protected Types | Protected Member Functions

PhyLayer Class Reference
[phyLayer - physical layer modules]

Provides initialisation for several AnalogueModels and Deciders from modules directory. More...

#include <PhyLayer.h>

Inherits BasePhyLayer.

Inherited by PhyLayerBattery, and SamplePhyLayer.

Collaboration diagram for PhyLayer:
Collaboration graph
[legend]

List of all members.

Protected Types

enum  ProtocolIds { IEEE_80211 = 12123, IEEE_802154_NARROW }

Protected Member Functions

virtual AnalogueModelgetAnalogueModelFromName (std::string name, ParameterMap &params)
 Creates and returns an instance of the AnalogueModel with the specified name.
AnalogueModelinitializeSimplePathlossModel (ParameterMap &params)
 Creates and initializes a SimplePathlossModel with the passed parameter values.
AnalogueModelinitializeLogNormalShadowing (ParameterMap &params)
 Creates and initializes a LogNormalShadowing with the passed parameter values.
AnalogueModelinitializeJakesFading (ParameterMap &params)
 Creates and initializes a JakesFading with the passed parameter values.
virtual AnalogueModelinitializeBreakpointPathlossModel (ParameterMap &params)
 Creates and initializes a BreakpointPathlossModel with the passed parameter values.
virtual AnalogueModelinitializePERModel (ParameterMap &params)
 Creates a simple Packet Error Rate model that attenuates a percentage of the packets to zero, and does not attenuate the other packets.
virtual DecidergetDeciderFromName (std::string name, ParameterMap &params)
 Creates and returns an instance of the Decider with the specified name.
virtual DeciderinitializeDecider80211 (ParameterMap &params)
 Initializes a new Decider80211 from the passed parameter map.
virtual DeciderinitializeDecider802154Narrow (ParameterMap &params)
 Initializes a new Decider802154Narrow from the passed parameter map.
virtual DeciderinitializeSNRThresholdDecider (ParameterMap &params)
 Initializes a new SNRThresholdDecider from the passed parameter map.

Detailed Description

Provides initialisation for several AnalogueModels and Deciders from modules directory.

Knows the following AnalogueModels:

Knows the following Deciders

Definition at line 28 of file PhyLayer.h.


Member Function Documentation

AnalogueModel * PhyLayer::getAnalogueModelFromName ( std::string  name,
ParameterMap params 
) [protected, virtual]

Creates and returns an instance of the AnalogueModel with the specified name.

Is able to initialize the following AnalogueModels:

Reimplemented from BasePhyLayer.

Reimplemented in SamplePhyLayer.

Definition at line 20 of file PhyLayer.cc.

References initializeBreakpointPathlossModel(), initializeJakesFading(), initializeLogNormalShadowing(), initializePERModel(), and initializeSimplePathlossModel().

                                                                                      {

  if (name == "SimplePathlossModel")
  {
    return initializeSimplePathlossModel(params);
  }
  else if (name == "LogNormalShadowing")
  {
    return initializeLogNormalShadowing(params);
  }
  else if (name == "JakesFading")
  {
    return initializeJakesFading(params);
  }
  else if(name == "BreakpointPathlossModel")
  {
    return initializeBreakpointPathlossModel(params);
  } else if(name == "PERModel")
  {
    return initializePERModel(params);
  }
  return BasePhyLayer::getAnalogueModelFromName(name, params);
}

Decider * PhyLayer::getDeciderFromName ( std::string  name,
ParameterMap params 
) [protected, virtual]

Creates and returns an instance of the Decider with the specified name.

Is able to initialize the following Deciders:

Reimplemented from BasePhyLayer.

Reimplemented in PhyLayerBattery, and SamplePhyLayer.

Definition at line 244 of file PhyLayer.cc.

References initializeDecider80211(), initializeDecider802154Narrow(), and initializeSNRThresholdDecider().

                                                                          {
  if(name == "Decider80211") {
    protocolId = IEEE_80211;
    return initializeDecider80211(params);
  }
  else if(name == "SNRThresholdDecider"){
    protocolId = GENERIC;
    return initializeSNRThresholdDecider(params);
  }
  else if(name == "Decider802154Narrow") {
    protocolId = IEEE_802154_NARROW;
    return initializeDecider802154Narrow(params);
  }

  return BasePhyLayer::getDeciderFromName(name, params);
}


The documentation for this class was generated from the following files: