[contrib][haskell] add the Hkl.C.Engine
[hkl.git] / NEWS
blobe5d5d40d926b3c410f29ab016db9d71209bffafc
1 # -*- org -*-
3 * 5.0.0 UNRELEASED
4 ** General
5    - 5.x runtime can be co-installed with the 4.x series.
6    - hkl.h contain all the Public API.
7    - A clear separation between the public and private API was
8      achieved, in order to propose a Long Time Support of the
9      5.x series.
10    - c-tap-hardness library was embeded to provide the unit test
11      framework.
12    - gobject-instrospection provide the binding support. Look at this
13      [[https://wiki.gnome.org/action/show/Projects/GObjectIntrospection][page]] for more informations.
14    - Documentation was generated with sphinx and asymptote for the figures.
15    - New diffractometers added
16      - E4CH (eulerian 4 circles horizontal) geometry.
17      - MARS beamline (SOLEIL) eulerian 4 circles vertical geometry.
18      - SOLEIL SIRIUS KAPPA
19      - SOLEIL SIRIUS TURRET
20    - New Pseudo Axes engines.
21      - qper_qpar
22    - A not yet public hkl3d library used only by the gui allow to
23      compute (Bullet) and display (OpenGL) collision for model
24      described using the COLLADA file format.
25 ** Buildsystem
26    - add a --disable-hkl3d flag to avoid hkl3d library compilation.
27    - replace the --enable-ghkl with a --disable-gui.
28    - use ./configure --help for all the options
29 ** Gui
30    - Rewriten using Gtk instead of Gtkmm, in order to minimise the
31      required dependencies.
32    - Added a 3D view to display diffractometers and collisions.
33    - Added the K6C 3D model.
34 ** Bindings
35    - Provide the garantie via unit tests that the python API will be
36      stable during all the 5.x lifetime.
37    - For other languages look at [[https://wiki.gnome.org/Projects/GObjectIntrospection/][here]].
39 * 4.0.4 UNRELEASED
40         * add the SOLEIL SIXS MED2+2 diffractometer
41           - engine: hkl
42             - mode: reflectivity.
43           - engine: qper_qpar
44         * add the SOLEIL MARS diffractometer
45           - engine: qper_qpar
46         * add the PETRA3 P09 EH2 diffractometer
47           - engine: qper_qpar
48         * modified E6C
49           - engine: qper_qpar
50           - add modes : hkl psi_constant_horizontal, constant_mu_horizontal
51         * K6C
52           - engine hkl:
53             - add the constant_incidence mode
54           - engine: qper_qpar
55         * add the sphinx documentation
57 * 4.0.3 06-06-2010
58         * remove the usage.c file to avoid a GPL2-GPL3+ incompatibility
59         * update the documentation
60         * fix warning catched by clang
62 * 4.0.2 01-06-2010
63         * add the ghkl manpage and .desktop file
64         * fix the ghkl quit menuitem bugs
66 * 4.0.1 10-05-2010
67         * fix a few ghkl bugs (.ui files installation)
68         * add a --enable-ghkl=[yes,no] flag to allow compiling the gui interface
69         * do not forgot to link ghkl against gsl.
70         * display by default the preference panel of ghkl.
72 * 4.0.0 14-04-2010
74         * add the autotools buildsystem and remove all other systems.
75         * add a GUI ghkl for testing purpose based on gtkmm.
76         * add the GNU info doc
77         * add the gtk-doc to document the api (work in progress)
78         * new structure for the HklDetector (prepare for 2D detectors)
79         * HklGeometryConfig shared between all equivalent HklGeometries.
80         * fix for 64 bits computers runtime error.
81         * add the GError class to report calculation errors (not yet used)
82         * new way to set the UB matrix of a sample (hkl_sample_set_UB).
83         * new ZAxis geometry
84                 - mode zaxis
85                 - mode reflectivity (mu = gamma)
87 * 3.0.1 23-10-2009
89         * add the psi_constant mode to the e4cv, e6c, k4cv and k6c geometries. (thanks teresa)
90         * upgrade the user guide to explain how to add a mode.
91         * the horizontal modes are also valid if omega = +-PI. (e6c, k6c)
92         * remove geometries with an invalid range from the list of solutions.
94 * 3.0.0 15-07-2009
96         * Rewrote from scratch in C with the GSL library.
97                 - now most of pseudo axes modes are numeric.
98                   So a 6 circles mode is now a real 6 circles mode.
99         * Eulerian 4 circles
100                 - PseudoAxisEngine  "hkl": "h", "k", "l"
101                         * Mode "bissector"
102                         * Mode "constant_omega"
103                         * Mode "constant_chi"
104                         * Mode "constant_phi"
105                         * Mode "double_diffraction"
106                 - PseudoAxisEngine "psi": "psi"
107                         * Mode "psi"
108         * Kappa 4 circles
109                 - PseudoAxisEngine  "hkl": "h", "k", "l"
110                         * Mode "bissector"
111                         * Mode "constant_omega"
112                         * Mode "constant_chi"
113                         * Mode "constant_phi"
114                         * Mode "double_diffraction"
115                 - PseudoAxisEngine "psi": "psi"
116                         * Mode "psi"
117                 - PseudoAxisEngien "eulerians": "omega", "chi", "phi"
118                         * mode "eulerians"
119         * Eulerian 6 circles
120                 - PseudoAxisEngine  "hkl": "h", "k", "l"
121                         * Mode "bissector_vertical"
122                         * Mode "constant_omega_vertical"
123                         * Mode "constant_chi_vertical"
124                         * Mode "constant_phi_vertical"
125                         * Mode "double_diffraction_vertical"
126                         * Mode "lifting_detector"
127                         * Mode "bissector_horizontal"
128                         * Mode "double_diffraction_horizontal"
129                 - PseudoAxisEngine "psi": "psi"
130                         * Mode "psi"
131         * Kappa 6 circles
132                 - PseudoAxisEngine  "hkl": "h", "k", "l"
133                         * Mode "bissector_vertical"
134                         * Mode "constant_omega_vertical"
135                         * Mode "constant_chi_vertical"
136                         * Mode "constant_phi_vertical"
137                         * Mode "double_diffraction_vertical"
138                         * Mode "lifting_detector"
139                         * Mode "bissector_horizontal"
140                         * Mode "constant_phi_horizontal"
141                         * Mode "constant_kphi_horizontal"
142                         * Mode "double_diffraction_horizontal"
143                 - PseudoAxisEngine "psi": "psi"
144                         * Mode "psi"
145                 - PseudoAxisEngien "eulerians": "omega", "chi", "phi"
146                         * mode "eulerians"
148 * 2.3.0 24-01-2007
150     * Refactoring of the sample part.
151       - It is now possible to create different kind of samples easily.
152         - MonoCrystal type.
154     * Diffractometers:
155       - Eulerian 6 Circles.
156       - kappa 4 Circles Vertical.
157     
158     * Refactoring of the PseudoAxe part.
159       - Derived PseudoAxe can be created from an already existing PseudoAxe if the Geometry conversion exist.
160       - Better related PseudoAxes (ex Eulerians on a Kappa)
161       - The PseudoAxe is just a interface, computation is done by the PseudoAxeEngine.
162       - Eulerian 4 Circles Vertical
163         - "th2th" : derived from the twoC
164         - "q2th" : derived from the twoC
165         - "q" : derived from the twoC
166       - kappa 4 Circles Vertical
167         - "omega", "chi", "phi" : eulerian 4 circles Vertical pseudoAxes.
168         - "th2th" : derived from the twoC
169         - "q2th" : derived from the twoC
170         - "q" : derived from the twoC
171         - "psi" : derived from the Eulerian 4 Circlers Vertical.
172       - Eulerian 6 Circles:
173         - "tth" : 2 * theta
174         - "q" : 2 * tau * sin(theta) / lambda
175         - "psi" : derived from the Eulerian 4 Circlers Vertical.
176       - Kappa6C
177         - "omega", "chi", "phi" : derived from the Kappa 4 Circles Vertical.
178         - "tth" derived from the Eulerian6C.
179         - "q" derived from the Eulerian6C.
180         - "psi" : derived from the Eulerian 4 Circlers Vertical.
181     
182     * Refactoring of the Modes.
183       - Derived Mode can be created from an already existing Mode if the Geometry conversion exist.
184       - all Eulerian 4 Circles on the kappa4C, Eulerian6c and Kappa6C diffractometers.
186 * 2.2.0 19-06-2006
187     
188     * Diffractometers:
189       - twoC Vertical.
190       - Eulerian 4 Circles Vertical.
191       - Kappa 6 Circles.
192     
193     * PseudoAxes
194       - twoC
195         - "th2th": omega - 2theta (domega = d2theta / 2)
196         - "q2th" : omega - 2theta (domega = d2theta / 2) but q2th = 2 tau sin(theta) / lambda
197         - "q" : 2 * tau * sin(theta) / lambda
198       - Eulerian 4 Circles Vertical
199         - "th2th": omega - 2theta (domega = d2theta / 2)
200         - "q2th" : omega - 2theta (domega = d2theta / 2) but q2th = 2 tau sin(theta) / lambda
201         - "q" : 2 * tau * sin(theta) / lambda
202         - "psi" : Rotation of the sample oaround the Q vector.
203     
204     * Modes
205       - twoC
206         - "symetric" (omega = theta, 2theta = 2 * theta)
207         - "fix incidence" (omega = free, 2theta = 2 * theta)
208       - Eulerian 4 circles:
209         - "Bissector"
210         - "Delta Theta"
211         - "Constant Omega"
212         - "Constant Chi"
213         - 'Constant Phi"
214       - Kappa6C
215         - all Eulerian 4 Circles modes.