21 #ifndef UAN_PROP_MODEL_H
22 #define UAN_PROP_MODEL_H
24 #include "ns3/object.h"
25 #include "ns3/mobility-model.h"
26 #include "ns3/nstime.h"
52 Tap (
Time delay, std::complex<double> amp);
56 std::complex<double>
GetAmp (
void)
const;
63 std::complex<double> m_amplitude;
89 typedef std::vector<Tap>::const_iterator
Iterator;
99 UanPdp (std::vector<Tap> taps,
Time resolution);
105 UanPdp (std::vector<std::complex<double > > arrivals,
Time resolution);
111 UanPdp (std::vector<double> arrivals,
Time resolution);
118 void SetTap (std::complex<double> arrival, uint32_t index);
197 friend std::istream &operator>> (std::istream &is,
UanPdp &pdp);
198 std::vector<Tap> m_taps;
219 static TypeId GetTypeId (
void);
249 virtual void Clear (
void);
Holds PDP Tap information (amplitude and delay)
std::istream & operator>>(std::istream &is, Angles &a)
std::complex< double > SumTapsC(Time begin, Time end) const
std::vector< Tap >::const_iterator Iterator
Iterator is a standard template library constant interator.
uint32_t GetNTaps(void) const
static UanPdp CreateImpulsePdp(void)
double SumTapsFromMaxNc(Time delay, Time duration) const
virtual UanPdp GetPdp(Ptr< MobilityModel > a, Ptr< MobilityModel > b, UanTxMode mode)=0
UanPdp()
Create empty PDP object.
friend std::ostream & operator<<(std::ostream &os, UanPdp &pdp)
Writes PDP to stream as list of arrivals.
void SetTap(std::complex< double > arrival, uint32_t index)
virtual Time GetDelay(Ptr< MobilityModel > a, Ptr< MobilityModel > b, UanTxMode mode)=0
std::complex< double > GetAmp(void) const
Abstraction of packet modulation information.
void SetResolution(Time resolution)
void SetNTaps(uint32_t nTaps)
std::ostream & operator<<(std::ostream &os, const Angles &a)
Time GetDelay(void) const
Time GetResolution(void) const
Iterator GetEnd(void) const
virtual void DoDispose(void)
std::complex< double > SumTapsFromMaxC(Time delay, Time duration) const
a base class which provides memory management and object aggregation
Iterator GetBegin(void) const
const Tap & GetTap(uint32_t i) const
double SumTapsNc(Time begin, Time end) const
virtual double GetPathLossDb(Ptr< MobilityModel > a, Ptr< MobilityModel > b, UanTxMode txMode)=0
a unique identifier for an interface.