* add the Matrix copy contructor
[diffractometer.git] / src / PseudoAxisAdapter.h
blobbe63571e2b526d3f2cbabf68d40434fafba65d68
1 #ifndef __PSEUDOAXIS_ADAPTER_H__
2 #define __PSEUDOAXIS_ADAPTER_H__
4 #include <tango.h>
6 #include <hkl/hkl-geometry-factory.h>
7 #include <hkl/hkl-pseudoaxis-factory.h>
9 #include "AxisAdapter.h"
11 namespace DiffractometerDevice_ns {
13 //forwar declaration
14 class TangoHKLAdapter;
16 class PseudoAxisAdapter {
17 friend class TangoHKLAdapter;
19 public:
20 PseudoAxisAdapter(TangoHKLAdapter & hklAdapter, HklPseudoAxis *pseudo_read, HklPseudoAxis *pseudo_write);
21 virtual ~PseudoAxisAdapter(void);
23 double const & get_read(void) const {return _read;}
24 double const & get_write(void) const {return _write;}
25 Tango::DevState const & get_state(void) const {return _state;}
26 std::string const & get_status(void) const {return _status;}
27 bool is_ready(void);
28 private:
29 TangoHKLAdapter &_hklAdapter;
30 std::string _devicename;
31 Tango::Group *_group;
32 HklPseudoAxis *_pseudo_r;
33 HklPseudoAxis *_pseudo_w;
34 double _read;
35 double _write;
36 std::vector<AxisAdapter *> _axes;
37 Tango::DevState _state;
38 std::string _status;
39 bool _ready;
41 void update(void);
42 void to_proxies(void);
47 #endif // __PSEUDOAXIS_ADAPTER_H__