Provides initialisation for several AnalogueModels and Deciders from modules directory. More...
#include <PhyLayer.h>
Inherits BasePhyLayer.
Inherited by PhyLayerBattery, and SamplePhyLayer.
Protected Types | |
enum | ProtocolIds { IEEE_80211 = 12123, IEEE_802154_NARROW } |
Protected Member Functions | |
virtual AnalogueModel * | getAnalogueModelFromName (std::string name, ParameterMap ¶ms) |
Creates and returns an instance of the AnalogueModel with the specified name. | |
AnalogueModel * | initializeSimplePathlossModel (ParameterMap ¶ms) |
Creates and initializes a SimplePathlossModel with the passed parameter values. | |
AnalogueModel * | initializeLogNormalShadowing (ParameterMap ¶ms) |
Creates and initializes a LogNormalShadowing with the passed parameter values. | |
AnalogueModel * | initializeJakesFading (ParameterMap ¶ms) |
Creates and initializes a JakesFading with the passed parameter values. | |
virtual AnalogueModel * | initializeBreakpointPathlossModel (ParameterMap ¶ms) |
Creates and initializes a BreakpointPathlossModel with the passed parameter values. | |
virtual AnalogueModel * | initializePERModel (ParameterMap ¶ms) |
Creates a simple Packet Error Rate model that attenuates a percentage of the packets to zero, and does not attenuate the other packets. | |
virtual Decider * | getDeciderFromName (std::string name, ParameterMap ¶ms) |
Creates and returns an instance of the Decider with the specified name. | |
virtual Decider * | initializeDecider80211 (ParameterMap ¶ms) |
Initializes a new Decider80211 from the passed parameter map. | |
virtual Decider * | initializeDecider802154Narrow (ParameterMap ¶ms) |
Initializes a new Decider802154Narrow from the passed parameter map. | |
virtual Decider * | initializeSNRThresholdDecider (ParameterMap ¶ms) |
Initializes a new SNRThresholdDecider from the passed parameter map. |
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.
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); }