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

#include <LayeredTransmission.h>

Inheritance diagram for inet::physicallayer::LayeredTransmission:
inet::physicallayer::TransmissionBase inet::physicallayer::ITransmission inet::physicallayer::ITransmissionAnalogModel inet::physicallayer::IPrintableObject inet::physicallayer::ISignalAnalogModel inet::physicallayer::IPrintableObject

Public Member Functions

 LayeredTransmission (const ITransmissionPacketModel *packetModel, const ITransmissionBitModel *bitModel, const ITransmissionSymbolModel *symbolModel, const ITransmissionSampleModel *sampleModel, const ITransmissionAnalogModel *analogModel, const IRadio *transmitter, const cPacket *macFrame, const simtime_t startTime, const simtime_t endTime, const simtime_t preambleDuration, const simtime_t headerDuration, const simtime_t dataDuration, const Coord startPosition, const Coord endPosition, const EulerAngles startOrientation, const EulerAngles endOrientation)
 
virtual ~LayeredTransmission ()
 
virtual std::ostream & printToStream (std::ostream &stream, int level) const override
 Prints this object to the provided output stream. More...
 
virtual const ITransmissionPacketModelgetPacketModel () const
 
virtual const ITransmissionBitModelgetBitModel () const
 
virtual const ITransmissionSymbolModelgetSymbolModel () const
 
virtual const ITransmissionSampleModelgetSampleModel () const
 
virtual const ITransmissionAnalogModelgetAnalogModel () const override
 Returns the analog model of the transmitted signal. More...
 
virtual const cPacket * getPhyFrame () const override
 Returns the PHY frame corresponding to this transmission. More...
 
virtual const cPacket * getMacFrame () const override
 Returns the MAC frame corresponding to this transmission. More...
 
- Public Member Functions inherited from inet::physicallayer::TransmissionBase
 TransmissionBase (const IRadio *transmitter, const cPacket *macFrame, const simtime_t startTime, const simtime_t endTime, const simtime_t preambleDuration, const simtime_t headerDuration, const simtime_t dataDuration, const Coord startPosition, const Coord endPosition, const EulerAngles startOrientation, const EulerAngles endOrientation)
 
virtual int getId () const override
 Returns an identifier for this transmission which is globally unique for the whole lifetime of the simulation among all transmissions. More...
 
virtual const IRadiogetTransmitter () const override
 Returns the transmitter that transmitted this radio signal on the radio channel. More...
 
virtual const simtime_t getStartTime () const override
 Returns the time when the transmitter started this transmission. More...
 
virtual const simtime_t getEndTime () const override
 Returns the time when the transmitter ended this transmission. More...
 
virtual const simtime_t getStartTime (IRadioSignal::SignalPart part) const override
 
virtual const simtime_t getEndTime (IRadioSignal::SignalPart part) const override
 
virtual const simtime_t getPreambleStartTime () const override
 
virtual const simtime_t getPreambleEndTime () const override
 
virtual const simtime_t getHeaderStartTime () const override
 
virtual const simtime_t getHeaderEndTime () const override
 
virtual const simtime_t getDataStartTime () const override
 
virtual const simtime_t getDataEndTime () const override
 
virtual const simtime_t getDuration () const override
 Returns the total length of this transmission. More...
 
virtual const simtime_t getDuration (IRadioSignal::SignalPart part) const override
 Returns the length of the provided part of this transmission. More...
 
virtual const simtime_t getPreambleDuration () const override
 Returns the length of the preamble part of this transmission. More...
 
virtual const simtime_t getHeaderDuration () const override
 Returns the length of the header part of this transmission. More...
 
virtual const simtime_t getDataDuration () const override
 Returns the length of the data part of this transmission. More...
 
virtual const Coord getStartPosition () const override
 Returns the antenna's position when the transmitter started this transmission. More...
 
virtual const Coord getEndPosition () const override
 Returns the antenna's position when the transmitter ended this transmission. More...
 
virtual const EulerAngles getStartOrientation () const override
 Returns the antenna's orientation when the transmitter started this transmission. More...
 
virtual const EulerAngles getEndOrientation () const override
 Returns the antenna's orientation when the transmitter ended this transmission. More...
 
- Public Member Functions inherited from inet::physicallayer::IPrintableObject
virtual ~IPrintableObject ()
 
virtual std::string getInfoStringRepresentation () const
 
virtual std::string getDetailStringRepresentation () const
 
virtual std::string getDebugStringRepresentation () const
 
virtual std::string getTraceStringRepresentation () const
 
virtual std::string getCompleteStringRepresentation () const
 

Protected Attributes

const ITransmissionPacketModelpacketModel
 
const ITransmissionBitModelbitModel
 
const ITransmissionSymbolModelsymbolModel
 
const ITransmissionSampleModelsampleModel
 
const ITransmissionAnalogModelanalogModel
 
- Protected Attributes inherited from inet::physicallayer::TransmissionBase
const int id
 
const IRadiotransmitter
 
const cPacket * macFrame
 
const simtime_t startTime
 
const simtime_t endTime
 
const simtime_t preambleDuration
 
const simtime_t headerDuration
 
const simtime_t dataDuration
 
const Coord startPosition
 
const Coord endPosition
 
const EulerAngles startOrientation
 
const EulerAngles endOrientation
 

Additional Inherited Members

- Public Types inherited from inet::physicallayer::IPrintableObject
enum  PrintLevel {
  PRINT_LEVEL_TRACE, PRINT_LEVEL_DEBUG, PRINT_LEVEL_DETAIL, PRINT_LEVEL_INFO,
  PRINT_LEVEL_COMPLETE = INT_MIN
}
 
- Static Protected Attributes inherited from inet::physicallayer::ITransmission
static int nextId = 0
 

Constructor & Destructor Documentation

inet::physicallayer::LayeredTransmission::LayeredTransmission ( const ITransmissionPacketModel packetModel,
const ITransmissionBitModel bitModel,
const ITransmissionSymbolModel symbolModel,
const ITransmissionSampleModel sampleModel,
const ITransmissionAnalogModel analogModel,
const IRadio transmitter,
const cPacket *  macFrame,
const simtime_t  startTime,
const simtime_t  endTime,
const simtime_t  preambleDuration,
const simtime_t  headerDuration,
const simtime_t  dataDuration,
const Coord  startPosition,
const Coord  endPosition,
const EulerAngles  startOrientation,
const EulerAngles  endOrientation 
)
24  :
31 {
32 }
const ITransmissionAnalogModel * analogModel
Definition: LayeredTransmission.h:39
const Coord startPosition
Definition: TransmissionBase.h:39
const cPacket * macFrame
Definition: TransmissionBase.h:33
const EulerAngles endOrientation
Definition: TransmissionBase.h:42
const IRadio * transmitter
Definition: TransmissionBase.h:32
const ITransmissionSymbolModel * symbolModel
Definition: LayeredTransmission.h:37
TransmissionBase(const IRadio *transmitter, const cPacket *macFrame, const simtime_t startTime, const simtime_t endTime, const simtime_t preambleDuration, const simtime_t headerDuration, const simtime_t dataDuration, const Coord startPosition, const Coord endPosition, const EulerAngles startOrientation, const EulerAngles endOrientation)
Definition: TransmissionBase.cc:24
const ITransmissionPacketModel * packetModel
Definition: LayeredTransmission.h:35
const Coord endPosition
Definition: TransmissionBase.h:40
const simtime_t startTime
Definition: TransmissionBase.h:34
const simtime_t dataDuration
Definition: TransmissionBase.h:38
const ITransmissionSampleModel * sampleModel
Definition: LayeredTransmission.h:38
const simtime_t preambleDuration
Definition: TransmissionBase.h:36
const simtime_t endTime
Definition: TransmissionBase.h:35
const ITransmissionBitModel * bitModel
Definition: LayeredTransmission.h:36
const EulerAngles startOrientation
Definition: TransmissionBase.h:41
const simtime_t headerDuration
Definition: TransmissionBase.h:37
inet::physicallayer::LayeredTransmission::~LayeredTransmission ( )
virtual
35 {
36  delete packetModel;
37  delete bitModel;
38  delete symbolModel;
39  delete sampleModel;
40  delete analogModel;
41 }
const ITransmissionAnalogModel * analogModel
Definition: LayeredTransmission.h:39
const ITransmissionSymbolModel * symbolModel
Definition: LayeredTransmission.h:37
const ITransmissionPacketModel * packetModel
Definition: LayeredTransmission.h:35
const ITransmissionSampleModel * sampleModel
Definition: LayeredTransmission.h:38
const ITransmissionBitModel * bitModel
Definition: LayeredTransmission.h:36

Member Function Documentation

virtual const cPacket* inet::physicallayer::LayeredTransmission::getMacFrame ( ) const
inlineoverridevirtual

Returns the MAC frame corresponding to this transmission.

This function never returns nullptr.

Reimplemented from inet::physicallayer::TransmissionBase.

54 { return getPhyFrame()->getEncapsulatedPacket(); }
virtual const cPacket * getPhyFrame() const override
Returns the PHY frame corresponding to this transmission.
Definition: LayeredTransmission.h:53
virtual const ITransmissionPacketModel* inet::physicallayer::LayeredTransmission::getPacketModel ( ) const
inlinevirtual
virtual const cPacket* inet::physicallayer::LayeredTransmission::getPhyFrame ( ) const
inlineoverridevirtual

Returns the PHY frame corresponding to this transmission.

This function may return nullptr.

Reimplemented from inet::physicallayer::TransmissionBase.

53 { return packetModel->getPacket(); }
virtual const cPacket * getPacket() const =0
const ITransmissionPacketModel * packetModel
Definition: LayeredTransmission.h:35
virtual const ITransmissionSampleModel* inet::physicallayer::LayeredTransmission::getSampleModel ( ) const
inlinevirtual

Referenced by inet::physicallayer::Ieee80211OFDMErrorModel::computeSampleModel().

50 { return sampleModel; }
const ITransmissionSampleModel * sampleModel
Definition: LayeredTransmission.h:38
std::ostream & inet::physicallayer::LayeredTransmission::printToStream ( std::ostream &  stream,
int  level 
) const
overridevirtual

Prints this object to the provided output stream.

Function calls to operator<< with pointers or references either const or not are all forwarded to this function.

Reimplemented from inet::physicallayer::TransmissionBase.

44 {
45  stream << "LayeredTransmission";
46  if (level <= PRINT_LEVEL_DETAIL)
47  stream << ", packetModel = " << printObjectToString(packetModel, level + 1)
48  << ", bitModel = " << printObjectToString(bitModel, level + 1)
49  << ", symbolModel = " << printObjectToString(symbolModel, level + 1)
50  << ", sampleModel = " << printObjectToString(sampleModel, level + 1)
51  << ", analogModel = " << printObjectToString(analogModel, level + 1);
52  return TransmissionBase::printToStream(stream, level);
53 }
const ITransmissionAnalogModel * analogModel
Definition: LayeredTransmission.h:39
std::string printObjectToString(const IPrintableObject *object, int level)
Definition: IPrintableObject.h:73
const ITransmissionSymbolModel * symbolModel
Definition: LayeredTransmission.h:37
const ITransmissionPacketModel * packetModel
Definition: LayeredTransmission.h:35
const ITransmissionSampleModel * sampleModel
Definition: LayeredTransmission.h:38
virtual std::ostream & printToStream(std::ostream &stream, int level) const override
Prints this object to the provided output stream.
Definition: TransmissionBase.cc:40
const ITransmissionBitModel * bitModel
Definition: LayeredTransmission.h:36

Member Data Documentation

const ITransmissionAnalogModel* inet::physicallayer::LayeredTransmission::analogModel
protected
const ITransmissionBitModel* inet::physicallayer::LayeredTransmission::bitModel
protected
const ITransmissionPacketModel* inet::physicallayer::LayeredTransmission::packetModel
protected
const ITransmissionSampleModel* inet::physicallayer::LayeredTransmission::sampleModel
protected
const ITransmissionSymbolModel* inet::physicallayer::LayeredTransmission::symbolModel
protected

The documentation for this class was generated from the following files: