DESERT
4.0.0
mclink.h
Go to the documentation of this file.
1
//
2
// Copyright (c) 2021 Regents of the SIGNET lab, University of Padova.
3
// All rights reserved.
4
//
5
// Redistribution and use in source and binary forms, with or without
6
// modification, are permitted provided that the following conditions
7
// are met:
8
// 1. Redistributions of source code must retain the above copyright
9
// notice, this list of conditions and the following disclaimer.
10
// 2. Redistributions in binary form must reproduce the above copyright
11
// notice, this list of conditions and the following disclaimer in the
12
// documentation and/or other materials provided with the distribution.
13
// 3. Neither the name of the University of Padova (SIGNET lab) nor the
14
// names of its contributors may be used to endorse or promote products
15
// derived from this software without specific prior written permission.
16
//
17
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
18
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
19
// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
20
// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
21
// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
22
// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
23
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
24
// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
25
// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
26
// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
27
// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28
//
29
39
#ifndef MCLINK_H
40
#define MCLINK_H
41
42
#include "
uwphysical.h
"
43
52
class
MCLink
:
public
TclObject
53
{
54
public
:
58
enum
ChState
{
NOT_DEFINED
= 0,
GOOD
= 1,
MEDIUM
= 2,
BAD
= 3 };
59
63
MCLink
();
64
77
MCLink
(
double
ber_good
,
double
ber_bad
,
double
p_gb
,
double
p_bg
,
78
double
step_period
,
ChState
ch_state
=
MCLink::GOOD
);
79
83
virtual
~MCLink
()
84
{
85
}
86
97
virtual
int
command
(
int
,
const
char
*
const
*);
98
105
virtual
ChState
updateChState
();
106
111
ChState
112
getChState
()
113
{
114
return
updateChState
();
115
}
116
120
virtual
double
121
getBER
();
// remember to call updateChState() before returning a BER value
122
123
protected
:
124
// Variables
125
double
ber_good
;
126
double
ber_bad
;
127
double
p_gb
;
128
double
p_bg
;
129
double
last_update
;
130
double
step_period
;
131
ChState
ch_state
;
132
};
133
134
#endif
/* MCLINK_H */
MCLink
MCLink class models the BER of a directed link between two nodes. The base class allows for GOOD/BAD ...
Definition
mclink.h:53
MCLink::ch_state
ChState ch_state
Definition
mclink.h:131
MCLink::p_gb
double p_gb
Definition
mclink.h:127
MCLink::ber_good
double ber_good
Definition
mclink.h:125
MCLink::getBER
virtual double getBER()
Definition
mclink.cpp:98
MCLink::~MCLink
virtual ~MCLink()
Definition
mclink.h:83
MCLink::ChState
ChState
Definition
mclink.h:58
MCLink::MEDIUM
@ MEDIUM
Definition
mclink.h:58
MCLink::BAD
@ BAD
Definition
mclink.h:58
MCLink::NOT_DEFINED
@ NOT_DEFINED
Definition
mclink.h:58
MCLink::GOOD
@ GOOD
Definition
mclink.h:58
MCLink::last_update
double last_update
Definition
mclink.h:129
MCLink::getChState
ChState getChState()
Definition
mclink.h:112
MCLink::p_bg
double p_bg
Definition
mclink.h:128
MCLink::updateChState
virtual ChState updateChState()
Definition
mclink.cpp:72
MCLink::command
virtual int command(int, const char *const *)
Definition
mclink.cpp:109
MCLink::ber_bad
double ber_bad
Definition
mclink.h:126
MCLink::MCLink
MCLink()
Definition
mclink.cpp:45
MCLink::step_period
double step_period
Definition
mclink.h:130
uwphysical.h
Definition of UwPhysical class.
DESERT_Framework
DESERT
physical
uwhmmphysical
mclink.h
Generated by
1.9.8