MNE-CPP  beta 0.1
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
realtimemultisamplearray_new.h
Go to the documentation of this file.
1 //=============================================================================================================
36 #ifndef REALTIMEMULTISAMPLEARRAY_NEW_H
37 #define REALTIMEMULTISAMPLEARRAY_NEW_H
38 
39 
40 //*************************************************************************************************************
41 //=============================================================================================================
42 // INCLUDES
43 //=============================================================================================================
44 
45 #include "../xmeas_global.h"
46 #include "mltchnmeasurement.h"
47 #include "../realtimesamplearraychinfo.h"
48 
49 #include <fiff/fiff_info.h>
50 
51 
52 //*************************************************************************************************************
53 //=============================================================================================================
54 // Qt INCLUDES
55 //=============================================================================================================
56 
57 #include <QSharedPointer>
58 #include <QVector>
59 #include <QList>
60 
61 
62 //*************************************************************************************************************
63 //=============================================================================================================
64 // DEFINE NAMESPACE XMEASLIB
65 //=============================================================================================================
66 
67 namespace XMEASLIB
68 {
69 
70 
71 //*************************************************************************************************************
72 //=============================================================================================================
73 // USED NAMESPACES
74 //=============================================================================================================
75 
76 using namespace FIFFLIB;
77 
78 
79 //=========================================================================================================
86 {
87 public:
88  typedef QSharedPointer<RealTimeMultiSampleArrayNew> SPtr;
89  typedef QSharedPointer<const RealTimeMultiSampleArrayNew> ConstSPtr;
91  //=========================================================================================================
96 
97  //=========================================================================================================
101  virtual ~RealTimeMultiSampleArrayNew();
102 
103  //=========================================================================================================
109  inline void init(unsigned int uiNumChannels);
110 
111  //=========================================================================================================
117  void initFromFiffInfo(FiffInfo::SPtr &p_pFiffInfo);
118 
119  //=========================================================================================================
125  inline void setSamplingRate(double dSamplingRate);
126 
127  //=========================================================================================================
133  inline double getSamplingRate() const;
134 
135  //=========================================================================================================
141  inline unsigned int getNumChannels() const;
142 
143  //=========================================================================================================
149  inline QList<RealTimeSampleArrayChInfo>& chInfo();
150 
151  //=========================================================================================================
157  inline FiffInfo::SPtr& getFiffInfo();
158 
159  //=========================================================================================================
165  inline void setMultiArraySize(unsigned char ucMultiArraySize);
166 
167  //=========================================================================================================
173  inline unsigned char getMultiArraySize() const;
174 
175  //=========================================================================================================
181  inline const QVector< VectorXd >& getMultiSampleArray();
182 
183  //=========================================================================================================
190  virtual void setValue(VectorXd v);
191 
192  //=========================================================================================================
199  virtual VectorXd getValue() const;
200 
201 private:
202  FiffInfo::SPtr m_pFiffInfo_orig;
204  double m_dSamplingRate;
205  VectorXd m_vecValue;
206  unsigned char m_ucMultiArraySize;
207  QVector< VectorXd > m_matSamples;
208  QList<RealTimeSampleArrayChInfo> m_qListChInfo;
209 };
210 
211 
212 //*************************************************************************************************************
213 //=============================================================================================================
214 // INLINE DEFINITIONS
215 //=============================================================================================================
216 
217 inline void RealTimeMultiSampleArrayNew::setSamplingRate(double dSamplingRate)
218 {
219  m_dSamplingRate = dSamplingRate;
220 }
221 
222 
223 //*************************************************************************************************************
224 
226 {
227  return m_dSamplingRate;
228 }
229 
230 
231 //*************************************************************************************************************
232 
234 {
235  return m_qListChInfo.size();
236 }
237 
238 
239 //*************************************************************************************************************
240 
241 inline QList<RealTimeSampleArrayChInfo>& RealTimeMultiSampleArrayNew::chInfo()
242 {
243  return m_qListChInfo;
244 }
245 
246 
247 //*************************************************************************************************************
248 
250 {
251  return m_pFiffInfo_orig;
252 }
253 
254 
255 //*************************************************************************************************************
256 
257 inline void RealTimeMultiSampleArrayNew::setMultiArraySize(unsigned char ucMultiArraySize)
258 {
259  //Obsolete unsigned char can't be bigger
260 // if(ucArraySize > 255)
261 // m_ucArraySize = 255;
262 // else
263  m_ucMultiArraySize = ucMultiArraySize;
264 }
265 
266 
267 //*************************************************************************************************************
268 
270 {
271  return m_ucMultiArraySize;
272 }
273 
274 
275 //*************************************************************************************************************
276 
277 inline const QVector< VectorXd >& RealTimeMultiSampleArrayNew::getMultiSampleArray()
278 {
279  return m_matSamples;
280 }
281 
282 } // NAMESPACE
283 
284 #endif // REALTIMEMULTISAMPLEARRAYNEW_H
The RealTimeMultiSampleArrayNew class is the base class of every RealTimeMultiSampleArrayNew Measurem...
QSharedPointer< const RealTimeMultiSampleArrayNew > ConstSPtr
Contains the declaration of the MltChnMeasurement base class.
#define XMEASSHARED_EXPORT
Definition: xmeas_global.h:54
QSharedPointer< RealTimeMultiSampleArrayNew > SPtr
QSharedPointer< FiffInfo > SPtr
Definition: fiff_info.h:99
FiffInfo class declaration.
The MltChnMeasurement class is the base class of every MltChnMeasurement.
QList< RealTimeSampleArrayChInfo > & chInfo()
void setMultiArraySize(unsigned char ucMultiArraySize)