A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
jakes-propagation-loss-model.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2012 Telum (www.telum.ru)
3 *
4 * SPDX-License-Identifier: GPL-2.0-only
5 *
6 * Author: Kirill Andreev <andreev@telum.ru>
7 */
8#ifndef JAKES_STATIONARY_LOSS_MODEL_H
9#define JAKES_STATIONARY_LOSS_MODEL_H
10
11#include "jakes-process.h"
12#include "propagation-cache.h"
14
15namespace ns3
16{
17/**
18 * \ingroup propagation
19 *
20 * \brief a Jakes narrowband propagation model.
21 * Symmetrical cache for JakesProcess
22 */
23
25{
26 public:
27 /**
28 * \brief Get the type ID.
29 * \return the object TypeId
30 */
31 static TypeId GetTypeId();
34
35 // Delete copy constructor and assignment operator to avoid misuse
38
39 protected:
40 void DoDispose() override;
41
42 private:
43 friend class JakesProcess;
44
45 double DoCalcRxPower(double txPowerDbm,
47 Ptr<MobilityModel> b) const override;
48
49 int64_t DoAssignStreams(int64_t stream) override;
50
51 /**
52 * Get the underlying RNG stream
53 * \return the RNG stream
54 */
56
58 mutable PropagationCache<JakesProcess> m_propagationCache; //!< Propagation cache
59};
60
61} // namespace ns3
62
63#endif /* JAKES_STATIONARY_LOSS_MODEL_H */
Implementation for a single path Stationary Jakes propagation loss model.
a Jakes narrowband propagation model.
Ptr< UniformRandomVariable > GetUniformRandomVariable() const
Get the underlying RNG stream.
int64_t DoAssignStreams(int64_t stream) override
Assign a fixed random variable stream number to the random variables used by this model.
static TypeId GetTypeId()
Get the type ID.
PropagationCache< JakesProcess > m_propagationCache
Propagation cache.
Ptr< UniformRandomVariable > m_uniformVariable
random stream
double DoCalcRxPower(double txPowerDbm, Ptr< MobilityModel > a, Ptr< MobilityModel > b) const override
PropagationLossModel.
void DoDispose() override
Destructor implementation.
JakesPropagationLossModel & operator=(const JakesPropagationLossModel &)=delete
JakesPropagationLossModel(const JakesPropagationLossModel &)=delete
Constructs a cache of objects, where each object is responsible for a single propagation path loss ca...
Models the propagation loss through a transmission medium.
Smart pointer class similar to boost::intrusive_ptr.
a unique identifier for an interface.
Definition type-id.h:48
Every class exported by the ns3 library is enclosed in the ns3 namespace.