It should now be possible to build a static version of musrfit and shared libraries for the user functions.
This is needed on systems which do not support linking static libraries to shared ones (like Cygwin).
These changes still need to be tested on Cygwin, especially with user functions implementing the "global interface".
Therefore, a new library is built and the plugins link to that one.
This new library at the moment only contains the startup handler, however, finally it might serve as well for other routines
that are used by different plugins.
ROOT is anyway checking multiple extensions for dynamic libraries, therefore leaving them out yields platform-independent msr files.
- Minor changes in libTFitPofB
- Added a user function for Uemura's ZF/LF dynamical spin-glass relaxation function
see, e.g. Y.J. Uemura et al., Phys. Rev. B 31, 546-563 (1985)
or Y.J. Uemura, Hyperfine Interact. 8, 739 (1981)
This yields an overall Lorentzian field distribution with motional narrowing.
However, the present implementation is at best some design study:
The Lorentzian distribution of width "a" is modeled by Gaussian distributions of widths "sigma" from 0 to infinity.
Some "resonable cut-offs" would be: 0.1*a < sigma < 10000*a
Due to finite memory and computing power, in the present version these cut-offs are: 0.1*a < sigma < 40*a
This yields depolarization functions overall similar to those in Uemura's articles.
However, due to the low cut-off the first derivative of the depolarization function is zero in the limit t->0
(what should not be the case for a true Lorentzan).
Furthermore, the calculation is rather slow and the resulting functions should only be regarded as crude approximations.
Therefore, at the moment this is far from being of practical use in analyzing experimental data.
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.).
Until now the program terminated with a segmentation fault which was not very user friendly...
* Got rid of a strange construction in the TRIM.SP handler (vector<pair> -> map)
This has not been tested too much (so it might be better not to build the BMWlibs at the moment)
In case shared library support will become available from T. Hahn, this support will be dropped again.
* Added a few " " to musrgui (calls to musrview, musrt0 and msr<->mlog)
These are needed in the simple system commands to support paths with spaces and other strange things... :-(
The shared BMWlibs cannot be built at the moment since libcuba is built static only.
I am still thinking about including the C-part of Cuba into the BMWlibs
if T.Hahn would not add shared library support to it.
- removed most of the not used checks
- introduced a new check for Minuit2 in ROOT
- building of static libraries is disabled by default now
- disabled the F77-checks related to libtool
(when support for Minuit will become available in musrfit checks for Fortran compilers will be added explicitly)
Some tests under different environments are still needed...
In order to enable building of the additional libraries supply the following options to the configure script:
--enable-BMWlibs (for libTFitPofB libLFRelaxation libGapIntegrals libCalcMeanFieldsLEM)
--enable-ASlibs (for libPNL_PippardFitter)
By default, both options are disabled.
At the moment I have tested it only in an SL5 32-bit environment.
Further tests are going to follow.
For a clean installation I suggest to remove any musrfit and plug-in installations before newly building musrfit.