MNE-CPP  0.1.9
A Framework for Electrophysiology
networkedge.h
Go to the documentation of this file.
1 //=============================================================================================================
35 #ifndef NETWORKEDGE_H
36 #define NETWORKEDGE_H
37 
38 //=============================================================================================================
39 // INCLUDES
40 //=============================================================================================================
41 
42 #include "../connectivity_global.h"
43 
44 //=============================================================================================================
45 // QT INCLUDES
46 //=============================================================================================================
47 
48 #include <QSharedPointer>
49 
50 //=============================================================================================================
51 // EIGEN INCLUDES
52 //=============================================================================================================
53 
54 #include<Eigen/Core>
55 
56 //=============================================================================================================
57 // FORWARD DECLARATIONS
58 //=============================================================================================================
59 
60 //=============================================================================================================
61 // DEFINE NAMESPACE CONNECTIVITYLIB
62 //=============================================================================================================
63 
64 namespace CONNECTIVITYLIB {
65 
66 //=============================================================================================================
67 // CONNECTIVITYLIB FORWARD DECLARATIONS
68 //=============================================================================================================
69 
70 class NetworkNode;
71 
72 //=============================================================================================================
80 {
81 
82 public:
83  typedef QSharedPointer<NetworkEdge> SPtr;
84  typedef QSharedPointer<const NetworkEdge> ConstSPtr;
86  //=========================================================================================================
97  explicit NetworkEdge(int iStartNodeID,
98  int iEndNodeID,
99  const Eigen::MatrixXd& matWeight,
100  bool bIsActive = true,
101  int iStartWeightBin = -1,
102  int iEndWeightBin = -1);
103 
104  //=========================================================================================================
110  int getStartNodeID();
111 
112  //=========================================================================================================
118  int getEndNodeID();
119 
120  //=========================================================================================================
126  void setActive(bool bActiveFlag);
127 
128  //=========================================================================================================
134  bool isActive();
135 
136  //=========================================================================================================
142  double getWeight() const;
143 
144  //=========================================================================================================
150  Eigen::MatrixXd getMatrixWeight() const;
151 
152  //=========================================================================================================
158  void setWeight(double dAveragedWeight);
159 
160  //=========================================================================================================
164  void calculateAveragedWeight();
165 
166  //=========================================================================================================
172  void setFrequencyBins(const QPair<int, int> &minMaxFreqBins);
173 
174  //=========================================================================================================
180  const QPair<int,int>& getFrequencyBins();
181 
182 protected:
186  bool m_bIsActive;
188  QPair<int,int> m_iMinMaxFreqBins;
190  Eigen::MatrixXd m_matWeight;
193 };
194 
195 //=============================================================================================================
196 // INLINE DEFINITIONS
197 //=============================================================================================================
198 
199 } // namespace CONNECTIVITYLIB
200 
201 #endif // NETWORKEDGE_H
This class holds an object to describe the edge of a network.
Definition: networkedge.h:79
QSharedPointer< NetworkEdge > SPtr
Definition: networkedge.h:83
QSharedPointer< const NetworkEdge > ConstSPtr
Definition: networkedge.h:84
QPair< int, int > m_iMinMaxFreqBins
Definition: networkedge.h:188
#define CONNECTIVITYSHARED_EXPORT
Eigen::MatrixXd m_matWeight
Definition: networkedge.h:190