1 #ifndef __PSEUDOAXIS_ADAPTER_H__
2 #define __PSEUDOAXIS_ADAPTER_H__
6 #include <hkl/hkl-geometry-factory.h>
7 #include <hkl/hkl-pseudoaxis-factory.h>
9 #include "AxisAdapter.h"
12 namespace Diffractometer_ns
{
15 class TangoHKLAdapter
;
17 class PseudoAxisAdapter
{
18 friend class TangoHKLAdapter
;
21 PseudoAxisAdapter(TangoHKLAdapter
& hklAdapter
, HklPseudoAxis
*pseudo_read
, HklPseudoAxis
*pseudo_write
);
22 virtual ~PseudoAxisAdapter(void);
24 double const & get_read(void) const {return _read
;}
25 double const & get_write(void) const {return _write
;}
26 Tango::DevState
const & get_state(void) const {return _state
;}
27 std::string
const & get_status(void) const {return _status
;}
28 Matrix
<char *> const &get_mode_names(void) const {return _mode_names
;}
29 void get_mode_parameters(Tango::DevVarDoubleStringArray
*argout
);
30 void set_mode_parameters(const Tango::DevVarDoubleStringArray
*argin
);
32 Tango::DevString
*get_mode(void) const;
33 void set_mode(Tango::DevString
const & mode
);
35 TangoHKLAdapter
&_hklAdapter
;
36 std::string _devicename
;
38 HklPseudoAxis
*_pseudo_r
;
39 HklPseudoAxis
*_pseudo_w
;
42 std::vector
<AxisAdapter
*> _axes
;
43 Tango::DevState _state
;
46 Matrix
<char *> _mode_names
;
49 void to_proxies(void);
54 #endif // __PSEUDOAXIS_ADAPTER_H__