PhyLayer.h

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_ */