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

#include <MediumLimitCache.h>

Inheritance diagram for inet::physicallayer::MediumLimitCache:
inet::physicallayer::IMediumLimitCache inet::IPrintableObject

Public Member Functions

Query limits
virtual Coord getMinConstraintArea () const override
 Returns the minimum possible position among the radios, the coordinate values are in the range (-infinity, +infinity) or NaN if unspecified. More...
 
virtual Coord getMaxConstraintArea () const override
 Returns the maximum possible position among the radios, the coordinate values are in the range (-infinity, +infinity) or NaN if unspecified. More...
 
virtual mps getMaxSpeed () const override
 Returns the maximum possible speed among the radios, the value is in the range [0, +infinity) or NaN if unspecified. More...
 
virtual W getMaxTransmissionPower () const override
 Returns the maximum possible transmission power among the radios, the value is in the range [0, +infinity) or NaN if unspecified. More...
 
virtual W getMinInterferencePower () const override
 Returns the minimum possible interference power among the radios, the value is in the range [0, +infinity) or NaN if unspecified. More...
 
virtual W getMinReceptionPower () const override
 Returns the minimum possible reception power among the radios, the value is in the range [0, +infinity) or NaN if unspecified. More...
 
virtual double getMaxAntennaGain () const override
 Returns the maximum possible antenna gain among the radios, the value is in the range [1, +infinity) or NaN if unspecified. More...
 
virtual const simtime_t & getMinInterferenceTime () const override
 Returns the minimum required signal interference time among the radios, the value is in the range [0, +infinity) or NaN if unspecified. More...
 
virtual const simtime_t & getMaxTransmissionDuration () const override
 Returns the maximum possible transmission durations among the radios, the value is in the range [0, +infinity) or NaN if unspecified. More...
 
virtual m getMaxCommunicationRange () const override
 Returns the maximum possible communication range among the radios, the value is in the range [0, +infinity) or NaN if unspecified. More...
 
virtual m getMaxInterferenceRange () const override
 Returns the maximum possible interference range among the radios, the value is in the range [0, +infinity) or NaN if unspecified. More...
 
virtual m getMaxCommunicationRange (const IRadio *radio) const override
 Returns the maximum possible communication range for a given radio, the value is in the range [0, +infinity) or NaN if unspecified. More...
 
virtual m getMaxInterferenceRange (const IRadio *radio) const override
 Returns the maximum possible interference range for a given radio, the value is in the range [0, +infinity) or NaN if unspecified. 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 IRadioMediumradioMedium
 The corresponding radio medium is never nullptr. More...
 
std::vector< const IRadio * > radios
 The list of communicating radios on the medium. More...
 

Various radio medium limits.

Coord minConstraintArea
 The constraint area minimum among the radios is in the range [-infinity, +infinity] or NaN if unspecified. More...
 
Coord maxConstraintArea
 The constraint area maximum among the radios is in the range [-infinity, +infinity] or NaN if unspecified. More...
 
mps maxSpeed
 The maximum speed among the radios is in the range [0, +infinity) or NaN if unspecified. More...
 
W maxTransmissionPower
 The maximum transmission power among the radio transmitters is in the range [0, +infinity) or NaN if unspecified. More...
 
W minInterferencePower
 The minimum interference power among the radio receivers is in the range [0, +infinity) or NaN if unspecified. More...
 
W minReceptionPower
 The minimum reception power among the radio receivers is in the range [0, +infinity) or NaN if unspecified. More...
 
double maxAntennaGain
 The maximum gain among the radio antennas is in the range [1, +infinity). More...
 
simtime_t minInterferenceTime
 The minimum overlapping in time needed to consider two transmissions interfering. More...
 
simtime_t maxTransmissionDuration
 The maximum transmission duration of a radio signal. More...
 
m maxCommunicationRange
 The maximum communication range where a transmission can still be potentially successfully received is in the range [0, +infinity) or NaN if unspecified. More...
 
m maxInterferenceRange
 The maximum interference range where a transmission is still considered to some effect on other transmissions is in the range [0, +infinity) or NaN if unspecified. More...
 
virtual int numInitStages () const override
 
virtual void initialize (int stage) override
 

Compute limits

virtual Coord computeMinConstraintArea () const
 
virtual Coord computeMaxConstreaintArea () const
 
virtual mps computeMaxSpeed () const
 
virtual W computeMaxTransmissionPower () const
 
virtual W computeMinInterferencePower () const
 
virtual W computeMinReceptionPower () const
 
virtual double computeMaxAntennaGain () const
 
virtual const simtime_t computeMinInterferenceTime () const
 
virtual const simtime_t computeMaxTransmissionDuration () const
 
virtual m computeMaxRange (W maxTransmissionPower, W minReceptionPower) const
 
virtual m computeMaxCommunicationRange () const
 
virtual m computeMaxInterferenceRange () const
 
virtual void updateLimits ()
 
 MediumLimitCache ()
 
virtual std::ostream & printToStream (std::ostream &stream, int level, int evFlags=0) const override
 Prints this object to the provided output stream. More...
 
virtual void addRadio (const IRadio *radio) override
 Notifies the cache when a radio is added to the medium. More...
 
virtual void removeRadio (const IRadio *radio) override
 Notifies the cache when a radio is removed from the medium. More...
 

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

◆ MediumLimitCache()

inet::physicallayer::MediumLimitCache::MediumLimitCache ( )

Member Function Documentation

◆ addRadio()

void inet::physicallayer::MediumLimitCache::addRadio ( const IRadio radio)
overridevirtual

Notifies the cache when a radio is added to the medium.

Implements inet::physicallayer::IMediumLimitCache.

121 {
122  radios.push_back(radio);
123  updateLimits();
124 }

◆ computeMaxAntennaGain()

double inet::physicallayer::MediumLimitCache::computeMaxAntennaGain ( ) const
protectedvirtual
173 {
174  double maxAntennaGain = math::dB2fraction(par("maxAntennaGain"));
175  for (const auto radio : radios) {
176  if (radio != nullptr)
177  maxAntennaGain = maxIgnoreNaN(maxAntennaGain, radio->getAntenna()->getGain()->getMaxGain());
178  }
179  return maxAntennaGain;
180 }

Referenced by updateLimits().

◆ computeMaxCommunicationRange()

m inet::physicallayer::MediumLimitCache::computeMaxCommunicationRange ( ) const
protectedvirtual
191 {
192  return maxIgnoreNaN(m(par("maxCommunicationRange")), computeMaxRange(maxTransmissionPower, minReceptionPower));
193 }

Referenced by updateLimits().

◆ computeMaxConstreaintArea()

Coord inet::physicallayer::MediumLimitCache::computeMaxConstreaintArea ( ) const
protectedvirtual
223 {
225  for (const auto radio : radios) {
226  if (radio != nullptr) {
227  const IMobility *mobility = radio->getAntenna()->getMobility();
228  maxConstraintArea = maxConstraintArea.max(mobility->getConstraintAreaMax());
229  }
230  }
231  return maxConstraintArea;
232 }

Referenced by updateLimits().

◆ computeMaxInterferenceRange()

m inet::physicallayer::MediumLimitCache::computeMaxInterferenceRange ( ) const
protectedvirtual
196 {
197  return maxIgnoreNaN(m(par("maxInterferenceRange")), computeMaxRange(maxTransmissionPower, minInterferencePower));
198 }

Referenced by updateLimits().

◆ computeMaxRange()

m inet::physicallayer::MediumLimitCache::computeMaxRange ( W  maxTransmissionPower,
W  minReceptionPower 
) const
protectedvirtual
183 {
184  // TODO this is NaN by default
185  Hz centerFrequency = Hz(par("centerFrequency"));
187  return radioMedium->getPathLoss()->computeRange(radioMedium->getPropagation()->getPropagationSpeed(), centerFrequency, loss);
188 }

Referenced by computeMaxCommunicationRange(), computeMaxInterferenceRange(), getMaxCommunicationRange(), and getMaxInterferenceRange().

◆ computeMaxSpeed()

mps inet::physicallayer::MediumLimitCache::computeMaxSpeed ( ) const
protectedvirtual
133 {
134  mps maxSpeed = mps(par("maxSpeed"));
135  for (const auto radio : radios) {
136  if (radio != nullptr)
137  maxSpeed = maxIgnoreNaN(maxSpeed, mps(radio->getAntenna()->getMobility()->getMaxSpeed()));
138  }
139  return maxSpeed;
140 }

Referenced by updateLimits().

◆ computeMaxTransmissionDuration()

const simtime_t inet::physicallayer::MediumLimitCache::computeMaxTransmissionDuration ( ) const
protectedvirtual
206 {
207  return simtime_t(par("maxTransmissionDuration"));
208 }

Referenced by updateLimits().

◆ computeMaxTransmissionPower()

W inet::physicallayer::MediumLimitCache::computeMaxTransmissionPower ( ) const
protectedvirtual
143 {
144  W maxTransmissionPower = W(par("maxTransmissionPower"));
145  for (const auto radio : radios) {
146  if (radio != nullptr)
147  maxTransmissionPower = maxIgnoreNaN(maxTransmissionPower, radio->getTransmitter()->getMaxPower());
148  }
149  return maxTransmissionPower;
150 }

Referenced by updateLimits().

◆ computeMinConstraintArea()

Coord inet::physicallayer::MediumLimitCache::computeMinConstraintArea ( ) const
protectedvirtual
211 {
213  for (const auto radio : radios) {
214  if (radio != nullptr) {
215  const IMobility *mobility = radio->getAntenna()->getMobility();
216  minConstraintArea = minConstraintArea.min(mobility->getConstraintAreaMin());
217  }
218  }
219  return minConstraintArea;
220 }

Referenced by updateLimits().

◆ computeMinInterferencePower()

W inet::physicallayer::MediumLimitCache::computeMinInterferencePower ( ) const
protectedvirtual
153 {
154  W minInterferencePower = mW(math::dBmW2mW(par("minInterferencePower")));
155  for (const auto radio : radios) {
156  if (radio != nullptr && radio->getReceiver() != nullptr)
157  minInterferencePower = minIgnoreNaN(minInterferencePower, radio->getReceiver()->getMinInterferencePower());
158  }
159  return minInterferencePower;
160 }

Referenced by updateLimits().

◆ computeMinInterferenceTime()

const simtime_t inet::physicallayer::MediumLimitCache::computeMinInterferenceTime ( ) const
protectedvirtual
201 {
202  return simtime_t(par("minInterferenceTime"));
203 }

Referenced by updateLimits().

◆ computeMinReceptionPower()

W inet::physicallayer::MediumLimitCache::computeMinReceptionPower ( ) const
protectedvirtual
163 {
164  W minReceptionPower = mW(math::dBmW2mW(par("minReceptionPower")));
165  for (const auto radio : radios) {
166  if (radio != nullptr && radio->getReceiver() != nullptr)
167  minReceptionPower = minIgnoreNaN(minReceptionPower, radio->getReceiver()->getMinReceptionPower());
168  }
169  return minReceptionPower;
170 }

Referenced by updateLimits().

◆ getMaxAntennaGain()

virtual double inet::physicallayer::MediumLimitCache::getMaxAntennaGain ( ) const
inlineoverridevirtual

Returns the maximum possible antenna gain among the radios, the value is in the range [1, +infinity) or NaN if unspecified.

Implements inet::physicallayer::IMediumLimitCache.

136 { return maxAntennaGain; }

◆ getMaxCommunicationRange() [1/2]

virtual m inet::physicallayer::MediumLimitCache::getMaxCommunicationRange ( ) const
inlineoverridevirtual

Returns the maximum possible communication range among the radios, the value is in the range [0, +infinity) or NaN if unspecified.

Implements inet::physicallayer::IMediumLimitCache.

141 { return maxCommunicationRange; }

◆ getMaxCommunicationRange() [2/2]

m inet::physicallayer::MediumLimitCache::getMaxCommunicationRange ( const IRadio radio) const
overridevirtual

Returns the maximum possible communication range for a given radio, the value is in the range [0, +infinity) or NaN if unspecified.

Implements inet::physicallayer::IMediumLimitCache.

243 {
244  m maxCommunicationRange = computeMaxRange(radio->getTransmitter()->getMaxPower(), minReceptionPower);
245  if (!std::isnan(maxCommunicationRange.get()))
246  return maxCommunicationRange;
247  return radio->getTransmitter()->getMaxCommunicationRange();
248 }

◆ getMaxConstraintArea()

virtual Coord inet::physicallayer::MediumLimitCache::getMaxConstraintArea ( ) const
inlineoverridevirtual

Returns the maximum possible position among the radios, the coordinate values are in the range (-infinity, +infinity) or NaN if unspecified.

Implements inet::physicallayer::IMediumLimitCache.

128 { return maxConstraintArea; }

◆ getMaxInterferenceRange() [1/2]

virtual m inet::physicallayer::MediumLimitCache::getMaxInterferenceRange ( ) const
inlineoverridevirtual

Returns the maximum possible interference range among the radios, the value is in the range [0, +infinity) or NaN if unspecified.

Implements inet::physicallayer::IMediumLimitCache.

142 { return maxInterferenceRange; }

◆ getMaxInterferenceRange() [2/2]

m inet::physicallayer::MediumLimitCache::getMaxInterferenceRange ( const IRadio radio) const
overridevirtual

Returns the maximum possible interference range for a given radio, the value is in the range [0, +infinity) or NaN if unspecified.

Implements inet::physicallayer::IMediumLimitCache.

235 {
236  m maxInterferenceRange = computeMaxRange(radio->getTransmitter()->getMaxPower(), minInterferencePower);
237  if (!std::isnan(maxInterferenceRange.get()))
238  return maxInterferenceRange;
239  return radio->getTransmitter()->getMaxInterferenceRange();
240 }

◆ getMaxSpeed()

virtual mps inet::physicallayer::MediumLimitCache::getMaxSpeed ( ) const
inlineoverridevirtual

Returns the maximum possible speed among the radios, the value is in the range [0, +infinity) or NaN if unspecified.

Implements inet::physicallayer::IMediumLimitCache.

130 { return maxSpeed; }

◆ getMaxTransmissionDuration()

virtual const simtime_t& inet::physicallayer::MediumLimitCache::getMaxTransmissionDuration ( ) const
inlineoverridevirtual

Returns the maximum possible transmission durations among the radios, the value is in the range [0, +infinity) or NaN if unspecified.

Implements inet::physicallayer::IMediumLimitCache.

139 { return maxTransmissionDuration; }

◆ getMaxTransmissionPower()

virtual W inet::physicallayer::MediumLimitCache::getMaxTransmissionPower ( ) const
inlineoverridevirtual

Returns the maximum possible transmission power among the radios, the value is in the range [0, +infinity) or NaN if unspecified.

Implements inet::physicallayer::IMediumLimitCache.

132 { return maxTransmissionPower; }

◆ getMinConstraintArea()

virtual Coord inet::physicallayer::MediumLimitCache::getMinConstraintArea ( ) const
inlineoverridevirtual

Returns the minimum possible position among the radios, the coordinate values are in the range (-infinity, +infinity) or NaN if unspecified.

Implements inet::physicallayer::IMediumLimitCache.

127 { return minConstraintArea; }

◆ getMinInterferencePower()

virtual W inet::physicallayer::MediumLimitCache::getMinInterferencePower ( ) const
inlineoverridevirtual

Returns the minimum possible interference power among the radios, the value is in the range [0, +infinity) or NaN if unspecified.

Implements inet::physicallayer::IMediumLimitCache.

133 { return minInterferencePower; }

◆ getMinInterferenceTime()

virtual const simtime_t& inet::physicallayer::MediumLimitCache::getMinInterferenceTime ( ) const
inlineoverridevirtual

Returns the minimum required signal interference time among the radios, the value is in the range [0, +infinity) or NaN if unspecified.

Implements inet::physicallayer::IMediumLimitCache.

138 { return minInterferenceTime; }

◆ getMinReceptionPower()

virtual W inet::physicallayer::MediumLimitCache::getMinReceptionPower ( ) const
inlineoverridevirtual

Returns the minimum possible reception power among the radios, the value is in the range [0, +infinity) or NaN if unspecified.

Implements inet::physicallayer::IMediumLimitCache.

134 { return minReceptionPower; }

◆ initialize()

void inet::physicallayer::MediumLimitCache::initialize ( int  stage)
overrideprotectedvirtual
70 {
71  if (stage == INITSTAGE_LOCAL) {
72  radioMedium = check_and_cast<IRadioMedium *>(getParentModule());
73  WATCH(minConstraintArea);
74  WATCH(maxConstraintArea);
75  WATCH(maxSpeed);
76  WATCH(maxTransmissionPower);
77  WATCH(minInterferencePower);
78  WATCH(minReceptionPower);
79  WATCH(maxAntennaGain);
80  WATCH(minInterferenceTime);
82  WATCH(maxCommunicationRange);
83  WATCH(maxInterferenceRange);
84  }
85 }

◆ numInitStages()

virtual int inet::physicallayer::MediumLimitCache::numInitStages ( ) const
inlineoverrideprotectedvirtual
91 { return NUM_INIT_STAGES; }

◆ printToStream()

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

Prints this object to the provided output stream.

Reimplemented from inet::IPrintableObject.

88 {
89  stream << "RadioMediumLimits";
90  if (level <= PRINT_LEVEL_TRACE)
91  stream << EV_FIELD(minConstraintArea)
93  << EV_FIELD(maxSpeed)
102  return stream;
103 }

◆ removeRadio()

void inet::physicallayer::MediumLimitCache::removeRadio ( const IRadio radio)
overridevirtual

Notifies the cache when a radio is removed from the medium.

Implements inet::physicallayer::IMediumLimitCache.

127 {
128  radios.erase(std::remove(radios.begin(), radios.end(), radio), radios.end());
129  updateLimits();
130 }

◆ updateLimits()

Member Data Documentation

◆ maxAntennaGain

double inet::physicallayer::MediumLimitCache::maxAntennaGain
protected

The maximum gain among the radio antennas is in the range [1, +infinity).

Referenced by computeMaxAntennaGain(), computeMaxRange(), initialize(), printToStream(), and updateLimits().

◆ maxCommunicationRange

m inet::physicallayer::MediumLimitCache::maxCommunicationRange
protected

The maximum communication range where a transmission can still be potentially successfully received is in the range [0, +infinity) or NaN if unspecified.

Referenced by getMaxCommunicationRange(), initialize(), printToStream(), and updateLimits().

◆ maxConstraintArea

Coord inet::physicallayer::MediumLimitCache::maxConstraintArea
protected

The constraint area maximum among the radios is in the range [-infinity, +infinity] or NaN if unspecified.

Referenced by computeMaxConstreaintArea(), initialize(), printToStream(), and updateLimits().

◆ maxInterferenceRange

m inet::physicallayer::MediumLimitCache::maxInterferenceRange
protected

The maximum interference range where a transmission is still considered to some effect on other transmissions is in the range [0, +infinity) or NaN if unspecified.

Referenced by getMaxInterferenceRange(), initialize(), printToStream(), and updateLimits().

◆ maxSpeed

mps inet::physicallayer::MediumLimitCache::maxSpeed
protected

The maximum speed among the radios is in the range [0, +infinity) or NaN if unspecified.

Referenced by computeMaxSpeed(), initialize(), printToStream(), and updateLimits().

◆ maxTransmissionDuration

simtime_t inet::physicallayer::MediumLimitCache::maxTransmissionDuration
protected

The maximum transmission duration of a radio signal.

Referenced by initialize(), printToStream(), and updateLimits().

◆ maxTransmissionPower

W inet::physicallayer::MediumLimitCache::maxTransmissionPower
protected

The maximum transmission power among the radio transmitters is in the range [0, +infinity) or NaN if unspecified.

Referenced by computeMaxCommunicationRange(), computeMaxInterferenceRange(), computeMaxRange(), computeMaxTransmissionPower(), initialize(), printToStream(), and updateLimits().

◆ minConstraintArea

Coord inet::physicallayer::MediumLimitCache::minConstraintArea
protected

The constraint area minimum among the radios is in the range [-infinity, +infinity] or NaN if unspecified.

Referenced by computeMinConstraintArea(), initialize(), printToStream(), and updateLimits().

◆ minInterferencePower

W inet::physicallayer::MediumLimitCache::minInterferencePower
protected

The minimum interference power among the radio receivers is in the range [0, +infinity) or NaN if unspecified.

Referenced by computeMaxInterferenceRange(), computeMinInterferencePower(), getMaxInterferenceRange(), initialize(), printToStream(), and updateLimits().

◆ minInterferenceTime

simtime_t inet::physicallayer::MediumLimitCache::minInterferenceTime
protected

The minimum overlapping in time needed to consider two transmissions interfering.

Referenced by initialize(), printToStream(), and updateLimits().

◆ minReceptionPower

W inet::physicallayer::MediumLimitCache::minReceptionPower
protected

The minimum reception power among the radio receivers is in the range [0, +infinity) or NaN if unspecified.

Referenced by computeMaxCommunicationRange(), computeMaxRange(), computeMinReceptionPower(), getMaxCommunicationRange(), initialize(), printToStream(), and updateLimits().

◆ radioMedium

const IRadioMedium* inet::physicallayer::MediumLimitCache::radioMedium
protected

The corresponding radio medium is never nullptr.

Referenced by computeMaxRange(), and initialize().

◆ radios

std::vector<const IRadio *> inet::physicallayer::MediumLimitCache::radios
protected

The documentation for this class was generated from the following files:
inet::physicallayer::MediumLimitCache::maxAntennaGain
double maxAntennaGain
The maximum gain among the radio antennas is in the range [1, +infinity).
Definition: MediumLimitCache.h:64
inet::physicallayer::MediumLimitCache::radios
std::vector< const IRadio * > radios
The list of communicating radios on the medium.
Definition: MediumLimitCache.h:28
inet::Coord::min
Coord min(const Coord &a) const
Returns the minimal coordinates.
Definition: Coord.h:310
inet::physicallayer::minIgnoreNaN
T minIgnoreNaN(T a, T b)
Definition: MediumLimitCache.cc:17
inet::physicallayer::IRadioMedium::getPathLoss
virtual const IPathLoss * getPathLoss() const =0
Returns the signal path loss model of this medium.
inet::units::units::Hz
pow< s, -1 > Hz
Definition: Units.h:935
inet::units::units::mps
compose< m, pow< s, -1 > > mps
Definition: Units.h:1151
inet::Coord::max
Coord max(const Coord &a) const
Returns the maximal coordinates.
Definition: Coord.h:317
inet::math::dBmW2mW
double dBmW2mW(double dBm)
Converts a dBmW value to mW.
Definition: INETMath.h:163
inet::physicallayer::MediumLimitCache::maxSpeed
mps maxSpeed
The maximum speed among the radios is in the range [0, +infinity) or NaN if unspecified.
Definition: MediumLimitCache.h:45
inet::remove
void remove(std::vector< T > &v, const Tk &a)
Definition: stlutils.h:107
inet::units::units::W
compose< J, pow< s, -1 > > W
Definition: Units.h:939
inet::physicallayer::IPropagation::getPropagationSpeed
virtual mps getPropagationSpeed() const =0
Returns the theoretical propagation speed of radio signals in the range (0, +infinity).
inet::physicallayer::MediumLimitCache::computeMaxAntennaGain
virtual double computeMaxAntennaGain() const
Definition: MediumLimitCache.cc:172
inet::physicallayer::MediumLimitCache::maxConstraintArea
Coord maxConstraintArea
The constraint area maximum among the radios is in the range [-infinity, +infinity] or NaN if unspeci...
Definition: MediumLimitCache.h:40
inet::units::units::mW
milli< W >::type mW
Definition: Units.h:1080
inet::physicallayer::MediumLimitCache::radioMedium
const IRadioMedium * radioMedium
The corresponding radio medium is never nullptr.
Definition: MediumLimitCache.h:23
inet::physicallayer::IRadioMedium::getPropagation
virtual const IPropagation * getPropagation() const =0
Returns the signal propagation model of this medium.
inet::physicallayer::MediumLimitCache::updateLimits
virtual void updateLimits()
Definition: MediumLimitCache.cc:105
inet::physicallayer::MediumLimitCache::minInterferencePower
W minInterferencePower
The minimum interference power among the radio receivers is in the range [0, +infinity) or NaN if uns...
Definition: MediumLimitCache.h:55
inet::physicallayer::MediumLimitCache::computeMaxInterferenceRange
virtual m computeMaxInterferenceRange() const
Definition: MediumLimitCache.cc:195
inet::physicallayer::IPathLoss::computeRange
virtual m computeRange(mps propagationSpeed, Hz frequency, double loss) const =0
Returns the range for the given loss factor.
EV_FIELD
#define EV_FIELD(...)
Definition: INETDefs.h:112
inet::math::dB2fraction
double dB2fraction(double dB)
Converts a dB value to fraction.
Definition: INETMath.h:153
inet::physicallayer::MediumLimitCache::computeMaxTransmissionDuration
virtual const simtime_t computeMaxTransmissionDuration() const
Definition: MediumLimitCache.cc:205
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::physicallayer::MediumLimitCache::computeMaxSpeed
virtual mps computeMaxSpeed() const
Definition: MediumLimitCache.cc:132
inet::IPrintableObject::PRINT_LEVEL_TRACE
@ PRINT_LEVEL_TRACE
Definition: IPrintableObject.h:22
NUM_INIT_STAGES
#define NUM_INIT_STAGES
Definition: InitStageRegistry.h:73
inet::physicallayer::MediumLimitCache::computeMaxConstreaintArea
virtual Coord computeMaxConstreaintArea() const
Definition: MediumLimitCache.cc:222
inet::units::unit
pow< internal::none, 0 > unit
Definition: Units.h:72
inet::physicallayer::MediumLimitCache::maxInterferenceRange
m maxInterferenceRange
The maximum interference range where a transmission is still considered to some effect on other trans...
Definition: MediumLimitCache.h:87
inet::physicallayer::MediumLimitCache::computeMinInterferenceTime
virtual const simtime_t computeMinInterferenceTime() const
Definition: MediumLimitCache.cc:200
inet::physicallayer::MediumLimitCache::computeMinReceptionPower
virtual W computeMinReceptionPower() const
Definition: MediumLimitCache.cc:162
inet::physicallayer::MediumLimitCache::minReceptionPower
W minReceptionPower
The minimum reception power among the radio receivers is in the range [0, +infinity) or NaN if unspec...
Definition: MediumLimitCache.h:60
inet::physicallayer::MediumLimitCache::minConstraintArea
Coord minConstraintArea
The constraint area minimum among the radios is in the range [-infinity, +infinity] or NaN if unspeci...
Definition: MediumLimitCache.h:35
inet::units::value::get
const value_type & get() const
Definition: Units.h:108
inet::physicallayer::MediumLimitCache::computeMinInterferencePower
virtual W computeMinInterferencePower() const
Definition: MediumLimitCache.cc:152
inet::Coord::NIL
static const Coord NIL
Constant with all values set to 0.
Definition: Coord.h:26
inet::physicallayer::MediumLimitCache::computeMaxTransmissionPower
virtual W computeMaxTransmissionPower() const
Definition: MediumLimitCache.cc:142
inet::physicallayer::MediumLimitCache::maxTransmissionDuration
simtime_t maxTransmissionDuration
The maximum transmission duration of a radio signal.
Definition: MediumLimitCache.h:75
inet::physicallayer::MediumLimitCache::computeMinConstraintArea
virtual Coord computeMinConstraintArea() const
Definition: MediumLimitCache.cc:210
inet::physicallayer::maxIgnoreNaN
T maxIgnoreNaN(T a, T b)
Definition: MediumLimitCache.cc:29
inet::units::values::m
value< double, units::m > m
Definition: Units.h:1233
inet::physicallayer::MediumLimitCache::computeMaxCommunicationRange
virtual m computeMaxCommunicationRange() const
Definition: MediumLimitCache.cc:190
inet::physicallayer::MediumLimitCache::computeMaxRange
virtual m computeMaxRange(W maxTransmissionPower, W minReceptionPower) const
Definition: MediumLimitCache.cc:182
inet::physicallayer::MediumLimitCache::minInterferenceTime
simtime_t minInterferenceTime
The minimum overlapping in time needed to consider two transmissions interfering.
Definition: MediumLimitCache.h:70
inet::physicallayer::MediumLimitCache::maxCommunicationRange
m maxCommunicationRange
The maximum communication range where a transmission can still be potentially successfully received i...
Definition: MediumLimitCache.h:81
inet::physicallayer::MediumLimitCache::maxTransmissionPower
W maxTransmissionPower
The maximum transmission power among the radio transmitters is in the range [0, +infinity) or NaN if ...
Definition: MediumLimitCache.h:50