1 #ifndef _PSEUDOAXEENGINE_KAPPA4C_H_
2 #define _PSEUDOAXEENGINE_KAPPA4C_H_
4 #include "pseudoaxeengine.h"
5 #include "pseudoaxeengine_twoC.h"
6 #include "pseudoaxeengine_eulerian4C.h"
7 #include "geometry_kappa4C.h"
13 namespace pseudoAxeEngine
21 * @brief The kappa 4-circle diffractometer Omega pseudoAxe.
23 class Eulerians
: public PseudoAxeEngineTemp
<geometry::kappa4C::Vertical
>
27 Eulerians(geometry::kappa4C::Vertical
&); //!< Default constructor.
29 virtual ~Eulerians(void); //!< Default destructor.
31 void initialize(void) throw (HKLException
);
33 void update(void) throw (HKLException
);
35 void set(void) throw (HKLException
);
38 double _alpha
; //!< The alpha value.
39 Axe
* _komega
; //!< the komega Axe.
40 Axe
* _kappa
; //!< the kappa Axe.
41 Axe
* _kphi
; //!< the kphi Axe.
42 Parameter
* _solution
; //!< Switch between the two possible convert-solution.
44 Range _omega_r
; //!< The read part of the omega PseudoAxe.
45 Range _omega_w
; //!< The write part of the omega PseudoAxe.
46 Range _chi_r
; //!< The read part of the chi PseudoAxe.
47 Range _chi_w
; //!< The write part of the chi PseudoAxe.
48 Range _phi_r
; //!< The read part of the phi PseudoAxe.
49 Range _phi_w
; //!< The write part of the phi PseudoAxe.
51 PseudoAxe
* _omega
; //!< The omega PseudoAxe.
52 PseudoAxe
* _chi
; //!< The chi PseudoAxe.
53 PseudoAxe
* _phi
; //!< The phi PseudoAxe.
59 typedef DerivedPseudoAxeEngine
<pseudoAxeEngine::twoC::vertical::Th2th
, geometry::kappa4C::Vertical
> Th2th
; //!< DerivedPseudoAxe from the twoC pseudoAxes.
60 typedef DerivedPseudoAxeEngine
<pseudoAxeEngine::twoC::vertical::Q2th
, geometry::kappa4C::Vertical
> Q2th
; //!< DerivedPseudoAxe from the twoC pseudoAxes.
61 typedef DerivedPseudoAxeEngine
<pseudoAxeEngine::twoC::vertical::Q
, geometry::kappa4C::Vertical
> Q
; //!< DerivedPseudoAxe from the twoC pseudoAxes.
68 typedef DerivedPseudoAxeEngine
<pseudoAxeEngine::eulerian4C::vertical::Psi
, geometry::kappa4C::Vertical
> Psi
; //!< DerivedPseudoAxe from the eulerian4C pseudoAxes.
70 } // namespace eulerian4C
71 } // namespace vertical
72 } // namespace kappa4C
73 } // namespace pseudoAxeEngine
76 #endif // _PSEUDOMULYIAXEENGINE_EULERIAN4C_H_