00001 /* 00002 * PhyLayer.h 00003 * 00004 * Created on: 11.02.2009 00005 * Author: karl wessel 00006 */ 00007 00008 #ifndef PHYLAYER_H_ 00009 #define PHYLAYER_H_ 00010 00011 #include "BasePhyLayer.h" 00012 00028 class PhyLayer: public BasePhyLayer { 00029 protected: 00030 enum ProtocolIds { 00031 IEEE_80211 = 12123, 00032 IEEE_802154_NARROW, 00033 }; 00043 virtual AnalogueModel* getAnalogueModelFromName(std::string name, ParameterMap& params); 00044 00049 AnalogueModel* initializeSimplePathlossModel(ParameterMap& params); 00050 00055 AnalogueModel* initializeLogNormalShadowing(ParameterMap& params); 00056 00061 AnalogueModel* initializeJakesFading(ParameterMap& params); 00062 00067 virtual AnalogueModel* initializeBreakpointPathlossModel(ParameterMap& params); 00068 00074 virtual AnalogueModel* initializePERModel(ParameterMap& params); 00075 00085 virtual Decider* getDeciderFromName(std::string name, ParameterMap& params); 00086 00090 virtual Decider* initializeDecider80211(ParameterMap& params); 00091 00095 virtual Decider* initializeDecider802154Narrow(ParameterMap& params); 00096 00100 virtual Decider* initializeSNRThresholdDecider(ParameterMap& params); 00101 00102 }; 00103 00104 #endif /* PHYLAYER_H_ */