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

#include <ReceptionBase.h>

Inheritance diagram for inet::physicallayer::ReceptionBase:
inet::physicallayer::IReception inet::physicallayer::IReceptionAnalogModel inet::IPrintableObject inet::physicallayer::ISignalAnalogModel inet::IPrintableObject inet::physicallayer::LayeredReception inet::physicallayer::NarrowbandReceptionBase inet::physicallayer::UnitDiskReception inet::physicallayer::FlatReceptionBase inet::physicallayer::DimensionalReception inet::physicallayer::ScalarReception

Public Member Functions

 ReceptionBase (const IRadio *receiver, const ITransmission *transmission, const simtime_t startTime, const simtime_t endTime, const Coord &startPosition, const Coord &endPosition, const Quaternion &startOrientation, const Quaternion &endOrientation)
 
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 IRadiogetReceiver () const override
 Returns the receiver that received the corresponding transmission from the radio medium. More...
 
virtual const ITransmissiongetTransmission () const override
 Returns the transmission that corresponds to this reception at the receiver. More...
 
virtual const simtime_t getStartTime () const override
 Returns the time when the receiver started to receive the corresponding transmission. More...
 
virtual const simtime_t getEndTime () const override
 Returns the time when the receiver ended to receive the corresponding 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 reception. More...
 
virtual const simtime_t getDuration (IRadioSignal::SignalPart part) const override
 Returns the length of the provided part of this reception. More...
 
virtual const simtime_t getPreambleDuration () const override
 Returns the length of the preamble part of this reception. More...
 
virtual const simtime_t getHeaderDuration () const override
 Returns the length of the header part of this reception. More...
 
virtual const simtime_t getDataDuration () const override
 Returns the length of the data part of this reception. More...
 
virtual const CoordgetStartPosition () const override
 Returns the antenna's position when the receiver started to receive the corresponding transmission. More...
 
virtual const CoordgetEndPosition () const override
 Returns the antenna's position when the receiver ended to receive the corresponding transmission. More...
 
virtual const QuaterniongetStartOrientation () const override
 Returns the antenna's orientation when the receiver started to receive the corresponding transmission. More...
 
virtual const QuaterniongetEndOrientation () const override
 Returns the antenna's orientation when the receiver ended to receive the corresponding transmission. More...
 
virtual const IReceptionAnalogModelgetAnalogModel () const override
 Returns the analog model of the received signal. 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

const IRadioreceiver
 
const ITransmissiontransmission
 
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 Quaternion startOrientation
 
const Quaternion endOrientation
 

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

◆ ReceptionBase()

inet::physicallayer::ReceptionBase::ReceptionBase ( const IRadio receiver,
const ITransmission transmission,
const simtime_t  startTime,
const simtime_t  endTime,
const Coord startPosition,
const Coord endPosition,
const Quaternion startOrientation,
const Quaternion endOrientation 
)

Member Function Documentation

◆ getAnalogModel()

virtual const IReceptionAnalogModel* inet::physicallayer::ReceptionBase::getAnalogModel ( ) const
inlineoverridevirtual

Returns the analog model of the received signal.

Implements inet::physicallayer::IReception.

Reimplemented in inet::physicallayer::LayeredReception.

67 { return check_and_cast<const IReceptionAnalogModel *>(this); }

◆ getDataDuration()

virtual const simtime_t inet::physicallayer::ReceptionBase::getDataDuration ( ) const
inlineoverridevirtual

Returns the length of the data part of this reception.

Implements inet::physicallayer::IReception.

59 { return dataDuration; }

Referenced by getDuration().

◆ getDataEndTime()

virtual const simtime_t inet::physicallayer::ReceptionBase::getDataEndTime ( ) const
inlineoverridevirtual

Implements inet::physicallayer::IReception.

52 { return endTime; }

Referenced by getEndTime().

◆ getDataStartTime()

virtual const simtime_t inet::physicallayer::ReceptionBase::getDataStartTime ( ) const
inlineoverridevirtual

Implements inet::physicallayer::IReception.

51 { return endTime - dataDuration; }

Referenced by getStartTime().

◆ getDuration() [1/2]

virtual const simtime_t inet::physicallayer::ReceptionBase::getDuration ( ) const
inlineoverridevirtual

Returns the total length of this reception.

Implements inet::physicallayer::IReception.

54 { return endTime - startTime; }

Referenced by getDuration().

◆ getDuration() [2/2]

const simtime_t inet::physicallayer::ReceptionBase::getDuration ( IRadioSignal::SignalPart  part) const
overridevirtual

Returns the length of the provided part of this reception.

Implements inet::physicallayer::IReception.

80 {
81  switch (part) {
83  return getDuration();
85  return getPreambleDuration();
87  return getHeaderDuration();
89  return getDataDuration();
90  default:
91  throw cRuntimeError("Unknown signal part: '%s'", IRadioSignal::getSignalPartName(part));
92  }
93 }

◆ getEndOrientation()

virtual const Quaternion& inet::physicallayer::ReceptionBase::getEndOrientation ( ) const
inlineoverridevirtual

Returns the antenna's orientation when the receiver ended to receive the corresponding transmission.

Implements inet::physicallayer::IReception.

65 { return endOrientation; }

◆ getEndPosition()

virtual const Coord& inet::physicallayer::ReceptionBase::getEndPosition ( ) const
inlineoverridevirtual

Returns the antenna's position when the receiver ended to receive the corresponding transmission.

Implements inet::physicallayer::IReception.

62 { return endPosition; }

◆ getEndTime() [1/2]

virtual const simtime_t inet::physicallayer::ReceptionBase::getEndTime ( ) const
inlineoverridevirtual

Returns the time when the receiver ended to receive the corresponding transmission.

It is the end of the last bit's reception.

Implements inet::physicallayer::IReception.

43 { return endTime; }

Referenced by getEndTime().

◆ getEndTime() [2/2]

const simtime_t inet::physicallayer::ReceptionBase::getEndTime ( IRadioSignal::SignalPart  part) const
overridevirtual

Implements inet::physicallayer::IReception.

64 {
65  switch (part) {
67  return getEndTime();
69  return getPreambleEndTime();
71  return getHeaderEndTime();
73  return getDataEndTime();
74  default:
75  throw cRuntimeError("Unknown signal part: '%s'", IRadioSignal::getSignalPartName(part));
76  }
77 }

◆ getHeaderDuration()

virtual const simtime_t inet::physicallayer::ReceptionBase::getHeaderDuration ( ) const
inlineoverridevirtual

Returns the length of the header part of this reception.

Implements inet::physicallayer::IReception.

58 { return headerDuration; }

Referenced by getDuration().

◆ getHeaderEndTime()

virtual const simtime_t inet::physicallayer::ReceptionBase::getHeaderEndTime ( ) const
inlineoverridevirtual

Implements inet::physicallayer::IReception.

50 { return endTime - dataDuration; }

Referenced by getEndTime().

◆ getHeaderStartTime()

virtual const simtime_t inet::physicallayer::ReceptionBase::getHeaderStartTime ( ) const
inlineoverridevirtual

Implements inet::physicallayer::IReception.

49 { return startTime + preambleDuration; }

Referenced by getStartTime().

◆ getPreambleDuration()

virtual const simtime_t inet::physicallayer::ReceptionBase::getPreambleDuration ( ) const
inlineoverridevirtual

Returns the length of the preamble part of this reception.

Implements inet::physicallayer::IReception.

57 { return preambleDuration; }

Referenced by getDuration().

◆ getPreambleEndTime()

virtual const simtime_t inet::physicallayer::ReceptionBase::getPreambleEndTime ( ) const
inlineoverridevirtual

Implements inet::physicallayer::IReception.

48 { return startTime + preambleDuration; }

Referenced by getEndTime().

◆ getPreambleStartTime()

virtual const simtime_t inet::physicallayer::ReceptionBase::getPreambleStartTime ( ) const
inlineoverridevirtual

Implements inet::physicallayer::IReception.

47 { return startTime; }

Referenced by getStartTime().

◆ getReceiver()

virtual const IRadio* inet::physicallayer::ReceptionBase::getReceiver ( ) const
inlineoverridevirtual

Returns the receiver that received the corresponding transmission from the radio medium.

This function never returns nullptr.

Implements inet::physicallayer::IReception.

39 { return receiver; }

◆ getStartOrientation()

virtual const Quaternion& inet::physicallayer::ReceptionBase::getStartOrientation ( ) const
inlineoverridevirtual

Returns the antenna's orientation when the receiver started to receive the corresponding transmission.

Implements inet::physicallayer::IReception.

64 { return startOrientation; }

◆ getStartPosition()

virtual const Coord& inet::physicallayer::ReceptionBase::getStartPosition ( ) const
inlineoverridevirtual

Returns the antenna's position when the receiver started to receive the corresponding transmission.

Implements inet::physicallayer::IReception.

61 { return startPosition; }

◆ getStartTime() [1/2]

virtual const simtime_t inet::physicallayer::ReceptionBase::getStartTime ( ) const
inlineoverridevirtual

Returns the time when the receiver started to receive the corresponding transmission.

It is the start of the first bit's reception.

Implements inet::physicallayer::IReception.

42 { return startTime; }

Referenced by getStartTime().

◆ getStartTime() [2/2]

const simtime_t inet::physicallayer::ReceptionBase::getStartTime ( IRadioSignal::SignalPart  part) const
overridevirtual

Implements inet::physicallayer::IReception.

48 {
49  switch (part) {
51  return getStartTime();
53  return getPreambleStartTime();
55  return getHeaderStartTime();
57  return getDataStartTime();
58  default:
59  throw cRuntimeError("Unknown signal part: '%s'", IRadioSignal::getSignalPartName(part));
60  }
61 }

◆ getTransmission()

virtual const ITransmission* inet::physicallayer::ReceptionBase::getTransmission ( ) const
inlineoverridevirtual

Returns the transmission that corresponds to this reception at the receiver.

This function never returns nullptr.

Implements inet::physicallayer::IReception.

40 { return transmission; }

◆ printToStream()

std::ostream & inet::physicallayer::ReceptionBase::printToStream ( std::ostream &  stream,
int  level,
int  evFlags = 0 
) const
overridevirtual

Member Data Documentation

◆ dataDuration

const simtime_t inet::physicallayer::ReceptionBase::dataDuration
protected

Referenced by printToStream().

◆ endOrientation

const Quaternion inet::physicallayer::ReceptionBase::endOrientation
protected

Referenced by printToStream().

◆ endPosition

const Coord inet::physicallayer::ReceptionBase::endPosition
protected

Referenced by printToStream().

◆ endTime

const simtime_t inet::physicallayer::ReceptionBase::endTime
protected

◆ headerDuration

const simtime_t inet::physicallayer::ReceptionBase::headerDuration
protected

Referenced by printToStream().

◆ preambleDuration

const simtime_t inet::physicallayer::ReceptionBase::preambleDuration
protected

Referenced by printToStream().

◆ receiver

const IRadio* inet::physicallayer::ReceptionBase::receiver
protected

Referenced by printToStream().

◆ startOrientation

const Quaternion inet::physicallayer::ReceptionBase::startOrientation
protected

Referenced by printToStream().

◆ startPosition

const Coord inet::physicallayer::ReceptionBase::startPosition
protected

Referenced by printToStream().

◆ startTime

const simtime_t inet::physicallayer::ReceptionBase::startTime
protected

◆ transmission

const ITransmission* inet::physicallayer::ReceptionBase::transmission
protected

Referenced by printToStream().


The documentation for this class was generated from the following files:
inet::physicallayer::ReceptionBase::getPreambleEndTime
virtual const simtime_t getPreambleEndTime() const override
Definition: ReceptionBase.h:48
inet::physicallayer::ReceptionBase::getPreambleDuration
virtual const simtime_t getPreambleDuration() const override
Returns the length of the preamble part of this reception.
Definition: ReceptionBase.h:57
inet::physicallayer::ReceptionBase::endPosition
const Coord endPosition
Definition: ReceptionBase.h:30
inet::physicallayer::IRadioSignal::SIGNAL_PART_WHOLE
@ SIGNAL_PART_WHOLE
Definition: IRadioSignal.h:26
inet::physicallayer::ReceptionBase::getDuration
virtual const simtime_t getDuration() const override
Returns the total length of this reception.
Definition: ReceptionBase.h:54
inet::physicallayer::ReceptionBase::transmission
const ITransmission * transmission
Definition: ReceptionBase.h:23
inet::IPrintableObject::PRINT_LEVEL_DETAIL
@ PRINT_LEVEL_DETAIL
Definition: IPrintableObject.h:24
inet::physicallayer::ReceptionBase::startTime
const simtime_t startTime
Definition: ReceptionBase.h:24
inet::physicallayer::ReceptionBase::getPreambleStartTime
virtual const simtime_t getPreambleStartTime() const override
Definition: ReceptionBase.h:47
inet::physicallayer::ReceptionBase::startOrientation
const Quaternion startOrientation
Definition: ReceptionBase.h:31
inet::physicallayer::ReceptionBase::headerDuration
const simtime_t headerDuration
Definition: ReceptionBase.h:27
inet::physicallayer::ITransmission::getDataDuration
virtual const simtime_t getDataDuration() const =0
Returns the length of the data part of this transmission.
inet::physicallayer::ITransmission::getHeaderDuration
virtual const simtime_t getHeaderDuration() const =0
Returns the length of the header part of this transmission.
inet::physicallayer::ReceptionBase::preambleDuration
const simtime_t preambleDuration
Definition: ReceptionBase.h:26
inet::physicallayer::ReceptionBase::endTime
const simtime_t endTime
Definition: ReceptionBase.h:25
inet::physicallayer::ITransmission::getPreambleDuration
virtual const simtime_t getPreambleDuration() const =0
Returns the length of the preamble part of this transmission.
inet::physicallayer::ReceptionBase::endOrientation
const Quaternion endOrientation
Definition: ReceptionBase.h:32
inet::physicallayer::ReceptionBase::getHeaderEndTime
virtual const simtime_t getHeaderEndTime() const override
Definition: ReceptionBase.h:50
inet::physicallayer::ReceptionBase::getDataEndTime
virtual const simtime_t getDataEndTime() const override
Definition: ReceptionBase.h:52
inet::physicallayer::IRadioSignal::SIGNAL_PART_HEADER
@ SIGNAL_PART_HEADER
Definition: IRadioSignal.h:28
inet::physicallayer::ReceptionBase::dataDuration
const simtime_t dataDuration
Definition: ReceptionBase.h:28
inet::physicallayer::IRadioSignal::SIGNAL_PART_PREAMBLE
@ SIGNAL_PART_PREAMBLE
Definition: IRadioSignal.h:27
EV_FIELD
#define EV_FIELD(...)
Definition: INETDefs.h:112
inet::physicallayer::ReceptionBase::getDataDuration
virtual const simtime_t getDataDuration() const override
Returns the length of the data part of this reception.
Definition: ReceptionBase.h:59
inet::physicallayer::ReceptionBase::receiver
const IRadio * receiver
Definition: ReceptionBase.h:22
inet::IPrintableObject::PRINT_LEVEL_TRACE
@ PRINT_LEVEL_TRACE
Definition: IPrintableObject.h:22
inet::physicallayer::IRadioSignal::getSignalPartName
static const char * getSignalPartName(SignalPart signalPart)
Returns the name of the provided signal part.
Definition: IRadioSignal.cc:23
inet::physicallayer::IRadioSignal::SIGNAL_PART_DATA
@ SIGNAL_PART_DATA
Definition: IRadioSignal.h:29
inet::physicallayer::ReceptionBase::getHeaderDuration
virtual const simtime_t getHeaderDuration() const override
Returns the length of the header part of this reception.
Definition: ReceptionBase.h:58
inet::physicallayer::IRadio::getId
virtual int getId() const =0
Returns an identifier for this radio which is globally unique for the whole lifetime of the simulatio...
inet::physicallayer::ReceptionBase::startPosition
const Coord startPosition
Definition: ReceptionBase.h:29
inet::physicallayer::ITransmission::getId
virtual int getId() const =0
Returns an identifier for this transmission which is globally unique for the whole lifetime of the si...
inet::physicallayer::ReceptionBase::getHeaderStartTime
virtual const simtime_t getHeaderStartTime() const override
Definition: ReceptionBase.h:49
inet::physicallayer::ReceptionBase::getEndTime
virtual const simtime_t getEndTime() const override
Returns the time when the receiver ended to receive the corresponding transmission.
Definition: ReceptionBase.h:43
inet::physicallayer::ReceptionBase::getStartTime
virtual const simtime_t getStartTime() const override
Returns the time when the receiver started to receive the corresponding transmission.
Definition: ReceptionBase.h:42
inet::physicallayer::ReceptionBase::getDataStartTime
virtual const simtime_t getDataStartTime() const override
Definition: ReceptionBase.h:51