User Manual, Developers Guide and API Documentation

rise::PropagationCache Class Reference

Abstract class (interface) for caches to be use by each Receiver. More...

#include <transceiver/cache/propagationcache.hpp>

Inheritance diagram for rise::PropagationCache:

Inheritance graph
[legend]
Collaboration diagram for rise::PropagationCache:

Collaboration graph
[legend]

List of all members.

Public Member Functions

virtual wns::Ratio getLoss (Transmitter *txA, double freq)=0
 Computes the loss from the receivers antenna towards antenna "txA" at a specific frequency.
virtual void invalidatePropagationEntries ()=0
 Invalidates the propagation entries for all Transmitters.
virtual void invalidatePropagationEntries (Transmitter *t)=0
 Invalidates the propagation entries for Transmitter "t".
 PropagationCache (receiver::ReceiverInterface *r, const std::string &name)
 Default constructor.
virtual ~PropagationCache ()
 Default destructor.

Protected Member Functions

virtual void updatePropEntry (PropCacheEntry &cacheEntry, Transmitter *t, double freq)
 Computes the loss and stores it in the given PSG object. In the given PSG object the attributes pathloss, shadowing and antennaGain will be updated.

Protected Attributes

RISELogger log
 Logs messages to a main logger.
receiver::ReceiverInterfacereceiver
 Receiver the cache belongs to.


Detailed Description

There are various strategies for caching available. Consequently this abstract class provides an interface that all derived caches have to implement.

Three functions have to be reimplemented:

Definition at line 101 of file propagationcache.hpp.


Constructor & Destructor Documentation

rise::PropagationCache::PropagationCache ( receiver::ReceiverInterface r,
const std::string &  name 
)

PropagationCache::~PropagationCache (  )  [virtual]

Definition at line 50 of file propagationcache.cpp.


Member Function Documentation

virtual wns::Ratio rise::PropagationCache::getLoss ( Transmitter txA,
double  freq 
) [pure virtual]

This method is called by the Receiver and computes the loss towards antenna "txA" at a specific frequency.

Different ways to implement this method are possible:

  • Just return the value. Updating and adding new values is done by invalidatePropagationEntries()
  • Check if a PropagationEntry is valid any longer, if not recompute and store the value. Invalidating the cache is done by invalidatePropagationEntries

Implemented in rise::H2Cache, rise::HashCache, rise::IdVectorCache, rise::NoCache, and rise::VectorCache.

virtual void rise::PropagationCache::invalidatePropagationEntries (  )  [pure virtual]

virtual void rise::PropagationCache::invalidatePropagationEntries ( Transmitter t  )  [pure virtual]

void PropagationCache::updatePropEntry ( PropCacheEntry cacheEntry,
Transmitter t,
double  freq 
) [protected, virtual]

Definition at line 54 of file propagationcache.cpp.


Member Data Documentation

Definition at line 155 of file propagationcache.hpp.

Definition at line 151 of file propagationcache.hpp.


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

Generated on Sat May 26 03:32:36 2012 for openWNS by  doxygen 1.5.5