For STXM 5, the display scheme will change significantly. I propose the following:
read_stxm5.pro can return the 3-dimensional data array in 3 flavors. All three will be specified as optional keywords and not parameters, since in practice most of the time one will be interested only in the kHz array (see below). You can take a look at the calling sequence for read_stxm5.pro if things are unclear.
Additionally, read_stxm5.pro will return a 2-dimensional kHz array (required parameter, not keyword). In fact, this will be the most interesting data in practice. It can be any linear combination of all available channels in the calibrated 3-dimensional data array as described above (Question: could it be necessary to also look at linear combinations of raw signals?). Which combinations are available will be defined in the IDL routine displays.pro (You can find it already in cvs/idl_local/stxm5). The linear combinations will also include every single Sidet channel (which is then exactly the same data as the corresponding channel in the calibrated 3-dimensional array from above). I am not planning to store this information (the list of available displays) in the data file.
In the GUI, I am planning for a dropdown list to choose between raw integer, raw count / mVolts, calibrated data or specific displays (linear combinations). For the first three options, one can then cycle through the recorded (or to-be-recorded) channels (Obviously, between raw integer and raw counts / mVolts, the difference will only be a scaling factor). For the fourth option, one can cycle through all the displays which are defined in displays.pro (except the ones where all coefficients for the linear combination are zero, e.g., the display ``Proportional Counter'' when only the Sidet signal was recorded).
For anything which can be displayed, min, max and gamma values can be adjusted in the GUI.
Now the question is what to store in the data file. I would say we store disp_name, disp_min, disp_max and disp_gamma, where disp_name refers to one of the linear combinations. If that file is then opened again later in the GUI, this display would be restored. This would have the following consequences:
If we want to have the option to store that a raw integer or whatever channel has been displayed last, it would be another entry in sm_par.
In that scheme, we could get completely rid of disp_num/denom_channels, disp_num/denom_factors and disp_raw since they won't be used any more. In principle one could keep them in case we want to make up some really arbitrary signal, but I don't think that's likely. If we want to keep them, however, the entries in the disp_num/denom_factors should refer to the stored data channels, and not all available data channels as now.
Holger Fleckenstein 2008-07-08