v2.0.0
Loading...
Searching...
No Matches
inv_dipole.h
Go to the documentation of this file.
1//=============================================================================================================
22
23#ifndef INV_DIPOLE_H
24#define INV_DIPOLE_H
25
26//=============================================================================================================
27// INCLUDES
28//=============================================================================================================
29
30//=============================================================================================================
31// EIGEN INCLUDES
32//=============================================================================================================
33
34#include <Eigen/Core>
35
36#include <iostream>
37
38//=============================================================================================================
39// DEFINE NAMESPACE INVLIB
40//=============================================================================================================
41
42namespace INVLIB
43{
44
45//=============================================================================================================
46// FORWARD DECLARATIONS
47//=============================================================================================================
48template<typename T>
49class InvDipole;
50
51//=============================================================================================================
60template<typename T>
71
72//=============================================================================================================
80template<class T>
82{
83 //typedef Eigen::Matrix<T, 3, 1> Point3D;
84
85public:
86 //=========================================================================================================
91
92 //=========================================================================================================
97 virtual ~InvDipole();
98
99 inline T& x()
100 {
101 return m_vecPosition[0];
102 }
103 inline T& y()
104 {
105 return m_vecPosition[1];
106 }
107 inline T& z()
108 {
109 return m_vecPosition[2];
110 }
111 inline T x() const
112 {
113 return m_vecPosition[0];
114 }
115 inline T y() const
116 {
117 return m_vecPosition[1];
118 }
119 inline T z() const
120 {
121 return m_vecPosition[2];
122 }
123
124 inline T& phi_x()
125 {
126 return m_vecDirection[0];
127 }
128 inline T& phi_y()
129 {
130 return m_vecDirection[1];
131 }
132 inline T& phi_z()
133 {
134 return m_vecDirection[2];
135 }
136 inline T phi_x() const
137 {
138 return m_vecDirection[0];
139 }
140 inline T phi_y() const
141 {
142 return m_vecDirection[1];
143 }
144 inline T phi_z() const
145 {
146 return m_vecDirection[2];
147 }
148
149 //=========================================================================================================
153 void clean();
154
155protected:
156private:
157 Eigen::Matrix<T, 3, 1> m_vecPosition;
158 Eigen::Matrix<T, 3, 1> m_vecDirection;
159
160 double m_dLength;
161 double m_dFrequency;
162
163 //TGreensFunction* green;
164};
165} // NAMESPACE
166
167//TypeDefs
171
172//Make the template definition visible to compiler in the first point of instantiation
173#include "inv_dipole.cpp"
174
175#endif // INV_DIPOLE_H
INVLIB::InvDipole< double > InvDipole_DOUBLE
Definition inv_dipole.h:170
INVLIB::InvDipole< int > InvDipole_INT
Definition inv_dipole.h:168
INVLIB::InvDipole< float > InvDipole_FLOAT
Definition inv_dipole.h:169
Template definitions for INVLIB::InvDipole<T> (included from the matching header).
Inverse source estimation (MNE, dSPM, sLORETA, dipole fitting).
Stores position, orientation, and correlation of a single current dipole estimated by RAP MUSIC.
Definition inv_dipole.h:82
virtual ~InvDipole()
Pair of correlated dipole indices and orientations found by the RAP MUSIC scanning step.
Definition inv_dipole.h:62
InvDipole< T > m_Dipole1
Definition inv_dipole.h:64
InvDipole< T > m_Dipole2
Definition inv_dipole.h:67