- 5.x runtime can be co-installed with the 4.x series.
- hkl.h contain all the Public API.
- A clear separation between the public and private API was achieved, in order to propose a Long Time Support of the 5.x series.
- c-tap-hardness library was embeded to provide the unit test framework.
- gobject-instrospection provide the binding support. Look at this page for more informations.
- Documentation was generated with sphinx and asymptote for the figures.
- New diffractometers added
- E4CH (eulerian 4 circles horizontal) geometry.
- MARS beamline (SOLEIL) eulerian 4 circles vertical geometry.
- SOLEIL SIRIUS KAPPA
- SOLEIL SIRIUS TURRET
- New Pseudo Axes engines.
- qper_qpar
- A not yet public hkl3d library used only by the gui allow to compute (Bullet) and display (OpenGL) collision for model described using the COLLADA file format.
- add a –disable-hkl3d flag to avoid hkl3d library compilation.
- replace the –enable-ghkl with a –disable-gui.
- use ./configure –help for all the options
- Rewriten using Gtk instead of Gtkmm, in order to minimise the required dependencies.
- Added a 3D view to display diffractometers and collisions.
- Added the K6C 3D model.
- Provide the garantie via unit tests that the python API will be stable during all the 5.x lifetime.
- For other languages look at here.
- add the SOLEIL SIXS MED2+2 diffractometer
- engine: hkl
- mode: reflectivity.
- engine: qper_qpar
- engine: hkl
- add the SOLEIL MARS diffractometer
- engine: qper_qpar
- add the PETRA3 P09 EH2 diffractometer
- engine: qper_qpar
- modified E6C
- engine: qper_qpar
- add modes : hkl psi_constant_horizontal, constant_mu_horizontal
- K6C
- engine hkl:
- add the constant_incidence mode
- engine: qper_qpar
- engine hkl:
- add the sphinx documentation
- remove the usage.c file to avoid a GPL2-GPL3+ incompatibility
- update the documentation
- fix warning catched by clang
- add the ghkl manpage and .desktop file
- fix the ghkl quit menuitem bugs
- fix a few ghkl bugs (.ui files installation)
- add a –enable-ghkl=[yes,no] flag to allow compiling the gui interface
- do not forgot to link ghkl against gsl.
- display by default the preference panel of ghkl.
- add the autotools buildsystem and remove all other systems.
- add a GUI ghkl for testing purpose based on gtkmm.
- add the GNU info doc
- add the gtk-doc to document the api (work in progress)
- new structure for the HklDetector (prepare for 2D detectors)
- HklGeometryConfig shared between all equivalent HklGeometries.
- fix for 64 bits computers runtime error.
- add the GError class to report calculation errors (not yet used)
- new way to set the UB matrix of a sample (hkl_sample_set_UB).
- new ZAxis geometry
- mode zaxis
- mode reflectivity (mu = gamma)
- add the psi_constant mode to the e4cv, e6c, k4cv and k6c geometries. (thanks teresa)
- upgrade the user guide to explain how to add a mode.
- the horizontal modes are also valid if omega = +-PI. (e6c, k6c)
- remove geometries with an invalid range from the list of solutions.
- Rewrote from scratch in C with the GSL library.
- now most of pseudo axes modes are numeric. So a 6 circles mode is now a real 6 circles mode.
- Eulerian 4 circles
- PseudoAxisEngine “hkl”: “h”, “k”, “l”
- Mode “bissector”
- Mode “constant_omega”
- Mode “constant_chi”
- Mode “constant_phi”
- Mode “double_diffraction”
- PseudoAxisEngine “psi”: “psi”
- Mode “psi”
- PseudoAxisEngine “hkl”: “h”, “k”, “l”
- Kappa 4 circles
- PseudoAxisEngine “hkl”: “h”, “k”, “l”
- Mode “bissector”
- Mode “constant_omega”
- Mode “constant_chi”
- Mode “constant_phi”
- Mode “double_diffraction”
- PseudoAxisEngine “psi”: “psi”
- Mode “psi”
- PseudoAxisEngien “eulerians”: “omega”, “chi”, “phi”
- mode “eulerians”
- PseudoAxisEngine “hkl”: “h”, “k”, “l”
- Eulerian 6 circles
- PseudoAxisEngine “hkl”: “h”, “k”, “l”
- Mode “bissector_vertical”
- Mode “constant_omega_vertical”
- Mode “constant_chi_vertical”
- Mode “constant_phi_vertical”
- Mode “double_diffraction_vertical”
- Mode “lifting_detector”
- Mode “bissector_horizontal”
- Mode “double_diffraction_horizontal”
- PseudoAxisEngine “psi”: “psi”
- Mode “psi”
- PseudoAxisEngine “hkl”: “h”, “k”, “l”
- Kappa 6 circles
- PseudoAxisEngine “hkl”: “h”, “k”, “l”
- Mode “bissector_vertical”
- Mode “constant_omega_vertical”
- Mode “constant_chi_vertical”
- Mode “constant_phi_vertical”
- Mode “double_diffraction_vertical”
- Mode “lifting_detector”
- Mode “bissector_horizontal”
- Mode “constant_phi_horizontal”
- Mode “constant_kphi_horizontal”
- Mode “double_diffraction_horizontal”
- PseudoAxisEngine “psi”: “psi”
- Mode “psi”
- PseudoAxisEngien “eulerians”: “omega”, “chi”, “phi”
- mode “eulerians”
- PseudoAxisEngine “hkl”: “h”, “k”, “l”
- Refactoring of the sample part.
- It is now possible to create different kind of samples easily.
- MonoCrystal type.
- It is now possible to create different kind of samples easily.
- Diffractometers:
- Eulerian 6 Circles.
- kappa 4 Circles Vertical.
- Refactoring of the PseudoAxe part.
- Derived PseudoAxe can be created from an already existing PseudoAxe if the Geometry conversion exist.
- Better related PseudoAxes (ex Eulerians on a Kappa)
- The PseudoAxe is just a interface, computation is done by the PseudoAxeEngine.
- Eulerian 4 Circles Vertical
- “th2th” : derived from the twoC
- “q2th” : derived from the twoC
- “q” : derived from the twoC
- kappa 4 Circles Vertical
- “omega”, “chi”, “phi” : eulerian 4 circles Vertical pseudoAxes.
- “th2th” : derived from the twoC
- “q2th” : derived from the twoC
- “q” : derived from the twoC
- “psi” : derived from the Eulerian 4 Circlers Vertical.
- Eulerian 6 Circles:
- “tth” : 2 * theta
- “q” : 2 * tau * sin(theta) / lambda
- “psi” : derived from the Eulerian 4 Circlers Vertical.
- Kappa6C
- “omega”, “chi”, “phi” : derived from the Kappa 4 Circles Vertical.
- “tth” derived from the Eulerian6C.
- “q” derived from the Eulerian6C.
- “psi” : derived from the Eulerian 4 Circlers Vertical.
- Refactoring of the Modes.
- Derived Mode can be created from an already existing Mode if the Geometry conversion exist.
- all Eulerian 4 Circles on the kappa4C, Eulerian6c and Kappa6C diffractometers.
- Diffractometers:
- twoC Vertical.
- Eulerian 4 Circles Vertical.
- Kappa 6 Circles.
- PseudoAxes
- twoC
- “th2th”: omega - 2theta (domega = d2theta / 2)
- “q2th” : omega - 2theta (domega = d2theta / 2) but q2th = 2 tau sin(theta) / lambda
- “q” : 2 * tau * sin(theta) / lambda
- Eulerian 4 Circles Vertical
- “th2th”: omega - 2theta (domega = d2theta / 2)
- “q2th” : omega - 2theta (domega = d2theta / 2) but q2th = 2 tau sin(theta) / lambda
- “q” : 2 * tau * sin(theta) / lambda
- “psi” : Rotation of the sample oaround the Q vector.
- twoC
- Modes
- twoC
- “symetric” (omega = theta, 2theta = 2 * theta)
- “fix incidence” (omega = free, 2theta = 2 * theta)
- Eulerian 4 circles:
- “Bissector”
- “Delta Theta”
- “Constant Omega”
- “Constant Chi”
- ‘Constant Phi”
- Kappa6C
- all Eulerian 4 Circles modes.
- twoC