MNE-CPP  0.1.9
A Framework for Electrophysiology
fwd_thread_arg.h
Go to the documentation of this file.
1 //=============================================================================================================
37 #ifndef FWDTHREADARG_H
38 #define FWDTHREADARG_H
39 
40 //=============================================================================================================
41 // INCLUDES
42 //=============================================================================================================
43 
44 #include "fwd_global.h"
45 #include "fwd_types.h"
46 
47 //=============================================================================================================
48 // EIGEN INCLUDES
49 //=============================================================================================================
50 
51 #include <Eigen/Core>
52 
53 //=============================================================================================================
54 // QT INCLUDES
55 //=============================================================================================================
56 
57 #include <QSharedPointer>
58 
59 //=============================================================================================================
60 // FORWARD DECLARATIONS
61 //=============================================================================================================
62 
63 namespace MNELIB
64 {
65  class MneSourceSpaceOld;
66 }
67 
68 //=============================================================================================================
69 // DEFINE NAMESPACE FWDLIB
70 //=============================================================================================================
71 
72 namespace FWDLIB
73 {
74 
75 //=============================================================================================================
76 // FORWARD DECLARATIONS
77 //=============================================================================================================
78 
79 class FwdCoilSet;
80 
81 //=============================================================================================================
88 {
89 public:
90  typedef QSharedPointer<FwdThreadArg> SPtr;
91  typedef QSharedPointer<const FwdThreadArg> ConstSPtr;
93  //=========================================================================================================
98  FwdThreadArg();
99 
100  //=========================================================================================================
105  ~FwdThreadArg();
106 
107  static FwdThreadArg* create_eeg_multi_thread_duplicate(FwdThreadArg* one, bool bem_model);
108 
109  static void free_eeg_multi_thread_duplicate(FwdThreadArg* one,bool bem_model);
110 
111  static FwdThreadArg* create_meg_multi_thread_duplicate(FwdThreadArg* one, bool bem_model);
112 
113  static void free_meg_multi_thread_duplicate(FwdThreadArg* one,bool bem_model);
114 
115 public:
116  float **res; /* Destination for the solution */
117  float **res_grad; /* Gradient result */
118  int off; /* Offset within the result to the first source space vertex solution */
119  fwdFieldFunc field_pot; /* Computes the field or potential for one dipole orientation */
120  fwdVecFieldFunc vec_field_pot; /* Computes the field or potential for all dipole orientations */
121  fwdFieldGradFunc field_pot_grad; /* Computes the gradient of field or potential for one dipole orientation */
122  FwdCoilSet *coils_els; /* The coil definitions */
123  void *client; /* Client data for the field computation function */
124  MNELIB::MneSourceSpaceOld *s; /* The source space to process */
125  int fixed_ori; /* Compute fixed orientation solution? */
126  int comp; /* Which component to compute for free orientations */
127  int stat;
128 
129 // ### OLD STRUCT ###
130 //typedef struct {
131 // float **res; /* Destination for the solution */
132 // float **res_grad; /* Gradient result */
133 // int off; /* Offset within the result to the first source space vertex solution */
134 // fwdFieldFunc field_pot; /* Computes the field or potential for one dipole orientation */
135 // fwdVecFieldFunc vec_field_pot; /* Computes the field or potential for all dipole orientations */
136 // fwdFieldGradFunc field_pot_grad; /* Computes the gradient of field or potential for one dipole orientation */
137 // fwdCoilSet coils_els; /* The coil definitions */
138 // void *client; /* Client data for the field computation function */
139 // mneSourceSpace s; /* The source space to process */
140 // int fixed_ori; /* Compute fixed orientation solution? */
141 // int comp; /* Which component to compute for free orientations */
142 // int stat;
143 //} *fwdThreadArg,fwdThreadArgRec;
144 };
145 
146 //=============================================================================================================
147 // INLINE DEFINITIONS
148 //=============================================================================================================
149 } // NAMESPACE FWDLIB
150 
151 #endif // FWDTHREADARG_H
Filter Thread Argument Description.
FwdCoilSet description.
Definition: fwd_coil_set.h:75
QSharedPointer< FwdThreadArg > SPtr
forward library export/import macros.
This defines a source space.
#define FWDSHARED_EXPORT
Definition: fwd_global.h:57
QSharedPointer< const FwdThreadArg > ConstSPtr