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

#include <PropagationBase.h>

Inheritance diagram for inet::physicallayer::PropagationBase:
inet::physicallayer::IPropagation inet::IPrintableObject inet::physicallayer::ConstantSpeedPropagation inet::physicallayer::ConstantTimePropagation

Public Member Functions

 PropagationBase ()
 
virtual std::ostream & printToStream (std::ostream &stream, int level, int evFlags=0) const override
 Prints this object to the provided output stream. More...
 
virtual mps getPropagationSpeed () const override
 Returns the theoretical propagation speed of radio signals in the range (0, +infinity). More...
 
- Public Member Functions inherited from inet::physicallayer::IPropagation
virtual const IArrivalcomputeArrival (const ITransmission *transmission, IMobility *mobility) const =0
 Returns the time and space coordinates when the transmission arrives at the object that moves with the provided mobility. 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 void finish () override
 

Protected Attributes

mps propagationSpeed
 
long arrivalComputationCount
 

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

◆ PropagationBase()

inet::physicallayer::PropagationBase::PropagationBase ( )
14  :
17 {
18 }

Member Function Documentation

◆ finish()

void inet::physicallayer::PropagationBase::finish ( )
overrideprotectedvirtual
34 {
35  EV_INFO << "Radio signal arrival computation count = " << arrivalComputationCount << endl;
36  recordScalar("Arrival computation count", arrivalComputationCount);
37 }

◆ getPropagationSpeed()

virtual mps inet::physicallayer::PropagationBase::getPropagationSpeed ( ) const
inlineoverridevirtual

Returns the theoretical propagation speed of radio signals in the range (0, +infinity).

The value might be different from the approximation provided by the actual computation of arrival times.

Implements inet::physicallayer::IPropagation.

31 { return propagationSpeed; }

◆ initialize()

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

◆ printToStream()

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

Prints this object to the provided output stream.

Reimplemented from inet::IPrintableObject.

Reimplemented in inet::physicallayer::ConstantSpeedPropagation, and inet::physicallayer::ConstantTimePropagation.

27 {
28  if (level <= PRINT_LEVEL_TRACE)
29  stream << EV_FIELD(propagationSpeed);
30  return stream;
31 }

Referenced by inet::physicallayer::ConstantTimePropagation::printToStream(), and inet::physicallayer::ConstantSpeedPropagation::printToStream().

Member Data Documentation

◆ arrivalComputationCount

long inet::physicallayer::PropagationBase::arrivalComputationCount
mutableprotected

◆ propagationSpeed

mps inet::physicallayer::PropagationBase::propagationSpeed
protected

The documentation for this class was generated from the following files:
inet::units::units::mps
compose< m, pow< s, -1 > > mps
Definition: Units.h:1151
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::PropagationBase::arrivalComputationCount
long arrivalComputationCount
Definition: PropagationBase.h:21
inet::physicallayer::PropagationBase::propagationSpeed
mps propagationSpeed
Definition: PropagationBase.h:20