MNE-CPP 0.1.9
A Framework for Electrophysiology
Loading...
Searching...
No Matches
dipole.h
Go to the documentation of this file.
1//=============================================================================================================
22#ifndef DIPOLE_H
23#define DIPOLE_H
24
25//=============================================================================================================
26// INCLUDES
27//=============================================================================================================
28
29//=============================================================================================================
30// EIGEN INCLUDES
31//=============================================================================================================
32
33#include <Eigen/Core>
34
35#include <iostream>
36
37//=============================================================================================================
38// DEFINE NAMESPACE INVERSELIB
39//=============================================================================================================
40
41namespace INVERSELIB
42{
43
44//=============================================================================================================
45// FORWARD DECLARATIONS
46//=============================================================================================================
47template<typename T>
48class Dipole;
49
50//=============================================================================================================
55template<typename T>
66
67//=============================================================================================================
73template<class T>
74class Dipole
75{
76//typedef Eigen::Matrix<T, 3, 1> Point3D;
77
78public:
79
80 //=========================================================================================================
84 Dipole();
85
86 //=========================================================================================================
92 /* Dipole();*/
93
94 //=========================================================================================================
99 virtual ~Dipole();
100
101 inline T& x() { return m_vecPosition[0] ; }
102 inline T& y() { return m_vecPosition[1] ; }
103 inline T& z() { return m_vecPosition[2] ; }
104 inline T x() const { return m_vecPosition[0] ; }
105 inline T y() const { return m_vecPosition[1] ; }
106 inline T z() const { return m_vecPosition[2] ; }
107
108 inline T& phi_x() { return m_vecDirection[0] ; }
109 inline T& phi_y() { return m_vecDirection[1] ; }
110 inline T& phi_z() { return m_vecDirection[2] ; }
111 inline T phi_x() const { return m_vecDirection[0] ; }
112 inline T phi_y() const { return m_vecDirection[1] ; }
113 inline T phi_z() const { return m_vecDirection[2] ; }
114
115 //=========================================================================================================
119 void clean();
120
121protected:
122
123private:
124
125 Eigen::Matrix<T, 3, 1> m_vecPosition;
126 Eigen::Matrix<T, 3, 1> m_vecDirection;
127
128 double m_dLength;
129 double m_dFrequency;
130
131 //TGreensFunction* green;
132};
133} // NAMESPACE
134
135//TypeDefs
139
140//Make the template definition visible to compiler in the first point of instantiation
141#include "dipole.cpp"
142
143#endif // DIPOLE_H
ToDo Documentation...
virtual ~Dipole()
Definition dipole.cpp:60
Dipole< T > m_Dipole1
Definition dipole.h:59
Dipole< T > m_Dipole2
Definition dipole.h:62