pulserdrivernidaq.h
1 /***************************************************************************
2  Copyright (C) 2002-2015 Kentaro Kitagawa
3  kitagawa@phys.s.u-tokyo.ac.jp
4 
5  This program is free software; you can redistribute it and/or
6  modify it under the terms of the GNU Library General Public
7  License as published by the Free Software Foundation; either
8  version 2 of the License, or (at your option) any later version.
9 
10  You should have received a copy of the GNU Library General
11  Public License and a list of authors along with this program;
12  see the files COPYING and AUTHORS.
13 ***************************************************************************/
14 #ifndef PULSERDRIVERNIDAQ_H_
15 #define PULSERDRIVERNIDAQ_H_
16 
17 #include "pulserdrivernidaqmx.h"
18 
20 public:
21  XNIDAQAODOPulser(const char *name, bool runtime,
22  Transaction &tr_meas, const shared_ptr<XMeasure> &meas)
23  : XNIDAQmxPulser(name, runtime, ref(tr_meas), meas) {
24  }
25  virtual ~XNIDAQAODOPulser() {}
26 
27 protected:
28  virtual void open() throw (XKameError &);
29  //! existense of AO ports.
30  virtual bool hasQAMPorts() const {return true;}
31 };
32 
34 public:
35  XNIDAQDOPulser(const char *name, bool runtime,
36  Transaction &tr_meas, const shared_ptr<XMeasure> &meas)
37  : XNIDAQmxPulser(name, runtime, ref(tr_meas), meas) {
38  }
39  virtual ~XNIDAQDOPulser() {}
40 
41 protected:
42  virtual void open() throw (XKameError &);
43  //! existense of AO ports.
44  virtual bool hasQAMPorts() const {return false;}
45 };
46 
48 public:
49  XNIDAQMSeriesWithSSeriesPulser(const char *name, bool runtime,
50  Transaction &tr_meas, const shared_ptr<XMeasure> &meas);
51  virtual ~XNIDAQMSeriesWithSSeriesPulser() {}
52 
53 protected:
54  virtual void open() throw (XKameError &);
55  //! existense of AO ports.
56  virtual bool hasQAMPorts() const {return true;}
57 
58  virtual const shared_ptr<XNIDAQmxInterface> &intfAO() const {return m_ao_interface;}
59  virtual const shared_ptr<XNIDAQmxInterface> &intfCtr() const {return interface();}
60 private:
61 
62  const shared_ptr<XNIDAQmxInterface> m_ao_interface;
63 };
64 
65 #endif /*PULSERDRIVERNIDAQ_H_*/

Generated for KAME4 by  doxygen 1.8.3