-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathTransmissionNodeSample.py
executable file
·75 lines (64 loc) · 1.64 KB
/
TransmissionNodeSample.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#! /usr/bin/env python3
'''
Niema Moshiri 2016
"TransmissionNodeSample" module
'''
import abc
class TransmissionNodeSample(metaclass=abc.ABCMeta):
'''
Abstract class defining the ``TransmissionNodeSample`` module
Methods
-------
cite()
Return citation string (or None)
init()
Initialize the module (if need be)
sampleNodes(time)
Returns two nodes to be involved in a transmission event at ``time''
'''
@staticmethod
@abc.abstractmethod
def init():
'''
Initialize the module (if need be)
'''
pass
@staticmethod
@abc.abstractmethod
def cite():
'''
Return citation string (or None)
Returns
-------
citation : str
The citation string (or None)
'''
pass
@staticmethod
@abc.abstractmethod
def check_contact_network(cn):
'''
Check if the given contact network is compatible
Parameters
----------
cn : ContactNetwork
The contact network to check for compatibility with module
'''
pass
@staticmethod
@abc.abstractmethod
def sample_nodes(time):
'''
Returns two nodes to be involved in a transmission event at ``time''
Parameters
----------
time : float
The time at which this transmission event will take place
Returns
-------
source : ContactNetworkNode
The node that is the source of the transmission
target : ContactNetworkNode
The node that is the target of the transmission
'''
pass