QXRD  0.11.16
qxrdsynchronizedacquisition.h
Go to the documentation of this file.
1 #ifndef QXRDSYNCHRONIZEDACQUISITION_H
2 #define QXRDSYNCHRONIZEDACQUISITION_H
3 
4 #include "qcepobject.h"
5 #include <QVector>
6 #include <QMutex>
7 #include "qcepproperty.h"
10 #include "qxrdacquisition-ptr.h"
11 #include "qcepsettingssaver-ptr.h"
14 
16 {
17  Q_OBJECT
18 public:
21 
22 public:
23  Q_PROPERTY(int syncAcquisitionMode READ get_SyncAcquisitionMode WRITE set_SyncAcquisitionMode)
24  QCEP_INTEGER_PROPERTY(SyncAcquisitionMode)
25 
26  enum {
30  };
31 
32  Q_PROPERTY(int syncAcquisitionWaveform READ get_SyncAcquisitionWaveform WRITE set_SyncAcquisitionWaveform)
33  QCEP_INTEGER_PROPERTY(SyncAcquisitionWaveform)
34 
35  enum {
41  };
42 
43  Q_PROPERTY(QString syncAcquisitionOutputDevice READ get_SyncAcquisitionOutputDevice WRITE set_SyncAcquisitionOutputDevice)
44  QCEP_STRING_PROPERTY(SyncAcquisitionOutputDevice)
45 
46  Q_PROPERTY(QString syncAcquisitionOutputChannel READ get_SyncAcquisitionOutputChannel WRITE set_SyncAcquisitionOutputChannel)
47  QCEP_STRING_PROPERTY(SyncAcquisitionOutputChannel)
48 
49 // Q_PROPERTY(int syncAcquisitionFlagChannel READ get_SyncAcquisitionFlagChannel WRITE set_SyncAcquisitionFlagChannel)
50 // QCEP_INTEGER_PROPERTY(SyncAcquisitionFlagChannel)
51 
52  Q_PROPERTY(double syncAcquisitionMinimum READ get_SyncAcquisitionMinimum WRITE set_SyncAcquisitionMinimum)
53  QCEP_DOUBLE_PROPERTY(SyncAcquisitionMinimum)
54 
55  Q_PROPERTY(double syncAcquisitionMaximum READ get_SyncAcquisitionMaximum WRITE set_SyncAcquisitionMaximum)
56  QCEP_DOUBLE_PROPERTY(SyncAcquisitionMaximum)
57 
58  Q_PROPERTY(double syncAcquisitionSymmetry READ get_SyncAcquisitionSymmetry WRITE set_SyncAcquisitionSymmetry)
59  QCEP_DOUBLE_PROPERTY(SyncAcquisitionSymmetry)
60 
61  Q_PROPERTY(double syncAcquisitionPhaseShift READ get_SyncAcquisitionPhaseShift WRITE set_SyncAcquisitionPhaseShift)
62  QCEP_DOUBLE_PROPERTY(SyncAcquisitionPhaseShift)
63 
64  Q_PROPERTY(double syncAcquisitionManualValue READ get_SyncAcquisitionManualValue WRITE set_SyncAcquisitionManualValue)
65  QCEP_DOUBLE_PROPERTY(SyncAcquisitionManualValue)
66 
67 signals:
68 
69 public slots:
70  void setManualOutput();
71  void triggerOnce();
72 
73 public:
76  void finishedAcquisition();
77  void acquiredFrameAvailable(int currentPhase);
79  QxrdNIDAQPluginInterfaceWPtr nidaqPlugin() const;
80 
81  QVector<double> outputTimes();
82  QVector<double> outputVoltage();
83 
85 
86 private:
87  mutable QMutex m_Mutex;
92  QVector<double> m_OutputTimes;
93  QVector<double> m_OutputVoltage;
94 };
95 
96 #endif // QXRDSYNCHRONIZEDACQUISITION_H
QWeakPointer< QxrdNIDAQPluginInterface > QxrdNIDAQPluginInterfaceWPtr
QxrdNIDAQPluginInterfaceWPtr m_NIDAQPlugin
#define QCEP_DOUBLE_PROPERTY(propname)
Definition: qcepproperty.h:629
QxrdSynchronizedAcquisition(QcepSettingsSaverWPtr saver, QxrdAcquisitionWPtr acq)
QxrdNIDAQPluginInterfaceWPtr nidaqPlugin() const
QxrdAcquisitionParameterPackWPtr m_AcquisitionParms
QWeakPointer< QxrdDarkAcquisitionParameterPack > QxrdDarkAcquisitionParameterPackWPtr
#define QCEP_INTEGER_PROPERTY(propname)
Definition: qcepproperty.h:698
void prepareForDarkAcquisition(QxrdDarkAcquisitionParameterPackWPtr parms)
void setNIDAQPlugin(QxrdNIDAQPluginInterfaceWPtr nidaqPlugin)
#define QCEP_STRING_PROPERTY(propname)
Definition: qcepproperty.h:664
QxrdAcquisitionParameterPackWPtr parms()
void prepareForAcquisition(QxrdAcquisitionParameterPackWPtr parms)
QWeakPointer< QxrdAcquisition > QxrdAcquisitionWPtr
QWeakPointer< QxrdAcquisitionParameterPack > QxrdAcquisitionParameterPackWPtr
QWeakPointer< QcepSettingsSaver > QcepSettingsSaverWPtr