MNE-CPP  beta 1.0
ecgproducer.h
Go to the documentation of this file.
1 //=============================================================================================================
36 #ifndef ECGPRODUCER_H
37 #define ECGPRODUCER_H
38 
39 
40 //*************************************************************************************************************
41 //=============================================================================================================
42 // INCLUDES
43 //=============================================================================================================
44 
46 
47 
48 //*************************************************************************************************************
49 //=============================================================================================================
50 // QT INCLUDES
51 //=============================================================================================================
52 
53 #include <QThread>
54 
55 
56 //*************************************************************************************************************
57 //=============================================================================================================
58 // DEFINE NAMESPACE ECGSimulatorPlugin
59 //=============================================================================================================
60 
61 namespace ECGSimulatorPlugin
62 {
63 
64 
65 //*************************************************************************************************************
66 //=============================================================================================================
67 // USED NAMESPACES
68 //=============================================================================================================
69 
70 using namespace IOBuffer;
71 
72 
73 //*************************************************************************************************************
74 //=============================================================================================================
75 // FORWARD DECLARATIONS
76 //=============================================================================================================
77 
78 class ECGSimulator;
79 
80 
81 //=============================================================================================================
87 class ECGProducer : public QThread
88 {
89 public:
90  typedef QSharedPointer<ECGProducer> SPtr;
91  typedef QSharedPointer<const ECGProducer> ConstSPtr;
93  //=========================================================================================================
102  ECGProducer(ECGSimulator* simulator, dBuffer::SPtr& buffer_I, dBuffer::SPtr& buffer_II, dBuffer::SPtr& buffer_III);
103 
104  //=========================================================================================================
108  ~ECGProducer();
109 
110  //=========================================================================================================
114  void stop();
115 
116 protected:
117  //=========================================================================================================
123  virtual void run();
124 
125 private:
126  ECGSimulator* m_pECGSimulator;
127  dBuffer::SPtr m_pdBuffer_I;
128  dBuffer::SPtr m_pdBuffer_II;
129  dBuffer::SPtr m_pdBuffer_III;
130  bool m_bIsRunning;
131 };
132 
133 } // NAMESPACE
134 
135 #endif // ECGPRODUCER_H
The ECGSimulator class provides a ECG simulator.
Definition: ecgsimulator.h:97
The ECGProducer class provides a ECG data producer for a given sampling rate.
Definition: ecgproducer.h:87
CircularBuffer class declaration.
QSharedPointer< ECGProducer > SPtr
Definition: ecgproducer.h:90
QSharedPointer< const ECGProducer > ConstSPtr
Definition: ecgproducer.h:91