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

#include <AnalogModelBase.h>

Inheritance diagram for inet::physicallayer::AnalogModelBase:
inet::physicallayer::IAnalogModel inet::IPrintableObject inet::physicallayer::DimensionalAnalogModelBase inet::physicallayer::ScalarAnalogModelBase inet::physicallayer::DimensionalAnalogModel inet::physicallayer::LayeredDimensionalAnalogModel inet::physicallayer::LayeredScalarAnalogModel inet::physicallayer::ScalarAnalogModel

Protected Member Functions

virtual double computeAntennaGain (const IAntennaGain *antenna, const Coord &startPosition, const Coord &endPosition, const Quaternion &startOrientation) const
 

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) }
 
- Public Member Functions inherited from inet::physicallayer::IAnalogModel
virtual const IReceptioncomputeReception (const IRadio *receiver, const ITransmission *transmission, const IArrival *arrival) const =0
 Returns the reception for the provided transmission at the receiver. More...
 
virtual const INoisecomputeNoise (const IListening *listening, const IInterference *interference) const =0
 Returns the total noise summing up all the interfering receptions and noises. More...
 
virtual const INoisecomputeNoise (const IReception *reception, const INoise *noise) const =0
 Returns the total noise summing up all the reception and the noise. More...
 
virtual const ISnircomputeSNIR (const IReception *reception, const INoise *noise) const =0
 Returns the signal to noise and interference ratio. More...
 
- Public Member Functions inherited from inet::IPrintableObject
virtual ~IPrintableObject ()
 
virtual std::ostream & printToStream (std::ostream &stream, int level, int evFlags=0) const
 Prints this object to the provided output stream. More...
 
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
 

Member Function Documentation

◆ computeAntennaGain()

double inet::physicallayer::AnalogModelBase::computeAntennaGain ( const IAntennaGain antenna,
const Coord startPosition,
const Coord endPosition,
const Quaternion startOrientation 
) const
protectedvirtual
17 {
18  if (antennaGain->getMinGain() == antennaGain->getMaxGain())
19  return antennaGain->getMinGain();
20  else {
21  auto direction = Quaternion::rotationFromTo(Coord::X_AXIS, endPosition - startPosition);
22  auto antennaLocalDirection = Quaternion(startOrientation).inverse() * direction;
23  return antennaGain->computeGain(antennaLocalDirection);
24  }
25 }

Referenced by inet::physicallayer::DimensionalAnalogModelBase::computeReceptionPower(), and inet::physicallayer::ScalarAnalogModelBase::computeReceptionPower().


The documentation for this class was generated from the following files:
inet::Quaternion::rotationFromTo
static Quaternion rotationFromTo(const Coord &from, const Coord &to)
Definition: Quaternion.cc:157
inet::Coord::X_AXIS
static const Coord X_AXIS
Definition: Coord.h:29