A Discrete-Event Network Simulator
Home
Tutorials ▼
English
Portuguese
Docs ▼
Wiki
Manual
Models
Develop ▼
API
Bugs
API
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
spectrum-channel.h
Go to the documentation of this file.
1
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
2
/*
3
* Copyright (c) 2009 CTTC
4
*
5
* This program is free software; you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License version 2 as
7
* published by the Free Software Foundation;
8
*
9
* This program is distributed in the hope that it will be useful,
10
* but WITHOUT ANY WARRANTY; without even the implied warranty of
11
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
* GNU General Public License for more details.
13
*
14
* You should have received a copy of the GNU General Public License
15
* along with this program; if not, write to the Free Software
16
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17
*
18
* Author: Nicola Baldo <nbaldo@cttc.es>
19
*/
20
21
22
#ifndef SPECTRUM_CHANNEL_H
23
#define SPECTRUM_CHANNEL_H
24
25
#include <ns3/object.h>
26
#include <ns3/nstime.h>
27
#include <ns3/channel.h>
28
#include <ns3/spectrum-signal-parameters.h>
29
30
namespace
ns3 {
31
32
33
class
PacketBurst;
34
class
SpectrumValue;
35
class
SpectrumPhy;
36
class
SpectrumPropagationLossModel;
37
class
PropagationLossModel;
38
class
PropagationDelayModel;
39
46
class
SpectrumChannel
:
public
Channel
47
{
48
public
:
49
virtual
~SpectrumChannel
();
50
static
TypeId
GetTypeId
(
void
);
51
52
59
virtual
void
AddPropagationLossModel
(
Ptr<PropagationLossModel>
loss) = 0;
60
65
virtual
void
AddSpectrumPropagationLossModel
(
Ptr<SpectrumPropagationLossModel>
loss) = 0;
66
71
virtual
void
SetPropagationDelayModel
(
Ptr<PropagationDelayModel>
delay) = 0;
72
73
79
virtual
void
StartTx
(
Ptr<SpectrumSignalParameters>
params) = 0;
80
96
virtual
void
AddRx
(
Ptr<SpectrumPhy>
phy) = 0;
97
98
};
99
100
101
102
}
103
104
105
106
#endif
/* SPECTRUM_CHANNEL_H */
ns3::SpectrumChannel::AddPropagationLossModel
virtual void AddPropagationLossModel(Ptr< PropagationLossModel > loss)=0
set the single-frequency propagation loss model to be used
ns3::Ptr< PropagationLossModel >
ns3::SpectrumChannel::~SpectrumChannel
virtual ~SpectrumChannel()
Definition:
spectrum-channel.cc:39
ns3::Channel
Abstract Channel Base Class.
Definition:
channel.h:43
ns3::SpectrumChannel::StartTx
virtual void StartTx(Ptr< SpectrumSignalParameters > params)=0
Used by attached PHY instances to transmit signals on the channel.
ns3::SpectrumChannel::GetTypeId
static TypeId GetTypeId(void)
Definition:
spectrum-channel.cc:31
ns3::SpectrumChannel::AddSpectrumPropagationLossModel
virtual void AddSpectrumPropagationLossModel(Ptr< SpectrumPropagationLossModel > loss)=0
set the frequency-dependent propagation loss model to be used
ns3::SpectrumChannel
Defines the interface for spectrum-aware channel implementations.
Definition:
spectrum-channel.h:46
ns3::SpectrumChannel::SetPropagationDelayModel
virtual void SetPropagationDelayModel(Ptr< PropagationDelayModel > delay)=0
set the propagation delay model to be used
ns3::TypeId
a unique identifier for an interface.
Definition:
type-id.h:49
ns3::SpectrumChannel::AddRx
virtual void AddRx(Ptr< SpectrumPhy > phy)=0
add a SpectrumPhy to a channel, so it can receive packets
src
spectrum
model
spectrum-channel.h
Generated on Sat Apr 19 2014 14:07:08 for ns-3 by
1.8.6