00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #ifndef _cmu_packetstamp_h_
00011 #define _cmu_packetstamp_h_
00012
00013 class MobileNode;
00014
00015
00016
00017
00018
00019
00020 #include <antenna.h>
00021
00022 class PacketStamp {
00023 public:
00024
00025 PacketStamp() : ant(0), node(0), Pr(-1), lambda(-1) { }
00026
00027 void init(const PacketStamp *s) {
00028 Antenna* ant;
00029 if (s->ant != NULL)
00030 ant = s->ant->copy();
00031 else
00032 ant = 0;
00033
00034
00035 stamp(s->node, ant, s->Pr, s->lambda);
00036 }
00037
00038 void stamp(MobileNode *n, Antenna *a, double xmitPr, double lam) {
00039 ant = a;
00040 node = n;
00041 Pr = xmitPr;
00042 lambda = lam;
00043 }
00044
00045 inline Antenna * getAntenna() {return ant;}
00046 inline MobileNode * getNode() {return node;}
00047 inline double getTxPr() {return Pr;}
00048 inline double getLambda() {return lambda;}
00049
00050
00051
00052
00053
00054
00055 double RxPr;
00056 double CPThresh;
00057
00058 protected:
00059 Antenna *ant;
00060 MobileNode *node;
00061 double Pr;
00062 double lambda;
00063 };
00064
00065 #endif