Now both have a line break at the end--before this has only been true for the asymmetry data.
(If the line break is not needed it should be consistently removed and replaced by a cout.flush()
followed by a line break when musrview is terminated.)
The default (if no option is given) is now that only for newly generated or empty files the respective header will be written.
If data is appended to an existing file, it is assumed that the header also is present already!
In this case only the new data blocks are appended directly after to existing ones.
[Most probably this behavior is broken if used in a native Windows environment, however, this is not the only problem there...]
The previous option "noheader" is preserved.
It suppresses the output of the header in any case.
If new data are appended to an existing output file this is done at the end of the file---just as before!
A new option "header" has been introduced.
If this is given, the output of the header is forced---no matter if a file (probably with header) existed before or not.
Also in this case all new data (and the header) are appended at the end of the output file if it existed already.
In case both options are given, the default behavior is activated.
Non-existing msr-files in the specified list of runs are now ignored as far as possible!
Still a warning for each non-existing file will be issued!
Before, encountering such a file led to the termination of the program.
Also the writing of the empty lines at the end of the data-output-file should be fixed now in this case.
It is needed to get a "correct db-file".
Before, when the program has been aborted before the last run was processed, these empty lines had not been appended to the file.
Also the cuba-compiler-check for gcc-versions containing a certain bug (4.2, 4.4.3) has been adopted.
This still needs to be tested on systems having such a gcc.
If this new version of the built-in library should be installed,
first make sure that the old version is completely deinstalled (including headers, pkg-config-files, etc.).
That these did not surface earlier can only be due to the musrgui/musredit interface which has additional safeguards.
Obviously no one uses this program from the command line (my guess).
run-specific parameters. This might help to get overall better starting parameters for a global fit.
For a few more details and an example, see the documentation.
Any testing is very welcome.
(i) It was not always possible to zoom the x-range down below some threshold. The reason was that on overlay histogram frame is needed which is invoked by DrawFrame from the DataTheory Pad. This by default has only 1000 'bins'. If the plotted histogram had more bins (e.g. 16000 bins) zooming was only possible down to the relative ratio (16 for the example). This is fixed now by increasing the 'bins' of the overlay histogram frame.
(ii) When toggling between data view and difference view, the x-range was subtly shrinking.
Files that are newly generated through msr2data from now on will only write two successive empty lines (at any occurence).
Any further empty lines will be deleted.