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//=============================================================================================================
58template<typename T>
69
70//=============================================================================================================
76template<class T>
78{
79//typedef Eigen::Matrix<T, 3, 1> Point3D;
80
81public:
82
83 //=========================================================================================================
88
89 //=========================================================================================================
95 /* InvDipole();*/
96
97 //=========================================================================================================
102 virtual ~InvDipole();
103
104 inline T& x() { return m_vecPosition[0] ; }
105 inline T& y() { return m_vecPosition[1] ; }
106 inline T& z() { return m_vecPosition[2] ; }
107 inline T x() const { return m_vecPosition[0] ; }
108 inline T y() const { return m_vecPosition[1] ; }
109 inline T z() const { return m_vecPosition[2] ; }
110
111 inline T& phi_x() { return m_vecDirection[0] ; }
112 inline T& phi_y() { return m_vecDirection[1] ; }
113 inline T& phi_z() { return m_vecDirection[2] ; }
114 inline T phi_x() const { return m_vecDirection[0] ; }
115 inline T phi_y() const { return m_vecDirection[1] ; }
116 inline T phi_z() const { return m_vecDirection[2] ; }
117
118 //=========================================================================================================
122 void clean();
123
124protected:
125
126private:
127
128 Eigen::Matrix<T, 3, 1> m_vecPosition;
129 Eigen::Matrix<T, 3, 1> m_vecDirection;
130
131 double m_dLength;
132 double m_dFrequency;
133
134 //TGreensFunction* green;
135};
136} // NAMESPACE
137
138//TypeDefs
142
143//Make the template definition visible to compiler in the first point of instantiation
144#include "inv_dipole.cpp"
145
146#endif // INV_DIPOLE_H
Template definitions for INVLIB::InvDipole<T> (included from the matching header).
INVLIB::InvDipole< double > InvDipole_DOUBLE
Definition inv_dipole.h:141
INVLIB::InvDipole< int > InvDipole_INT
Definition inv_dipole.h:139
INVLIB::InvDipole< float > InvDipole_FLOAT
Definition inv_dipole.h:140
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:78
virtual ~InvDipole()
Pair of correlated dipole indices and orientations found by the RAP MUSIC scanning step.
Definition inv_dipole.h:60
InvDipole< T > m_Dipole1
Definition inv_dipole.h:62
InvDipole< T > m_Dipole2
Definition inv_dipole.h:65