A Discrete-Event Network Simulator
QKDNetSim v2.0 (NS-3 v3.41) @ (+)
Home
Tutorials ▼
English
Documentation ▼
Installation
Manual
Models
Contributing
Wiki
Development ▼
API Docs
Issue Tracker
Merge Requests
API
Main Page
Related Pages
Modules
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
Functions
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
y
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
x
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
Enumerations
a
b
c
d
e
f
g
h
i
l
m
n
o
p
q
r
s
t
v
w
Enumerator
a
b
c
d
e
f
h
i
l
m
n
o
p
q
r
s
t
u
v
w
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
:
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
Enumerations
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
Enumerator
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Properties
Related Functions
:
a
b
c
d
e
g
h
i
j
l
m
n
o
p
q
r
s
t
u
w
Files
File List
File Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
l
m
n
o
p
q
r
s
t
u
v
w
Variables
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
Enumerations
Enumerator
c
e
i
l
o
r
s
t
v
Macros
_
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
u
v
w
Examples
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Modules
Pages
uan-prop-model-ideal.cc
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2009 University of Washington
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: Leonard Tracy <lentracy@gmail.com>
18
*/
19
20
#include "
uan-prop-model-ideal.h
"
21
22
#include "
uan-tx-mode.h
"
23
24
#include "ns3/mobility-model.h"
25
26
namespace
ns3
27
{
28
29
NS_OBJECT_ENSURE_REGISTERED
(UanPropModelIdeal);
30
31
UanPropModelIdeal::UanPropModelIdeal
()
32
{
33
}
34
35
UanPropModelIdeal::~UanPropModelIdeal
()
36
{
37
}
38
39
TypeId
40
UanPropModelIdeal::GetTypeId
()
41
{
42
static
TypeId
tid =
TypeId
(
"ns3::UanPropModelIdeal"
)
43
.
SetParent
<
UanPropModel
>()
44
.SetGroupName(
"Uan"
)
45
.AddConstructor<
UanPropModelIdeal
>();
46
return
tid;
47
}
48
49
double
50
UanPropModelIdeal::GetPathLossDb
(
Ptr<MobilityModel>
a,
Ptr<MobilityModel>
b,
UanTxMode
mode)
51
{
52
return
0;
53
}
54
55
UanPdp
56
UanPropModelIdeal::GetPdp
(
Ptr<MobilityModel>
a,
Ptr<MobilityModel>
b,
UanTxMode
mode)
57
{
58
return
UanPdp::CreateImpulsePdp
();
59
}
60
61
Time
62
UanPropModelIdeal::GetDelay
(
Ptr<MobilityModel>
a,
Ptr<MobilityModel>
b,
UanTxMode
mode)
63
{
64
return
Seconds
(a->
GetDistanceFrom
(b) / 1500.0);
65
}
66
67
}
// namespace ns3
ns3::MobilityModel::GetDistanceFrom
double GetDistanceFrom(Ptr< const MobilityModel > position) const
Definition:
mobility-model.cc:98
ns3::Ptr< MobilityModel >
ns3::Time
Simulation virtual time values and global simulation resolution.
Definition:
nstime.h:105
ns3::TypeId
a unique identifier for an interface.
Definition:
type-id.h:59
ns3::TypeId::SetParent
TypeId SetParent(TypeId tid)
Set the parent TypeId.
Definition:
type-id.cc:931
ns3::UanPdp
The power delay profile returned by propagation models.
Definition:
uan-prop-model.h:90
ns3::UanPdp::CreateImpulsePdp
static UanPdp CreateImpulsePdp()
Get a unit impulse PDP at time 0.
Definition:
uan-prop-model.cc:359
ns3::UanPropModel
Base class for implemented underwater propagation models.
Definition:
uan-prop-model.h:283
ns3::UanPropModelIdeal
Ideal propagation model (no pathloss, impulse PDP).
Definition:
uan-prop-model-ideal.h:37
ns3::UanPropModelIdeal::GetDelay
Time GetDelay(Ptr< MobilityModel > a, Ptr< MobilityModel > b, UanTxMode mode) override
Finds propagation delay between nodes a and b.
Definition:
uan-prop-model-ideal.cc:62
ns3::UanPropModelIdeal::UanPropModelIdeal
UanPropModelIdeal()
Default constructor.
Definition:
uan-prop-model-ideal.cc:31
ns3::UanPropModelIdeal::GetPdp
UanPdp GetPdp(Ptr< MobilityModel > a, Ptr< MobilityModel > b, UanTxMode mode) override
Get the PDP for the path between two nodes.
Definition:
uan-prop-model-ideal.cc:56
ns3::UanPropModelIdeal::~UanPropModelIdeal
~UanPropModelIdeal() override
Destructor.
Definition:
uan-prop-model-ideal.cc:35
ns3::UanPropModelIdeal::GetTypeId
static TypeId GetTypeId()
Register this type.
Definition:
uan-prop-model-ideal.cc:40
ns3::UanPropModelIdeal::GetPathLossDb
double GetPathLossDb(Ptr< MobilityModel > a, Ptr< MobilityModel > b, UanTxMode mode) override
Computes pathloss between nodes a and b.
Definition:
uan-prop-model-ideal.cc:50
ns3::UanTxMode
Abstraction of packet modulation information.
Definition:
uan-tx-mode.h:43
NS_OBJECT_ENSURE_REGISTERED
#define NS_OBJECT_ENSURE_REGISTERED(type)
Register an Object subclass with the TypeId system.
Definition:
object-base.h:46
ns3::Seconds
Time Seconds(double value)
Construct a Time in the indicated unit.
Definition:
nstime.h:1326
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
uan-prop-model-ideal.h
uan-tx-mode.h
src
uan
model
uan-prop-model-ideal.cc
Generated on Sun Mar 3 2024 17:11:09 for ns-3 by
1.9.1