A Discrete-Event Network Simulator
API
jakes-propagation-loss-model.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2012 Telum (www.telum.ru)
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License version 2 as
6  * published by the Free Software Foundation;
7  *
8  * This program is distributed in the hope that it will be useful,
9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11  * GNU General Public License for more details.
12  *
13  * You should have received a copy of the GNU General Public License
14  * along with this program; if not, write to the Free Software
15  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
16  *
17  * Author: Kirill Andreev <andreev@telum.ru>
18  */
19 #ifndef JAKES_STATIONARY_LOSS_MODEL_H
20 #define JAKES_STATIONARY_LOSS_MODEL_H
21 
22 #include "jakes-process.h"
23 #include "propagation-cache.h"
24 #include "propagation-loss-model.h"
25 
26 namespace ns3
27 {
36 {
37  public:
42  static TypeId GetTypeId();
44  ~JakesPropagationLossModel() override;
45 
46  // Delete copy constructor and assignment operator to avoid misuse
49 
50  protected:
51  void DoDispose() override;
52 
53  private:
54  friend class JakesProcess;
55 
56  double DoCalcRxPower(double txPowerDbm,
58  Ptr<MobilityModel> b) const override;
59 
60  int64_t DoAssignStreams(int64_t stream) override;
61 
67 
70 };
71 
72 } // namespace ns3
73 
74 #endif /* JAKES_STATIONARY_LOSS_MODEL_H */
Implementation for a single path Stationary Jakes propagation loss model.
Definition: jakes-process.h:58
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.
JakesPropagationLossModel & operator=(const JakesPropagationLossModel &)=delete
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(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.
a unique identifier for an interface.
Definition: type-id.h:59
Every class exported by the ns3 library is enclosed in the ns3 namespace.