MNE-CPP  beta 0.1
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
realtimemultisamplearray.h
Go to the documentation of this file.
1 //=============================================================================================================
36 #ifndef REALTIMEMULTISAMPLEARRAY_H
37 #define REALTIMEMULTISAMPLEARRAY_H
38 
39 
40 //*************************************************************************************************************
41 //=============================================================================================================
42 // INCLUDES
43 //=============================================================================================================
44 
45 #include "../xmeas_global.h"
46 #include "sngchnmeasurement.h"
47 
48 
49 //*************************************************************************************************************
50 //=============================================================================================================
51 // Qt INCLUDES
52 //=============================================================================================================
53 
54 #include <QSharedPointer>
55 #include <QVector>
56 
57 
58 //*************************************************************************************************************
59 //=============================================================================================================
60 // DEFINE NAMESPACE XMEASLIB
61 //=============================================================================================================
62 
63 namespace XMEASLIB
64 {
65 
66 
67 //*************************************************************************************************************
68 //=============================================================================================================
69 // USED NAMESPACES
70 //=============================================================================================================
71 
72 //using namespace IOBuffer;
73 
74 
75 //=========================================================================================================
82 {
83 public:
84  typedef QSharedPointer<RealTimeMultiSampleArray> SPtr;
85  typedef QSharedPointer<const RealTimeMultiSampleArray> ConstSPtr;
87  //=========================================================================================================
93  RealTimeMultiSampleArray(unsigned int uiNumChannels);
94  //=========================================================================================================
98  virtual ~RealTimeMultiSampleArray();
99 
100  //=========================================================================================================
106  inline void setMinValue(double minValue);
107  //=========================================================================================================
113  inline double getMinValue() const;
114 
115  //=========================================================================================================
121  inline void setMaxValue(double maxValue);
122  //=========================================================================================================
128  inline double getMaxValue() const;
129 
130  //=========================================================================================================
136  inline void setSamplingRate(double dSamplingRate);
137  //=========================================================================================================
143  inline double getSamplingRate() const;
144 
145  //=========================================================================================================
151  inline void setNumChannels(unsigned int uiNumChannels);
152 
153  //=========================================================================================================
159  inline unsigned int getNumChannels() const;
160 
161  //=========================================================================================================
167  inline void setMultiArraySize(unsigned char ucMultiArraySize);
168  //=========================================================================================================
174  inline unsigned char getMultiArraySize() const;
175  //=========================================================================================================
181  inline const QVector< QVector<double> >& getMultiSampleArray();
182 
183  //=========================================================================================================
189  inline void setUnit(const QString& unit);
190  //=========================================================================================================
196  inline const QString& getUnit() const;
197 
198  //=========================================================================================================
205  virtual void setValue(double) {;};
206  //=========================================================================================================
213  virtual double getValue() const {return -1;};
214 
215  //=========================================================================================================
222  virtual void setVector(QVector<double> v);
223  //=========================================================================================================
230  virtual QVector<double> getVector() const;
231 
232 private:
233  double m_dMinValue;
234  double m_dMaxValue;
235  double m_dSamplingRate;
236  QString m_qString_Unit;
237  unsigned int m_uiNumChannels;
238  QVector<double> m_vecValue;
239  unsigned char m_ucMultiArraySize;
240  QVector< QVector<double> > m_matSamples;
241 };
242 
243 
244 //*************************************************************************************************************
245 //=============================================================================================================
246 // INLINE DEFINITIONS
247 //=============================================================================================================
248 
249 inline void RealTimeMultiSampleArray::setMinValue(double minValue)
250 {
251  m_dMinValue = minValue;
252 }
253 
254 
255 //*************************************************************************************************************
256 
258 {
259  return m_dMinValue;
260 }
261 
262 
263 //*************************************************************************************************************
264 
265 inline void RealTimeMultiSampleArray::setMaxValue(double maxValue)
266 {
267  m_dMaxValue = maxValue;
268 }
269 
270 
271 //*************************************************************************************************************
272 
274 {
275  return m_dMaxValue;
276 }
277 
278 
279 //*************************************************************************************************************
280 
281 inline void RealTimeMultiSampleArray::setSamplingRate(double dSamplingRate)
282 {
283  m_dSamplingRate = dSamplingRate;
284 }
285 
286 
287 //*************************************************************************************************************
288 
290 {
291  return m_dSamplingRate;
292 }
293 
294 
295 //*************************************************************************************************************
296 
297 inline void RealTimeMultiSampleArray::setNumChannels(unsigned int uiNumChannels)
298 {
299  m_uiNumChannels = uiNumChannels;
300 }
301 
302 
303 //*************************************************************************************************************
304 
305 inline unsigned int RealTimeMultiSampleArray::getNumChannels() const
306 {
307  return m_uiNumChannels;
308 }
309 
310 //*************************************************************************************************************
311 
312 inline void RealTimeMultiSampleArray::setMultiArraySize(unsigned char ucMultiArraySize)
313 {
314  //Obsolete unsigned char can't be bigger
315 // if(ucArraySize > 255)
316 // m_ucArraySize = 255;
317 // else
318  m_ucMultiArraySize = ucMultiArraySize;
319 }
320 
321 
322 //*************************************************************************************************************
323 
325 {
326  return m_ucMultiArraySize;
327 }
328 
329 
330 //*************************************************************************************************************
331 
332 inline const QVector< QVector<double> >& RealTimeMultiSampleArray::getMultiSampleArray()
333 {
334  return m_matSamples;
335 }
336 
337 
338 //*************************************************************************************************************
339 
340 inline void RealTimeMultiSampleArray::setUnit(const QString& unit)
341 {
342  m_qString_Unit = unit;
343 }
344 
345 
346 //*************************************************************************************************************
347 
348 inline const QString& RealTimeMultiSampleArray::getUnit() const
349 {
350  return m_qString_Unit;
351 }
352 
353 } // NAMESPACE
354 
355 #endif // REALTIMEMULTISAMPLEARRAY_H
void setSamplingRate(double dSamplingRate)
#define XMEASSHARED_EXPORT
Definition: xmeas_global.h:54
The RealTimeMultiSampleArray class is the base class of every RealTimeMultiSampleArray Measurement...
const QVector< QVector< double > > & getMultiSampleArray()
void setNumChannels(unsigned int uiNumChannels)
QSharedPointer< const RealTimeMultiSampleArray > ConstSPtr
void setMultiArraySize(unsigned char ucMultiArraySize)
The SngChnMeasurement class is the base class of every SngChnMeasurement.
Contains the declaration of the SngChnMeasurement base class.
QSharedPointer< RealTimeMultiSampleArray > SPtr