MNE-CPP  beta 1.0
fiff_types.h
Go to the documentation of this file.
1 //=============================================================================================================
36 #ifndef FIFF_TYPES_H
37 #define FIFF_TYPES_H
38 
39 
40 //*************************************************************************************************************
41 //=============================================================================================================
42 // INCLUDES
43 //=============================================================================================================
44 
45 #include "fiff_constants.h"
46 
47 
48 //*************************************************************************************************************
49 //=============================================================================================================
50 // Eigen INCLUDES
51 //=============================================================================================================
52 
53 #include <Eigen/Core>
54 
55 
56 //*************************************************************************************************************
57 //=============================================================================================================
58 // QT INCLUDES
59 //=============================================================================================================
60 
61 #include <QDebug>
62 #include <QList>
63 #include <QStringList>
64 
65 
66 //*************************************************************************************************************
67 //=============================================================================================================
68 // DEFINE NAMESPACE FIFFLIB
69 //=============================================================================================================
70 
71 namespace FIFFLIB
72 {
73 
74 const static QStringList defaultQStringList = QStringList();
75 static Eigen::MatrixXd defaultMatrixXd = Eigen::MatrixXd::Constant(1,1,-1);
76 const static Eigen::MatrixXd defaultConstMatrixXd(0,0);
77 const static Eigen::MatrixXi defaultMatrixXi(0,0);
78 const static Eigen::VectorXi defaultVectorXi;
79 const static Eigen::RowVectorXi defaultRowVectorXi;
80 const static QPair<QVariant,QVariant> defaultVariantPair;
81 
82 typedef Eigen::Matrix<qint16, Eigen::Dynamic, Eigen::Dynamic> MatrixDau16;
83 
84 
85 //*************************************************************************************************************
86 //=============================================================================================================
87 // TYPEDEFS Primitive building blocks:
88 //=============================================================================================================
89 
90 typedef unsigned char fiff_byte_t;
91 typedef char fiff_char_t;
92 typedef qint16 fiff_short_t;
93 typedef quint16 fiff_ushort_t;
94 typedef qint32 fiff_int_t;
95 typedef quint32 fiff_uint_t;
96 typedef qint64 fiff_long_t;
97 typedef quint64 fiff_ulong_t;
98 typedef float fiff_float_t;
99 typedef double fiff_double_t;
100 typedef quint16 fiff_dau_pack13_t;
101 typedef quint16 fiff_dau_pack14_t;
102 typedef qint16 fiff_dau_pack16_t;
103 typedef qint32 fiff_julian_t;
104 typedef char fiff_data_t; //unsig char instead of void -> avoid void in C++ cause of its undefined behaviour using delete -> this can happen during lots of casting
105 
106 
107 //*************************************************************************************************************
108 //=============================================================================================================
109 // TYPEDEFS Structured types:
110 //=============================================================================================================
111 
114 typedef struct _fiffTimeRec {
115  fiff_int_t secs;
116  fiff_int_t usecs;
117 } *fiffTime, fiffTimeRec;
122 typedef struct _fiffDigStringRec {
123  fiff_int_t kind;
124  fiff_int_t ident;
125  fiff_int_t np;
126  fiff_float_t **rr;
130 
131 
132 /*
133 * The layered sphere model
134 */
135 
138 typedef struct _fiffLayerRec {
139  fiff_int_t id;
140  fiff_float_t rad;
144 //*************************************************************************************************************
145 //=============================================================================================================
146 // TYPEDEF Following types are used by the fiff library. They are not used within the files.:
147 //=============================================================================================================
148 
151 //typedef struct _fiff_sparse_matrix {
152 // fiff_int_t coding; /**< coding (storage) type of the sparse matrix */
153 // fiff_int_t m; /**< m rows */
154 // fiff_int_t n; /**< n columns */
155 // fiff_int_t nz; /**< nz nonzeros */
156 // fiff_float_t *data; /**< owns the data */
157 // fiff_int_t *inds; /**< index list, points into data, no dealloc! */
158 // fiff_int_t *ptrs; /**< pointer list, points into data, no dealloc! */
159 //} *fiffSparseMatrix, fiffSparseMatrixRec;
160 
161 //typedef fiffSparseMatrixRec fiff_sparse_matrix_t;
162 
165 typedef struct _fiff_event_bits {
166  fiff_int_t from_mask;
167  fiff_int_t from_state;
168  fiff_int_t to_mask;
169  fiff_int_t to_state;
171 
174 //typedef struct _fiff_hpi_coil {
175 // char *event_channel; /**< event channel */
176 // fiffEventBitsRec event_bits; /**< event bits */
177 // char *signal_channel; /**< signal channel */
178 //} *fiffHpiCoil, fiffHpiCoilRec;
179 
182 //typedef struct _fiff_hpi_subsys {
183 // fiff_int_t ncoils; /**< number of hpi coils */
184 // fiffHpiCoil coils; /**< hpi coils */
185 //} *fiffHpiSubsys, fiffHpiSubsysRec;
186 
189 typedef struct _fiff_data_ref {
190  fiff_int_t type;
191  fiff_int_t endian;
192  fiff_long_t size;
193  fiff_long_t offset;
195 
196 }//NAMESPACE
197 
198 #endif // FIFF_TYPES_H
Fiff constants.
Definition: fiff.h:98