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

#include <NarrowbandTransmitterBase.h>

Inheritance diagram for inet::physicallayer::NarrowbandTransmitterBase:
inet::physicallayer::TransmitterBase inet::physicallayer::ITransmitter inet::IPrintableObject inet::physicallayer::FlatTransmitterBase inet::physicallayer::ApskDimensionalTransmitter inet::physicallayer::ApskScalarTransmitter inet::physicallayer::Ieee80211TransmitterBase inet::physicallayer::Ieee802154NarrowbandDimensionalTransmitter inet::physicallayer::Ieee802154NarrowbandScalarTransmitter inet::physicallayer::Ieee80211DimensionalTransmitter inet::physicallayer::Ieee80211ScalarTransmitter inet::physicallayer::Ieee80211UnitDiskTransmitter

Public Member Functions

 NarrowbandTransmitterBase ()
 
virtual std::ostream & printToStream (std::ostream &stream, int level, int evFlags=0) const override
 Prints this object to the provided output stream. More...
 
virtual const IModulationgetModulation () const
 
virtual void setModulation (const IModulation *modulation)
 
virtual Hz getCenterFrequency () const
 
virtual void setCenterFrequency (Hz centerFrequency)
 
virtual Hz getBandwidth () const
 
virtual void setBandwidth (Hz bandwidth)
 
- Public Member Functions inherited from inet::physicallayer::TransmitterBase
virtual W getMaxPower () const override
 Returns the maximum transmission power above which no transmission is ever transmitted. More...
 
virtual m getMaxCommunicationRange () const override
 Returns the maximum communication range. More...
 
virtual m getMaxInterferenceRange () const override
 Returns the maximum interference range. More...
 
- Public Member Functions inherited from inet::physicallayer::ITransmitter
virtual const ITransmissioncreateTransmission (const IRadio *transmitter, const Packet *packet, const simtime_t startTime) const =0
 Returns a transmission which describes the radio signal corresponding to the provided packet. 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 Member Functions

virtual void initialize (int stage) override
 
virtual Hz computeCenterFrequency (const Packet *packet) const
 
virtual Hz computeBandwidth (const Packet *packet) const
 
- Protected Member Functions inherited from inet::physicallayer::TransmitterBase
virtual int numInitStages () const override
 

Protected Attributes

const IModulationmodulation
 
Hz centerFrequency
 
Hz bandwidth
 

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

◆ NarrowbandTransmitterBase()

inet::physicallayer::NarrowbandTransmitterBase::NarrowbandTransmitterBase ( )
16  :
17  modulation(nullptr),
19  bandwidth(Hz(NaN))
20 {
21 }

Member Function Documentation

◆ computeBandwidth()

Hz inet::physicallayer::NarrowbandTransmitterBase::computeBandwidth ( const Packet packet) const
protectedvirtual
49 {
50  const auto& signalBandReq = const_cast<Packet *>(packet)->findTag<SignalBandReq>();
51  return signalBandReq != nullptr ? signalBandReq->getBandwidth() : bandwidth;
52 }

Referenced by inet::physicallayer::ApskScalarTransmitter::createTransmission(), and inet::physicallayer::ApskDimensionalTransmitter::createTransmission().

◆ computeCenterFrequency()

Hz inet::physicallayer::NarrowbandTransmitterBase::computeCenterFrequency ( const Packet packet) const
protectedvirtual
43 {
44  const auto& signalBandReq = const_cast<Packet *>(packet)->findTag<SignalBandReq>();
45  return signalBandReq != nullptr ? signalBandReq->getCenterFrequency() : centerFrequency;
46 }

Referenced by inet::physicallayer::ApskScalarTransmitter::createTransmission(), and inet::physicallayer::ApskDimensionalTransmitter::createTransmission().

◆ getBandwidth()

virtual Hz inet::physicallayer::NarrowbandTransmitterBase::getBandwidth ( ) const
inlinevirtual
42 { return bandwidth; }

◆ getCenterFrequency()

virtual Hz inet::physicallayer::NarrowbandTransmitterBase::getCenterFrequency ( ) const
inlinevirtual
39 { return centerFrequency; }

◆ getModulation()

virtual const IModulation* inet::physicallayer::NarrowbandTransmitterBase::getModulation ( ) const
inlinevirtual
36 { return modulation; }

◆ initialize()

void inet::physicallayer::NarrowbandTransmitterBase::initialize ( int  stage)
overrideprotectedvirtual

◆ printToStream()

◆ setBandwidth()

virtual void inet::physicallayer::NarrowbandTransmitterBase::setBandwidth ( Hz  bandwidth)
inlinevirtual

◆ setCenterFrequency()

virtual void inet::physicallayer::NarrowbandTransmitterBase::setCenterFrequency ( Hz  centerFrequency)
inlinevirtual

◆ setModulation()

virtual void inet::physicallayer::NarrowbandTransmitterBase::setModulation ( const IModulation modulation)
inlinevirtual

Member Data Documentation

◆ bandwidth

◆ centerFrequency

◆ modulation


The documentation for this class was generated from the following files:
inet::units::units::Hz
pow< s, -1 > Hz
Definition: Units.h:935
inet::printFieldToString
std::string printFieldToString(const IPrintableObject *object, int level, int evFlags=0)
Definition: IPrintableObject.h:98
EV_FIELD
#define EV_FIELD(...)
Definition: INETDefs.h:112
NaN
#define NaN
Definition: INETMath.h:91
inet::INITSTAGE_LOCAL
INET_API InitStage INITSTAGE_LOCAL
Initialization of local state that don't use or affect other modules includes:
inet::IPrintableObject::PRINT_LEVEL_TRACE
@ PRINT_LEVEL_TRACE
Definition: IPrintableObject.h:22
inet::physicallayer::ApskModulationBase::findModulation
const static ApskModulationBase * findModulation(const char *name)
Definition: ApskModulationBase.cc:38
inet::evFlags
int evFlags
Definition: INETDefs.cc:12
inet::physicallayer::NarrowbandTransmitterBase::centerFrequency
Hz centerFrequency
Definition: NarrowbandTransmitterBase.h:22
inet::physicallayer::NarrowbandTransmitterBase::bandwidth
Hz bandwidth
Definition: NarrowbandTransmitterBase.h:23
inet::physicallayer::NarrowbandTransmitterBase::modulation
const IModulation * modulation
Definition: NarrowbandTransmitterBase.h:21