INET Framework for OMNeT++/OMNEST
inet::physicallayer::Ieee80211ArithmeticalBand Class Reference

#include <Ieee80211Band.h>

Inheritance diagram for inet::physicallayer::Ieee80211ArithmeticalBand:
inet::physicallayer::Ieee80211BandBase inet::physicallayer::IIeee80211Band inet::IPrintableObject

Public Member Functions

 Ieee80211ArithmeticalBand (const char *name, Hz start, Hz spacing, int numChannels)
 
virtual int getNumChannels () const override
 
virtual Hz getCenterFrequency (int channelNumber) const override
 
virtual Hz getSpacing () const override
 
- Public Member Functions inherited from inet::physicallayer::Ieee80211BandBase
 Ieee80211BandBase (const char *name)
 
virtual const char * getName () const override
 
- Public Member Functions inherited from inet::physicallayer::IIeee80211Band
virtual std::ostream & printToStream (std::ostream &stream, int level, int evFlags=0) const override
 Prints this object to the provided output stream. More...
 
- Public Member Functions inherited from inet::IPrintableObject
virtual ~IPrintableObject ()
 
virtual std::string printToString () const
 
virtual std::string printToString (int level, int evFlags=0) const
 
virtual std::string getInfoStringRepresentation (int evFlags=0) const
 
virtual std::string getDetailStringRepresentation (int evFlags=0) const
 
virtual std::string getDebugStringRepresentation (int evFlags=0) const
 
virtual std::string getTraceStringRepresentation (int evFlags=0) const
 
virtual std::string getCompleteStringRepresentation (int evFlags=0) const
 

Protected Attributes

Hz start
 
Hz spacing
 
int numChannels
 
- Protected Attributes inherited from inet::physicallayer::Ieee80211BandBase
const char * name
 

Additional Inherited Members

- Public Types inherited from inet::IPrintableObject
enum  PrintLevel {
  PRINT_LEVEL_TRACE, PRINT_LEVEL_DEBUG, PRINT_LEVEL_DETAIL, PRINT_LEVEL_INFO,
  PRINT_LEVEL_COMPLETE = INT_MIN
}
 
enum  PrintFlag { PRINT_FLAG_FORMATTED = (1 << 0), PRINT_FLAG_MULTILINE = (1 << 1) }
 

Constructor & Destructor Documentation

◆ Ieee80211ArithmeticalBand()

inet::physicallayer::Ieee80211ArithmeticalBand::Ieee80211ArithmeticalBand ( const char *  name,
Hz  start,
Hz  spacing,
int  numChannels 
)
32  :
34  start(start),
37 {
38 }

Member Function Documentation

◆ getCenterFrequency()

Hz inet::physicallayer::Ieee80211ArithmeticalBand::getCenterFrequency ( int  channelNumber) const
overridevirtual

Implements inet::physicallayer::IIeee80211Band.

41 {
42  if (channelNumber < 0 || channelNumber >= numChannels)
43  throw cRuntimeError("Invalid channel number: %d", channelNumber);
44  return start + spacing / 2 + spacing * channelNumber;
45 }

◆ getNumChannels()

virtual int inet::physicallayer::Ieee80211ArithmeticalBand::getNumChannels ( ) const
inlineoverridevirtual

Implements inet::physicallayer::IIeee80211Band.

64 { return numChannels; }

◆ getSpacing()

virtual Hz inet::physicallayer::Ieee80211ArithmeticalBand::getSpacing ( ) const
inlineoverridevirtual

Implements inet::physicallayer::IIeee80211Band.

66 { return spacing; }

Member Data Documentation

◆ numChannels

int inet::physicallayer::Ieee80211ArithmeticalBand::numChannels
protected

Referenced by getCenterFrequency().

◆ spacing

Hz inet::physicallayer::Ieee80211ArithmeticalBand::spacing
protected

Referenced by getCenterFrequency().

◆ start

Hz inet::physicallayer::Ieee80211ArithmeticalBand::start
protected

Referenced by getCenterFrequency().


The documentation for this class was generated from the following files:
inet::physicallayer::Ieee80211ArithmeticalBand::numChannels
int numChannels
Definition: Ieee80211Band.h:59
inet::physicallayer::Ieee80211BandBase::Ieee80211BandBase
Ieee80211BandBase(const char *name)
Definition: Ieee80211Band.cc:14
inet::physicallayer::Ieee80211BandBase::name
const char * name
Definition: Ieee80211Band.h:33
inet::physicallayer::Ieee80211ArithmeticalBand::start
Hz start
Definition: Ieee80211Band.h:57
inet::physicallayer::Ieee80211ArithmeticalBand::spacing
Hz spacing
Definition: Ieee80211Band.h:58