userlockinamp.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 userlockinampH
15 #define userlockinampH
16 
17 #include "lockinamp.h"
18 #include "chardevicedriver.h"
19 //---------------------------------------------------------------------------
20 //! Stanford Research SR830 Lock-in Amplifier
21 class XSR830 : public XCharDeviceDriver<XLIA> {
22 public:
23  XSR830(const char *name, bool runtime,
24  Transaction &tr_meas, const shared_ptr<XMeasure> &meas);
25 protected:
26  virtual void get(double *cos, double *sin);
27  virtual void changeOutput(double volt);
28  virtual void changeFreq(double freq);
29  virtual void changeSensitivity(int);
30  virtual void changeTimeConst(int);
31 
32  //! Be called just after opening interface. Call start() inside this routine appropriately.
33  virtual void open() throw (XKameError &);
34  //! Be called for closing interfaces.
35  virtual void closeInterface();
36 
37  int m_cCount;
38 };
39 
40 //! NF LI 5640 Lock-in Amplifier
41 class XLI5640 : public XCharDeviceDriver<XLIA> {
42 public:
43  XLI5640(const char *name, bool runtime,
44  Transaction &tr_meas, const shared_ptr<XMeasure> &meas);
45 protected:
46  virtual void get(double *cos, double *sin);
47  virtual void changeOutput(double volt);
48  virtual void changeFreq(double freq);
49  virtual void changeSensitivity(int);
50  virtual void changeTimeConst(int);
51 
52  //! Be called just after opening interface. Call start() inside this routine appropriately.
53  virtual void open() throw (XKameError &);
54  //! Be called for closing interfaces.
55  virtual void closeInterface();
56 
57  int m_cCount;
58  bool m_currMode;
59 };
60 
61 //! ANDEEN HAGERLING 2500A 1kHz Ultra-Precision Capcitance Bridge
62 class XAH2500A : public XCharDeviceDriver<XLIA> {
63 public:
64  XAH2500A(const char *name, bool runtime,
65  Transaction &tr_meas, const shared_ptr<XMeasure> &meas);
66 protected:
67  virtual void get(double *cos, double *sin);
68  virtual void changeOutput(double volt);
69  virtual void changeFreq(double freq);
70  virtual void changeSensitivity(int);
71  virtual void changeTimeConst(int);
72  //! Be called just after opening interface. Call start() inside this routine appropriately.
73  virtual void open() throw (XKameError &);
74  //! Be called for closing interfaces.
75  virtual void closeInterface();
76 };
77 
78 #endif

Generated for KAME4 by  doxygen 1.8.3