257 Commits
v0.18 ... v1.4

Author SHA1 Message Date
d832676494 adopted to macOS. 2018-06-10 16:13:08 +02:00
f07667ef25 added mupp actions to musredit. 2018-06-10 12:50:09 +02:00
89b7eb8faa cmake: add the forgotten OpenMP flags and libs. 2018-06-09 21:13:58 +02:00
104d18c333 cmake: make sure that gcc built-in functions are found. 2018-06-09 17:32:33 +02:00
6883249117 update of the docu. 2018-06-08 15:51:10 +02:00
dcced32d27 updated to include cmake. 2018-06-07 11:20:35 +02:00
14fbb427dd cmake: summary cosmetics 2018-06-07 11:19:52 +02:00
41a5e493eb cmake: added missing include path when generating the dictionary. 2018-06-06 17:39:00 +02:00
f987776d41 cmake: cuba needs a -fPIC flag explicitly, otherwise it doesn't link with all compilers. 2018-06-06 17:06:42 +02:00
4a881fad56 cleaned up signed/unsigned int issues. 2018-06-06 16:04:27 +02:00
342da696db cmake: got rid of target_compile_options which are better controlled by the build type. 2018-06-06 13:09:39 +02:00
5c03c229dc Merge branch 'root6' of https://git.psi.ch/nemu/musrfit into root6 2018-06-06 13:00:19 +02:00
a756a2def4 cmake: got rid of target_compile_options which are better controlled by the build type. 2018-06-06 12:59:18 +02:00
1c901f73ba cmake: make sure that at least one build type is defined (default: Release) 2018-06-06 12:57:38 +02:00
92f230e220 fixed a bug when compiling with -DNDEBUG 2018-06-06 12:56:27 +02:00
5540b628c1 slight performance increase - missing header file. 2018-06-06 12:55:31 +02:00
25b59ab473 slight performance increase. 2018-06-06 12:54:54 +02:00
e4d56519b2 cmake: added optimization and at the same time added the beta-NMR lib. 2018-06-05 19:12:35 +02:00
88d5bb64b4 cmake: replaced debug info by a real one. 2018-06-05 09:47:47 +02:00
57b7c52865 cmake: added -O2 which gives the performance improvement needed. 2018-06-05 07:59:24 +02:00
cd82c613aa added missing header files. 2018-06-04 09:34:10 +02:00
99e8eb9769 cmake: added library version information to the targets. 2018-06-02 12:41:13 +02:00
f109281ba7 cmake: add necessary parts for MacOSX application bundle. 2018-05-30 09:28:02 +02:00
54040c6bcd slightly adopted such that the about dialog is also present on MacOSX. 2018-05-30 09:26:50 +02:00
8f3ed6f222 disable OpenMP check for MacOSX. 2018-05-30 09:25:43 +02:00
48fd3fa082 adopted for MacOSX bundles. 2018-05-29 21:43:48 +02:00
591540cef7 create correct kill string. 2018-05-29 21:42:41 +02:00
a5d236ec23 got rid of warnings due to identical labels (designer 'bug') 2018-05-28 11:09:14 +02:00
83aff2667a cmake: first Qt4 musredit version. 2018-05-28 11:08:15 +02:00
da8d5dcbfa cmake: changed configure output for Qt < 5 2018-05-28 11:07:18 +02:00
eab0f2d626 cmake: allow to specifically select the Qt version. 2018-05-26 20:12:56 +02:00
1258e1a0cb cmake: added first version for musrStep and musrWiz. 2018-05-25 15:41:49 +02:00
b71455da66 cmake: added -fPIC to the compiler options when building libCuba. 2018-05-25 07:26:48 +02:00
455314350f cmake: install docu for musredit, etc. 2018-05-24 15:06:43 +02:00
a796bf6ee2 cmake: make QtWebEngine working. 2018-05-23 21:08:46 +02:00
bd45eec20d cmake: added installation info. 2018-05-23 17:40:24 +02:00
8ffcd488dd hide away the place where to find git-revision.h since this should be done in the Makefile. 2018-05-23 17:35:20 +02:00
2774821b73 absorb return value of trimmed(). 2018-05-23 17:34:34 +02:00
1bff46a61d added include directories 2018-05-23 17:33:43 +02:00
f977f88791 fixed wrong comment line character. 2018-05-23 17:32:56 +02:00
37e35c72be make sure that layoutWidget has a unique name. 2018-05-23 17:06:40 +02:00
5ca9925dae cmake: switched autouic off since ui-files are somewhere else. 2018-05-23 17:05:50 +02:00
1477320be0 cmake: removed qt specific labels here. 2018-05-23 17:05:00 +02:00
37dced302b cmake: first version to get musredit (Qt5) compiled. Still a lot of platform checks are missing. 2018-05-23 11:54:10 +02:00
58080fe4f1 added missing Qt5 libs. 2018-05-23 11:53:01 +02:00
d95193141d cmake: some more work on qt/musredit. 2018-05-22 15:46:20 +02:00
0bc2ef7612 cmake: start to add the Qt components. No real functionality yet. 2018-05-22 15:25:22 +02:00
7a0609dc84 added missing libraries. 2018-05-20 14:22:06 +02:00
e8aecbb419 cuba library: prevent duplicated symbols if fork is available. 2018-05-20 14:21:20 +02:00
595fc89740 cmake: adopted to libCuba 4.2.0. 2018-05-20 10:39:35 +02:00
da42b95813 deals with the duplicate symbol problem for the shared cuba library 2018-05-19 23:23:34 +02:00
293f6ecd3e added missing cuba-4.2 files. 2018-05-19 19:40:27 +02:00
4061b7f24f upgrade the Cuba library from 3.2 -> 4.2 2018-05-19 18:02:27 +02:00
d8145d92d0 cmake: added missing stuff for the BMWlibs. 2018-05-17 14:03:20 +02:00
1d191acd60 cmake: libCuba now containing the right symbols for c++/c. 2018-05-16 19:32:03 +02:00
326f40ce04 cmake: add file to build gap intergral lib which is part of the BMW lib. 2018-05-14 20:16:38 +02:00
25d9adc8fc cmake: some more work towards full BMWlibs support. 2018-05-14 17:36:00 +02:00
9fd077cf6d corrections for the needed linked libraries. 2018-05-14 14:54:19 +02:00
7a66d35055 added missing include path 2018-05-14 13:11:28 +02:00
557b562047 added missing header file. 2018-05-14 11:12:54 +02:00
b5d446212f added HAVE_FORK flag for libCuba. 2018-05-14 11:12:17 +02:00
f6d8df74e1 cmake: attempt to get the cuba library compiled as collection of object libraries. Compiles and links, but not yet tested. 2018-05-12 15:56:32 +02:00
5f3cf3c64a cmake: added first attempts to get cuba lib compiled as a shared lib (not successful yet). 2018-05-11 22:27:13 +02:00
2efa975de8 cmake: added musrfit version information to config.h. 2018-05-11 22:12:22 +02:00
b57d67fe35 more work towards full cmake support. Added necessary initial config.h generation. 2018-05-11 17:11:32 +02:00
fa6344360f improved cmake module FindFFTW3. It delivers now more precise info about the available libs. 2018-05-11 16:41:20 +02:00
c640e8719f cmake: added missing paths for rootcling for the BMW libs. 2018-05-08 17:58:57 +02:00
12817c1baf add another necessary cmake file. 2018-05-08 17:28:46 +02:00
16be3f3c7a add necessary cmake file. 2018-05-08 17:27:45 +02:00
f6a20031db added cmake support for BMW lib libZFRelaxation. 2018-05-08 16:35:15 +02:00
e578072469 added cmake support for BMW lib libLFRelaxation. 2018-05-08 16:30:16 +02:00
d223667872 added missing header file for rootcling. 2018-05-08 16:15:43 +02:00
36d14d226f added cmake support for BMWlib libCalcMeanFieldsLEM. 2018-05-08 13:03:58 +02:00
8f23d8b5ab fix of copy-paste error and preparing for libCuba. 2018-05-07 19:23:23 +02:00
14b54bbfc8 start to integrate the BMWlibs into the cmake build. 2018-05-07 16:41:14 +02:00
fffd276376 added missing gsl library to cmake file. 2018-05-07 13:32:16 +02:00
9bdb8ec2ec make sure that older cmake versions (<= 3.8) inject the right linker flags for OpenMP. 2018-05-07 13:02:22 +02:00
9370b2cd4d some minor cosmetics for OpenMP messages. 2018-05-07 13:00:20 +02:00
f99b69b820 added cmake support for the spin valve fitter. 2018-05-06 17:07:03 +02:00
5248ad5cf8 added photo Meissner library. 2018-05-06 16:52:54 +02:00
5384da49e1 added missing includes and shared libs. 2018-05-06 15:58:47 +02:00
dbf9c930e6 added mag. proximity via cmake. 2018-05-05 21:33:03 +02:00
15a82cbcc1 fixed typo 2018-05-05 21:32:08 +02:00
aa34efb0a8 add nonlocal sc support via cmake. 2018-05-05 21:02:48 +02:00
9bf47a2690 some first cmake tuning for macOS. 2018-05-05 16:47:11 +02:00
42086350e7 add FFTW3 path if not present in the standard search paths. This is needed for macOS with macport. 2018-05-05 12:37:52 +02:00
e05aee0ce9 make sure that OpenMP is used if present. 2018-05-04 21:37:46 +02:00
13242bd5d0 added missing OpenMP header. 2018-05-04 21:36:35 +02:00
3ddb736f88 more NeXus related adaptation for cmake. 2018-05-04 20:57:22 +02:00
194bd31c8f handle preprocessor flag for nexus. 2018-05-04 20:25:19 +02:00
382c27b24b added missing pcm and rootmap. 2018-05-04 19:52:22 +02:00
89fbdff40a make sure that the proper header files are used for the build in case musrfit is already installed. 2018-05-04 19:41:16 +02:00
a5669569d8 removed unneeded header file. 2018-05-04 19:33:10 +02:00
258def542f added missing files needed to get git revision. 2018-05-04 18:20:28 +02:00
21ccdad460 added a missing CMakeLists.txt file. 2018-05-04 18:18:01 +02:00
404683b15f more work towards modern cmake. 2018-05-04 17:05:20 +02:00
60893f8df4 push cmake further. 2018-05-04 16:23:45 +02:00
83984c1ef5 start populating the sub-dirs with the necessary cmake files. 2018-05-04 12:51:57 +02:00
f7ccf79fa8 some more work towards modern cmake 2018-05-03 15:29:13 +02:00
b840bd022b allow to enable/disable Qt based tools. 2018-05-02 14:39:50 +02:00
b2850d015c added a musrfit cmd line flag which allows to check if NeXus support is enabled. 2018-05-02 13:24:54 +02:00
7d86a26bb7 some more testing towards modern cmake. 2018-05-02 10:59:44 +02:00
a9a8fb1bac generate summary output 2018-05-02 09:44:38 +02:00
19312a042d start to a real cmake migration. This is a skeleton only so far. 2018-04-30 20:36:29 +02:00
95e47a826a prevents issue with root v6-13-2. 2018-04-04 11:53:38 +02:00
f843d61bbb (i) when exporting Fourier, and _F is added. (ii) the average flag is now also properly propageted in the batch mode. 2018-03-26 12:50:45 +02:00
d34d1b9679 minor fix of shortcut overload conflict. 2018-03-23 12:54:21 +01:00
ae5f95b83a Implemented dynamic number of components and sharing and export using msr2data when appropriate. 2018-02-15 10:00:05 +01:00
cf584ae117 Use msr2data for single histogram fits 2018-02-06 17:43:25 +01:00
924edcf70f Partial implementation of global fit option using msr2data. 2018-02-06 08:53:29 +01:00
2e2f4554a9 Implemented run list following msr2data notations with hyphens and colons. Started implementation of global fits using msr2data. 2018-01-29 15:31:13 +01:00
d2325aff60 prevent confusion of similar parameter names. 2018-01-23 12:31:44 +01:00
716ac6d8c0 Fixed a bug in the calculation of SExpRlx for beta-NMR (reported by Gerald Morris)/ 2018-01-19 11:34:38 +01:00
1f73e808b5 improved the close canvas mechanism (from the global to the object level) 2017-11-30 22:02:25 +01:00
be1e47e480 for PSI-BIN/MDU: fixed wrong last good bin, and added number of events per histo. 2017-11-23 10:10:08 +01:00
f43d51738f added missing temperature unit. 2017-11-23 09:22:20 +01:00
d49821658b for PSI-BIN/MDU: dump all temperature available including the std devs. 2017-11-23 09:00:09 +01:00
5d8a47fe1e fixed crash when msr2data is invoked and no tab is open. 2017-11-17 16:46:40 +01:00
6162f683c8 Changed behaviour for the case where LGB > Histo Size. New: LGB = (Histo Size - 1) together with a warning instead of issuing an error. 2017-11-09 09:57:53 +01:00
523e54c6db make msr-file reader more robust against leading spaces. 2017-11-08 11:43:14 +01:00
60580a920f make sure that a valid covariance matrix is available after Hesse. 2017-11-02 20:24:09 +01:00
c4d52df3bc since my automake structure is now ready for rpmbuild, the version number is increased. 2017-10-26 15:47:35 +02:00
bb18b01514 configure slightly extended to deal with rpmbuild. 2017-10-25 13:11:13 +02:00
b1422053ab fix of a stupied copy/paste error. 2017-10-24 09:08:40 +02:00
9dd3340f78 check if DOCDIR has not already injected from the command line. 2017-10-24 09:00:39 +02:00
63db43519c add a dynamic LF example. 2017-10-06 08:08:34 +02:00
c2f5d01beb fixed an ugly mistake in the opimization of the non-analytic LF integrals. 2017-10-04 16:48:31 +02:00
f83cf055be move __swap__.msr file to /Users/suter_a/.musrfit. This makes sure that it can be written even when musredit is started from a readonly destination. 2017-10-02 16:54:47 +02:00
27a744c8f5 removed some default directories since it potentially leads to problems. 2017-09-06 15:13:22 +02:00
720d62dc51 improved Qt5 checks (Qt5WebKit (old) versus Qt5WebEngine (new)) 2017-09-06 09:10:29 +02:00
79b59b6dfb updated the version number 2017-09-05 07:51:27 +02:00
nemu
bb5f502398 deal with run-time-path for macOS. 2017-08-30 16:12:29 +02:00
462119dd35 adopted dark scheme for 'elementary-xfce-darker' 2017-08-29 07:58:55 +02:00
33da0caf2c Merge branch 'root6' of https://git.psi.ch/nemu/musrfit into root6 2017-08-28 10:47:59 +02:00
455129be6b updated the musrfit_dox.cfg file. 2017-08-28 10:47:39 +02:00
1ae0b284b4 proper minimal ROOT version number check. 2017-08-16 20:59:29 +02:00
80a7398350 found another date issue which is fixed now. 2017-06-06 12:15:17 +02:00
60b804c3a1 Merge branch 'root6' of https://git.psi.ch/nemu/musrfit into root6 2017-06-06 10:51:07 +02:00
c6cee9f6d8 fixed wrong month in the data conversion. 2017-06-06 10:49:43 +02:00
07a1dc1d59 fix logy scaling problem. 2017-05-19 20:17:07 +02:00
450a5c9d1b release of V.1.0.0 2017-05-18 13:32:23 +02:00
9232d96246 fixed wrong sign of the top/bottom phase for LEM. 2017-05-15 16:46:37 +02:00
25685b8989 Merge branch 'root6' of https://git.psi.ch/nemu/musrfit into root6 2017-05-14 20:43:06 +02:00
9bdcdcc661 docu update 2017-05-14 20:42:46 +02:00
2bc6e2a8cf small bug fix for macOS font size of musredit. 2017-05-13 15:02:40 +02:00
3840b86efc moved musredit_startup.xml.in to the qt internal resources. This is more flexible than the previous version. 2017-05-13 09:48:58 +02:00
c17924a742 moved all the xml-files into the resources. This make it much easier to handle if musrWiz is not locally installed. 2017-05-12 21:39:05 +02:00
ceaf7d0c6a added missing export tags for RRF. 2017-05-08 09:48:14 +02:00
fb3dc05505 adopted to the case where ROOT is installed from the repo. There are still issues: the shared libs cannot loaded from within the function. The path handling needs to be sorted out. 2017-05-07 11:13:55 +02:00
b4aaa2bc15 add some additional output when minos is called. 2017-05-04 15:25:42 +02:00
fdf604fff2 Changed installation directory from ROOTSYS to /usr/local 2017-04-26 17:49:46 +02:00
ed0bdcdd8f Merge branch 'master' of https://git.psi.ch/nemu/musrfit into root6 2017-04-26 17:45:44 +02:00
a1c5d1d4d9 set proper action. 2017-04-24 22:42:01 +02:00
de3d4ca932 adopted for the case where both QtWebKit and QtWebEngine is installed. 2017-04-11 18:52:02 +02:00
f6741a470a slightly adopted for macOS 2017-04-11 11:36:55 +02:00
815190d316 fixed copy/paste error 2017-04-11 11:35:43 +02:00
bfbdb5af4b allow both QtWebKit and QtWebEngine since a lot of distros are not ready yet for QtWebEngine. 2017-04-11 10:38:08 +02:00
b1fce70959 replace WebKit by WebEngine. Add a musrfit help icon. For now, not everywhere the help icon will be shown in the proper theme. 2017-04-10 20:16:43 +02:00
e019efb272 slightly improved installation scheme. 2017-04-10 15:57:43 +02:00
c3cd58802a added NPP/PPC for LEM TF 2017-04-04 17:27:03 +02:00
9cad7580b7 moved musrWiz.log to /home/suter_a/.musrfit/musredit 2017-04-03 18:17:38 +02:00
f906c81448 removed unnecessary QMAKE_INSTALL_PROGRAM. 2017-04-01 17:30:25 +02:00
9374f18d54 make save as msr-file path more transparent for the user. 2017-04-01 16:12:48 +02:00
b76d88cb2a a first ugly solution to get musrWiz and musrStep started under macos. Definitely will need some improvements. 2017-03-31 21:13:04 +02:00
bfe501f6f2 some improvement towards a full functional implementation of musrWiz and musrStep under macos. 2017-03-31 18:18:14 +02:00
377c2acc02 add musrWiz to musredit_qt5 directly in musrfit. 2017-03-25 12:34:14 +01:00
f8503db8b8 Merge branch 'root6' of https://git.psi.ch/nemu/musrfit into root6 2017-03-25 10:20:40 +01:00
suter_a
2f993cffaf start to incorporate sub-projects, the first being musrStep. 2017-03-25 10:14:46 +01:00
7f16918007 Ported MuSRFit GUI to qt4. May need more debugging. 2017-03-23 17:24:19 +01:00
da4525a5a5 Ported MuSRFit GUI to qt4. May need more debugging. 2017-03-23 17:10:40 +01:00
40c54fe195 improved handling of the dark theme. Needed since Ubuntu is not coherently dealing with it. 2017-03-09 11:34:31 +01:00
9866554574 added C++11 compiler flags. 2017-03-09 11:33:20 +01:00
5d43c1d514 fixed wrong icon name. 2017-03-02 12:49:08 +01:00
suter_a
ca61789bf3 added dark theme including the necessary icons to musredit. 2017-02-28 21:41:34 +01:00
9ba57235ad added first full musrWiz functionality. 2017-02-28 09:57:17 +01:00
bb41ce188f more work towards a full musrWiz implementation. 2017-02-27 16:59:52 +01:00
9d8c1c7606 stub for musrWiz added. 2017-02-27 09:40:53 +01:00
fa67af63b7 slightly 'nicer' musrStep icon. 2017-02-26 12:29:56 +01:00
c44ad0d6bf full implementation of musrStep functionality. 2017-02-25 15:53:02 +01:00
1709b5e4d9 removed obsolate 'template' directory from the documentation installation path. 2017-02-22 10:05:09 +01:00
fca13283e1 changed generation of git-revision.h which allows to keep it up-to-date. Aditionally git-branch info has been added. 2017-02-22 09:42:07 +01:00
cc1679144c added musrStep dummy menu. First step towards a full integration of musrStep into musredit. 2017-02-22 08:03:12 +01:00
d52b0b70a4 start with the intergration of musrWiz into musredit 2017-02-21 20:40:27 +01:00
261691c040 fixed a typo 2017-02-21 14:55:04 +01:00
07aa67a1a2 fixed a little annoying bug in the LF none-analytic integral estimate. 2017-02-21 11:28:53 +01:00
6e32f5f9c9 removed automatic default installation of startup.xml's since they needed to be edited anyway manually to be adopted to the problem under consideration. 2017-02-15 10:28:38 +01:00
a17abc952b changed default behavior. Now musredit will create a musredit_startup.xml default file at run-time if none is found. 2017-02-15 09:32:58 +01:00
bcbed139f9 instead of copying musrfit_startup.xml to the appropriate directory, create it at run-time if needed. This has the advantage that each user will automatically create its own file. 2017-02-14 15:06:10 +01:00
9a638eee0a add forgotten header-file and include path 2017-02-09 15:31:35 +01:00
ab15fa833e add git revision to the musredit about dialog. 2017-02-08 12:31:30 +01:00
5908d8791a back from __CLING__ to __CINT__ since the ROOT guys kept __CINT__ even though they are using cling?\! 2017-02-08 10:45:17 +01:00
454e6771e2 refer to the repos for the changes rather than updating ChangeLog. 2017-02-08 09:48:51 +01:00
ceb7aa6818 changed from legacy rootcint to the new rootcling ROOT dictionary generator. 2017-02-08 09:47:35 +01:00
5e28f465a4 replace all __CINT__ by __CLING__. 2017-02-07 16:08:52 +01:00
3a112cd391 only show N0 estimate dialog in chisq if fittype fits. 2017-02-06 09:19:19 +01:00
d13c6565ca only show N0 estimate dialog in chisq if fittype fits. 2017-02-06 07:19:39 +01:00
c61641efe3 Adopted PSimulateMuTransition to root6 2017-01-20 11:56:12 +01:00
a93bcb86c4 added enironment info needed for macOS. 2017-01-16 10:45:19 +01:00
77636efbb1 allow the user to change the default search data file paths from within musredit > preferences. 2017-01-14 18:19:36 +01:00
30708ff4bc fixed problem with full path-file-name. 2017-01-14 11:44:35 +01:00
ad082a8cb2 some improvement in 'recent file' and 'noname' tab handling. 2017-01-13 15:21:27 +01:00
31f47f6214 added to msr2data the flags --estimateN0 and --per-run-block-chisq. Adopted the musredit dialog accordingly. Removed the first/last option form the msr2data dialog since this is handled by the runlist. 2017-01-11 17:58:50 +01:00
238dbda037 removed outdated syntax description. 2017-01-11 17:54:56 +01:00
51a8dfd879 slight improvement in order not to cut dialog notes. 2017-01-05 11:24:28 +01:00
8a6b24cc9d Merge branch 'master' into root6 2016-12-22 17:05:36 +01:00
c3c01e5de0 cleaning up left-overs and improved the comments. 2016-12-22 17:04:48 +01:00
31fc9af9bf added a forgotten xml entry 2016-12-22 16:06:49 +01:00
02cdef0fa7 small change to make the compiler happy 2016-12-19 12:14:36 +01:00
421fe729f8 resolved merge conflict. 2016-12-19 12:13:35 +01:00
08d2b00e86 added locally the LD_LIBRARY_PATH. This is needed for macOS 10.12 if ROOT is installed in a local user directory. 2016-11-29 21:06:10 +01:00
af51f488d2 musredit_qt5: replaced QProcess::startDetached by QProcess::start for musrT0 and musrFT due to issues with macOS 10.12. I will need to investigate the ownership issue a bit more careful since this fix might lead to a memory leak. 2016-11-15 14:49:50 +01:00
78548b21b4 musredit_qt5: adopted call of musrview such that it works under macOS 10.12 2016-11-15 08:17:14 +01:00
ae22917323 Merge branch 'master' into root6 2016-11-08 09:03:38 +01:00
333eaea7f1 Merge branch 'master' into root6 2016-08-25 13:38:57 +02:00
2471b76ec0 Merge branch 'master' into root6 2016-08-22 11:23:33 +02:00
41c21cb446 some further improved fine tuning needed to make sure that the NeXus library is indeed found. 2016-08-17 09:00:36 +02:00
2f0b65f816 some fine tuning needed to make sure that the NeXus library is indeed found. 2016-08-15 16:53:12 +02:00
e95bee2c41 Merge branch 'master' into root6 2016-08-10 12:49:24 +02:00
f93ef114e0 merge master 2016-08-09 14:05:40 +02:00
nemu
a9744e273b Merge branch 'root6' of https://git.psi.ch/nemu/musrfit into root6 2016-04-26 13:13:16 +02:00
nemu
95ac103605 Merge branch 'master' into root6 2016-04-26 12:58:50 +02:00
2d2d24681c Merge https://git.psi.ch/nemu/musrfit into root6 2016-04-12 08:45:13 +02:00
0eb017c946 Merge branch 'master' into root6 2016-03-29 17:11:43 +02:00
be73428f00 merged master into root6 2016-03-16 19:32:45 +01:00
21d216f301 adopted to c++11 compiler 2016-03-15 10:03:19 +01:00
b1ba14ec76 Merge branch 'master' into root6 2016-03-15 09:52:07 +01:00
2afdf14c15 merged in master 2016-02-27 08:54:05 +01:00
c720b60a07 explict casting needed because of a picky compiler 2016-02-23 18:01:53 +01:00
f3542337fc Merge branch 'master' into root6 2016-02-23 17:37:52 +01:00
fe4c0ddede Merge branch 'master' into root6 2016-02-17 13:10:13 +01:00
f395f6c601 corrected wrong path to musredit icon under MacOSX 2016-02-16 21:29:31 +01:00
158b4b2486 added more svg icons and remove the old xpm icons 2016-02-16 21:18:41 +01:00
1a64e0c5e8 Merge branch 'master' into root6
added missing icons
2016-02-16 17:53:58 +01:00
4ab8e6ebf2 Merge branch 'master' into root6 2016-02-16 17:46:32 +01:00
nemu
d5fbd2f2a9 Fast-Forward Merge branch 'master' into root6 2016-01-25 08:38:35 +01:00
c7b840a4f3 adopted to C++11 2016-01-23 10:05:07 +01:00
e8b0b002d8 Merge branch 'master' into root6 2016-01-23 09:49:33 +01:00
9b22dc24f3 adopted to qt5 Mac OS X 2015-11-22 18:57:24 +01:00
2da9f5312d fixed merge conflict 2015-11-22 15:37:32 +01:00
4fd610442d improved the CLEANFILES for ROOT6. 2015-10-28 13:56:16 +01:00
53a18397c9 merge master into root6 2015-10-27 14:34:33 +01:00
8aed37a793 added a first port of musredit form Qt 4.x to Qt 5.x 2015-10-26 19:53:36 +01:00
1f7c4898dc Merge branch 'master' into root6 2015-09-24 20:56:04 +02:00
0a59e6b4d9 Merge branch 'master' into root6 2015-09-20 19:49:12 +02:00
nemu
e37f6c9bcc Merge branch 'master' into root6 2015-09-08 15:52:19 +02:00
nemu
df63cdd462 Merge branch 'master' into root6 2015-09-08 14:08:37 +02:00
5f925c4fc3 Merge branch 'master' into root6 2015-08-20 18:19:57 +02:00
1c9b1f237f Merge branch 'master' into root6 2015-07-01 14:05:09 +02:00
suter_a
e10c0281a0 Merge branch 'master' into root6 2015-06-25 12:14:59 +02:00
21e133f87a adoped to master branch 2015-03-16 11:10:25 +01:00
8a371e1b6e merging master with root6 branch 2015-02-20 13:51:26 +01:00
cdc2b157fd added data export from the GUI menu. 2015-02-14 17:46:06 +01:00
f1a1dd2121 added missing .pcm file 2015-02-14 10:48:51 +01:00
71275e313c merge in master 2015-02-14 10:27:03 +01:00
46864e7942 added the additional CXXFLAGS for ROOT6 2015-01-19 08:33:43 +01:00
fec752182b added all ROOT6 .pcm files for installation 2015-01-17 17:53:17 +01:00
a467553bd1 adding a branch for ROOT 6.x. This needs some minor adaptations due to the new rootcint/rootclang and the stricter c++11. 2015-01-17 15:31:52 +01:00
486 changed files with 36713 additions and 7325 deletions

319
CMakeLists.txt Normal file
View File

@@ -0,0 +1,319 @@
# - musrfit
cmake_minimum_required(VERSION 3.6)
project(musrfit VERSION 1.3.0 LANGUAGES C CXX)
#--- musrfit specific options -------------------------------------------------
option(nexus "build optional NeXus support. Needed for ISIS" OFF)
option(ASlibs "build optional ASlibs" OFF)
option(BMWlibs "build optional BMWlibs" OFF)
option(BNMRlibs "build optional beta-NMR libs" OFF)
option(qt_based_tools "try to install Qt based tools (musredit, musrWiz, musrStep, mupp)" ON)
option(try_OpenMP "try to use OpenMP if available" ON)
# define qt_version with possible values 'auto' or version '3', '4', '5'
set(qt_version AUTO CACHE STRING "provide a specific Qt version to be used.")
set_property(CACHE qt_version PROPERTY STRINGS AUTO 3 4 5)
#--- set a default build type if none was specified ---------------------------
set(default_build_type "Release")
if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
message(STATUS "Setting build type to '${default_build_type}' as none was specified.")
set(CMAKE_BUILD_TYPE "${default_build_type}" CACHE
STRING "Choose the type of build." FORCE)
# Set the possible values of build type for cmake-gui
set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS
"Debug" "Release" "MinSizeRel" "RelWithDebInfo")
endif()
#--- perform some checks and generate the config.h ----------------------------
#--- the next two lines are needed that the math functions are found ----------
set(CMAKE_REQUIRED_INCLUDES math.h)
set(CMAKE_REQUIRED_LIBRARIES m)
include(CheckTypeSize)
include(CheckIncludeFiles)
include(CheckFunctionExists)
check_include_files(alloca.h HAVE_ALLOCA_H)
check_include_files("sys/ipc.h;sys/shm.h" HAVE_SHMGET)
check_function_exists(fork HAVE_FORK)
check_include_files(dlfcn.h HAVE_DLFCN_H)
check_function_exists(erf HAVE_ERF)
check_function_exists(getloadavg HAVE_GETLOADAVG)
check_include_files(inttypes.h HAVE_INTTYPES_H)
check_include_files(memory.h HAVE_MEMORY_H)
check_function_exists(powl HAVE_POWL)
check_include_files(memory.h HAVE_MEMORY_H)
check_include_files(stdint.h HAVE_STDINT_H)
check_include_files(stdlib.h HAVE_STDLIB_H)
check_include_files(string.h HAVE_STRING_H)
check_include_files(strings.h HAVE_STRINGS_H)
check_include_files(sys/stat.h HAVE_SYS_STAT_H)
check_include_files(sys/types.h HAVE_SYS_TYPES_H)
check_include_files(sys/unistd.h HAVE_UNISTD_H)
check_type_size("long double" LONG_DOUBLE)
check_type_size("double" DOUBLE)
if (${LONG_DOUBLE} GREATER ${DOUBLE})
set(HAVE_LONG_DOUBLE 1)
set(HAVE_LONG_DOUBLE_WIDER 1)
endif (${LONG_DOUBLE} GREATER ${DOUBLE})
#--- check for all the needed packages ----------------------------------------
#--- add path to my own find modules and other stuff
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
#--- check for git ------------------------------------------------------------
find_package(Git REQUIRED)
#--- check for ROOT -----------------------------------------------------------
find_package(ROOT 6.06 REQUIRED COMPONENTS Gui MathMore Minuit2 XMLParser)
if (ROOT_mathmore_FOUND)
execute_process(COMMAND root-config --bindir OUTPUT_VARIABLE ROOT_BINDIR)
string(STRIP ${ROOT_BINDIR} ROOT_BINDIR)
execute_process(COMMAND root-config --version OUTPUT_VARIABLE ROOT_VERSION)
string(STRIP ${ROOT_VERSION} ROOT_VERSION)
message("-- Found ROOT: ${ROOT_BINDIR} (found version: ${ROOT_VERSION})")
#---Define useful ROOT functions and macros (e.g. ROOT_GENERATE_DICTIONARY)
include(${ROOT_USE_FILE})
endif (ROOT_mathmore_FOUND)
#--- check for boost ----------------------------------------------------------
find_package(Boost REQUIRED)
#--- check for gsl ------------------------------------------------------------
find_package(GSL REQUIRED)
#--- check for fftw3 ----------------------------------------------------------
find_package(FFTW3 REQUIRED)
if (FFTW3_THREAD_FOUND)
set(HAVE_LIBFFTW3_THREADS 1 CACHE INTERNAL "fftw3_threads are available")
endif (FFTW3_THREAD_FOUND)
if (FFTW3F_THREAD_FOUND)
set(HAVE_LIBFFTW3F_THREADS 1 CACHE INTERNAL "fftw3f_threads are available")
endif (FFTW3F_THREAD_FOUND)
#--- check for libxml2 --------------------------------------------------------
find_package(LibXml2 REQUIRED)
#--- check for OpenMP ---------------------------------------------------------
if (try_OpenMP AND NOT APPLE)
find_package(OpenMP)
if (OpenMP_FOUND)
add_definitions(-DHAVE_GOMP)
set(HAVE_GOMP 1 CACHE INTERNAL "Have GOMP")
endif (OpenMP_FOUND)
endif (try_OpenMP AND NOT APPLE)
#--- check for Qt -------------------------------------------------------------
if (qt_based_tools)
# check for any Qt, i.e. AUTO
if (qt_version STREQUAL AUTO)
# first try Qt5
# Find the QtCore library
find_package(Qt5Core)
if (Qt5Core_FOUND)
# Find the QtWidgets library
find_package(Qt5Widgets CONFIG REQUIRED)
# Find the QtXml library
find_package(Qt5Xml CONFIG REQUIRED)
# Find the QtNetwork library
find_package(Qt5Network CONFIG REQUIRED)
# Find the QtSvg library
find_package(Qt5Svg CONFIG REQUIRED)
# Fing the QtPrintSupport
find_package(Qt5PrintSupport CONFIG REQUIRED)
endif (Qt5Core_FOUND)
# if Qt5 is not found, try Qt4
if (NOT Qt5Core_FOUND)
find_package(Qt4 COMPONENTS QtGui QtWebKit QtXml)
endif (NOT Qt5Core_FOUND)
# if Qt5 and Qt4 is not found try Qt3. Hopefully you never reach this point
if (NOT Qt5Core_FOUND)
if (NOT Qt4_FOUND)
find_package(Qt3)
endif (NOT Qt4_FOUND)
endif (NOT Qt5Core_FOUND)
endif (qt_version STREQUAL AUTO)
# check specifically for Qt5
if (qt_version STREQUAL 5)
# Find the QtCore library
find_package(Qt5Core)
if (Qt5Core_FOUND)
# Find the QtWidgets library
find_package(Qt5Widgets CONFIG REQUIRED)
# Find the QtXml library
find_package(Qt5Xml CONFIG REQUIRED)
# Find the QtNetwork library
find_package(Qt5Network CONFIG REQUIRED)
# Find the QtSvg library
find_package(Qt5Svg CONFIG REQUIRED)
# Fing the QtPrintSupport
find_package(Qt5PrintSupport CONFIG REQUIRED)
else (Qt5Core_FOUND)
message(FATAL_ERROR "Couldn't find the specifically requested Qt5 version.")
endif (Qt5Core_FOUND)
endif (qt_version STREQUAL 5)
# check specifically for Qt4
if (qt_version STREQUAL 4)
find_package(Qt4 COMPONENTS QtGui QtWebKit QtXml)
if (NOT Qt4_FOUND)
message(FATAL_ERROR "Couldn't find the specifically requested Qt4 version.")
endif (NOT Qt4_FOUND)
endif (qt_version STREQUAL 4)
# check specifically for Qt3
if (qt_version STREQUAL 3)
find_package(Qt3)
if (NOT QT_FOUND)
message(FATAL_ERROR "Couldn't find the specifically requested Qt3 version.")
endif (NOT QT_FOUND)
endif (qt_version STREQUAL 3)
endif (qt_based_tools)
#--- if NeXus check also for HDF4, HDF5, and MXML -----------------------------
if (nexus)
find_package(HDF5 COMPONENTS CXX REQUIRED )
#//as35 - STILL NEEDED?? -> find_package(HDF4 REQUIRED)
find_package(MXML REQUIRED)
find_package(NeXus REQUIRED)
add_definitions(-DPNEXUS_ENABLED)
endif (nexus)
#--- check for Cuba lib if BMWlibs are enabled --------------------------------
#//as35 probably always stick to the internal one ...
#--- all checks done -> feed config.h -----------------------------------------
set(HAVE_CONFIG_H 1 CACHE INTERNAL "config.h is available")
configure_file(${CMAKE_SOURCE_DIR}/cmake/config.h.in ${CMAKE_CURRENT_BINARY_DIR}/config.h)
#--- propagate to the sub-directories -----------------------------------------
add_subdirectory(src)
#--- write summary of the installation
message("")
message("|-----------------------------------------------------------------------|")
message("| |")
message("| Summary |")
message("| |")
message("|-----------------------------------------------------------------------|")
message("")
message(" System: ${CMAKE_HOST_SYSTEM_NAME} ${CMAKE_SYSTEM_PROCESSOR} - ${CMAKE_HOST_SYSTEM_VERSION}")
message(" -------")
message("")
message(" Build Type: ${CMAKE_BUILD_TYPE}")
message(" -----------")
message("")
message(" Requirements:")
message(" -------------")
message("")
message(" FFTW3 found in ${FFTW3_INCLUDE_DIR}")
message(" GSL found in ${GSL_INCLUDE_DIRS}")
message(" BOOST found in ${Boost_INCLUDE_DIRS}")
message(" LibXML2 found in ${LIBXML2_INCLUDE_DIR}")
message(" ROOT found in ${ROOT_INCLUDE_DIRS}")
if (OpenMP_FOUND)
if (OpenMP_CXX_VERSION)
message(" OpenMP found (version ${OpenMP_CXX_VERSION})")
else (OpenMP_CXX_VERSION)
message(" OpenMP found")
endif (OpenMP_CXX_VERSION)
endif (OpenMP_FOUND)
if (nexus)
message("")
#//as35 message(" HDF4 found in ${HDF4_INCLUDE_DIRS}")
message(" HDF5 found in ${HDF5_INCLUDE_DIRS}")
message(" NeXus found in ${NEXUS_INCLUDE_DIR}")
endif (nexus)
message("")
if (qt_based_tools)
if (Qt5Core_FOUND)
message(" Qt found in ${Qt5Core_INCLUDE_DIRS} (Version: ${Qt5Core_VERSION})")
else (Qt5Core_FOUND)
if (Qt4_FOUND)
message(" Qt found (Version: ${QT_VERSION_MAJOR}.${QT_VERSION_MINOR}.${QT_VERSION_PATCH})")
else (Qt4_FOUND)
if (QT_FOUND)
message(" Qt found (Version: ${QT_VERSION})")
endif (QT_FOUND)
endif (Qt4_FOUND)
endif (Qt5Core_FOUND)
endif (qt_based_tools)
message("")
message(" Features:")
message(" ---------")
message("")
message(" Supported muSR file formates:")
message(" MusrRoot : yes")
message(" ROOT (LEM) : yes")
message(" MUD (triumf) : yes")
message(" PSI-BIN : yes")
message(" PSI-MDU : yes")
message(" WKM (deprecated) : yes")
if (nexus)
message(" NeXus : yes")
else (nexus)
message(" NeXus : no")
endif (nexus)
message("")
message(" External user-function libraries:")
if (ASlibs)
message(" ASlibs : yes")
else (ASlibs)
message(" ASlibs : no")
endif (ASlibs)
if (BMWlibs)
message(" BMWlibs : yes")
else (BMWlibs)
message(" BMWlibs : no")
endif (BMWlibs)
if (BNMRlibs)
message(" BNMRlibs : yes")
else (BNMRlibs)
message(" BNMRlibs : no")
endif (BNMRlibs)
if (qt_based_tools)
if (Qt5Core_FOUND)
message("")
message(" Qt5 based tools:")
message(" musredit, musrStep, musrWiz, mupp : yes")
endif (Qt5Core_FOUND)
if (Qt4_FOUND)
message("")
message(" Qt4 based tools (deprecated):")
message(" musredit : yes")
endif (Qt4_FOUND)
if (QT_FOUND)
message("")
message(" Qt3 based tools (outdated):")
message(" musrgui : yes")
endif (QT_FOUND)
if (NOT Qt5Core_FOUND AND NOT Qt4_FOUND AND NOT QT_FOUND)
message("")
message(" NO Qt based tools will be installed since Qt is not found or not installed on the system")
endif (NOT Qt5Core_FOUND AND NOT Qt4_FOUND AND NOT QT_FOUND)
else (qt_based_tools)
message("")
message(" Qt based tools (musredit, musrStep, musrWiz, mupp) have been disabled")
endif (qt_based_tools)
message("")
message(" Installation directories:")
message(" -------------------------")
message("")
message(" Programs : ${CMAKE_INSTALL_PREFIX}/bin")
message(" XML configuration files : " $ENV{HOME} "/.musrfit")
message(" Documentation : ${CMAKE_INSTALL_PREFIX}/share/doc/musrfit")
message("")
message("-------------------------------------------------------------------------")
message("")
#--- end ----------------------------------------------------------------------

View File

@@ -2,6 +2,45 @@
# ChangeLog
#---------------------------------------------------------------------
The ChangeLog will describe feature changes rather than coding detail changes.
For detailed information about changes have a look here:
https://gitlab.psi.ch/nemu/musrfit/activity
or
https://bitbucket.org/muonspin/musrfit/commits/all
Release of V1.2.0, 2017/10/26
=============================
Adopted to be ready for rpm builds in a first step. This will be followed by debian style
packages.
Release of V1.1.0, 2017/10/26
=============================
Added full DKS support, i.e. additionally to CUDA also OpenCL for GPU's and CPU's in place.
Release of V1.0.0, 2017/05/18
=============================
I feel that musrfit has majored enough to lift it to its first full version, i.e. V1.0.0.
A lot of bug fixing went into it since 0.18.0. It is now also fully ROOT 6 compatible which
is also the main supported version now.
New features:
* musrWiz: a wizard which will help the user to get started to generate msr-files.
* musrStep: a little helper program which allows to reset the step size of a msr-file.
This is useful if you deal with a lot of detectors (e.g. HAL-9500 at PSI).
* auto-phase correction of Fourier transforms: this is still in its early stage but will
eventually provide a real phase corrected Fourier transform, which will allow
a real Fourier detector average.
* the startup file handling has improved substantially.
changes since 0.18.0
===================================
@@ -130,6 +169,8 @@ NEW 2015-02-13 first implementation of a standalone Fourier transform/plotter:
A first simple minded lifetime correction is implemented as well.
NEW 2015-02-04 Integration of libBNMR for fitting beta-NMR relaxation data
into automake of musrfit.
NEW 2015-01-17 adding a branch for ROOT 6.x. This needs some minor adaptations due
to the new rootcint/rootclang and the stricter c++11.
NEW 2014-12-18 first implementation of a GLOBAL block which allows to shorten
a typical msr-file. Duplicate entries from the RUN blocks can be
added here. Furthermore, the 'lifetimecorrection' flag is

69
INSTALL
View File

@@ -1,17 +1,80 @@
#---------------------------------------------------------------------
# INSTALL
# AS/BMW, 2014/02/11; 2011/01/27
#---------------------------------------------------------------------
To get it all build:
There are currently 2 wasy to build musrfit:
1) via the automake tool chain (this will phase out until 2019)
2) via the cmake tool chain (this will be the default starting from now)
In the following it is assumed that the system variable ROOTSYS is already
defined and pointing to the place where CERN/ROOT is installed.
#----------------------------------
# Install via automake tool chain
#----------------------------------
To get it build:
sh autogen.sh
./configure --prefix=/opt/cern/root (or where ever musrfit should be installed)
./configure --prefix=$ROOTSYS (or where ever musrfit should be installed)
make
make install (as superuser -- maybe)
/sbin/ldconfig (as superuser)
configure comes with a couple of options. For details either execute
./configure --help
or check under http://lmu.web.psi.ch/musrfit/user/MUSR/MusrFitSetup.html
for a more detailed description.
An example with NeXus support and BMWlibs needed would look like this
sh autogen.sh
./configure --enable-NeXus --enable-BMWlibs --prefix=$ROOTSYS
make
make install (as superuser -- maybe)
/sbin/ldconfig (as superuser)
In the optimal case, everything is set up ;-)
#----------------------------------
# Install via cmake tool chain
#----------------------------------
cmake minimal required version is 3.6.
musrfit supports only out-of-source cmake build! Hence, go to the musrfit
directory and
mkdir build
cd build
cmake ../ -DCMAKE_INSTALL_PREFIX=$ROOTSYS (or where ever musrfit should be installed)
cmake --build ./ --clean-first
make install (as superuser -- maybe)
/sbin/ldconfig (as superuser)
cmake configuration allows a couple of switches. For details check the user
docu under
http://lmu.web.psi.ch/musrfit/user/MUSR/MusrFitSetup.html
An example with NeXus support and BMWlibs needed would look like this
mkdir build
cd build
cmake ../ -Dnexus=1 -DBMWlibs=1 -DCMAKE_INSTALL_PREFIX=$ROOTSYS
cmake --build ./ --clean-first
make install (as superuser -- maybe)
/sbin/ldconfig (as superuser)
In the optimal case, everything is set up ;-)
#----------------------------------
# Link to the docu
#----------------------------------
More information about the software requirements and the installation can be found at:
http://lmu.web.psi.ch/musrfit/user/MUSR/MusrFitSetup.html

View File

@@ -6,8 +6,7 @@ EXTRA_DIST = autogen.sh acinclude.m4
# The following is to install the documentation
# It is a bit lengthy because one cannot simply install whole directories (except copying them recursively -- which also takes the .svn directories...)
DOCDIRS = templates \
examples \
DOCDIRS = examples \
examples/data \
examples/ASlibs \
examples/ASlibs/data \

View File

@@ -18,7 +18,7 @@ dnl The macro defines the following substitution variables
dnl
dnl ROOTCONF full path to root-config
dnl ROOTEXEC full path to root
dnl ROOTCINT full path to rootcint
dnl ROOTCLING full path to rootcling
dnl ROOTLIBDIR Where the ROOT libraries are
dnl ROOTINCDIR Where the ROOT headers are
dnl ROOTETCDIR Where the ROOT configuration is
@@ -29,7 +29,7 @@ dnl ROOTAUXLIBS Auxilary libraries and linker flags for ROOT
dnl ROOTAUXCFLAGS Auxilary compiler flags
dnl ROOTRPATH Same as ROOTLIBDIR
dnl
dnl The macro will fail if root-config and rootcint isn't found.
dnl The macro will fail if root-config and rootcling isn't found.
dnl
dnl Christian Holm Christensen <cholm@nbi.dk>
dnl
@@ -49,10 +49,10 @@ AC_DEFUN([ROOT_PATH],
fi
AC_PATH_PROG(ROOTCONF, root-config , no, $rootbin)
AC_PATH_PROG(ROOTEXEC, root , no, $rootbin)
AC_PATH_PROG(ROOTCINT, rootcint , no, $rootbin)
AC_PATH_PROG(ROOTCLING, rootcling , no, $rootbin)
if test ! x"$ROOTCONF" = "xno" && \
test ! x"$ROOTCINT" = "xno" ; then
test ! x"$ROOTCLING" = "xno" ; then
# define some variables
ROOTLIBDIR=`$ROOTCONF --libdir`

151
cmake/FindFFTW3.cmake Normal file
View File

@@ -0,0 +1,151 @@
# - Find fftw3 library
# Find the native FFTW3 includes and library
# This module defines
# FFTW3_INCLUDE_DIR, where to find fftw3.h, etc.
# ---
# FFTW3_LIBRARY, library to link against to use FFTW3
# FFTW3_OMP_LIBRARY, library to link against to use FFTW3_omp
# FFTW3_THREADS_LIBRARY, library to link against to use FFTW3_threads
# FFTW3_FOUND, if false, do not try to use FFTW3.
# FFTW3_OMP_FOUND, if false, do not try to use OpenMP FFTW3.
# FFTW3_THREADS_FOUND, if false, do not try to use threaded FFTW3.
# ---
# FFTW3L_LIBRARY, library to link against to use FFTW3l
# FFTW3L_OMP_LIBRARY, library to link against to use FFTW3l_omp
# FFTW3L_THREADS_LIBRARY, library to link against to use FFTW3l_threads
# FFTW3L_FOUND, if false, do not try to use FFTW3l.
# FFTW3L_OMP_FOUND, if false, do not try to use OpenMP FFTW3l.
# FFTW3L_THREADS_FOUND, if false, do not try to use threaded FFTW3l.
# ---
# FFTW3F_LIBRARY, library to link against to use FFTW3f
# FFTW3F_OMP_LIBRARY, library to link against to use FFTW3f_omp
# FFTW3F_THREADS_LIBRARY, library to link against to use FFTW3f_threads
# FFTW3F_FOUND, if false, do not try to use FFTW3f.
# FFTW3F_OMP_FOUND, if false, do not try to use OpenMP FFTW3f.
# FFTW3F_THREADS_FOUND, if false, do not try to use threaded FFTW3f.
# ---
# FFTW3Q_LIBRARY, library to link against to use FFTW3q
# FFTW3Q_OMP_LIBRARY, library to link against to use FFTW3q_omp
# FFTW3Q_THREADS_LIBRARY, library to link against to use FFTW3q_threads
# FFTW3Q_FOUND, if false, do not try to use FFTW3q.
# FFTW3Q_OMP_FOUND, if false, do not try to use OpenMP FFTW3q.
# FFTW3Q_THREADS_FOUND, if false, do not try to use threaded FFTW3q.
find_path(FFTW3_INCLUDE_DIR fftw3.h
HINTS "/usr/include" "/opt/local/include"
)
# find position of fftw3.h from the end
string(FIND "${FFTW3_INCLUDE_DIR}" "/fftw3.h" pos REVERSE)
# truncate the string
string(SUBSTRING "${FFTW3_INCLUDE_DIR}" 0 ${pos} substr)
set(FFTW3_INCLUDE_DIR ${substr})
unset(substr)
find_library(FFTW3_LIBRARY fftw3)
find_library(FFTW3_OMP_LIBRARY fftw3_omp)
find_library(FFTW3_THREAD_LIBRARY fftw3_threads)
find_library(FFTW3L_LIBRARY fftw3l)
find_library(FFTW3L_OMP_LIBRARY fftw3l_omp)
find_library(FFTW3L_THREAD_LIBRARY fftw3l_threads)
find_library(FFTW3F_LIBRARY fftw3f)
find_library(FFTW3F_OMP_LIBRARY fftw3f_omp)
find_library(FFTW3F_THREAD_LIBRARY fftw3f_threads)
find_library(FFTW3Q_LIBRARY fftw3q)
find_library(FFTW3Q_OMP_LIBRARY fftw3q_omp)
find_library(FFTW3Q_THREAD_LIBRARY fftw3q_threads)
# handle the QUIETLY and REQUIRED arguments and set FFTW3_FOUND to TRUE if
# all listed variables are TRUE
include(${CMAKE_ROOT}/Modules/FindPackageHandleStandardArgs.cmake)
find_package_handle_standard_args(FFTW3
REQUIRED_VARS FFTW3_LIBRARY FFTW3_INCLUDE_DIR
VERSION_VAR "3")
find_package_handle_standard_args(FFTW3_OMP
REQUIRED_VARS FFTW3_OMP_LIBRARY FFTW3_INCLUDE_DIR
VERSION_VAR "3")
find_package_handle_standard_args(FFTW3_THREAD
REQUIRED_VARS FFTW3_THREAD_LIBRARY FFTW3_INCLUDE_DIR
VERSION_VAR "3")
find_package_handle_standard_args(FFTW3L
REQUIRED_VARS FFTW3L_LIBRARY FFTW3_INCLUDE_DIR
VERSION_VAR "3")
find_package_handle_standard_args(FFTW3L_OMP
REQUIRED_VARS FFTW3L_OMP_LIBRARY FFTW3_INCLUDE_DIR
VERSION_VAR "3")
find_package_handle_standard_args(FFTW3L_THREAD
REQUIRED_VARS FFTW3L_THREAD_LIBRARY FFTW3_INCLUDE_DIR
VERSION_VAR "3")
find_package_handle_standard_args(FFTW3F
REQUIRED_VARS FFTW3F_LIBRARY FFTW3_INCLUDE_DIR
VERSION_VAR "3")
find_package_handle_standard_args(FFTW3F_OMP
REQUIRED_VARS FFTW3F_OMP_LIBRARY FFTW3_INCLUDE_DIR
VERSION_VAR "3")
find_package_handle_standard_args(FFTW3F_THREAD
REQUIRED_VARS FFTW3F_THREAD_LIBRARY FFTW3_INCLUDE_DIR
VERSION_VAR "3")
find_package_handle_standard_args(FFTW3Q
REQUIRED_VARS FFTW3Q_LIBRARY FFTW3_INCLUDE_DIR
VERSION_VAR "3")
find_package_handle_standard_args(FFTW3Q_OMP
REQUIRED_VARS FFTW3Q_OMP_LIBRARY FFTW3_INCLUDE_DIR
VERSION_VAR "3")
find_package_handle_standard_args(FFTW3Q_THREAD
REQUIRED_VARS FFTW3Q_THREAD_LIBRARY FFTW3_INCLUDE_DIR
VERSION_VAR "3")
if (NOT FFTW3_FOUND)
unset(FFTW3_LIBRARY)
endif()
if (NOT FFTW3_OMP_FOUND)
unset(FFTW3_OMP_LIBRARY)
endif()
if (NOT FFTW3_THREAD_FOUND)
unset(FFTW3_THREAD_LIBRARY)
endif()
if (NOT FFTW3L_FOUND)
unset(FFTW3L_LIBRARY)
endif()
if (NOT FFTW3L_OMP_FOUND)
unset(FFTW3L_OMP_LIBRARY)
endif()
if (NOT FFTW3L_THREAD_FOUND)
unset(FFTW3L_THREAD_LIBRARY)
endif()
if (NOT FFTW3F_FOUND)
unset(FFTW3F_LIBRARY)
endif()
if (NOT FFTW3F_OMP_FOUND)
unset(FFTW3F_OMP_LIBRARY)
endif()
if (NOT FFTW3F_THREAD_FOUND)
unset(FFTW3F_THREAD_LIBRARY)
endif()
if (NOT FFTW3Q_FOUND)
unset(FFTW3Q_LIBRARY)
endif()
if (NOT FFTW3Q_OMP_FOUND)
unset(FFTW3Q_OMP_LIBRARY)
endif()
if (NOT FFTW3Q_THREAD_FOUND)
unset(FFTW3Q_THREAD_LIBRARY)
endif()
mark_as_advanced(
FFTW3_INCLUDE_DIR
FFTW3_LIBRARY FFTW3_OMP_LIBRARY FFTW3_THREAD_LIBRARY
FFTW3L_LIBRARY FFTW3L_OMP_LIBRARY FFTW3L_THREAD_LIBRARY
FFTW3F_LIBRARY FFTW3F_OMP_LIBRARY FFTW3F_THREAD_LIBRARY
FFTW3Q_LIBRARY FFTW3Q_OMP_LIBRARY FFTW3Q_THREAD_LIBRARY
)
if (FFTW3_FOUND)
message("-- Found FFTW3: ${FFTW3_INCLUDE_DIR}")
endif (FFTW3_FOUND)

34
cmake/FindMXML.cmake Normal file
View File

@@ -0,0 +1,34 @@
# - find MXML
# find the MXML lib and includes
# This module defines
# LIBMXML_INCLUDE_DIR, where to find mxml.h
# LIBMXML_LIBRARY, library to link against
# LIBMXML_FOUND, if false, do not try to use the MXML lib
find_path(LIBMXML_INCLUDE_DIR mxml.h
HINT "/usr/include"
)
# find position of mxml.h from the end
string(FIND "${LIBMXML_INCLUDE_DIR}" "/mxml.h" pos REVERSE)
# truncate the string
string(SUBSTRING "${LIBMXML_INCLUDE_DIR}" 0 ${pos} substr)
set(LIBMXML_INCLUDE_DIR ${substr})
unset(substr)
find_library(LIBMXML_LIBRARY mxml)
# get version string
# currently do not know from where to get it automatically
# handle the QUIETLY and REQUIRED arguments and set LIBMXML_FOUND to TRUE if
# all listed variables are TRUE
include(${CMAKE_ROOT}/Modules/FindPackageHandleStandardArgs.cmake)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(MXML
REQUIRED_VARS LIBMXML_LIBRARY LIBMXML_INCLUDE_DIR)
if (NOT LIBMXML_FOUND)
unset(LIBMXML_LIBRARY)
endif()
mark_as_advanced(LIBMXML_INCLUDE_DIR LIBMXML_LIBRARY)

45
cmake/FindNeXus.cmake Normal file
View File

@@ -0,0 +1,45 @@
# - Find NeXus library
# Find the native NEXUS includes and library
# This module defines
# NEXUS_INCLUDE_DIR, where to find NeXus.h, etc.
# NEXUS_LIBRARY, library to link against to use NEXUS
# NEXUS_FOUND, if false, do not try to use NEXUS.
find_path(NEXUS_INCLUDE_DIR napi.h
HINTS "/usr/local/include" "/opt/nexus/include" "/usr/local/include/nexus"
)
# find position of napi.h from the end
string(FIND "${NEXUS_INCLUDE_DIR}" "/napi.h" pos REVERSE)
# truncate the string
string(SUBSTRING "${NEXUS_INCLUDE_DIR}" 0 ${pos} substr)
set(NEXUS_INCLUDE_DIR ${substr})
unset(substr)
find_library(NEXUS_LIBRARY NeXus
HINTS "/usr/lib" "/usr/lib64" "/usr/local/lib" "/usr/local/lib64" "/opt/nexus/lib")
# get version string
if (NEXUS_INCLUDE_DIR AND EXISTS ${NEXUS_INCLUDE_DIR}/napi.h)
file(STRINGS "${NEXUS_INCLUDE_DIR}/napi.h" NEXUS_version_str
REGEX "^#define[\t ]+NEXUS_VERSION[\t ].*")
string(REGEX REPLACE "^#define[\t ]+NEXUS_VERSION[\t ]+\"([^\"]*).*"
"\\1" NEXUS_VERSION_STRING "${NEXUS_version_str}")
unset(NEXUS_version_str)
endif()
# handle the QUIETLY and REQUIRED arguments and set NEXUS_FOUND to TRUE if
# all listed variables are TRUE
include(${CMAKE_ROOT}/Modules/FindPackageHandleStandardArgs.cmake)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(NEXUS
REQUIRED_VARS NEXUS_LIBRARY NEXUS_INCLUDE_DIR
VERSION_VAR NEXUS_VERSION_STRING)
if (NOT NEXUS_FOUND)
unset(NEXUS_LIBRARY)
endif()
mark_as_advanced(NEXUS_INCLUDE_DIR NEXUS_LIBRARY)

67
cmake/config.h.in Normal file
View File

@@ -0,0 +1,67 @@
// config.h
#define PACKAGE_VERSION "@PROJECT_VERSION@"
// define to 1 if you have fork and it should be used
#cmakedefine HAVE_FORK 1
// define to 1 if you have <alloca.h> and it should be used
#cmakedefine HAVE_ALLOCA_H 1
// Define to 1 if you have the <dlfcn.h> header file.
#cmakedefine HAVE_DLFCN_H 1
// Define to 1 if you have the `erf' function.
#cmakedefine HAVE_ERF 1
// Define to 1 if you have the `getloadavg' function.
#cmakedefine HAVE_GETLOADAVG 1
// Define to 1 if gomp is available */
#cmakedefine HAVE_GOMP 1
// Define to 1 if you have the <inttypes.h> header file.
#cmakedefine HAVE_INTTYPES_H 1
// Define to 1 if the type `long double' works and has more range or precision than `double'.
#cmakedefine HAVE_LONG_DOUBLE 1
// Define to 1 if the type `long double' works and has more range or precision than `double'.
#cmakedefine HAVE_LONG_DOUBLE_WIDER 1
// Define to 1 if fftw3f_threads are available
#cmakedefine HAVE_LIBFFTW3F_THREADS 1
// Define to 1 if fftw3_threads are available
#cmakedefine HAVE_LIBFFTW3_THREADS 1
// Define to 1 if you have the <memory.h> header file.
#cmakedefine HAVE_MEMORY_H 1
// Define to 1 if you have the `powl' function.
#cmakedefine HAVE_POWL 1
// Define to 1 if you have the `shmget' function.
#cmakedefine HAVE_SHMGET 1
// Define to 1 if you have the <stdint.h> header file.
#cmakedefine HAVE_STDINT_H 1
// Define to 1 if you have the <stdlib.h> header file.
#cmakedefine HAVE_STDLIB_H 1
// Define to 1 if you have the <string.h> header file.
#cmakedefine HAVE_STRING_H 1
// Define to 1 if you have the <strings.h> header file.
#cmakedefine HAVE_STRINGS_H 1
// Define to 1 if you have the <sys/stat.h> header file.
#cmakedefine HAVE_SYS_STAT_H 1
// Define to 1 if you have the <sys/types.h> header file.
#cmakedefine HAVE_SYS_TYPES_H 1
// Define to 1 if you have the <unistd.h> header file.
#cmakedefine HAVE_UNISTD_H 1

View File

@@ -0,0 +1,30 @@
# configure_musrfit_version_file.cmake.in:
set(SRC_DIR "@CMAKE_SOURCE_DIR@")
set(BIN_DIR "@CMAKE_CURRENT_BINARY_DIR@")
# Set variables
set(CMAKE_INSTALL_PREFIX "@CMAKE_INSTALL_PREFIX@")
set(MUSRFIT_VERSION "@MUSRFIT_VERSION@")
# Get the current working branch
execute_process(
COMMAND git rev-parse --abbrev-ref HEAD
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
OUTPUT_VARIABLE GIT_BRANCH
OUTPUT_STRIP_TRAILING_WHITESPACE
)
# Get the latest abbreviated commit hash of the working branch
execute_process(
COMMAND git log -1 --pretty="%h, %ci"
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
OUTPUT_VARIABLE GIT_CURRENT_SHA1
OUTPUT_STRIP_TRAILING_WHITESPACE
)
configure_file(
${SRC_DIR}/cmake/git-revision.h.in
${BIN_DIR}/git-revision.h
@ONLY
)
# EOF

8
cmake/git-revision.h.in Normal file
View File

@@ -0,0 +1,8 @@
#ifndef GIT_VERSION_H
#define GIT_VERSION_H
#define GIT_BRANCH "@GIT_BRANCH@"
#define GIT_CURRENT_SHA1 @GIT_CURRENT_SHA1@
#endif // GIT_VERSION_H

4
cmake/musrfit-info.h.in Normal file
View File

@@ -0,0 +1,4 @@
//--- This file is generated by cmake -----------------------------------------
#define MUSRFIT_PREFIX "@CMAKE_INSTALL_PREFIX@"
#define MUSRFIT_DOC_DIR "@CMAKE_INSTALL_PREFIX@/share/doc/musrfit"

View File

@@ -1,7 +1,7 @@
AC_REVISION([m4_esyscmd_s([git describe --always])])
AC_PREREQ(2.63)
AC_INIT([musrfit],[0.18.0],[andreas.suter@psi.ch])
AC_INIT([musrfit],[1.3.0],[andreas.suter@psi.ch])
AC_CONFIG_AUX_DIR(admin)
AC_CANONICAL_HOST
#AC_MSG_RESULT([${host} ${host_cpu} ${host_vendor} ${host_os}])
@@ -34,8 +34,8 @@ dnl -----------------------------------------------
#release versioning
MUSR_MAJOR_VERSION=0
MUSR_MINOR_VERSION=18
MUSR_MAJOR_VERSION=1
MUSR_MINOR_VERSION=3
MUSR_MICRO_VERSION=0
#release versioning
@@ -54,7 +54,7 @@ PSIBIN_MINOR_VERSION=1
PSIBIN_MICRO_VERSION=0
#release versioning
MUD_MAJOR_VERSION=0
MUD_MAJOR_VERSION=1
MUD_MINOR_VERSION=0
MUD_MICRO_VERSION=0
@@ -69,7 +69,7 @@ PLUGIN_MINOR_VERSION=0
PLUGIN_MICRO_VERSION=0
#release versioning
CUBA_MAJOR_VERSION=3
CUBA_MAJOR_VERSION=4
CUBA_MINOR_VERSION=2
CUBA_MICRO_VERSION=0
@@ -421,7 +421,7 @@ dnl -----------------------------------------------
dnl Check for ROOT
dnl -----------------------------------------------
ROOT_PATH([5.22/00], [], AC_MSG_ERROR([Either ROOT is not installed correctly or the version is too old... please check!]))
ROOT_PATH([6.06/00], [], AC_MSG_ERROR([Either ROOT is not installed correctly or the version is too old... please check!]))
ROOT_LIBS="-L${ROOTLIBDIR} ${ROOTGLIBS} ${ROOTAUXLIBS} -lMinuit2 -lMathMore -lXMLParser"
ROOT_CFLAGS="-I${ROOTINCDIR} ${ROOTCFLAGS} ${ROOTAUXCFLAGS}"
@@ -1000,6 +1000,14 @@ if test "x$enable_editor" != "xno"; then
[PKG_CHECK_MODULES(QT3MT, qt-mt >= 3.3.0 qt-mt < 4.0, [QT3MT_FOUND=yes], [QT3MT_FOUND=no])]
)]
)
fi
if test "x${QT5_FOUND}" != "xyes"; then
PKG_CHECK_MODULES(QT5, Qt5WebEngine >= $QT5MINVER Qt5Xml >= $QT5MINVER, [QT5_FOUND=yes],
[AC_MSG_NOTICE([Qt5 (including Qt5WebEngine and Qt5Xml) not found!])
PKG_CHECK_MODULES(QT3, qt >= 3.3.0 qt < 4.0, [QT3_FOUND=yes],
[PKG_CHECK_MODULES(QT3MT, qt-mt >= 3.3.0 qt-mt < 4.0, [QT3MT_FOUND=yes], [QT3MT_FOUND=no])]
)]
)
fi]
)
@@ -1024,6 +1032,12 @@ if test "x$enable_editor" != "xno"; then
QTEDITOR=musrgui
fi
dnl if Qt5 but Qt5WebEngine instead of Qt5WebKit
if test "x$QTPATH" = "x"; then
QTPATH=$(pkg-config --variable=prefix Qt5WebEngine)
QTEDITOR=musredit_qt5
fi
AC_MSG_CHECKING([for qmake])
if test "x${QTPATH}" != "xnone"; then
if test "x$QTEDITOR" = "xmusredit_qt5"; then
@@ -1119,6 +1133,9 @@ case "${host_cpu}" in
;;
esac
CXXFLAGS="-std=c++11 ${CXXFLAGS}"
AC_SUBST(CXXFLAGS)
LOCAL_BIN_CXXFLAGS="${CPUFLAGS} -Wall -Wno-trigraphs"
LOCAL_LIB_CXXFLAGS="${LOCAL_BIN_CXXFLAGS}"
LOCAL_PSIBIN_LIB_CXXFLAGS="${LOCAL_LIB_CXXFLAGS}"
@@ -1143,7 +1160,8 @@ case "$host" in
;;
*-*-darwin*)
ARCH=DARWIN
LOCAL_PSIBIN_LIB_CXXFLAGS="${LOCAL_LIB_CXXFLAGS} -D__linux__"
LOCAL_PSIBIN_LIB_CXXFLAGS="${LOCAL_LIB_CXXFLAGS} -D_Darwin_"
LOCAL_BIN_LDFLAGS="${LOCAL_BIN_LDFLAGS} -Wl,-rpath ${ROOTLIBDIR}"
;;
*)
ARCH=OTHERUNIX
@@ -1194,11 +1212,24 @@ else
INSTALLDIR="${prefix}"
fi
if test -d "${INSTALLDIR}/doc"
dnl only define DOCDIR if not already present. This allows
dnl to feed DOCDIR on the configure level which is useful when
dnl for instance building a rpm. DOCDIR2 is needed for rpmbuild only
if test "x${DOCDIR}" = "x"
then
DOCDIR="${INSTALLDIR}/doc/musrfit"
if test -d "${INSTALLDIR}/doc"
then
DOCDIR="${INSTALLDIR}/doc/musrfit"
else
DOCDIR="${INSTALLDIR}/share/doc/musrfit"
fi
else
DOCDIR="${INSTALLDIR}/share/doc/musrfit"
if test -d "${INSTALLDIR}/doc"
then
DOCDIR2="${INSTALLDIR}/doc/musrfit"
else
DOCDIR2="${INSTALLDIR}/share/doc/musrfit"
fi
fi
AC_SUBST(DOCDIR)
@@ -1260,8 +1291,6 @@ AC_CONFIG_FILES([Makefile \
src/musredit_qt5/Makefile \
src/musredit/Makefile \
src/musrgui/Makefile \
src/musredit_qt5/musredit_startup.xml \
src/musredit/musredit_startup.xml \
src/musrgui/musrgui_startup.xml])
AC_OUTPUT
@@ -1422,3 +1451,24 @@ echo " Programs: ${INSTALLDIR}/bin"
echo " XML configuration files: ${HOME}/.musrfit"
echo " Documentation: ${DOCDIR}"
echo ""
dnl --------------
dnl create header file that musredit knows at runtime where to find the documentation
dnl the DOCDIR2 tag is used for rpmbuild only
dnl --------------
if test "x$enable_editor" != "xno" && test "x${QMAKEBIN}" != "x" && test "x${QTEDITOR}" = "xmusredit_qt5"; then
echo \#define MUSRFIT_PREFIX \"${INSTALLDIR}\" > src/musredit_qt5/musrfit-info.h
if test "x$DOCDIR2" = "x"; then
echo \#define MUSRFIT_DOC_DIR \"${DOCDIR}\" >> src/musredit_qt5/musrfit-info.h
else
echo \#define MUSRFIT_DOC_DIR \"${DOCDIR2}\" >> src/musredit_qt5/musrfit-info.h
fi
fi
if test "x$enable_editor" != "xno" && test "x${QMAKEBIN}" != "x" && test "x${QTEDITOR}" = "xmusredit"; then
echo \#define MUSRFIT_PREFIX \"${INSTALLDIR}\" > src/musredit/musrfit-info.h
if test "x$DOCDIR2" = "x"; then
echo \#define MUSRFIT_DOC_DIR \"${DOCDIR}\" >> src/musredit/musrfit-info.h
else
echo \#define MUSRFIT_DOC_DIR \"${DOCDIR2}\" >> src/musredit/musrfit-info.h
fi
fi

View File

@@ -46,11 +46,11 @@ clean:; @rm -f $(OBJS) *Dict* core*
$(OBJS): %.o: %.cpp
$(CXX) $(INCLUDES) $(CXXFLAGS) -c $<
# Generate the ROOT CINT dictionary
# Generate the ROOT CLING dictionary
PUserFcnDict.cpp: PUserFcn.h PUserFcnLinkDef.h
@echo "Generating dictionary $@..."
rootcint -f $@ -c -p -I$(ROOTINCLUDE) $^
rootcling -f $@ -c -p -I$(ROOTINCLUDE) $^
install: all
@echo "Installing shared lib: libTApproximation.so"

Binary file not shown.

View File

@@ -0,0 +1,60 @@
BaB6 T20K LF5G
###############################################################
FITPARAMETER
# Nr. Name Value Step Pos_Error Boundaries
1 alpha 0.7 0 none 0 none
2 asy 0.2091 -0.0013 0.0013 0 0.33
3 field 2.127 0 none 0 none
4 width 0.5387 -0.0054 0.0055 0 100
5 hopp 0.119 -0.013 0.014 0 100
6 asyConst 0 0 none
###############################################################
THEORY
asymmetry 2
dynGssKTLF fun1 4 5 (frequency damping hopping-rate)
+
asymmetry 6
###############################################################
FUNCTIONS
fun1 = par3 * gamma_mu
###############################################################
RUN data/deltat_tdc_dolly_1020 PIE1 PSI PSI-BIN (name beamline institute data-file-format)
fittype 2 (asymmetry fit)
alpha 1
map 0 0 0 0 0 0 0 0 0 0
forward 2
backward 1
background 15 146 13 148 # estimated bkg: 20.4846 / 4.8731
data 170 9956 168 9110
t0 160.0 161.0
fit 0.25 10
packing 5
###############################################################
COMMANDS
MINIMIZE
MINOS
SAVE
###############################################################
FOURIER
units Gauss # units either 'Gauss', 'MHz', or 'Mc/s'
fourier_power 12
apodization STRONG # NONE, WEAK, MEDIUM, STRONG
plot POWER # REAL, IMAG, REAL_AND_IMAG, POWER, PHASE
phase 8
#range_for_phase_correction 50.0 70.0
range 0 800
###############################################################
PLOT 2 (asymmetry plot)
runs 1
range 0 9.5 -0.15 0.3
view_packing 150
###############################################################
STATISTIC --- 2013-07-01 20:40:44
chisq = 1911.7, NDF = 1905, chisq/NDF = 1.003494

View File

@@ -3,7 +3,7 @@ MgB12H12 No2 ZF T=150
FITPARAMETER
# Nr. Name Value Step Pos_Error Boundaries
1 alpha 1 0 none 0 2
2 asy 0.17503 -0.00082 0.00083 0 0.33
2 asy 0.17503 -0.00081 0.00083 0 0.33
3 rate 0.1649 -0.0016 0.0016 0 none
4 beta 0.892 -0.016 0.016 0.5 2
@@ -19,7 +19,7 @@ alpha 1
map 0 0 0 0 0 0 0 0 0 0 0
forward 1
backward 2
background 79 391 80 409 # estimated bkg: 21.0224 / 17.1702
background 79 391 80 409 # estimated bkg: 21.0833 / 17.2249
data 438 12785 436 12787
t0 432.0 431.0
fit 0 8
@@ -34,10 +34,10 @@ SAVE
###############################################################
FOURIER
units Gauss # units either 'Gauss', 'MHz', or 'Mc/s'
units Gauss # units either 'Gauss', 'Tesla', 'MHz', or 'Mc/s'
fourier_power 12
apodization NONE # NONE, WEAK, MEDIUM, STRONG
plot POWER # REAL, IMAG, REAL_AND_IMAG, POWER, PHASE
plot POWER # REAL, IMAG, REAL_AND_IMAG, POWER, PHASE, PHASE_OPT_REAL
phase 8
#range_for_phase_correction 50.0 70.0
range 0 200
@@ -48,5 +48,5 @@ runs 1
range 0 8 0 0.25
###############################################################
STATISTIC --- 2012-03-20 10:11:27
chisq = 133.9, NDF = 99, chisq/NDF = 1.352819
STATISTIC --- 2017-02-08 07:07:39
chisq = 134.0, NDF = 99, chisq/NDF = 1.353150

View File

@@ -5,11 +5,11 @@ FITPARAMETER
1 N_0 321.0 1.4 none
2 tau_0 1.9066 0.0038 none 0 none
3 Rate_0 0.0983 0.0052 none 0 none
4 Freq_0 135.53824 0.00073 none
4 Freq_0 135.53823 0.00073 none
5 N_1 306.1 1.3 none
6 tau_1 0.7409 0.0026 none 0 none
7 Rate_1 0.026 0.027 none 0 none
7 Rate_1 0.027 0.031 none 0 none
8 Freq_1 136.8968 0.0033 none
9 Asym_F1_0 0.0490 0.0015 none 0 none
@@ -28,7 +28,7 @@ FITPARAMETER
20 N_bgk_F3 1.465 0.033 none
21 Asym_F4_0 0.0512 0.0015 none 0 none
22 Asym_F4_1 0.0521 0.0029 none 0 none
22 Asym_F4_1 0.0521 0.0030 none 0 none
23 Phase_F4 144.6 1.5 none
24 N_bgk_F4 2.311 0.034 none
@@ -40,7 +40,7 @@ FITPARAMETER
29 Asym_F6_0 0.0502 0.0015 none 0 none
30 Asym_F6_1 0.0517 0.0030 none 0 none
31 Phase_F6 232.1 1.5 none
32 N_bgk_F6 1.735 0.033 none
32 N_bgk_F6 1.735 0.034 none
33 Asym_F7_0 0.0488 0.0015 none 0 none
34 Asym_F7_1 0.0575 0.0030 none 0 none
@@ -48,12 +48,12 @@ FITPARAMETER
36 N_bgk_F7 1.593 0.033 none
37 Asym_F8_0 0.0547 0.0015 none 0 none
38 Asym_F8_1 0.0468 0.0029 none 0 none
38 Asym_F8_1 0.0468 0.0030 none 0 none
39 Phase_F8 321.7 1.4 none
40 N_bgk_F8 1.469 0.033 none
41 Asym_B1_0 0.0476 0.0015 none 0 none
42 Asym_B1_1 0.0535 0.0029 none 0 none
42 Asym_B1_1 0.0535 0.0030 none 0 none
43 Phase_B1 3.6 1.5 none
44 N_bgk_B1 1.378 0.033 none
@@ -64,8 +64,8 @@ FITPARAMETER
49 Asym_B3_0 0.0494 0.0015 none 0 none
50 Asym_B3_1 0.0555 0.0030 none 0 none
51 Phase_B3 98.1 1.5 none
52 N_bgk_B3 0.969 0.032 none
51 Phase_B3 98.2 1.5 none
52 N_bgk_B3 0.968 0.032 none
53 Asym_B4_0 0.0505 0.0015 none 0 none
54 Asym_B4_1 0.0527 0.0030 none 0 none
@@ -78,7 +78,7 @@ FITPARAMETER
60 N_bgk_B5 1.642 0.033 none
61 Asym_B6_0 0.0512 0.0015 none 0 none
62 Asym_B6_1 0.0477 0.0029 none 0 none
62 Asym_B6_1 0.0477 0.0030 none 0 none
63 Phase_B6 231.7 1.5 none
64 N_bgk_B6 1.650 0.033 none
@@ -183,7 +183,7 @@ SAVE
###############################################################
PLOT 4 (mu minus plot)
runs 1-16
runs 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
range 0 9
###############################################################
@@ -191,9 +191,9 @@ FOURIER
units Tesla # units either 'Gauss', 'Tesla', 'MHz', or 'Mc/s'
fourier_power 14
apodization MEDIUM # NONE, WEAK, MEDIUM, STRONG
plot POWER # REAL, IMAG, REAL_AND_IMAG, POWER, PHASE
range 0.8 1.2
plot POWER # REAL, IMAG, REAL_AND_IMAG, POWER, PHASE, PHASE_OPT_REAL
range 0.8 1.2
###############################################################
STATISTIC --- 2016-04-25 17:05:56
STATISTIC --- 2017-02-08 07:11:01
maxLH = 238962.5, NDF = 230264, maxLH/NDF = 1.037776

View File

@@ -1,7 +1,7 @@
<!DOCTYPE html><html lang="en">
<!-- Mirrored from intranet.psi.ch/MUSR/BmwLibs?cover=print by HTTrack Website Copier/3.x [XR&CO'2010], Fri, 16 Dec 2016 16:01:32 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=utf-8"><!-- /Added by HTTrack -->
<!-- Mirrored from intranet.psi.ch/MUSR/BmwLibs?cover=print by HTTrack Website Copier/3.x [XR&CO'2014], Fri, 08 Jun 2018 13:42:27 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=utf-8" /><!-- /Added by HTTrack -->
<head>
<link rel="stylesheet" href="../pub/System/HeadlinesPlugin/style.css" type="text/css" media="all" />
<title> MUSR :: BmwLibs</title>
@@ -14,14 +14,14 @@
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
<link rel="icon" href="../pub/Main/WebPreferences/favicon.ico" type="image/x-icon" />
<link rel="shortcut icon" href="../pub/Main/WebPreferences/favicon.ico" type="image/x-icon" />
<link rel="alternate" href="https://intranet.psi.ch/wiki/bin/edit/MUSR/BmwLibs?t=1481904045" type="application/x-wiki" title="edit BmwLibs" />
<link rel="alternate" href="https://intranet.psi.ch/wiki/bin/edit/MUSR/BmwLibs?t=1528465298" type="application/x-wiki" title="edit BmwLibs" />
<meta name="TEXT_NUM_TOPICS" content="Number of topics:" />
<meta name="TEXT_MODIFY_SEARCH" content="Modify search" />
<meta name="robots" content="noindex" /><link rel="alternate" type="application/rss+xml" title="RSS Feed" href="WebRsshtml.html" />
<meta name="robots" content="noindex" /><link rel="alternate" type="application/rss+xml" title="RSS Feed" href="WebRss" />
<base /><!--[if IE]></base><![endif]--><link class='head JQUERYPLUGIN::COMMENT' rel='stylesheet' href='../pub/System/CommentPlugin/commentf5b6.css?version=3.0' type='text/css' media='all' /><!--JQUERYPLUGIN::COMMENT-->
<link class='head SMILIESPLUGIN' rel='stylesheet' href='../pub/System/SmiliesPlugin/smilies.css' type='text/css' media='all' /><!--SMILIESPLUGIN-->
<link class='head FOOTNOTEPLUGIN_LINKCSS' rel="stylesheet" href="../pub/System/FootNotePlugin/styles.css" type="text/css" media="all" /><!--FOOTNOTEPLUGIN_LINKCSS-->
<link class='head CLASSIFICATIONPLUGIN::CSS' rel="stylesheet" href="../pub/System/ClassificationPlugin/styles.css" media="all" /><!--CLASSIFICATIONPLUGIN::CSS-->
<link class='head SMILIESPLUGIN' rel='stylesheet' href='../pub/System/SmiliesPlugin/smilies.css' type='text/css' media='all' /><!--SMILIESPLUGIN--><link rel='stylesheet' href='../pub/System/SkinTemplates/base.css' media='all' type='text/css' />
<link class='head CLASSIFICATIONPLUGIN::CSS' rel="stylesheet" href="../pub/System/ClassificationPlugin/styles.css" media="all" /><!--CLASSIFICATIONPLUGIN::CSS--><link rel='stylesheet' href='../pub/System/SkinTemplates/base.css' media='all' type='text/css' />
<style type="text/css" media="all">
@import url('../pub/System/PatternSkinTheme/layout.css');
@import url('../pub/System/PatternSkinTheme2009/style.css');
@@ -106,10 +106,10 @@
<!--JQUERYPLUGIN::FOSWIKI-->
<!--JavascriptFiles/foswikiString-->
<!--JavascriptFiles/foswikiPref-->
<!--JavascriptFiles/foswikiForm-->
<!--PatternSkin/pattern-->
<!--JQUERYPLUGIN::COMMENT-->
<!--JQUERYPLUGIN::FOSWIKI::PREFERENCES-->
<!--JQUERYPLUGIN::COMMENT--><link class='head FOOTNOTEPLUGIN_LINKCSS' rel="stylesheet" href="../pub/System/FootNotePlugin/styles.css" type="text/css" media="all" /><!--FOOTNOTEPLUGIN_LINKCSS-->
<!--JavascriptFiles/foswikiForm-->
<!--PatternSkin/pattern--><link class='head FOOTNOTEPLUGIN_LINKCSS' rel="stylesheet" href="../pub/System/FootNotePlugin/styles.css" type="text/css" media="all" /><!--FOOTNOTEPLUGIN_LINKCSS-->
</head>
<body class="foswikiNoJs patternViewPage patternPrintPage">
<span id="PageTop"></span><div class="foswikiPage"><div id="patternScreen">
@@ -149,6 +149,5 @@ Topic revision: <span class='patternRevInfo'>03 Jul 2015, suter_a</span></div>
</body>
<!-- Mirrored from intranet.psi.ch/MUSR/BmwLibs?cover=print by HTTrack Website Copier/3.x [XR&CO'2010], Fri, 16 Dec 2016 16:01:33 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=utf-8"><!-- /Added by HTTrack -->
<!-- Mirrored from intranet.psi.ch/MUSR/BmwLibs?cover=print by HTTrack Website Copier/3.x [XR&CO'2014], Fri, 08 Jun 2018 13:42:27 GMT -->
</html>

View File

@@ -1,7 +1,7 @@
<!DOCTYPE html><html lang="en">
<!-- Mirrored from intranet.psi.ch/MUSR/CiteMusrFit?cover=print by HTTrack Website Copier/3.x [XR&CO'2010], Fri, 16 Dec 2016 16:01:25 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=utf-8"><!-- /Added by HTTrack -->
<!-- Mirrored from intranet.psi.ch/MUSR/CiteMusrFit?cover=print by HTTrack Website Copier/3.x [XR&CO'2014], Fri, 08 Jun 2018 13:42:20 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=utf-8" /><!-- /Added by HTTrack -->
<head>
<link rel="stylesheet" href="../pub/System/HeadlinesPlugin/style.css" type="text/css" media="all" />
<title> MUSR :: CiteMusrFit</title>
@@ -14,13 +14,13 @@
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
<link rel="icon" href="../pub/Main/WebPreferences/favicon.ico" type="image/x-icon" />
<link rel="shortcut icon" href="../pub/Main/WebPreferences/favicon.ico" type="image/x-icon" />
<link rel="alternate" href="https://intranet.psi.ch/wiki/bin/edit/MUSR/CiteMusrFit?t=1481904044" type="application/x-wiki" title="edit CiteMusrFit" />
<link rel="alternate" href="https://intranet.psi.ch/wiki/bin/edit/MUSR/CiteMusrFit?t=1528465297" type="application/x-wiki" title="edit CiteMusrFit" />
<meta name="TEXT_NUM_TOPICS" content="Number of topics:" />
<meta name="TEXT_MODIFY_SEARCH" content="Modify search" />
<meta name="robots" content="noindex" /><link rel="alternate" type="application/rss+xml" title="RSS Feed" href="WebRsshtml.html" />
<base /><!--[if IE]></base><![endif]--><link class='head FOOTNOTEPLUGIN_LINKCSS' rel="stylesheet" href="../pub/System/FootNotePlugin/styles.css" type="text/css" media="all" /><!--FOOTNOTEPLUGIN_LINKCSS-->
<link class='head JQUERYPLUGIN::COMMENT' rel='stylesheet' href='../pub/System/CommentPlugin/commentf5b6.css?version=3.0' type='text/css' media='all' /><!--JQUERYPLUGIN::COMMENT-->
<meta name="robots" content="noindex" /><link rel="alternate" type="application/rss+xml" title="RSS Feed" href="WebRss" />
<base /><!--[if IE]></base><![endif]--><link class='head JQUERYPLUGIN::COMMENT' rel='stylesheet' href='../pub/System/CommentPlugin/commentf5b6.css?version=3.0' type='text/css' media='all' /><!--JQUERYPLUGIN::COMMENT-->
<link class='head CLASSIFICATIONPLUGIN::CSS' rel="stylesheet" href="../pub/System/ClassificationPlugin/styles.css" media="all" /><!--CLASSIFICATIONPLUGIN::CSS-->
<link class='head FOOTNOTEPLUGIN_LINKCSS' rel="stylesheet" href="../pub/System/FootNotePlugin/styles.css" type="text/css" media="all" /><!--FOOTNOTEPLUGIN_LINKCSS-->
<link class='head SMILIESPLUGIN' rel='stylesheet' href='../pub/System/SmiliesPlugin/smilies.css' type='text/css' media='all' /><!--SMILIESPLUGIN--><link rel='stylesheet' href='../pub/System/SkinTemplates/base.css' media='all' type='text/css' />
<style type="text/css" media="all">
@import url('../pub/System/PatternSkinTheme/layout.css');
@@ -102,14 +102,14 @@
<!--<![endif]-->
<!--JQUERYPLUGIN-->
<!--JQUERYPLUGIN::MIGRATE-->
<!--JQUERYPLUGIN::LIVEQUERY-->
<!--JQUERYPLUGIN::FOSWIKI-->
<!--JQUERYPLUGIN::LIVEQUERY-->
<!--JavascriptFiles/foswikiString-->
<!--JavascriptFiles/foswikiPref-->
<!--JavascriptFiles/foswikiForm-->
<!--PatternSkin/pattern-->
<!--JQUERYPLUGIN::FOSWIKI::PREFERENCES-->
<!--JQUERYPLUGIN::COMMENT--><link class='head FOOTNOTEPLUGIN_LINKCSS' rel="stylesheet" href="../pub/System/FootNotePlugin/styles.css" type="text/css" media="all" /><!--FOOTNOTEPLUGIN_LINKCSS-->
<!--JQUERYPLUGIN::COMMENT-->
<!--JQUERYPLUGIN::FOSWIKI::PREFERENCES--><link class='head FOOTNOTEPLUGIN_LINKCSS' rel="stylesheet" href="../pub/System/FootNotePlugin/styles.css" type="text/css" media="all" /><!--FOOTNOTEPLUGIN_LINKCSS-->
</head>
<body class="foswikiNoJs patternViewPage patternPrintPage">
<span id="PageTop"></span><div class="foswikiPage"><div id="patternScreen">
@@ -123,13 +123,19 @@
<p></p>
Since quite some effort is going into the development and maintenance of the <code>musrfit</code> package, you should at least acknowledge it in your publication if you have used it to analyze your data. Even better of course is to cite it properly by the reference given beneath
<p></p> <ul>
<li> <a href="http://dx.doi.org/10.1016/j.phpro.2012.04.042">A. Suter, B.M. Wojek, "Musrfit: A Free Platform-Independent Framework for &mu;SR Data Analysis", Physics Procedia 30, 69 (2012).</a>
<li> <a href="http://dx.doi.org/10.1016/j.phpro.2012.04.042">A. Suter, B.M. Wojek, "Musrfit: A Free Platform-Independent Framework for &mu;SR Data Analysis", Physics Procedia <strong>30</strong>, 69 (2012).</a>
</li></ul>
<p></p>
The GPU high speed <code>musrfit</code> version is utilizing <code>DKS</code>. In case you are using this version, please also add the following citations
<p></p> <ul>
<li> <a href="https://doi.org/10.1016/j.cpc.2016.05.013">A. Adelmann, U. Locans, A. Suter, "The Dynamic Kernel Scheduler&mdash;Part 1", Computer Physics Communications <strong>207</strong>, 83 (2016).</a>
</li> <li> <a href="https://doi.org/10.1016/j.cpc.2017.02.007">U. Locans, <strong><em>et al.</em></strong>, "Real-time computation of parameter fitting and image reconstruction using graphical processing units", Computer Physics Communications <strong>215</strong>, 71 (2017).</a>
</li></ul> </div>
<p></p>
<p></p>
</div>
<div class="patternInfo">This topic: MUSR<span class='foswikiSeparator'>&nbsp;&gt;&nbsp;</span><a class="foswikiCurrentWebHomeLink" href="WebHome.html">WebHome</a><span class='foswikiSeparator'>&nbsp;&gt;&nbsp;</span>CiteMusrFit <br />
Topic revision: <span class='patternRevInfo'>19 Jun 2012, suter_a</span></div>
Topic revision: <span class='patternRevInfo'>22 Aug 2017, <a href="https://intranet.psi.ch/Main/AndreasSuter">AndreasSuter</a></span></div>
</div>
</div>
</div>
@@ -147,6 +153,5 @@ Topic revision: <span class='patternRevInfo'>19 Jun 2012, suter_a</span></div>
</body>
<!-- Mirrored from intranet.psi.ch/MUSR/CiteMusrFit?cover=print by HTTrack Website Copier/3.x [XR&CO'2010], Fri, 16 Dec 2016 16:01:25 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=utf-8"><!-- /Added by HTTrack -->
<!-- Mirrored from intranet.psi.ch/MUSR/CiteMusrFit?cover=print by HTTrack Website Copier/3.x [XR&CO'2014], Fri, 08 Jun 2018 13:42:20 GMT -->
</html>

View File

@@ -1,7 +1,7 @@
<!DOCTYPE html><html lang="en">
<!-- Mirrored from intranet.psi.ch/MUSR/LibFitPofB?cover=print by HTTrack Website Copier/3.x [XR&CO'2010], Fri, 16 Dec 2016 16:01:26 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=utf-8"><!-- /Added by HTTrack -->
<!-- Mirrored from intranet.psi.ch/MUSR/LibFitPofB?cover=print by HTTrack Website Copier/3.x [XR&CO'2014], Fri, 08 Jun 2018 13:42:21 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=utf-8" /><!-- /Added by HTTrack -->
<head>
<link rel="stylesheet" href="../pub/System/HeadlinesPlugin/style.css" type="text/css" media="all" />
<title> MUSR :: LibFitPofB</title>
@@ -14,14 +14,14 @@
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
<link rel="icon" href="../pub/Main/WebPreferences/favicon.ico" type="image/x-icon" />
<link rel="shortcut icon" href="../pub/Main/WebPreferences/favicon.ico" type="image/x-icon" />
<link rel="alternate" href="https://intranet.psi.ch/wiki/bin/edit/MUSR/LibFitPofB?t=1481904045" type="application/x-wiki" title="edit LibFitPofB" />
<link rel="alternate" href="https://intranet.psi.ch/wiki/bin/edit/MUSR/LibFitPofB?t=1528465298" type="application/x-wiki" title="edit LibFitPofB" />
<meta name="TEXT_NUM_TOPICS" content="Number of topics:" />
<meta name="TEXT_MODIFY_SEARCH" content="Modify search" />
<meta name="robots" content="noindex" /><link rel="alternate" type="application/rss+xml" title="RSS Feed" href="WebRsshtml.html" />
<base /><!--[if IE]></base><![endif]--><link class='head JQUERYPLUGIN::COMMENT' rel='stylesheet' href='../pub/System/CommentPlugin/commentf5b6.css?version=3.0' type='text/css' media='all' /><!--JQUERYPLUGIN::COMMENT-->
<link class='head FOOTNOTEPLUGIN_LINKCSS' rel="stylesheet" href="../pub/System/FootNotePlugin/styles.css" type="text/css" media="all" /><!--FOOTNOTEPLUGIN_LINKCSS-->
<meta name="robots" content="noindex" /><link rel="alternate" type="application/rss+xml" title="RSS Feed" href="WebRss" />
<base /><!--[if IE]></base><![endif]--><link class='head CLASSIFICATIONPLUGIN::CSS' rel="stylesheet" href="../pub/System/ClassificationPlugin/styles.css" media="all" /><!--CLASSIFICATIONPLUGIN::CSS-->
<link class='head SMILIESPLUGIN' rel='stylesheet' href='../pub/System/SmiliesPlugin/smilies.css' type='text/css' media='all' /><!--SMILIESPLUGIN-->
<link class='head CLASSIFICATIONPLUGIN::CSS' rel="stylesheet" href="../pub/System/ClassificationPlugin/styles.css" media="all" /><!--CLASSIFICATIONPLUGIN::CSS--><link rel='stylesheet' href='../pub/System/SkinTemplates/base.css' media='all' type='text/css' />
<link class='head FOOTNOTEPLUGIN_LINKCSS' rel="stylesheet" href="../pub/System/FootNotePlugin/styles.css" type="text/css" media="all" /><!--FOOTNOTEPLUGIN_LINKCSS-->
<link class='head JQUERYPLUGIN::COMMENT' rel='stylesheet' href='../pub/System/CommentPlugin/commentf5b6.css?version=3.0' type='text/css' media='all' /><!--JQUERYPLUGIN::COMMENT--><link rel='stylesheet' href='../pub/System/SkinTemplates/base.css' media='all' type='text/css' />
<style type="text/css" media="all">
@import url('../pub/System/PatternSkinTheme/layout.css');
@import url('../pub/System/PatternSkinTheme2009/style.css');
@@ -101,18 +101,18 @@
<!--<![endif]-->
<!--JQUERYPLUGIN-->
<!--JQUERYPLUGIN::MIGRATE-->
<!--JQUERYPLUGIN::LIVEQUERY-->
<!--JQUERYPLUGIN::FOSWIKI-->
<!--JQUERYPLUGIN::METADATA-->
<!--JQUERYPLUGIN::CHILI-->
<!--JQUERYPLUGIN::MIGRATE-->
<!--JavascriptFiles/foswikiString-->
<!--JavascriptFiles/foswikiForm-->
<!--JavascriptFiles/foswikiPref-->
<!--JQUERYPLUGIN::FOSWIKI::PREFERENCES-->
<!--PatternSkin/pattern-->
<!--JQUERYPLUGIN::METADATA-->
<!--JQUERYPLUGIN::CHILI-->
<!--JQUERYPLUGIN::COMMENT-->
<!--PatternSkin/pattern--><link class='head FOOTNOTEPLUGIN_LINKCSS' rel="stylesheet" href="../pub/System/FootNotePlugin/styles.css" type="text/css" media="all" /><!--FOOTNOTEPLUGIN_LINKCSS-->
<!--JQUERYPLUGIN::FOSWIKI::PREFERENCES--><link class='head FOOTNOTEPLUGIN_LINKCSS' rel="stylesheet" href="../pub/System/FootNotePlugin/styles.css" type="text/css" media="all" /><!--FOOTNOTEPLUGIN_LINKCSS-->
</head>
<body class="foswikiNoJs patternViewPage patternPrintPage">
<span id="PageTop"></span><div class="foswikiPage"><div id="patternScreen">
@@ -428,6 +428,5 @@ Topic revision: <span class='patternRevInfo'>03 Jul 2015, suter_a</span></div>
</body>
<!-- Mirrored from intranet.psi.ch/MUSR/LibFitPofB?cover=print by HTTrack Website Copier/3.x [XR&CO'2010], Fri, 16 Dec 2016 16:01:32 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=utf-8"><!-- /Added by HTTrack -->
<!-- Mirrored from intranet.psi.ch/MUSR/LibFitPofB?cover=print by HTTrack Website Copier/3.x [XR&CO'2014], Fri, 08 Jun 2018 13:42:26 GMT -->
</html>

View File

@@ -1,7 +1,7 @@
<!DOCTYPE html><html lang="en">
<!-- Mirrored from intranet.psi.ch/MUSR/LibZFRelaxation?cover=print by HTTrack Website Copier/3.x [XR&CO'2010], Fri, 16 Dec 2016 16:00:52 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=utf-8"><!-- /Added by HTTrack -->
<!-- Mirrored from intranet.psi.ch/MUSR/LibZFRelaxation?cover=print by HTTrack Website Copier/3.x [XR&CO'2014], Fri, 08 Jun 2018 13:41:45 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=utf-8" /><!-- /Added by HTTrack -->
<head>
<link rel="stylesheet" href="../pub/System/HeadlinesPlugin/style.css" type="text/css" media="all" />
<title> MUSR :: LibZFRelaxation</title>
@@ -14,14 +14,14 @@
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
<link rel="icon" href="../pub/Main/WebPreferences/favicon.ico" type="image/x-icon" />
<link rel="shortcut icon" href="../pub/Main/WebPreferences/favicon.ico" type="image/x-icon" />
<link rel="alternate" href="https://intranet.psi.ch/wiki/bin/edit/MUSR/LibZFRelaxation?t=1481904042" type="application/x-wiki" title="edit LibZFRelaxation" />
<link rel="alternate" href="https://intranet.psi.ch/wiki/bin/edit/MUSR/LibZFRelaxation?t=1528465295" type="application/x-wiki" title="edit LibZFRelaxation" />
<meta name="TEXT_NUM_TOPICS" content="Number of topics:" />
<meta name="TEXT_MODIFY_SEARCH" content="Modify search" />
<meta name="robots" content="noindex" /><link rel="alternate" type="application/rss+xml" title="RSS Feed" href="WebRsshtml.html" />
<base /><!--[if IE]></base><![endif]--><link class='head SMILIESPLUGIN' rel='stylesheet' href='../pub/System/SmiliesPlugin/smilies.css' type='text/css' media='all' /><!--SMILIESPLUGIN-->
<link class='head CLASSIFICATIONPLUGIN::CSS' rel="stylesheet" href="../pub/System/ClassificationPlugin/styles.css" media="all" /><!--CLASSIFICATIONPLUGIN::CSS-->
<meta name="robots" content="noindex" /><link rel="alternate" type="application/rss+xml" title="RSS Feed" href="WebRss" />
<base /><!--[if IE]></base><![endif]--><link class='head JQUERYPLUGIN::COMMENT' rel='stylesheet' href='../pub/System/CommentPlugin/commentf5b6.css?version=3.0' type='text/css' media='all' /><!--JQUERYPLUGIN::COMMENT-->
<link class='head FOOTNOTEPLUGIN_LINKCSS' rel="stylesheet" href="../pub/System/FootNotePlugin/styles.css" type="text/css" media="all" /><!--FOOTNOTEPLUGIN_LINKCSS-->
<link class='head JQUERYPLUGIN::COMMENT' rel='stylesheet' href='../pub/System/CommentPlugin/commentf5b6.css?version=3.0' type='text/css' media='all' /><!--JQUERYPLUGIN::COMMENT--><link rel='stylesheet' href='../pub/System/SkinTemplates/base.css' media='all' type='text/css' />
<link class='head SMILIESPLUGIN' rel='stylesheet' href='../pub/System/SmiliesPlugin/smilies.css' type='text/css' media='all' /><!--SMILIESPLUGIN-->
<link class='head CLASSIFICATIONPLUGIN::CSS' rel="stylesheet" href="../pub/System/ClassificationPlugin/styles.css" media="all" /><!--CLASSIFICATIONPLUGIN::CSS--><link rel='stylesheet' href='../pub/System/SkinTemplates/base.css' media='all' type='text/css' />
<style type="text/css" media="all">
@import url('../pub/System/PatternSkinTheme/layout.css');
@import url('../pub/System/PatternSkinTheme2009/style.css');
@@ -102,17 +102,17 @@
<!--<![endif]-->
<!--JQUERYPLUGIN-->
<!--JQUERYPLUGIN::MIGRATE-->
<!--JQUERYPLUGIN::FOSWIKI-->
<!--JQUERYPLUGIN::LIVEQUERY-->
<!--JavascriptFiles/foswikiString-->
<!--JavascriptFiles/foswikiPref-->
<!--JavascriptFiles/foswikiForm-->
<!--PatternSkin/pattern-->
<!--JQUERYPLUGIN::COMMENT-->
<!--JQUERYPLUGIN::FOSWIKI-->
<!--JQUERYPLUGIN::METADATA-->
<!--JQUERYPLUGIN::FOSWIKI::PREFERENCES-->
<!--JavascriptFiles/foswikiString-->
<!--JQUERYPLUGIN::COMMENT-->
<!--JavascriptFiles/foswikiPref-->
<!--JQUERYPLUGIN::CHILI--><link class='head FOOTNOTEPLUGIN_LINKCSS' rel="stylesheet" href="../pub/System/FootNotePlugin/styles.css" type="text/css" media="all" /><!--FOOTNOTEPLUGIN_LINKCSS-->
<!--JQUERYPLUGIN::CHILI-->
<!--JavascriptFiles/foswikiForm-->
<!--PatternSkin/pattern--><link class='head FOOTNOTEPLUGIN_LINKCSS' rel="stylesheet" href="../pub/System/FootNotePlugin/styles.css" type="text/css" media="all" /><!--FOOTNOTEPLUGIN_LINKCSS-->
</head>
<body class="foswikiNoJs patternViewPage patternPrintPage">
<span id="PageTop"></span><div class="foswikiPage"><div id="patternScreen">
@@ -233,6 +233,5 @@ Topic revision: <span class='patternRevInfo'>03 Jul 2015, suter_a</span></div>
</body>
<!-- Mirrored from intranet.psi.ch/MUSR/LibZFRelaxation?cover=print by HTTrack Website Copier/3.x [XR&CO'2010], Fri, 16 Dec 2016 16:00:55 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=utf-8"><!-- /Added by HTTrack -->
<!-- Mirrored from intranet.psi.ch/MUSR/LibZFRelaxation?cover=print by HTTrack Website Copier/3.x [XR&CO'2014], Fri, 08 Jun 2018 13:41:47 GMT -->
</html>

View File

@@ -1,7 +1,7 @@
<!DOCTYPE html><html lang="en">
<!-- Mirrored from intranet.psi.ch/MUSR/Msr2Data?cover=print by HTTrack Website Copier/3.x [XR&CO'2010], Fri, 16 Dec 2016 16:01:25 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=utf-8"><!-- /Added by HTTrack -->
<!-- Mirrored from intranet.psi.ch/MUSR/Msr2Data?cover=print by HTTrack Website Copier/3.x [XR&CO'2014], Fri, 08 Jun 2018 13:42:20 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=utf-8" /><!-- /Added by HTTrack -->
<head>
<link rel="stylesheet" href="../pub/System/HeadlinesPlugin/style.css" type="text/css" media="all" />
<title> MUSR :: Msr2Data</title>
@@ -14,13 +14,11 @@
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
<link rel="icon" href="../pub/Main/WebPreferences/favicon.ico" type="image/x-icon" />
<link rel="shortcut icon" href="../pub/Main/WebPreferences/favicon.ico" type="image/x-icon" />
<link rel="alternate" href="https://intranet.psi.ch/wiki/bin/edit/MUSR/Msr2Data?t=1481904045" type="application/x-wiki" title="edit Msr2Data" />
<link rel="alternate" href="https://intranet.psi.ch/wiki/bin/edit/MUSR/Msr2Data?t=1528465298" type="application/x-wiki" title="edit Msr2Data" />
<meta name="TEXT_NUM_TOPICS" content="Number of topics:" />
<meta name="TEXT_MODIFY_SEARCH" content="Modify search" />
<meta name="robots" content="noindex" /><link rel="alternate" type="application/rss+xml" title="RSS Feed" href="WebRsshtml.html" />
<base /><!--[if IE]></base><![endif]--><link class='head SMILIESPLUGIN' rel='stylesheet' href='../pub/System/SmiliesPlugin/smilies.css' type='text/css' media='all' /><!--SMILIESPLUGIN-->
<link class='head CLASSIFICATIONPLUGIN::CSS' rel="stylesheet" href="../pub/System/ClassificationPlugin/styles.css" media="all" /><!--CLASSIFICATIONPLUGIN::CSS-->
<style class='head TABLEPLUGIN_default' type="text/css" media="all">
<meta name="robots" content="noindex" /><link rel="alternate" type="application/rss+xml" title="RSS Feed" href="WebRss" />
<base /><!--[if IE]></base><![endif]--><style class='head TABLEPLUGIN_default' type="text/css" media="all">
body .foswikiTable {border-width:1px}
body .foswikiTable .tableSortIcon img {padding-left:.3em; vertical-align:text-bottom}
body .foswikiTable td {border-style:solid none; vertical-align:top}
@@ -52,9 +50,11 @@ body .foswikiTable#tableMsr2Data1 th.foswikiSortedCol {background-color:#eeeeee}
body .foswikiTable#tableMsr2Data1 tr.foswikiTableRowdataBg0 td {background-color:#ffffff}
body .foswikiTable#tableMsr2Data1 tr.foswikiTableRowdataBg0 td.foswikiSortedCol {background-color:#f5f5f5}
</style><!--TABLEPLUGIN_specific-->
<link class='head JQUERYPLUGIN::TWISTY' rel='stylesheet' href='../pub/System/TwistyPlugin/twisty327a.css?version=1.6.0' type='text/css' media='all' /><!--JQUERYPLUGIN::TWISTY: requires= missing ids: JavascriptFiles/foswikiPref-->
<link class='head IMAGEPLUGIN' rel="stylesheet" href="../pub/System/ImagePlugin/style.css" type="text/css" media="all" /><!--IMAGEPLUGIN-->
<link class='head JQUERYPLUGIN::COMMENT' rel='stylesheet' href='../pub/System/CommentPlugin/commentf5b6.css?version=3.0' type='text/css' media='all' /><!--JQUERYPLUGIN::COMMENT-->
<link class='head IMAGEPLUGIN' rel="stylesheet" href="../pub/System/ImagePlugin/style.css" type="text/css" media="all" /><!--IMAGEPLUGIN-->
<link class='head CLASSIFICATIONPLUGIN::CSS' rel="stylesheet" href="../pub/System/ClassificationPlugin/styles.css" media="all" /><!--CLASSIFICATIONPLUGIN::CSS-->
<link class='head SMILIESPLUGIN' rel='stylesheet' href='../pub/System/SmiliesPlugin/smilies.css' type='text/css' media='all' /><!--SMILIESPLUGIN-->
<link class='head JQUERYPLUGIN::TWISTY' rel='stylesheet' href='../pub/System/TwistyPlugin/twisty327a.css?version=1.6.0' type='text/css' media='all' /><!--JQUERYPLUGIN::TWISTY: requires= missing ids: JavascriptFiles/foswikiPref-->
<link class='head FOOTNOTEPLUGIN_LINKCSS' rel="stylesheet" href="../pub/System/FootNotePlugin/styles.css" type="text/css" media="all" /><!--FOOTNOTEPLUGIN_LINKCSS--><link rel='stylesheet' href='../pub/System/SkinTemplates/base.css' media='all' type='text/css' />
<style type="text/css" media="all">
@import url('../pub/System/PatternSkinTheme/layout.css');
@@ -138,16 +138,16 @@ body .foswikiTable#tableMsr2Data1 tr.foswikiTableRowdataBg0 td.foswikiSortedCol
<!--JQUERYPLUGIN::MIGRATE-->
<!--JQUERYPLUGIN::LIVEQUERY-->
<!--JQUERYPLUGIN::FOSWIKI-->
<!--JQUERYPLUGIN::COMMENT-->
<!--JavascriptFiles/foswikiString-->
<!--JavascriptFiles/foswikiPref-->
<!--JavascriptFiles/foswikiForm-->
<!--PatternSkin/pattern-->
<!--JQUERYPLUGIN::FOSWIKI::PREFERENCES-->
<!--JQUERYPLUGIN::TWISTY-->
<!--JQUERYPLUGIN::COMMENT-->
<!--JQUERYPLUGIN::METADATA-->
<!--JQUERYPLUGIN::CHILI--><link class='head FOOTNOTEPLUGIN_LINKCSS' rel="stylesheet" href="../pub/System/FootNotePlugin/styles.css" type="text/css" media="all" /><!--FOOTNOTEPLUGIN_LINKCSS-->
<!--JQUERYPLUGIN::CHILI-->
<!--JQUERYPLUGIN::TWISTY-->
<!--JavascriptFiles/foswikiForm-->
<!--PatternSkin/pattern--><link class='head FOOTNOTEPLUGIN_LINKCSS' rel="stylesheet" href="../pub/System/FootNotePlugin/styles.css" type="text/css" media="all" /><!--FOOTNOTEPLUGIN_LINKCSS-->
</head>
<body class="foswikiNoJs patternViewPage patternPrintPage">
<span id="PageTop"></span><div class="foswikiPage"><div id="patternScreen">
@@ -435,6 +435,5 @@ Topic revision: <span class='patternRevInfo'>28 Apr 2016, <a href="https://intr
</body>
<!-- Mirrored from intranet.psi.ch/MUSR/Msr2Data?cover=print by HTTrack Website Copier/3.x [XR&CO'2010], Fri, 16 Dec 2016 16:01:26 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=utf-8"><!-- /Added by HTTrack -->
<!-- Mirrored from intranet.psi.ch/MUSR/Msr2Data?cover=print by HTTrack Website Copier/3.x [XR&CO'2014], Fri, 08 Jun 2018 13:42:20 GMT -->
</html>

View File

@@ -1,7 +1,7 @@
<!DOCTYPE html><html lang="en">
<!-- Mirrored from intranet.psi.ch/MUSR/MusrFit?cover=print by HTTrack Website Copier/3.x [XR&CO'2010], Fri, 16 Dec 2016 16:01:02 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=utf-8"><!-- /Added by HTTrack -->
<!-- Mirrored from intranet.psi.ch/MUSR/MusrFit?cover=print by HTTrack Website Copier/3.x [XR&CO'2014], Fri, 08 Jun 2018 13:41:56 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=utf-8" /><!-- /Added by HTTrack -->
<head>
<link rel="stylesheet" href="../pub/System/HeadlinesPlugin/style.css" type="text/css" media="all" />
<title> MUSR :: MusrFit</title>
@@ -14,10 +14,10 @@
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
<link rel="icon" href="../pub/Main/WebPreferences/favicon.ico" type="image/x-icon" />
<link rel="shortcut icon" href="../pub/Main/WebPreferences/favicon.ico" type="image/x-icon" />
<link rel="alternate" href="https://intranet.psi.ch/wiki/bin/edit/MUSR/MusrFit?t=1481904044" type="application/x-wiki" title="edit MusrFit" />
<link rel="alternate" href="https://intranet.psi.ch/wiki/bin/edit/MUSR/MusrFit?t=1528465297" type="application/x-wiki" title="edit MusrFit" />
<meta name="TEXT_NUM_TOPICS" content="Number of topics:" />
<meta name="TEXT_MODIFY_SEARCH" content="Modify search" />
<meta name="robots" content="noindex" /><link rel="alternate" type="application/rss+xml" title="RSS Feed" href="WebRsshtml.html" />
<meta name="robots" content="noindex" /><link rel="alternate" type="application/rss+xml" title="RSS Feed" href="WebRss" />
<base /><!--[if IE]></base><![endif]--><style class='head TABLEPLUGIN_default' type="text/css" media="all">
body .foswikiTable {border-width:1px}
body .foswikiTable .tableSortIcon img {padding-left:.3em; vertical-align:text-bottom}
@@ -32,11 +32,11 @@ body .foswikiTable tr.foswikiTableRowdataBg0 td.foswikiSortedCol {background-col
body .foswikiTable tr.foswikiTableRowdataBg1 td {background-color:#f7f7f6}
body .foswikiTable tr.foswikiTableRowdataBg1 td.foswikiSortedCol {background-color:#f0f0ee}
</style><!--TABLEPLUGIN_default-->
<link class='head IMAGEPLUGIN' rel="stylesheet" href="../pub/System/ImagePlugin/style.css" type="text/css" media="all" /><!--IMAGEPLUGIN-->
<link class='head FOOTNOTEPLUGIN_LINKCSS' rel="stylesheet" href="../pub/System/FootNotePlugin/styles.css" type="text/css" media="all" /><!--FOOTNOTEPLUGIN_LINKCSS-->
<link class='head JQUERYPLUGIN::COMMENT' rel='stylesheet' href='../pub/System/CommentPlugin/commentf5b6.css?version=3.0' type='text/css' media='all' /><!--JQUERYPLUGIN::COMMENT-->
<link class='head SMILIESPLUGIN' rel='stylesheet' href='../pub/System/SmiliesPlugin/smilies.css' type='text/css' media='all' /><!--SMILIESPLUGIN-->
<link class='head CLASSIFICATIONPLUGIN::CSS' rel="stylesheet" href="../pub/System/ClassificationPlugin/styles.css" media="all" /><!--CLASSIFICATIONPLUGIN::CSS--><link rel='stylesheet' href='../pub/System/SkinTemplates/base.css' media='all' type='text/css' />
<link class='head FOOTNOTEPLUGIN_LINKCSS' rel="stylesheet" href="../pub/System/FootNotePlugin/styles.css" type="text/css" media="all" /><!--FOOTNOTEPLUGIN_LINKCSS-->
<link class='head CLASSIFICATIONPLUGIN::CSS' rel="stylesheet" href="../pub/System/ClassificationPlugin/styles.css" media="all" /><!--CLASSIFICATIONPLUGIN::CSS-->
<link class='head IMAGEPLUGIN' rel="stylesheet" href="../pub/System/ImagePlugin/style.css" type="text/css" media="all" /><!--IMAGEPLUGIN-->
<link class='head JQUERYPLUGIN::COMMENT' rel='stylesheet' href='../pub/System/CommentPlugin/commentf5b6.css?version=3.0' type='text/css' media='all' /><!--JQUERYPLUGIN::COMMENT--><link rel='stylesheet' href='../pub/System/SkinTemplates/base.css' media='all' type='text/css' />
<style type="text/css" media="all">
@import url('../pub/System/PatternSkinTheme/layout.css');
@import url('../pub/System/PatternSkinTheme2009/style.css');
@@ -117,17 +117,17 @@ body .foswikiTable tr.foswikiTableRowdataBg1 td.foswikiSortedCol {background-col
<!--<![endif]-->
<!--JQUERYPLUGIN-->
<!--JQUERYPLUGIN::MIGRATE-->
<!--JQUERYPLUGIN::FOSWIKI-->
<!--JQUERYPLUGIN::LIVEQUERY-->
<!--JQUERYPLUGIN::FOSWIKI-->
<!--JQUERYPLUGIN::METADATA-->
<!--JQUERYPLUGIN::CHILI-->
<!--JQUERYPLUGIN::FOSWIKI::PREFERENCES-->
<!--JQUERYPLUGIN::COMMENT-->
<!--JavascriptFiles/foswikiString-->
<!--JavascriptFiles/foswikiPref-->
<!--JavascriptFiles/foswikiForm-->
<!--PatternSkin/pattern-->
<!--JQUERYPLUGIN::METADATA-->
<!--JQUERYPLUGIN::COMMENT-->
<!--JQUERYPLUGIN::FOSWIKI::PREFERENCES-->
<!--JQUERYPLUGIN::CHILI--><link class='head FOOTNOTEPLUGIN_LINKCSS' rel="stylesheet" href="../pub/System/FootNotePlugin/styles.css" type="text/css" media="all" /><!--FOOTNOTEPLUGIN_LINKCSS-->
<!--PatternSkin/pattern--><link class='head FOOTNOTEPLUGIN_LINKCSS' rel="stylesheet" href="../pub/System/FootNotePlugin/styles.css" type="text/css" media="all" /><!--FOOTNOTEPLUGIN_LINKCSS-->
</head>
<body class="foswikiNoJs patternViewPage patternPrintPage">
<span id="PageTop"></span><div class="foswikiPage"><div id="patternScreen">
@@ -153,7 +153,7 @@ body .foswikiTable tr.foswikiTableRowdataBg1 td.foswikiSortedCol {background-col
</li> <li> <a href="MusrFit.html#A_2.7_any2many"> 2.7 any2many </a>
</li> <li> <a href="MusrFit.html#A_2.8_dump_header"> 2.8 dump_header </a>
</li></ul>
</li> <li> <a href="MusrFit.html#A_3_Auxiliary_Programs"> 3 Auxiliary Programs </a>
</li> <li> <a href="MusrFit.html#A_3_Auxiliary_Programs_40musredit_44_msr2data_41"> 3 Auxiliary Programs (musredit, msr2data) <img src="../pub/System/DocumentGraphics/updated.png" alt="UPDATED" title="UPDATED" width="55" height="16" /> </a>
</li> <li> <a href="MusrFit.html#A_4_Description_of_the_msr_File_Format"> 4 Description of the msr File Format </a> <ul>
<li> <a href="MusrFit.html#A_4.1_The_Title"> 4.1 The Title </a>
</li> <li> <a href="MusrFit.html#A_4.2_The_FITPARAMETER_Block"> 4.2 The FITPARAMETER Block </a>
@@ -165,7 +165,9 @@ body .foswikiTable tr.foswikiTableRowdataBg1 td.foswikiSortedCol {background-col
</li> <li> <a href="MusrFit.html#A_4.4_The_FUNCTIONS_Block"> 4.4 The FUNCTIONS Block </a>
</li> <li> <a href="MusrFit.html#A_4.5_The_GLOBAL_Block"> 4.5 The GLOBAL Block </a>
</li> <li> <a href="MusrFit.html#A_4.6_The_RUN_Block"> 4.6 The RUN Block </a>
</li> <li> <a href="MusrFit.html#A_4.7_The_COMMANDS_Block"> 4.7 The COMMANDS Block </a>
</li> <li> <a href="MusrFit.html#A_4.7_The_COMMANDS_Block"> 4.7 The COMMANDS Block </a> <ul>
<li> <a href="MusrFit.html#A_4.7.1_DKS_extensions_of_the_COMMANDS_block_enabling_GPU_and_general_OpenCL_support"> 4.7.1 DKS extensions of the COMMANDS block enabling GPU and general OpenCL support </a>
</li></ul>
</li> <li> <a href="MusrFit.html#A_4.8_The_FOURIER_Block"> 4.8 The FOURIER Block </a>
</li> <li> <a href="MusrFit.html#A_4.9_The_PLOT_Block"> 4.9 The PLOT Block </a>
</li> <li> <a href="MusrFit.html#A_4.10_The_STATISTIC_Block"> 4.10 The STATISTIC Block </a>
@@ -483,8 +485,8 @@ the same as the previous example, except that the file name is constructed via t
Will dump the <code>LEM</code> header information of run <code>3456</code> including the content of the run summary file.
<p></p>
<span id="AuxiliaryPrograms"></span>
<h1 id="A_3_Auxiliary_Programs"> 3 Auxiliary Programs </h1>
Additionally to the programs mentioned above editor front ends called <code><a href="MusrGui.html">musrgui/musredit</a></code> and another tool named <code><a href="Msr2Data.html">msr2data</a></code> are available. The purpose of <code>msr2data</code> is to process multiple msr files with the same parameters and to summarize the fitting results either in a <strong>DB</strong> or a <strong>column ASCII</strong> file. Also, new msr files can be generated from a template. For details refer to its <a href="Msr2Data.html">manual</a>.
<h1 id="A_3_Auxiliary_Programs_40musredit_44_msr2data_41"> 3 Auxiliary Programs (musredit, msr2data) <img src="../pub/System/DocumentGraphics/updated.png" alt="UPDATED" title="UPDATED" width="55" height="16" /> </h1>
Additionally to the programs mentioned above editor front ends called <code><a href="MusrGui.html">musredit</a></code> and another tool named <code><a href="Msr2Data.html">msr2data</a></code> are available. The purpose of <code>msr2data</code> is to process multiple msr files with the same parameters and to summarize the fitting results either in a <strong>DB</strong> or a <strong>column ASCII</strong> file. Also, new msr files can be generated from a template. For details refer to its <a href="Msr2Data.html">manual</a>.
<p></p>
<strong><span class='foswikiRedFG'>Before going to use <code>musrgui</code> / <code>musredit</code> it is strongly recommended to read this manual first!</span></strong>
<p></p>
@@ -554,6 +556,8 @@ Notes
<h2 id="A_4.3_The_THEORY_Block"> 4.3 The THEORY Block </h2>
The THEORY block is used to define the fit function. There is a set of predefined functions available. It is also possible to use externally defined functions. How to use them will be explained afterwards, here only the predefined functions are described.
<p></p>
Theory functions which show a <img class='smily' src='../pub/Main/SmiliesPluginPSI/no.gif' alt='no' title='no' /> are not yet DKS ready, i.e. cannot be run on the GPU if the <code>musrfit</code> / DKS version is installed.
<p></p>
<span id="TheoryTable"></span>
<table border="1" class="foswikiTable" rules="none">
<thead>
@@ -601,21 +605,21 @@ The THEORY block is used to define the fit function. There is a set of predefine
<td class="foswikiTableCol1"> stg </td>
<td class="foswikiTableCol2"> <img alt="\sigma\,(\mu\text{s}^{-1})" class="mmpImage" src="../pub/MUSR/MusrFit/_MathModePlugin_6b6bbc4add4da0bde8220c54594658f3.png" /> </td>
<td class="foswikiTableCol3"> <img alt="\frac{1}{3} + \frac{2}{3} \left&#91;1-(\sigma t)^2\right] \exp\left&#91;-\frac{1}{2}\left(\sigma t\right)^2\right]" class="mmpImage" src="../pub/MUSR/MusrFit/_MathModePlugin_1f1b2becd9ba1bee3b5d7f897bd8db7e.png" /> </td>
<td class="foswikiTableCol4 foswikiLastCol"> <img class='smily' src='../pub/Main/SmiliesPluginPSI_/skull.gif' alt='dead!' title='dead!' /> </td>
<td class="foswikiTableCol4 foswikiLastCol"> <img class='smily' src='../pub/Main/SmiliesPluginPSI/skull.gif' alt='dead!' title='dead!' /> </td>
</tr>
<tr class="foswikiTableEven foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
<td class="foswikiTableCol0 foswikiFirstCol"> statGssKTLF </td>
<td class="foswikiTableCol1"> sgktlf </td>
<td class="foswikiTableCol2"> <img alt="\nu\,(\mathrm{MHz})" class="mmpImage" src="../pub/MUSR/MusrFit/_MathModePlugin_7188605a647615e4fb92cc89274b22a0.png" />, <img alt="\sigma\,(\mu\text{s}^{-1})" class="mmpImage" src="../pub/MUSR/MusrFit/_MathModePlugin_6b6bbc4add4da0bde8220c54594658f3.png" /> </td>
<td class="foswikiTableCol3"> <img alt="G&#95;{\mathrm{G,LF}}(t) \equiv 1-\frac{2\sigma^2}{(2\pi\nu)^2}\left&#91;1-\exp\left(-\frac{1}{2}\sigma^2t^2\right)\cos(2\pi\nu t)\right]+\frac{2\sigma^4}{(2\pi\nu)^3}\int^t&#95;0 \exp\left(-\frac{1}{2}\sigma^2\tau^2\right)\sin(2\pi\nu\tau)\mathrm{d}\tau" class="mmpImage" src="../pub/MUSR/MusrFit/_MathModePlugin_e9a0c0aa5d84cb4ea67265a3b06b9af5.png" /> </td>
<td class="foswikiTableCol4 foswikiLastCol"> <a name="FootNote3text"></a><span class="FootNoteTextLink" title=" R&#46; S&#46; Hayano _et al&#46;_&#44; &#91;&#91;http&#58;&#47;&#47;link&#46;aps&#46;org&#47;doi&#47;10&#46;1103&#47;PhysRevB&#46;20&#46;850&#93;&#91;Phys&#46; Rev&#46; B &#42;20&#42; &#40;1979&#41; 850&#93;&#93; "><a class="foswikiCurrentTopicLink" href="#FootNote3note">(4)</a></span> </td>
<td class="foswikiTableCol4 foswikiLastCol"> <a name="FootNote3text"></a><span class="FootNoteTextLink" title=" R&#46; S&#46; Hayano _et al&#46;_&#44; &#91;&#91;http&#58;&#47;&#47;link&#46;aps&#46;org&#47;doi&#47;10&#46;1103&#47;PhysRevB&#46;20&#46;850&#93;&#91;Phys&#46; Rev&#46; B &#42;20&#42; &#40;1979&#41; 850&#93;&#93; "><a class="foswikiCurrentTopicLink" href="#FootNote3note">(4)</a></span> <img class='smily' src='../pub/Main/SmiliesPluginPSI/no.gif' alt='no' title='no' /> </td>
</tr>
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted1 foswikiTableRowdataBg1">
<td class="foswikiTableCol0 foswikiFirstCol"> dynGssKTLF </td>
<td class="foswikiTableCol1"> dgktlf </td>
<td class="foswikiTableCol2"> <img alt="\nu\,(\mathrm{MHz})" class="mmpImage" src="../pub/MUSR/MusrFit/_MathModePlugin_7188605a647615e4fb92cc89274b22a0.png" />, <img alt="\sigma\,(\mu\text{s}^{-1})" class="mmpImage" src="../pub/MUSR/MusrFit/_MathModePlugin_6b6bbc4add4da0bde8220c54594658f3.png" />, <img alt="\Gamma\,(\mathrm{MHz})" class="mmpImage" src="../pub/MUSR/MusrFit/_MathModePlugin_f87b1352f663a35bf263bc7e9a214ca3.png" /> </td>
<td class="foswikiTableCol3"> <img alt="\frac{1}{2\pi \imath}\int&#95;{\gamma-\imath\infty}^{\gamma+\imath\infty} \frac{f&#95;{\mathrm{G}}(s+\Gamma)}{1-\Gamma f&#95;{\mathrm{G}}(s+\Gamma)} \exp(s t) \mathrm{d}s,\mathrm{where}\,f&#95;{\mathrm{G}}(s)\equiv \int&#95;0^{\infty}G&#95;{\mathrm{G,LF}}(t)\exp(-s t) \mathrm{d}t" class="mmpImage" src="../pub/MUSR/MusrFit/_MathModePlugin_cb688f85a062f09bfaff5cf9144860a9.png" /> </td>
<td class="foswikiTableCol4 foswikiLastCol"> <a name="FootNote4text"></a><span class="FootNoteTextLink" title=" R&#46; S&#46; Hayano _et al&#46;_&#44; &#91;&#91;http&#58;&#47;&#47;link&#46;aps&#46;org&#47;doi&#47;10&#46;1103&#47;PhysRevB&#46;20&#46;850&#93;&#91;Phys&#46; Rev&#46; B &#42;20&#42; &#40;1979&#41; 850&#93;&#93;&#59; P&#46; Dalmas de R&#38;eacute&#59;otier and A&#46; Yaouanc&#44; &#91;&#91;http&#58;&#47;&#47;dx&#46;doi&#46;org&#47;10&#46;1088&#47;0953&#45;8984&#47;4&#47;18&#47;020&#93;&#91;J&#46; Phys&#46;&#58; Condens&#46; Matter &#42;4&#42; &#40;1992&#41; 4533&#93;&#93;&#59; A&#46; Keren&#44; &#91;&#91;http&#58;&#47;&#47;link&#46;aps&#46;org&#47;doi&#47;10&#46;1103&#47;PhysRevB&#46;50&#46;10039&#93;&#91;Phys&#46; Rev&#46; B &#42;50&#42; &#40;1994&#41; 10039&#93;&#93; "><a class="foswikiCurrentTopicLink" href="#FootNote4note">(5)</a></span> </td>
<td class="foswikiTableCol4 foswikiLastCol"> <a name="FootNote4text"></a><span class="FootNoteTextLink" title=" R&#46; S&#46; Hayano _et al&#46;_&#44; &#91;&#91;http&#58;&#47;&#47;link&#46;aps&#46;org&#47;doi&#47;10&#46;1103&#47;PhysRevB&#46;20&#46;850&#93;&#91;Phys&#46; Rev&#46; B &#42;20&#42; &#40;1979&#41; 850&#93;&#93;&#59; P&#46; Dalmas de R&#38;eacute&#59;otier and A&#46; Yaouanc&#44; &#91;&#91;http&#58;&#47;&#47;dx&#46;doi&#46;org&#47;10&#46;1088&#47;0953&#45;8984&#47;4&#47;18&#47;020&#93;&#91;J&#46; Phys&#46;&#58; Condens&#46; Matter &#42;4&#42; &#40;1992&#41; 4533&#93;&#93;&#59; A&#46; Keren&#44; &#91;&#91;http&#58;&#47;&#47;link&#46;aps&#46;org&#47;doi&#47;10&#46;1103&#47;PhysRevB&#46;50&#46;10039&#93;&#91;Phys&#46; Rev&#46; B &#42;50&#42; &#40;1994&#41; 10039&#93;&#93; "><a class="foswikiCurrentTopicLink" href="#FootNote4note">(5)</a></span> <img class='smily' src='../pub/Main/SmiliesPluginPSI/no.gif' alt='no' title='no' /> </td>
</tr>
<tr class="foswikiTableEven foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
<td class="foswikiTableCol0 foswikiFirstCol"> statExpKT </td>
@@ -629,21 +633,21 @@ The THEORY block is used to define the fit function. There is a set of predefine
<td class="foswikiTableCol1"> sektlf </td>
<td class="foswikiTableCol2"> <img alt="\nu\,(\mathrm{MHz})" class="mmpImage" src="../pub/MUSR/MusrFit/_MathModePlugin_7188605a647615e4fb92cc89274b22a0.png" />, <img alt="a\,(\mu\text{s}^{-1})" class="mmpImage" src="../pub/MUSR/MusrFit/_MathModePlugin_26a5ae8799badcc3bcbe1823265a9053.png" /> </td>
<td class="foswikiTableCol3"> <img alt="1-\frac{a}{2\pi\nu}j&#95;1(2\pi\nu t)\exp\left(-at\right)-\left(\frac{a}{2\pi\nu}\right)^2 \left&#91;j&#95;0(2\pi\nu t)\exp\left(-at\right)-1\right]-a\left&#91;1+\left(\frac{a}{2\pi\nu}\right)^2\right]\int^t&#95;0 \exp\left(-a\tau\right)j&#95;0(2\pi\nu\tau)\mathrm{d}\tau \equiv G&#95;{\mathrm{L,LF}}(t)" class="mmpImage" src="../pub/MUSR/MusrFit/_MathModePlugin_df4770dd7b14577f14410b4f7ab59721.png" /> </td>
<td class="foswikiTableCol4 foswikiLastCol"> <a name="FootNote6text"></a><span class="FootNoteTextLink" title=" Y&#46; J&#46; Uemura _et al&#46;_&#44; &#91;&#91;http&#58;&#47;&#47;link&#46;aps&#46;org&#47;doi&#47;10&#46;1103&#47;PhysRevB&#46;31&#46;546&#93;&#91;Phys&#46; Rev&#46; B &#42;31&#42; &#40;1985&#41; 546&#93;&#93; "><a class="foswikiCurrentTopicLink" href="#FootNote6note">(7)</a></span> </td>
<td class="foswikiTableCol4 foswikiLastCol"> <a name="FootNote6text"></a><span class="FootNoteTextLink" title=" Y&#46; J&#46; Uemura _et al&#46;_&#44; &#91;&#91;http&#58;&#47;&#47;link&#46;aps&#46;org&#47;doi&#47;10&#46;1103&#47;PhysRevB&#46;31&#46;546&#93;&#91;Phys&#46; Rev&#46; B &#42;31&#42; &#40;1985&#41; 546&#93;&#93; "><a class="foswikiCurrentTopicLink" href="#FootNote6note">(7)</a></span> <img class='smily' src='../pub/Main/SmiliesPluginPSI/no.gif' alt='no' title='no' /> </td>
</tr>
<tr class="foswikiTableEven foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
<td class="foswikiTableCol0 foswikiFirstCol"> dynExpKTLF </td>
<td class="foswikiTableCol1"> dektlf </td>
<td class="foswikiTableCol2"> <img alt="\nu\,(\mathrm{MHz})" class="mmpImage" src="../pub/MUSR/MusrFit/_MathModePlugin_7188605a647615e4fb92cc89274b22a0.png" />, <img alt="a\,(\mu\text{s}^{-1})" class="mmpImage" src="../pub/MUSR/MusrFit/_MathModePlugin_26a5ae8799badcc3bcbe1823265a9053.png" />, <img alt="\Gamma\,(\mathrm{MHz})" class="mmpImage" src="../pub/MUSR/MusrFit/_MathModePlugin_f87b1352f663a35bf263bc7e9a214ca3.png" /> </td>
<td class="foswikiTableCol3"> <img alt="\frac{1}{2\pi \imath}\int&#95;{\gamma-\imath\infty}^{\gamma+\imath\infty} \frac{f&#95;{\mathrm{L}}(s+\Gamma)}{1-\Gamma f&#95;{\mathrm{L}}(s+\Gamma)} \exp(s t) \mathrm{d}s,\mathrm{where}\,f&#95;{\mathrm{L}}(s)\equiv \int&#95;0^{\infty}G&#95;{\mathrm{L,LF}}(t)\exp(-s t) \mathrm{d}t" class="mmpImage" src="../pub/MUSR/MusrFit/_MathModePlugin_c5c6dea10611dae1d470a5615869073a.png" /> </td>
<td class="foswikiTableCol4 foswikiLastCol"> <a name="FootNote7text"></a><span class="FootNoteTextLink" title=" R&#46; S&#46; Hayano _et al&#46;_&#44; &#91;&#91;http&#58;&#47;&#47;link&#46;aps&#46;org&#47;doi&#47;10&#46;1103&#47;PhysRevB&#46;20&#46;850&#93;&#91;Phys&#46; Rev&#46; B &#42;20&#42; &#40;1979&#41; 850&#93;&#93;&#59; P&#46; Dalmas de R&#38;eacute&#59;otier and A&#46; Yaouanc&#44; &#91;&#91;http&#58;&#47;&#47;dx&#46;doi&#46;org&#47;10&#46;1088&#47;0953&#45;8984&#47;4&#47;18&#47;020&#93;&#91;J&#46; Phys&#46;&#58; Condens&#46; Matter &#42;4&#42; &#40;1992&#41; 4533&#93;&#93; "><a class="foswikiCurrentTopicLink" href="#FootNote7note">(8)</a></span> </td>
<td class="foswikiTableCol4 foswikiLastCol"> <a name="FootNote7text"></a><span class="FootNoteTextLink" title=" R&#46; S&#46; Hayano _et al&#46;_&#44; &#91;&#91;http&#58;&#47;&#47;link&#46;aps&#46;org&#47;doi&#47;10&#46;1103&#47;PhysRevB&#46;20&#46;850&#93;&#91;Phys&#46; Rev&#46; B &#42;20&#42; &#40;1979&#41; 850&#93;&#93;&#59; P&#46; Dalmas de R&#38;eacute&#59;otier and A&#46; Yaouanc&#44; &#91;&#91;http&#58;&#47;&#47;dx&#46;doi&#46;org&#47;10&#46;1088&#47;0953&#45;8984&#47;4&#47;18&#47;020&#93;&#91;J&#46; Phys&#46;&#58; Condens&#46; Matter &#42;4&#42; &#40;1992&#41; 4533&#93;&#93; "><a class="foswikiCurrentTopicLink" href="#FootNote7note">(8)</a></span> <img class='smily' src='../pub/Main/SmiliesPluginPSI/no.gif' alt='no' title='no' /> </td>
</tr>
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted1 foswikiTableRowdataBg1">
<td class="foswikiTableCol0 foswikiFirstCol"> combiLGKT </td>
<td class="foswikiTableCol1"> lgkt </td>
<td class="foswikiTableCol2"> <img alt="\lambda\,(\mu\text{s}^{-1})" class="mmpImage" src="../pub/MUSR/MusrFit/_MathModePlugin_020e973cf5b1293c76cb3ecef5a269f8.png" />, <img alt="\sigma\,(\mu\text{s}^{-1})" class="mmpImage" src="../pub/MUSR/MusrFit/_MathModePlugin_6b6bbc4add4da0bde8220c54594658f3.png" /> </td>
<td class="foswikiTableCol3"> <img alt="\frac{1}{3}+\frac{2}{3}\left(1-\sigma^2 t^2-\lambda t\right)\exp\left(-\frac{\sigma^2t^2}{2}-\lambda t\right)" class="mmpImage" src="../pub/MUSR/MusrFit/_MathModePlugin_95da508ef32b516260a14999eaf14f46.png" /> </td>
<td class="foswikiTableCol4 foswikiLastCol"> <img class='smily' src='../pub/Main/SmiliesPluginPSI_/skull.gif' alt='dead!' title='dead!' /> </td>
<td class="foswikiTableCol4 foswikiLastCol"> <img class='smily' src='../pub/Main/SmiliesPluginPSI/skull.gif' alt='dead!' title='dead!' /> </td>
</tr>
<tr class="foswikiTableEven foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
<td class="foswikiTableCol0 foswikiFirstCol"> strKT </td>
@@ -657,7 +661,7 @@ The THEORY block is used to define the fit function. There is a set of predefine
<td class="foswikiTableCol1"> spg </td>
<td class="foswikiTableCol2"> <img alt="\lambda\,(\mu\text{s}^{-1})" class="mmpImage" src="../pub/MUSR/MusrFit/_MathModePlugin_020e973cf5b1293c76cb3ecef5a269f8.png" />, <img alt="\gamma\,(\mu\text{s}^{-1})" class="mmpImage" src="../pub/MUSR/MusrFit/_MathModePlugin_8aad0e0c2c1f20995c483933a896ca0d.png" />, <img alt="q\,(1)" class="mmpImage" src="../pub/MUSR/MusrFit/_MathModePlugin_16b8c518c1e529e6c963929287ef3a56.png" /> </td>
<td class="foswikiTableCol3"> <img alt="\frac{1}{3}\exp\left(-\sqrt{\frac{4\lambda^2(1-q)t}{\gamma}}\right)+\frac{2}{3}\left(1-\frac{q\lambda^2t^2}{\sqrt{\frac{4\lambda^2(1-q)t}{\gamma}+q\lambda^2t^2}}\right)\exp\left(-\sqrt{\frac{4\lambda^2(1-q)t}{\gamma}+q\lambda^2t^2}\right)" class="mmpImage" src="../pub/MUSR/MusrFit/_MathModePlugin_e35c4217aa50607f25e6eadf9f27f874.png" /> </td>
<td class="foswikiTableCol4 foswikiLastCol"> <img class='smily' src='../pub/Main/SmiliesPluginPSI_/skull.gif' alt='dead!' title='dead!' /> </td>
<td class="foswikiTableCol4 foswikiLastCol"> <img class='smily' src='../pub/Main/SmiliesPluginPSI/skull.gif' alt='dead!' title='dead!' /> </td>
</tr>
<tr class="foswikiTableEven foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
<td class="foswikiTableCol0 foswikiFirstCol"> rdAnisoHf </td>
@@ -671,42 +675,42 @@ The THEORY block is used to define the fit function. There is a set of predefine
<td class="foswikiTableCol1"> tf </td>
<td class="foswikiTableCol2"> <img alt="\varphi\,(^{\circ})" class="mmpImage" src="../pub/MUSR/MusrFit/_MathModePlugin_61136f20673ad20f955c43e43b8cec9d.png" />, <img alt="\nu\,(\mathrm{MHz})" class="mmpImage" src="../pub/MUSR/MusrFit/_MathModePlugin_7188605a647615e4fb92cc89274b22a0.png" /> </td>
<td class="foswikiTableCol3"> <img alt="\cos\left(2\pi\nu t+\frac{\pi\varphi}{180}\right)" class="mmpImage" src="../pub/MUSR/MusrFit/_MathModePlugin_51757d805f7111ffe6e0b430b6d137c7.png" /> </td>
<td class="foswikiTableCol4 foswikiLastCol"> <img class='smily' src='../pub/Main/SmiliesPluginPSI_/skull.gif' alt='dead!' title='dead!' /> </td>
<td class="foswikiTableCol4 foswikiLastCol"> <img class='smily' src='../pub/Main/SmiliesPluginPSI/skull.gif' alt='dead!' title='dead!' /> </td>
</tr>
<tr class="foswikiTableEven foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
<td class="foswikiTableCol0 foswikiFirstCol"> internFld </td>
<td class="foswikiTableCol1"> if </td>
<td class="foswikiTableCol2"> <img alt="\alpha\,(1)" class="mmpImage" src="../pub/MUSR/MusrFit/_MathModePlugin_f266f29ff7212b8d77bf67567eac1fd3.png" />, <img alt="\varphi\,(^{\circ})" class="mmpImage" src="../pub/MUSR/MusrFit/_MathModePlugin_61136f20673ad20f955c43e43b8cec9d.png" />, <img alt="\nu\,(\mathrm{MHz})" class="mmpImage" src="../pub/MUSR/MusrFit/_MathModePlugin_7188605a647615e4fb92cc89274b22a0.png" />, <img alt="\lambda&#95;{\mathrm{T}}\,(\mu\text{s}^{-1})" class="mmpImage" src="../pub/MUSR/MusrFit/_MathModePlugin_49046b617890ffeaca8bc16ae66d0dc5.png" />, <img alt="\lambda&#95;{\mathrm{L}}\,(\mu\text{s}^{-1})" class="mmpImage" src="../pub/MUSR/MusrFit/_MathModePlugin_b0c4a8cbbcf4189b64418b381939a979.png" /> </td>
<td class="foswikiTableCol3"> <img alt="\alpha\,\cos\left(2\pi\nu t+\frac{\pi\varphi}{180}\right)\exp\left(-\lambda&#95;{\mathrm{T}}t\right)+(1-\alpha)\,\exp\left(-\lambda&#95;{\mathrm{L}}t\right)" class="mmpImage" src="../pub/MUSR/MusrFit/_MathModePlugin_1582d158c5651581ca9e800ee698ce9f.png" /> </td>
<td class="foswikiTableCol4 foswikiLastCol"> <img class='smily' src='../pub/Main/SmiliesPluginPSI_/skull.gif' alt='dead!' title='dead!' /> </td>
<td class="foswikiTableCol4 foswikiLastCol"> <img class='smily' src='../pub/Main/SmiliesPluginPSI/skull.gif' alt='dead!' title='dead!' /> </td>
</tr>
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted1 foswikiTableRowdataBg1">
<td class="foswikiTableCol0 foswikiFirstCol"> Bessel </td>
<td class="foswikiTableCol1"> b </td>
<td class="foswikiTableCol2"> <img alt="\varphi\,(^{\circ})" class="mmpImage" src="../pub/MUSR/MusrFit/_MathModePlugin_61136f20673ad20f955c43e43b8cec9d.png" />, <img alt="\nu\,(\mathrm{MHz})" class="mmpImage" src="../pub/MUSR/MusrFit/_MathModePlugin_7188605a647615e4fb92cc89274b22a0.png" /> </td>
<td class="foswikiTableCol3"> <img alt="j&#95;0\left(2\pi\nu t+\frac{\pi\varphi}{180}\right)" class="mmpImage" src="../pub/MUSR/MusrFit/_MathModePlugin_cff60a46de8608e97a33bbae7c4e566d.png" /> </td>
<td class="foswikiTableCol4 foswikiLastCol"> <img class='smily' src='../pub/Main/SmiliesPluginPSI_/skull.gif' alt='dead!' title='dead!' /> </td>
<td class="foswikiTableCol4 foswikiLastCol"> <img class='smily' src='../pub/Main/SmiliesPluginPSI/skull.gif' alt='dead!' title='dead!' /> </td>
</tr>
<tr class="foswikiTableEven foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
<td class="foswikiTableCol0 foswikiFirstCol"> internBsl </td>
<td class="foswikiTableCol1"> ib </td>
<td class="foswikiTableCol2"> <img alt="\alpha\,(1)" class="mmpImage" src="../pub/MUSR/MusrFit/_MathModePlugin_f266f29ff7212b8d77bf67567eac1fd3.png" />, <img alt="\varphi\,(^{\circ})" class="mmpImage" src="../pub/MUSR/MusrFit/_MathModePlugin_61136f20673ad20f955c43e43b8cec9d.png" />, <img alt="\nu\,(\mathrm{MHz})" class="mmpImage" src="../pub/MUSR/MusrFit/_MathModePlugin_7188605a647615e4fb92cc89274b22a0.png" />, <img alt="\lambda&#95;{\mathrm{T}}\,(\mu\text{s}^{-1})" class="mmpImage" src="../pub/MUSR/MusrFit/_MathModePlugin_49046b617890ffeaca8bc16ae66d0dc5.png" />, <img alt="\lambda&#95;{\mathrm{L}}\,(\mu\text{s}^{-1})" class="mmpImage" src="../pub/MUSR/MusrFit/_MathModePlugin_b0c4a8cbbcf4189b64418b381939a979.png" /> </td>
<td class="foswikiTableCol3"> <img alt="\alpha\,j&#95;0\left(2\pi\nu t+\frac{\pi\varphi}{180}\right)\exp\left(-\lambda&#95;{\mathrm{T}}t\right)+(1-\alpha)\,\exp\left(-\lambda&#95;{\mathrm{L}}t\right)" class="mmpImage" src="../pub/MUSR/MusrFit/_MathModePlugin_23ec8fc398b4e415b86bbd2b65f9a63c.png" /> </td>
<td class="foswikiTableCol4 foswikiLastCol"> <img class='smily' src='../pub/Main/SmiliesPluginPSI_/skull.gif' alt='dead!' title='dead!' /> </td>
<td class="foswikiTableCol4 foswikiLastCol"> <img class='smily' src='../pub/Main/SmiliesPluginPSI/skull.gif' alt='dead!' title='dead!' /> </td>
</tr>
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted1 foswikiTableRowdataBg1">
<td class="foswikiTableCol0 foswikiFirstCol"> abragam </td>
<td class="foswikiTableCol1"> ab </td>
<td class="foswikiTableCol2"> <img alt="\sigma\,(\mu\text{s}^{-1})" class="mmpImage" src="../pub/MUSR/MusrFit/_MathModePlugin_6b6bbc4add4da0bde8220c54594658f3.png" />, <img alt="\gamma\,(\mathrm{MHz})" class="mmpImage" src="../pub/MUSR/MusrFit/_MathModePlugin_ebef6cda2881306e993839c1b4bcaa4c.png" /> </td>
<td class="foswikiTableCol3"> <img alt="\exp\left&#91;-\frac{\sigma^2}{\gamma^2}\left(e^{-\gamma t}-1+\gamma t\right)\right]" class="mmpImage" src="../pub/MUSR/MusrFit/_MathModePlugin_e56be15b7e230ec52a9f6632e552ca4b.png" /> </td>
<td class="foswikiTableCol4 foswikiLastCol"> <img class='smily' src='../pub/Main/SmiliesPluginPSI_/skull.gif' alt='dead!' title='dead!' /> </td>
<td class="foswikiTableCol4 foswikiLastCol"> <img class='smily' src='../pub/Main/SmiliesPluginPSI/skull.gif' alt='dead!' title='dead!' /> </td>
</tr>
<tr class="foswikiTableEven foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
<td class="foswikiTableCol0 foswikiFirstCol"> skewedGss </td>
<td class="foswikiTableCol1"> skg </td>
<td class="foswikiTableCol2"> <img alt="\varphi\,(^{\circ})" class="mmpImage" src="../pub/MUSR/MusrFit/_MathModePlugin_61136f20673ad20f955c43e43b8cec9d.png" />, <img alt="\nu\,(\mathrm{MHz})" class="mmpImage" src="../pub/MUSR/MusrFit/_MathModePlugin_7188605a647615e4fb92cc89274b22a0.png" />, <img alt="\sigma&#95;{-}\,(\mu\text{s}^{-1})" class="mmpImage" src="../pub/MUSR/MusrFit/_MathModePlugin_bd5c765027d46aa1433dda03f540c17e.png" />, <img alt="\sigma&#95;{+}\,(\mu\text{s}^{-1})" class="mmpImage" src="../pub/MUSR/MusrFit/_MathModePlugin_82adbab00b6a057f04037b44746e33eb.png" /> </td>
<td class="foswikiTableCol3"> <img alt="\frac{\sigma&#95;{-}}{\sigma&#95;{+}+\sigma&#95;{-}}\exp\left&#91;-\frac{\sigma&#95;{-}^2t^2}{2}\right]\left\lbrace\cos\left(2\pi\nu t+\frac{\pi\varphi}{180}\right)+\sin\left(2\pi\nu t+\frac{\pi\varphi}{180}\right)\mathrm{Erfi}\left(\frac{\sigma&#95;{-}t}{\sqrt{2}}\right)\right\rbrace+ \frac{\sigma&#95;{+}}{\sigma&#95;{+}+\sigma&#95;{-}}\exp\left&#91;-\frac{\sigma&#95;{+}^2t^2}{2}\right]\left\lbrace\cos\left(2\pi\nu t+\frac{\pi\varphi}{180}\right)-\sin\left(2\pi\nu t+\frac{\pi\varphi}{180}\right)\mathrm{Erfi}\left(\frac{\sigma&#95;{+}t}{\sqrt{2}}\right)\right\rbrace" class="mmpImage" src="../pub/MUSR/MusrFit/_MathModePlugin_7f4cd42199fbf712ad5a86f9d94bd698.png" /> </td>
<td class="foswikiTableCol4 foswikiLastCol"> <a href="http://lmu.web.psi.ch/musrfit/memos/skewedGaussian.pdf">memo</a> <span class='foswikiIcon'><img src='../pub/System/DocumentGraphics/pdf.png' width='16' height='16' alt='pdf' /></span> </td>
<td class="foswikiTableCol4 foswikiLastCol"> <a href="http://lmu.web.psi.ch/musrfit/memos/skewedGaussian.pdf">memo</a> <span class='foswikiIcon'><img src='../pub/System/DocumentGraphics/pdf.png' width='16' height='16' alt='pdf' /></span> <img class='smily' src='../pub/Main/SmiliesPluginPSI/no.gif' alt='no' title='no' /> </td>
</tr>
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted1 foswikiTableRowdataBg1">
<td class="foswikiTableCol0 foswikiFirstCol"> staticNKZF </td>
@@ -1047,7 +1051,7 @@ etc.
addt0 t0AddRun1Forward t0AddRun1Backward
addt0 t0AddRun2Forward t0AddRun2Backward
etc.
</pre> How will the background and data ranges be handled in this situation? First, the ADDRUN's will be shifted in time such that all the t0's have the same channel/bin number. Subsequently, the runs will be added. The background/data range is applied to this summed up new histogram. ADDRUN is not available for the fit type 'Non-&mu;SR Fit' (sorry <img class='smily' src='../pub/Main/SmiliesPluginPSI_/no.gif' alt='no' title='no' /> ).
</pre> How will the background and data ranges be handled in this situation? First, the ADDRUN's will be shifted in time such that all the t0's have the same channel/bin number. Subsequently, the runs will be added. The background/data range is applied to this summed up new histogram. ADDRUN is not available for the fit type 'Non-&mu;SR Fit' (sorry <img class='smily' src='../pub/Main/SmiliesPluginPSI/no.gif' alt='no' title='no' /> ).
<p></p>
<span id="FitTypes"></span> <dl>
<dt> fittype (required if not already defined in the GLOBAL block) </dt><dd> This tag is used to indicate which type of fit is wished. The supported fit types are: <dl>
@@ -1084,7 +1088,7 @@ norm fun3
<dt> lifetime (fit type 0) </dt><dd> Fit parameter representing the lifetime of the muon. If it is not specified the value &#964;<sub>&#956;</sub>=2.197019 &#956;s is used in the calculations.
</dd></dl>
<p></p> <dl>
<dt> lifetimecorrection (fit type 0) <img class='smily' src='../pub/Main/SmiliesPluginPSI_/eek.gif' alt='eek!' title='eek!' /> <strong>obsolete</strong> <img class='smily' src='../pub/Main/SmiliesPluginPSI_/eek.gif' alt='eek!' title='eek!' /> </dt><dd> Does not accept any arguments. If present, the output in <code>musrview</code> is corrected for the exponential decay of the muon. This item is <strong>obsolete</strong> in the RUN block and will be transferred to the <a class="foswikiCurrentTopicLink" href="#ThePlotBlock">PLOT block</a>, which allows switching between histogram view and asymmetry view much quicker.
<dt> lifetimecorrection (fit type 0) <img class='smily' src='../pub/Main/SmiliesPluginPSI/eek.gif' alt='eek!' title='eek!' /> <strong>obsolete</strong> <img class='smily' src='../pub/Main/SmiliesPluginPSI/eek.gif' alt='eek!' title='eek!' /> </dt><dd> Does not accept any arguments. If present, the output in <code>musrview</code> is corrected for the exponential decay of the muon. This item is <strong>obsolete</strong> in the RUN block and will be transferred to the <a class="foswikiCurrentTopicLink" href="#ThePlotBlock">PLOT block</a>, which allows switching between histogram view and asymmetry view much quicker.
</dd></dl>
<p></p> <dl>
<dt> map </dt><dd> On this line the mapping of run-dependent parameters is done. Parameter numbers given here may be accessed through <code><b>map1</b></code>, <code><b>map2</b></code>, etc. in the THEORY and FUNCTIONS blocks (see also <a class="foswikiCurrentTopicLink" href="#MaPs">here</a>). The first ten maps are always present and have the value 0 if not used; however, the total number of maps is not restricted!
@@ -1243,6 +1247,41 @@ For debug purposes it is possible to force MINUIT2 to print out additional infor
</pre>
Here the <code>MINOS</code> command will print out lot of additional information to the standard output. Notice there are 2 <code>SAVE</code> commands here. This will write the result of <code>MIGRAD</code> to the <code>MINUIT2.OUTPUT</code> file and at the end <em>append</em> the <code>MINOS</code> results to this file.
<p></p>
<h3 id="A_4.7.1_DKS_extensions_of_the_COMMANDS_block_enabling_GPU_and_general_OpenCL_support"> 4.7.1 DKS extensions of the COMMANDS block enabling GPU and general OpenCL support </h3>
<p></p>
In case you are running the <code>musrfit</code> / DKS version, there are a couple commands which allow you to control the way how the fit shall be performed. These commands are:
<span class='foswikiMaroonFG'>
<table border="1" class="foswikiTable" rules="none">
<thead>
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
<th class="foswikiTableCol0 foswikiFirstCol"> <a href="https://intranet.psi.ch/MUSR/MusrFit?cover=print;sortcol=0;table=3;up=0#sorted_table" rel="nofollow" title="Sort by this column">Command</a> </th>
<th class="foswikiTableCol1 foswikiLastCol"> <a href="https://intranet.psi.ch/MUSR/MusrFit?cover=print;sortcol=1;table=3;up=0#sorted_table" rel="nofollow" title="Sort by this column">Purpose</a> </th>
</tr>
</thead>
<tbody>
<tr class="foswikiTableEven foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
<td class="foswikiTableCol0 foswikiFirstCol"> OpenMP </td>
<td class="foswikiTableCol1 foswikiLastCol"> tries to run multi-threading via OpenMP if available </td>
</tr>
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted1 foswikiTableRowdataBg1">
<td class="foswikiTableCol0 foswikiFirstCol"> CUDA </td>
<td class="foswikiTableCol1 foswikiLastCol"> tries to run the fit on a NVIDIA card as the Tesla K40c </td>
</tr>
<tr class="foswikiTableEven foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
<td class="foswikiTableCol0 foswikiFirstCol"> OpenCL-CPU </td>
<td class="foswikiTableCol1 foswikiLastCol"> tries to run multi-threading via OpenCL on the CPU. This is useful for macOS </td>
</tr>
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted1 foswikiTableRowdataBg1">
<td class="foswikiTableCol0 foswikiFirstCol foswikiLast"> OpenCL-GPU </td>
<td class="foswikiTableCol1 foswikiLastCol foswikiLast"> tries to run multi-threading via OpenCL on the GPU. This is used for AMD cards, but also works for NVIDIA </td>
</tr>
</tbody></table>
<p></p>
OpenMP is the default if none of these tags are found in the COMMANDS block.
</span>
<p></p>
In case the defined THEORY is <strong>not</strong> ready to run on the accelerator, <code>musrfit</code> will fall back to the default behaviour. In the <a class="foswikiCurrentTopicLink" href="#TheoryTable">THEORY table</a> all the functions which are currently <strong>not</strong> GPU ready are marked by <img class='smily' src='../pub/Main/SmiliesPluginPSI/no.gif' alt='no' title='no' /> in the reference column.
<p></p>
<span id="TheFourierBlock"></span>
<h2 id="A_4.8_The_FOURIER_Block"> 4.8 The FOURIER Block </h2>
The Fourier transform is done and the results are plotted within <code>musrview</code> &mdash;as input data the actual data shown in <code>musrview</code> is used. In the FOURIER block of the msr file all necessary parameters for calculating and presenting the Fourier transform of the data specified in the <a class="foswikiCurrentTopicLink" href="#ThePlotBlock">PLOT block</a> is given. If the FOURIER block is not present in the msr file, either the parameters set in the <a class="foswikiCurrentTopicLink" href="#MusrfitStartupXml">XML startup file</a> or the system defaults are taken when the Fourier transform is performed. The block starts with the FOURIER keyword and may contain the following entries on the successive lines: <dl>
@@ -1305,8 +1344,8 @@ The PLOT block is intended to collect all the information needed for the graphic
</dd></dl>
</dd> <dt> use_fit_ranges [ <i>y</i><sub>min</sub> <i>y</i><sub>max</sub>] </dt><dd> The fit ranges of the individual runs are used to present the data. Optionally, an ordinate range can be provided.
</dd> <dt> view_packing </dt><dd> The data are presented in the packing given here rather than the binning used for the fit. <strong>WARNING</strong>: This is a global option and applies to <strong>all</strong> PLOT-blocks.
</dd> <dt> logx </dt><dd> Will present the time axis in a logarithmic scale. So far no checking of negative and zero-valued data is performed <img class='smily' src='../pub/Main/SmiliesPluginPSI_/wink.gif' alt='wink' title='wink' />
</dd> <dt> logy </dt><dd> Will present the axis of ordinates in a logarithmic scale. So far no checking of negative and zero-valued data is performed <img class='smily' src='../pub/Main/SmiliesPluginPSI_/wink.gif' alt='wink' title='wink' />
</dd> <dt> logx </dt><dd> Will present the time axis in a logarithmic scale. So far no checking of negative and zero-valued data is performed <img class='smily' src='../pub/Main/SmiliesPluginPSI/wink.gif' alt='wink' title='wink' />
</dd> <dt> logy </dt><dd> Will present the axis of ordinates in a logarithmic scale. So far no checking of negative and zero-valued data is performed <img class='smily' src='../pub/Main/SmiliesPluginPSI/wink.gif' alt='wink' title='wink' />
</dd> <dt> rrf_packing <code>value</code> </dt><dd> In the rotating-reference-frame (RRF) representation, this will be the value for the packing. <strong>WARNING</strong>: For the time being, this is a global option and applies to <strong>all</strong> PLOT blocks.
</dd> <dt> rrf_freq <code>value</code> <code>unit</code> </dt><dd> This entry provides the RRF "frequency" given by the <code>value</code> and the <code>unit</code> which can be: <code>kHz</code>, <code>MHz</code>, <code>Mc/s</code>, <code>G</code>, or <code>T</code>.
</dd> <dt> rrf_phase <code>value</code> </dt><dd> A phase of the RRF can be provided, either as a value in degrees, or as a <code>parX</code>, e.g. <code>par4</code>, where <code>X</code> is supposed to be the phase parameter number in the FITPARAMETER block.
@@ -1547,7 +1586,7 @@ In case of a custom installation some paths in the Makefile might have to be cha
<p></p>
After installing the shared library the defined user function might be used in <code>musrfit</code> as described <a class="foswikiCurrentTopicLink" href="#UserFunctions">above</a>.
<p></p>
Good luck! <img class='smily' src='../pub/Main/SmiliesPluginPSI_/wink.gif' alt='wink' title='wink' />
Good luck! <img class='smily' src='../pub/Main/SmiliesPluginPSI/wink.gif' alt='wink' title='wink' />
<p></p>
Finally, please be aware of the <a class="foswikiCurrentTopicLink" href="#UserFunctionRemark">remark</a> at the end of this section.
<p></p>
@@ -1713,7 +1752,7 @@ For reporting bugs or requesting new features and improvements please use the <a
<p></p>
</div>
<div class="patternInfo">This topic: MUSR<span class='foswikiSeparator'>&nbsp;&gt;&nbsp;</span><a class="foswikiCurrentWebHomeLink" href="WebHome.html">WebHome</a><span class='foswikiSeparator'>&nbsp;&gt;&nbsp;</span>MusrFit <br />
Topic revision: <span class='patternRevInfo'>16 Dec 2016, <a href="https://intranet.psi.ch/Main/AndreasSuter">AndreasSuter</a></span></div>
Topic revision: <span class='patternRevInfo'>23 Aug 2017, <a href="https://intranet.psi.ch/Main/AndreasSuter">AndreasSuter</a></span></div>
</div>
</div>
</div>
@@ -1731,6 +1770,5 @@ Topic revision: <span class='patternRevInfo'>16 Dec 2016, <a href="https://intr
</body>
<!-- Mirrored from intranet.psi.ch/MUSR/MusrFit?cover=print by HTTrack Website Copier/3.x [XR&CO'2010], Fri, 16 Dec 2016 16:01:25 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=utf-8"><!-- /Added by HTTrack -->
<!-- Mirrored from intranet.psi.ch/MUSR/MusrFit?cover=print by HTTrack Website Copier/3.x [XR&CO'2014], Fri, 08 Jun 2018 13:42:20 GMT -->
</html>

View File

@@ -1,7 +1,7 @@
<!DOCTYPE html><html lang="en">
<!-- Mirrored from intranet.psi.ch/MUSR/MusrFitAcknowledgements?cover=print by HTTrack Website Copier/3.x [XR&CO'2010], Fri, 16 Dec 2016 16:01:02 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=utf-8"><!-- /Added by HTTrack -->
<!-- Mirrored from intranet.psi.ch/MUSR/MusrFitAcknowledgements?cover=print by HTTrack Website Copier/3.x [XR&CO'2014], Fri, 08 Jun 2018 13:41:56 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=utf-8" /><!-- /Added by HTTrack -->
<head>
<link rel="stylesheet" href="../pub/System/HeadlinesPlugin/style.css" type="text/css" media="all" />
<title> MUSR :: MusrFitAcknowledgements</title>
@@ -14,14 +14,14 @@
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
<link rel="icon" href="../pub/Main/WebPreferences/favicon.ico" type="image/x-icon" />
<link rel="shortcut icon" href="../pub/Main/WebPreferences/favicon.ico" type="image/x-icon" />
<link rel="alternate" href="https://intranet.psi.ch/wiki/bin/edit/MUSR/MusrFitAcknowledgements?t=1481904044" type="application/x-wiki" title="edit MusrFitAcknowledgements" />
<link rel="alternate" href="https://intranet.psi.ch/wiki/bin/edit/MUSR/MusrFitAcknowledgements?t=1528465297" type="application/x-wiki" title="edit MusrFitAcknowledgements" />
<meta name="TEXT_NUM_TOPICS" content="Number of topics:" />
<meta name="TEXT_MODIFY_SEARCH" content="Modify search" />
<meta name="robots" content="noindex" /><link rel="alternate" type="application/rss+xml" title="RSS Feed" href="WebRsshtml.html" />
<base /><!--[if IE]></base><![endif]--><link class='head SMILIESPLUGIN' rel='stylesheet' href='../pub/System/SmiliesPlugin/smilies.css' type='text/css' media='all' /><!--SMILIESPLUGIN-->
<link class='head CLASSIFICATIONPLUGIN::CSS' rel="stylesheet" href="../pub/System/ClassificationPlugin/styles.css" media="all" /><!--CLASSIFICATIONPLUGIN::CSS-->
<link class='head JQUERYPLUGIN::COMMENT' rel='stylesheet' href='../pub/System/CommentPlugin/commentf5b6.css?version=3.0' type='text/css' media='all' /><!--JQUERYPLUGIN::COMMENT-->
<link class='head FOOTNOTEPLUGIN_LINKCSS' rel="stylesheet" href="../pub/System/FootNotePlugin/styles.css" type="text/css" media="all" /><!--FOOTNOTEPLUGIN_LINKCSS--><link rel='stylesheet' href='../pub/System/SkinTemplates/base.css' media='all' type='text/css' />
<meta name="robots" content="noindex" /><link rel="alternate" type="application/rss+xml" title="RSS Feed" href="WebRss" />
<base /><!--[if IE]></base><![endif]--><link class='head JQUERYPLUGIN::COMMENT' rel='stylesheet' href='../pub/System/CommentPlugin/commentf5b6.css?version=3.0' type='text/css' media='all' /><!--JQUERYPLUGIN::COMMENT-->
<link class='head SMILIESPLUGIN' rel='stylesheet' href='../pub/System/SmiliesPlugin/smilies.css' type='text/css' media='all' /><!--SMILIESPLUGIN-->
<link class='head FOOTNOTEPLUGIN_LINKCSS' rel="stylesheet" href="../pub/System/FootNotePlugin/styles.css" type="text/css" media="all" /><!--FOOTNOTEPLUGIN_LINKCSS-->
<link class='head CLASSIFICATIONPLUGIN::CSS' rel="stylesheet" href="../pub/System/ClassificationPlugin/styles.css" media="all" /><!--CLASSIFICATIONPLUGIN::CSS--><link rel='stylesheet' href='../pub/System/SkinTemplates/base.css' media='all' type='text/css' />
<style type="text/css" media="all">
@import url('../pub/System/PatternSkinTheme/layout.css');
@import url('../pub/System/PatternSkinTheme2009/style.css');
@@ -104,12 +104,12 @@
<!--JQUERYPLUGIN::MIGRATE-->
<!--JQUERYPLUGIN::LIVEQUERY-->
<!--JQUERYPLUGIN::FOSWIKI-->
<!--JQUERYPLUGIN::COMMENT-->
<!--JQUERYPLUGIN::FOSWIKI::PREFERENCES-->
<!--JavascriptFiles/foswikiString-->
<!--JavascriptFiles/foswikiPref-->
<!--JavascriptFiles/foswikiForm-->
<!--PatternSkin/pattern-->
<!--JQUERYPLUGIN::FOSWIKI::PREFERENCES-->
<!--JQUERYPLUGIN::COMMENT--><link class='head FOOTNOTEPLUGIN_LINKCSS' rel="stylesheet" href="../pub/System/FootNotePlugin/styles.css" type="text/css" media="all" /><!--FOOTNOTEPLUGIN_LINKCSS-->
<!--PatternSkin/pattern--><link class='head FOOTNOTEPLUGIN_LINKCSS' rel="stylesheet" href="../pub/System/FootNotePlugin/styles.css" type="text/css" media="all" /><!--FOOTNOTEPLUGIN_LINKCSS-->
</head>
<body class="foswikiNoJs patternViewPage patternPrintPage">
<span id="PageTop"></span><div class="foswikiPage"><div id="patternScreen">
@@ -122,12 +122,15 @@
<div class="patternContent"><div class="foswikiTopic"> <h1 id="Acknowledgements_45_61_61musrfit_61_61"> Acknowledgements - <code><b>musrfit</b></code> </h1>
<p></p> <dl>
<dt> Bastian M. Wojek </dt><dd> I am very much indebted to <a href="http://www.fsf.org/register_form?referrer=8369">BMW</a> for his rigorous testing of <code><a href="MusrFit.html">musrfit</a></code>, his many useful suggestions, contributions, and for the largest part of the <a class="foswikiCurrentWebHomeLink" href="WebHome.html">user manual of <code>musrfit</code></a> which makes it accessible to a broader audience! Many thanks Bastian!
</dd></dl>
<p></p> <dl>
<dt> Uldis Locans </dt><dd> I am very much indebted to Uldis work on <a href="CiteMusrFit.html">DKS</a> enabling the GPU support for <code><a href="MusrFit.html">musrfit</a></code>. His kind, calm, and extremely competent way to deal with his projects as well as to deal with the chaos of physicists way to think is admirable. Many thanks Uldis!
</dd></dl> </div>
<p></p>
<p></p>
</div>
<div class="patternInfo">This topic: MUSR<span class='foswikiSeparator'>&nbsp;&gt;&nbsp;</span><a class="foswikiCurrentWebHomeLink" href="WebHome.html">WebHome</a> &gt; <a href="MusrFit.html">MusrFit</a><span class='foswikiSeparator'>&nbsp;&gt;&nbsp;</span>MusrFitAcknowledgements <br />
Topic revision: <span class='patternRevInfo'>03 Jul 2015, suter_a</span></div>
Topic revision: <span class='patternRevInfo'>23 Aug 2017, <a href="https://intranet.psi.ch/Main/AndreasSuter">AndreasSuter</a></span></div>
</div>
</div>
</div>
@@ -145,6 +148,5 @@ Topic revision: <span class='patternRevInfo'>03 Jul 2015, suter_a</span></div>
</body>
<!-- Mirrored from intranet.psi.ch/MUSR/MusrFitAcknowledgements?cover=print by HTTrack Website Copier/3.x [XR&CO'2010], Fri, 16 Dec 2016 16:01:02 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=utf-8"><!-- /Added by HTTrack -->
<!-- Mirrored from intranet.psi.ch/MUSR/MusrFitAcknowledgements?cover=print by HTTrack Website Copier/3.x [XR&CO'2014], Fri, 08 Jun 2018 13:41:56 GMT -->
</html>

View File

@@ -1,7 +1,7 @@
<!DOCTYPE html><html lang="en">
<!-- Mirrored from intranet.psi.ch/MUSR/MusrFitSetup?cover=print by HTTrack Website Copier/3.x [XR&CO'2010], Fri, 16 Dec 2016 16:01:01 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=utf-8"><!-- /Added by HTTrack -->
<!-- Mirrored from intranet.psi.ch/MUSR/MusrFitSetup?cover=print by HTTrack Website Copier/3.x [XR&CO'2014], Fri, 08 Jun 2018 13:41:56 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=utf-8" /><!-- /Added by HTTrack -->
<head>
<link rel="stylesheet" href="../pub/System/HeadlinesPlugin/style.css" type="text/css" media="all" />
<title> MUSR :: MusrFitSetup</title>
@@ -14,13 +14,13 @@
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
<link rel="icon" href="../pub/Main/WebPreferences/favicon.ico" type="image/x-icon" />
<link rel="shortcut icon" href="../pub/Main/WebPreferences/favicon.ico" type="image/x-icon" />
<link rel="alternate" href="https://intranet.psi.ch/wiki/bin/edit/MUSR/MusrFitSetup?t=1481904043" type="application/x-wiki" title="edit MusrFitSetup" />
<link rel="alternate" href="https://intranet.psi.ch/wiki/bin/edit/MUSR/MusrFitSetup?t=1528465297" type="application/x-wiki" title="edit MusrFitSetup" />
<meta name="TEXT_NUM_TOPICS" content="Number of topics:" />
<meta name="TEXT_MODIFY_SEARCH" content="Modify search" />
<meta name="robots" content="noindex" /><link rel="alternate" type="application/rss+xml" title="RSS Feed" href="WebRsshtml.html" />
<base /><!--[if IE]></base><![endif]--><link class='head FOOTNOTEPLUGIN_LINKCSS' rel="stylesheet" href="../pub/System/FootNotePlugin/styles.css" type="text/css" media="all" /><!--FOOTNOTEPLUGIN_LINKCSS-->
<link class='head JQUERYPLUGIN::COMMENT' rel='stylesheet' href='../pub/System/CommentPlugin/commentf5b6.css?version=3.0' type='text/css' media='all' /><!--JQUERYPLUGIN::COMMENT-->
<meta name="robots" content="noindex" /><link rel="alternate" type="application/rss+xml" title="RSS Feed" href="WebRss" />
<base /><!--[if IE]></base><![endif]--><link class='head JQUERYPLUGIN::COMMENT' rel='stylesheet' href='../pub/System/CommentPlugin/commentf5b6.css?version=3.0' type='text/css' media='all' /><!--JQUERYPLUGIN::COMMENT-->
<link class='head SMILIESPLUGIN' rel='stylesheet' href='../pub/System/SmiliesPlugin/smilies.css' type='text/css' media='all' /><!--SMILIESPLUGIN-->
<link class='head FOOTNOTEPLUGIN_LINKCSS' rel="stylesheet" href="../pub/System/FootNotePlugin/styles.css" type="text/css" media="all" /><!--FOOTNOTEPLUGIN_LINKCSS-->
<link class='head CLASSIFICATIONPLUGIN::CSS' rel="stylesheet" href="../pub/System/ClassificationPlugin/styles.css" media="all" /><!--CLASSIFICATIONPLUGIN::CSS--><link rel='stylesheet' href='../pub/System/SkinTemplates/base.css' media='all' type='text/css' />
<style type="text/css" media="all">
@import url('../pub/System/PatternSkinTheme/layout.css');
@@ -101,17 +101,17 @@
<!--<![endif]-->
<!--JQUERYPLUGIN-->
<!--JQUERYPLUGIN::MIGRATE-->
<!--JQUERYPLUGIN::LIVEQUERY-->
<!--JQUERYPLUGIN::FOSWIKI-->
<!--JQUERYPLUGIN::MIGRATE-->
<!--JQUERYPLUGIN::COMMENT-->
<!--JavascriptFiles/foswikiString-->
<!--JQUERYPLUGIN::FOSWIKI::PREFERENCES-->
<!--JavascriptFiles/foswikiPref-->
<!--JQUERYPLUGIN::METADATA-->
<!--JQUERYPLUGIN::CHILI-->
<!--JavascriptFiles/foswikiString-->
<!--JavascriptFiles/foswikiForm-->
<!--JavascriptFiles/foswikiPref-->
<!--JQUERYPLUGIN::FOSWIKI::PREFERENCES-->
<!--JQUERYPLUGIN::COMMENT-->
<!--PatternSkin/pattern--><link class='head FOOTNOTEPLUGIN_LINKCSS' rel="stylesheet" href="../pub/System/FootNotePlugin/styles.css" type="text/css" media="all" /><!--FOOTNOTEPLUGIN_LINKCSS-->
</head>
<body class="foswikiNoJs patternViewPage patternPrintPage">
@@ -134,9 +134,13 @@
</li> <li> <a href="MusrFitSetup.html#A_3.1.2_Installation_of_61_61NeXus_61_61_requirements_40optional_41"> 3.1.2 Installation of NeXus requirements (optional) </a>
</li> <li> <a href="MusrFitSetup.html#A_3.1.3_61_61ROOT_61_61"> 3.1.3 ROOT </a>
</li></ul>
</li> <li> <a href="MusrFitSetup.html#A_3.2_61_61musrfit_61_61"> 3.2 musrfit </a>
</li> <li> <a href="MusrFitSetup.html#A_3.2_61_61musrfit_61_61"> 3.2 musrfit </a> <ul>
<li> <a href="MusrFitSetup.html#A_3.2.1_61_61musrfit_61_61_build_with_61_61automake_61_61"> 3.2.1 musrfit build with automake </a>
</li> <li> <a href="MusrFitSetup.html#A_3.2.2_61_61musrfit_61_61_build_with_61_61cmake_61_61"> 3.2.2 musrfit build with cmake </a>
</li> <li> <a href="MusrFitSetup.html#A_3.2.3_61_61musrfit_61_61_last_step_of_the_installation"> 3.2.3 musrfit last step of the installation </a>
</li></ul>
</li> <li> <a href="MusrFitSetup.html#A_3.3_61_61musredit_61_61"> 3.3 musredit </a>
</li> <li> <a href="MusrFitSetup.html#A_3.4_61_61musrgui_61_61"> 3.4 musrgui </a>
</li> <li> <a href="MusrFitSetup.html#A_3.4_61_61musrgui_61_61_40obsolete_41"> 3.4 musrgui (obsolete) </a>
</li> <li> <a href="MusrFitSetup.html#A_3.5_Check_of_the_installation"> 3.5 Check of the installation </a>
</li></ul>
</li> <li> <a href="MusrFitSetup.html#A_4_MS_Windows"> 4 MS Windows </a> <ul>
@@ -145,24 +149,40 @@
</li> <li> <a href="MusrFitSetup.html#A_4.1.2_Installation_of_61_61NeXus_61_61_requirements_40optional_41"> 4.1.2 Installation of NeXus requirements (optional) </a>
</li> <li> <a href="MusrFitSetup.html#A_4.1.3_61_61ROOT_61_61"> 4.1.3 ROOT </a>
</li></ul>
</li> <li> <a href="MusrFitSetup.html#A_4.2_61_61musrfit_61_61"> 4.2 musrfit </a>
</li> <li> <a href="MusrFitSetup.html#A_4.2_61_61musrfit_61_61"> 4.2 musrfit </a> <ul>
<li> <a href="MusrFitSetup.html#A_4.2.1_61_61musrfit_61_61_build_with_61_61automake_61_61"> 4.2.1 musrfit build with automake </a>
</li> <li> <a href="MusrFitSetup.html#A_4.2.2_61_61musrfit_61_61_build_with_61_61cmake_61_61"> 4.2.2 musrfit build with cmake </a>
</li> <li> <a href="MusrFitSetup.html#A_4.2.3_61_61musrfit_61_61_last_step_of_the_installation"> 4.2.3 musrfit last step of the installation </a>
</li></ul>
</li> <li> <a href="MusrFitSetup.html#A_4.3_61_61musredit_61_61"> 4.3 musredit </a>
</li> <li> <a href="MusrFitSetup.html#A_4.4_61_61musrgui_61_61"> 4.4 musrgui </a>
</li> <li> <a href="MusrFitSetup.html#A_4.5_Check_of_the_installation"> 4.5 Check of the installation </a>
</li> <li> <a href="MusrFitSetup.html#A_4.6_Possible_problems"> 4.6 Possible problems </a>
</li></ul>
</li> <li> <a href="MusrFitSetup.html#A_5_Mac_OS_X"> 5 Mac OS X </a> <ul>
</li> <li> <a href="MusrFitSetup.html#A_5_Mac_OS_X_47_macOS"> 5 Mac OS X / macOS </a> <ul>
<li> <a href="MusrFitSetup.html#A_5.1_Requirements_40_61_61MacPorts_61_61_41"> 5.1 Requirements (MacPorts) </a> <ul>
<li> <a href="MusrFitSetup.html#A_5.1.1_Everything_but_61_61ROOT_61_61_and_61_61NeXus_61_61"> 5.1.1 Everything but ROOT and NeXus </a>
</li> <li> <a href="MusrFitSetup.html#A_5.1.2_Installation_of_61_61NeXus_61_61_requirements_40optional_41"> 5.1.2 Installation of NeXus requirements (optional) </a>
</li> <li> <a href="MusrFitSetup.html#A_5.1.3_61_61ROOT_61_61"> 5.1.3 ROOT </a>
</li> <li> <a href="MusrFitSetup.html#A_5.1.3_61_61ROOT_61_61"> 5.1.3 ROOT </a> <ul>
<li> <a href="MusrFitSetup.html#A_5.1.3.1_61_61ROOT_61_61_installed_via_package_installer"> 5.1.3.1 ROOT installed via package installer </a>
</li> <li> <a href="MusrFitSetup.html#A_5.1.3.2_61_61ROOT_61_61_installed_from_source"> 5.1.3.2 ROOT installed from source </a>
</li> <li> <a href="MusrFitSetup.html#A_5.1.3.3_Setting_up_Environment_Variables_for_61_61ROOT_61_61_and_61_61musrfit_61_61"> 5.1.3.3 Setting up Environment Variables for ROOT and musrfit </a>
</li></ul>
</li></ul>
</li> <li> <a href="MusrFitSetup.html#A_5.2_Requirements_40_61_61Fink_61_61_41"> 5.2 Requirements (Fink) </a> <ul>
<li> <a href="MusrFitSetup.html#A_5.2.1_Everything_but_61_61ROOT_61_61_and_61_61NeXus_61_61"> 5.2.1 Everything but ROOT and NeXus </a>
</li> <li> <a href="MusrFitSetup.html#A_5.2.2_Installation_of_61_61NeXus_61_61_requirements_40optional_41"> 5.2.2 Installation of NeXus requirements (optional) </a>
</li> <li> <a href="MusrFitSetup.html#A_5.2.3_61_61ROOT_61_61"> 5.2.3 ROOT </a>
</li> <li> <a href="MusrFitSetup.html#A_5.2.3_61_61ROOT_61_61"> 5.2.3 ROOT </a> <ul>
<li> <a href="MusrFitSetup.html#A_5.2.3.1_61_61ROOT_61_61_installed_via_package_installer"> 5.2.3.1 ROOT installed via package installer </a>
</li> <li> <a href="MusrFitSetup.html#A_5.2.3.2_61_61ROOT_61_61_installed_from_source"> 5.2.3.2 ROOT installed from source </a>
</li> <li> <a href="MusrFitSetup.html#A_5.2.3.3_Setting_up_Environment_Variables_for_61_61ROOT_61_61_and_61_61musrfit_61_61"> 5.2.3.3 Setting up Environment Variables for ROOT and musrfit </a>
</li></ul>
</li></ul>
</li> <li> <a href="MusrFitSetup.html#A_5.3_61_61musrfit_61_61"> 5.3 musrfit </a> <ul>
<li> <a href="MusrFitSetup.html#A_5.3.1_61_61musrfit_61_61_build_with_61_61automake_61_61"> 5.3.1 musrfit build with automake </a>
</li> <li> <a href="MusrFitSetup.html#A_5.3.2_61_61musrfit_61_61_build_with_61_61cmake_61_61"> 5.3.2 musrfit build with cmake </a>
</li> <li> <a href="MusrFitSetup.html#A_5.3.3_61_61musrfit_61_61_last_step_of_the_installation"> 5.3.3 musrfit last step of the installation </a>
</li></ul>
</li> <li> <a href="MusrFitSetup.html#A_5.3_61_61musrfit_61_61"> 5.3 musrfit </a>
</li> <li> <a href="MusrFitSetup.html#A_5.4_61_61musredit_61_61"> 5.4 musredit </a>
</li> <li> <a href="MusrFitSetup.html#A_5.5_61_61musrgui_61_61_40obsolete_41"> 5.5 musrgui (obsolete) </a>
</li> <li> <a href="MusrFitSetup.html#A_5.6_Check_of_the_installation"> 5.6 Check of the installation </a>
@@ -175,22 +195,25 @@
This page is intended to demonstrate for the interested user which steps are necessary to set up the <a href="http://www.gnu.org/philosophy/free-sw.html">free software</a> &mu;SR data analysis framework <code><a href="MusrFit.html">musrfit</a></code>. While the preferred way is to run the software on <strong>GNU/Linux</strong> or <strong>MacOS X</strong>, with some restrictions it can also be set up under <strong>MS Windows</strong> (cygwin, only for the very brave, probably it is easier for most MS Windows users to install a Virtual Machine running Linux). <span class='foswikiRedFG'>In case <code>musrfit</code> should be installed according to the description found on this page, the user is strongly encouraged to <em>read completely</em> each section dealing with the present installation step <em>before</em> starting the installation process!</span>
<p></p>
<span id="ReqSw"></span>
Apart from <a href="http://gcc.gnu.org/">GCC, the GNU Compiler Collection</a> (gcc, g++), the GNU build tools <a href="http://www.gnu.org/software/autoconf/">autoconf</a>, <a href="http://www.gnu.org/software/automake/">automake</a> and <a href="http://www.gnu.org/software/libtool/">libtool</a> as well as the helper tool <a href="http://pkg-config.freedesktop.org/wiki/">pkg-config</a> <code>musrfit</code> requires the installation of a few open-source libraries and programs including their header packages:
$ <a href="http://www.boost.org/">boost C++ libraries</a>: The powerful <code>Spirit</code> parser framework used by <code>musrfit</code> is included in that collection of libraries. <em>Required version &#8805; 1.33</em>
$ <a href="http://www.gnu.org/software/gsl/">GNU Scientific Library</a>: A numerical <code>C</code> and <code>C++</code> library which provides efficient implementations of various mathematical routines. <em>Required version &#8805; 1.9</em>
$ <a href="http://www.fftw.org/">FFTW</a>: A <code>C</code> implementation for the fast computation of discrete Fourier transforms. <em>Required version &#8805; 3.1</em>
$ <a href="http://root.cern.ch/">ROOT</a>: A <code>C++</code> data analysis framework developed at <a href="http://www.cern.ch/">CERN</a>. <em>Required version &#8805; 5.22</em>
$ <a href="http://xmlsoft.org/">libxml2</a>: The <code>XML</code> <code>C</code> parser and toolkit of <a href="http://www.gnome.org/">Gnome</a>. <em>Required version &#8805; 2.0</em>
Apart from <a href="http://gcc.gnu.org/">GCC, the GNU Compiler Collection</a> (gcc, g++), the GNU build tools <a href="http://www.gnu.org/software/autoconf/">autoconf</a>, <a href="http://www.gnu.org/software/automake/">automake</a> and <a href="http://www.gnu.org/software/libtool/">libtool</a> are needed if you want to build <code>musrfit</code> via the automake toolchain, or <a href="https://cmake.org/">cmake</a> if you plan to use the cmake toolchain. Furthermore the helper tool <a href="http://pkg-config.freedesktop.org/wiki/">pkg-config</a> is needed and <code>musrfit</code> requires the installation of a few open-source libraries and programs including their header packages:
<p></p> <dl>
<dt> boost C++ libraries </dt><dd> The powerful <code>Spirit</code> parser framework used by <code>musrfit</code> is included in that collection of libraries. <em>Required version &#8805; 1.33</em> (see <a href="http://www.boost.org/">boost C++ libraries</a>)
</dd> <dt> GNU Scientific Library </dt><dd> A numerical <code>C</code> and <code>C++</code> library which provides efficient implementations of various mathematical routines. <em>Required version &#8805; 1.9</em> (see <a href="http://www.gnu.org/software/gsl/">GNU Scientific Library</a>)
</dd> <dt> FFTW </dt><dd> A <code>C</code> implementation for the fast computation of discrete Fourier transforms. <em>Required version &#8805; 3.1</em> $ <a href="http://root.cern.ch/">ROOT</a>: A <code>C++</code> data analysis framework developed at <a href="http://www.cern.ch/">CERN</a>. <em>Required version &#8805; 5.22</em> (see <a href="http://www.fftw.org/">FFTW</a>)
</dd> <dt> libxml2 </dt><dd> The <code>XML</code> <code>C</code> parser and toolkit of <a href="http://www.gnome.org/">Gnome</a>. <em>Required version &#8805; 2.0</em> (see <a href="http://xmlsoft.org/">libxml2</a>)
</dd></dl>
<p></p>
<span id="ReqSwNeXus"></span>
Additionally, <span class='foswikiRedFG'>only if</span> <code>musrfit</code> should support reading of data files in the <code>NeXus</code> format the following libraries are needed:
$ <a href="http://www.hdfgroup.org/products/hdf4/">HDF4</a>: A library and multi-object file format for storing and managing data.
$ <a href="http://www.hdfgroup.org/HDF5/">HDF5</a>: A data model, library, and file format for storing and managing data.
$ <a href="http://www.minixml.org/">minixml</a>: A small <code>XML</code> library that can be used to read and write <code>XML</code> and <code>XML</code> -like data files. <em>Required version &#8805; 2.2</em>
$ <a href="http://www.nexusformat.org/">NeXus</a>: A common data format for neutron, x-ray, and muon science.
Additionally, <span class='foswikiRedFG'>only if</span> <code>musrfit</code> should support reading of data files in the <code>NeXus</code> format the following libraries are needed: <dl>
<dt> HDF4 </dt><dd> A library and multi-object file format for storing and managing data (see <a href="http://www.hdfgroup.org/products/hdf4/">HDF4</a>). HDF4 is "outdated" and its support will soon be dropped.
</dd> <dt> HDF5 </dt><dd> A data model, library, and file format for storing and managing data (see <a href="http://www.hdfgroup.org/HDF5/">HDF5</a>).
</dd> <dt> minixml </dt><dd> A small <code>XML</code> library that can be used to read and write <code>XML</code> and <code>XML</code> -like data files. <em>Required version &#8805; 2.2</em> (see <a href="http://www.minixml.org/">minixml</a>).
</dd> <dt> NeXus </dt><dd> A common data format for neutron, x-ray, and muon science. <em>Required version &#8805; 4.4</em> (see <a href="http://www.nexusformat.org/">NeXus</a>).
</dd></dl>
<p></p>
If optionally the editor and graphical user interface <code><a href="MusrGui.html">musrgui</a></code> / <code><a href="MusrGui.html">musredit</a></code> is going to be installed there is one further requirement:
$ <a href="http://qt.nokia.com/">Qt</a>: A cross-platform application and user interface framework. <em>Required version &#8805; 3.3 &#38; &#8810; 4.0 (<code>musrgui</code>) <strong>OR</strong> &#8805; 4.6 (<code>musredit</code>)</em>
If optionally the editor and graphical user interface <code><a href="MusrGui.html">musrgui</a></code> / <code><a href="MusrGui.html">musredit</a></code> is going to be installed there is one further requirement: <dl>
<dt> Qt </dt><dd> A cross-platform application and user interface framework. &#8805; 4.6 (<code>musredit</code>) (see <a href="http://qt.io/">Qt</a>).
</dd></dl>
<p></p>
Each of the following sections focusing on the installation of <code>musrfit</code> on the different operating systems will also give a brief introduction on the installation of the requirements before the actual <code>musrfit</code> installation is described.
<p></p>
@@ -198,7 +221,7 @@ Each of the following sections focusing on the installation of <code>musrfit</co
Before the further installation will be described, please note the following restrictions: <dl>
<dt> GNU/Linux </dt><dd> No serious problems are known at the moment.
</dd> <dt> MS Windows </dt><dd> The setup of <code>musrfit</code> (including the requirements) using <code>Visual C++</code> has not been tested. If anybody likes to do this: Just go ahead and have fun! However, not very much assistance can be expected, although it would be an interesting experiment.
</dd> <dt> Mac OS X </dt><dd> On <code>10.6 Snow Leopard</code> <code>Qt3</code> for Mac is not supported any more since this was based on a 32-bit only API. <code>Snow Leopard</code> -users are advised to use the <code>Qt4</code> based <code>musredit</code> or to rely on the standard <code>Qt3</code> version for <code>X11</code> in order to run <code>musrgui</code>. On newer Mac OS X versions (&gt;= 10.8) you should use the <code>Qt4</code> base <code>musredit</code> only.
</dd> <dt> Mac OS X </dt><dd> On <code>10.6 Snow Leopard</code> <code>Qt3</code> for Mac is not supported any more since this was based on a 32-bit only API. <code>Snow Leopard</code> -users are advised to use the <code>Qt4</code> based <code>musredit</code> or to rely on the standard <code>Qt3</code> version for <code>X11</code> in order to run <code>musrgui</code>. On newer Mac OS X versions (&gt;= 10.8) you should use the <code>Qt4</code> or better, if available, <code>Qt5</code> base <code>musredit</code> only.
</dd></dl>
<p></p>
<h1 id="A_3_GNU_47Linux"> 3 GNU/Linux </h1>
@@ -206,27 +229,45 @@ Before the further installation will be described, please note the following res
<h3 id="A_3.1.1_Everything_but_61_61ROOT_61_61_and_61_61NeXus_61_61"> 3.1.1 Everything but <code><b>ROOT</b></code> and <code><b>NeXus</b></code> </h3>
Depending on the GNU/Linux distribution chosen, the above mentioned software&mdash;except the <code>ROOT</code> system and the <code>NeXus</code> library&mdash;should be available from the distributor and could be easily installed in the form of binary packages. If done in this way there should be taken care of installing <strong>both</strong>, the libraries and the header (dev, devel) files.<br>
On a <a href="https://www.scientificlinux.org/">Scientific Linux</a> (<a href="http://www.redhat.com/">Red Hat</a>, other RPM-package base Linux distributions) system the following command executed as superuser from the shell will do the trick (never type the '$' it is the shell prompt of your system):
<pre class="bash">
&#36; yum install git boost-devel gsl-devel fftw-devel libxml2-devel qt-devel qtwebkit-devel
</pre>
When dealing with a distribution that uses the dpkg/apt package manager like <a href="http://www.debian.org/">Debian</a> or <a href="http://www.ubuntu.com/">Ubuntu</a> the installation would look like:
<pre class="bash">
&#36; apt-get install git libboost-dev libgsl0-dev libfftw3-dev libxml2-dev libqt4-dev libqtwebkit-dev
</pre>
Everyone should know best himself which is the way to install distribution software on the chosen distribution <img class='smily' src='../pub/Main/SmiliesPluginPSI_/wink.gif' alt='wink' title='wink' />
<p></p>
In case the distribution does not include the required software it has to be compiled from the source files which normally means to download the source code from the corresponding website, to unpack the source tree and call the following from the shell:
For <strong>Qt4</strong>:
<pre class="bash">
&#36; ./configure
&#36; make
&#36; make install
&#36; yum install git cmake boost-devel gsl-devel fftw-devel libxml2-devel qt-devel qtwebkit-devel
</pre>
<p></p>
For <strong>Qt5</strong>:
<pre class="bash">
&#36; yum install epel-release
&#36; yum install git cmake boost-devel gsl-devel fftw-devel libxml2-devel qt5-qtbase-devel qt5-qtsvg-devel qt5-qtwebkit-devel
</pre>
<p></p>
Depending on your distribution <strong>Qt4</strong> is still the default but is likely to be replaced by <strong>Qt5</strong> in the very near future.
<p></p>
When dealing with a distribution that uses the dpkg/apt package manager like <a href="http://www.debian.org/">Debian</a> or <a href="http://www.ubuntu.com/">Ubuntu</a> the installation would look like:
<p></p>
For <strong>Qt4</strong>:
<pre class="bash">
&#36; apt-get install git cmake libboost-dev libgsl-dev libfftw3-dev libxml2-dev libqt4-dev libqtwebkit-dev
</pre>
In order to obtain some information about the possible options for the installation, calling <code>./configure --help</code> might give some useful hints. <br>
<p></p>
For <strong>Qt5</strong>:
<pre class="bash">
&#36; apt-get install git cmake libboost-dev libgsl-dev libfftw3-dev libxml2-dev qt5-default qtbase5-dev libqt5svg5-dev libqt5webkit5-dev
</pre>
<p></p>
Everyone should know best himself which is the way to install distribution software on the chosen distribution <img class='smily' src='../pub/Main/SmiliesPluginPSI/wink.gif' alt='wink' title='wink' />
<p></p>
In case the distribution does not include the required software it has to be compiled from the source files.
This means either to download the source code from the corresponding website, or to clone the git repo. If you
need to follow this line, please check the install details of the corresponding package.
<p></p>
For any further information on the standard installation of software, please refer to the web search engine of choice and ask for "install software on linux"...
<p></p>
<h3 id="A_3.1.2_Installation_of_61_61NeXus_61_61_requirements_40optional_41"> 3.1.2 Installation of <code><b>NeXus</b></code> requirements (optional) </h3>
<span class='foswikiRedFG'>Only if</span> <code>musrfit</code> should support reading/writing data files in the <code>NeXus</code> format the further <a class="foswikiCurrentTopicLink" href="#ReqSwNeXus">required</a> software has to be set up. The required libraries and header files could either be available through the user's GNU/Linux distribution or if this is not the case, the packages can be installed from the source code. E.g. on Red Hat-like systems binary packages for <code>MXML</code>, <code>HDF4</code>, and <code>HDF5</code> might be called <code><b>mxml, mxml-devel, hdf, hdf-devel, hdf5, hdf5-devel</b></code>, on Debian-like systems <code><b>libmxml1, libmxml-dev, libhdf4-dev, libhdf5-dev</b></code>.
<p></p>
<strong>Note:</strong> <strong>HDF4</strong> support within <code>NeXus</code> will be dropped by <code>musrfit</code> in the near future. If you not urgently need to read old <code>ISIS</code> <code>NeXus</code> files, you safely can drop it.
<p></p>
<strong>Only <code><b>NeXus</b></code> Version &gt;= 4.4 is support!</strong>
<p></p>
Even though there might exist binary packages for the <code>NeXus</code> library, it is best to build and install it directly from the source code which can be found <a href="https://github.com/nexusformat/code">here</a>.
@@ -243,27 +284,30 @@ A brief instruction how to get <code>NeXus</code> compiled from source:
&#36; # next we will build NeXus out-of-source
&#36; mkdir build
&#36; cd build
# The next line only if HDF4 support is needed
&#36; cmake -DENABLE&#95;HDF5&#61;1 -DENABLE&#95;HDF4&#61;1 -DENABLE&#95;MXML&#61;1 ../code
&#36; make
# The next line if HDF4 support is NOT needed
&#36; cmake -DENABLE&#95;HDF5&#61;1 -DENABLE&#95;MXML&#61;1 ../code
&#36; cmake --build ./ --clean-first
&#36; # make install needs either to be carried out as root or sudo depending on your linux flavour.
&#36; sudo make install
</pre>
<h3 id="A_3.1.3_61_61ROOT_61_61"> 3.1.3 <code><b>ROOT</b></code> </h3>
<strong>Currently only ROOT 5.34/xx is support! Do NOT try to use ROOT 6.xx/yy yet!</strong>
ROOT 5.34/xx is supported as legacy version only! <strong>The default now will be ROOT 6.xx/yy!</strong>
<p></p>
The <code>ROOT</code> system may or may not be part of the GNU/Linux distribution. Some distributions are packing <code>ROOT</code> in a manner incompatible with the way it is needed for <code>musrfit</code>. <strong>Therefore we advise to install <code>ROOT</code> from source</strong>. Before installing <code>ROOT</code> from source you will need to install some additional header packages.
The <code>ROOT</code> system may or may not be part of the GNU/Linux distribution. Some distributions are packing <code>ROOT</code> in a manner incompatible with the way it is needed for <code>musrfit</code>, though the situation is improving. If you are experienced enough you can try the packed ROOT version. Often ROOT is split in many sub-packages. Install the necessary ones (guess from the description below). <strong>One Warning</strong>: if the ROOT packages are upgraded after a <code>yum update</code> (<code>apt-get update; apt-get upgrade</code>) you might need to recompile <code>musrfit</code>. If you are not sure about all this: <strong>install <code>ROOT</code> from source</strong>. Before installing <code>ROOT</code> from source you will need to install some additional header packages.
<p></p>
For RPM based systems (RedHat, Fedora, etc) this will likely to be <strong>libX11-devel</strong>, <strong>libXft-devel</strong>, <strong>libXpm-devel</strong>, and <strong>libXext-devel</strong>:
<pre class="bash">
&#36; yum install libX11-devel libXft-devel libXpm-devel libXext-devel
</pre>
<p></p>
For a dpkg/apt based system (Debian, Ubuntu, etc) this will likely to be <strong>libX11-dev</strong>, <strong>libxft-dev</strong>, <strong>libxpm-dev</strong>, and <strong>libxext-dev</strong>:
For a dpkg/apt based system (Debian, Ubuntu, etc) this will likely to be <strong>libx11-dev</strong>, <strong>libxft-dev</strong>, <strong>libxpm-dev</strong>, and <strong>libxext-dev</strong>:
<pre class="bash">
&#36; apt-get install libX11-dev libxft-dev libxpm-dev libxext-dev
&#36; apt-get install libx11-dev libxft-dev libxpm-dev libxext-dev
</pre>
<p></p>
Also make sure that you have installed all required packages listed under <a class="foswikiCurrentTopicLink" href="#ReqSw">Requested Software</a> (e.g. fftw, gsl, etc).
Also make sure that you have installed all required packages listed under <a class="foswikiCurrentTopicLink" href="#ReqSw">Required Software</a> (e.g. fftw, gsl, etc).
<p></p>
For the following it is assumed that <code>ROOT</code> shall be installed under <code>$HOME/Apps</code>. If you want to install it somewhere else, just systematically replace the related terms of the following description. For the following list of commands the '$' will be given, the command prompt. Do <strong>not</strong> enter it! Also some comments will be added starting with a '#' which can be omitted. They are only there to explain what is going on.
<pre class="bash">
@@ -274,24 +318,28 @@ For the following it is assumed that <code>ROOT</code> shall be installed under
&#36; git clone http://root.cern.ch/git/root.git
&#36; cd root
&#36; git tag -l
&#36; # git tag -l will list all available tags. In the next command choose the tag v5-34-xx
&#36; # where xx is the highest listed number, e.g. v5-34-32
&#36; git checkout -b v5-34-32 v5-34-32
&#36; # git tag -l will list all available tags. In the next command choose the tag v6-08-04 or the latest official release number
&#36; git checkout -b v6-08-04 v6-08-04
&#36; # now ROOT is ready to be configured. Below you will find the minimal ROOT configuration needed.
&#36; ./configure --gminimal --enable-asimage --enable-mathmore --enable-minuit2 --enable-xml
&#36; # next will be the make. If running on a multicore CPU you can speed up tremendously by calling
&#36; # make with the option -j &#60;number&#62;, where &#60;number&#62; is the number of threads which you want to give,
&#36; # e.g. make -j8
&#36; make
&#36; # since we are using cmake build now, first we will need to create the build directory.
&#36; mkdir root&#95;build
&#36; cd root&#95;build
&#36; cmake ../ -Dgminimal&#61;ON -Dasimage&#61;ON -Dmathmore&#61;On -Dminuit2&#61;ON -Dxml&#61;ON -DCMAKE&#95;INSTALL&#95;PREFIX&#61;../root&#95;exec
&#36; # next will be the make called via cmake. If running on a multicore CPU you can speed up tremendously by calling
&#36; # it with the option -j &#60;number&#62;, where &#60;number&#62; is the number of threads which you want to give,
&#36; # e.g. cmake --build ./ --clean-first -- -j8
&#36; cmake --build ./ --clean-first
&#36; # as a last step of the ROOT build process we need to install it
&#36; make install
</pre>
<p></p>
What is still missing is that the system should be told where to find the <code>ROOT</code> installation, therefore the following is suggested: <ul>
<li> As superuser create a file <strong>/etc/ld.so.conf.d/cern-root.conf</strong> where the path to the <code>lib</code> directory of <code>ROOT</code> is added and call <strong>/sbin/ldconfig</strong> afterwards. In the example mentioned above one way of doing this is (<strong>&lt;home&gt;</strong> has to be the path to your home, e.g. /home/luke_skywalker): <pre class="bash">
&#36; echo &#34;&#60;home&#62;/Apps/root/lib&#34; &#62;&#62; /etc/ld.so.conf.d/cern-root.conf
&#36; echo &#34;&#60;home&#62;/Apps/root/root&#95;exec/lib&#34; &#62;&#62; /etc/ld.so.conf.d/cern-root.conf
&#36; /sbin/ldconfig
</pre>
</li> <li> <span class='foswikiRedFG'>Additionally</span>, as normal user one should append the following lines to the <strong>~/.bashrc</strong> and/or <strong>~/.bash_profile</strong> (<strong>~./profile</strong> on Debian like systems, and then either restart the shell or call the same commands once more from the shell) in order to change some path-setting environment variables: <pre class="bash">
&#36; export ROOTSYS&#61;&#36;HOME/Apps/root
&#36; export ROOTSYS&#61;&#36;HOME/Apps/root/root&#95;exec
&#36; export PATH&#61;&#36;ROOTSYS/bin:&#36;PATH
</pre>
</li></ul>
@@ -299,7 +347,8 @@ What is still missing is that the system should be told where to find the <code>
If an update of <code>ROOT</code> is needed, simple do the following:<pre class="bash">
&#36; cd &#36;HOME/Apps/root
&#36; git pull
&#36; make
&#36; cd root&#95;build
&#36; cmake --build ./ --clean-first
</pre>
<p></p>
<span id="MusrFitInstallation"></span>
@@ -308,31 +357,56 @@ When all required software has been set up it can be proceeded with the <code>mu
<pre class="bash">
&#36; cd &#36;HOME/Apps
&#36; git clone https://bitbucket.org/muonspin/musrfit.git
&#36; # Only if legacy ROOT 5.xx.yy is used include the next line
&#36; cd musrfit; git checkout root5
</pre>
or
<pre class="bash">
&#36; cd &#36;HOME/Apps
&#36; git clone git://gitlab.psi.ch/nemu/musrfit.git
&#36; # Only if legacy ROOT 5.xx.yy is used include the next line
&#36; cd musrfit; git checkout root5
</pre>
<p></p>
<strong>Note:</strong> musrfit has moved from svn to git. In case you still have an <em>old</em> svn version of musrfit, it is advised to remove it first. For svn users: for a smooth transition from svn to git, please check the following link:
<strong>Note 1:</strong> <code>musrfit</code> has moved from svn to git. In case you still have an <em>old</em> svn version of musrfit, it is advised to remove it first. For svn users: for a smooth transition from svn to git, please check the following link:
<a href="http://www.git-tower.com/blog/git-for-subversion-users-cheat-sheet/">Git for Subversion Users - A Cheat Sheet</a>.
<p></p>
If a local repository clone is already present, one can update it using:
<strong>Note 2:</strong> after cloning the <code>musrfit</code> repo you will automatically be on the <strong>root6</strong> branch. If you want to get legacy ROOT 5.34.xx support, you will needed to switch branches first.
<p></p>
<strong>Update:</strong>
If a local repository clone is already present (it needs to be newer than Dec. 2016), one can update it using:
<pre class="bash">
&#36; cd &#36;HOME/Apps/musrfit
&#36; git pull
&#36; # the new version now needs to be compiled and installed
</pre>
Now, depending whether you follow the automake or cmake tool chain you do
<p></p>
<strong>automake toolchain</strong>:
<pre class="bash">
&#36; make uninstall
&#36; make clean
&#36; make
&#36; make install
</pre>
<p></p>
or
<p></p>
<strong>cmake toolchain</strong>:
<pre class="bash">
&#36; cd build
&#36; xargs rm &#60; install&#95;manifest.txt
&#36; cmake --build ./ --clean-first
&#36; make install
</pre>
<p></p>
<span class='foswikiRedFG'>As an alternative (if git is not available)</span>, the source code can also be downloaded from the following web-page: <a href="https://bitbucket.org/muonspin/musrfit/downloads">musrfit at bitbucket</a>.
<p></p>
<h3 id="A_3.2.1_61_61musrfit_61_61_build_with_61_61automake_61_61"> 3.2.1 <code><b>musrfit</b></code> build with <code><b>automake</b></code> </h3>
<p></p>
After the source-code extraction the <strong>autogen.sh</strong> script is called to prepare the build environment. If it has been executed successfully the <strong>configure</strong> script should be ready to collect all the information needed to create the Makefiles. <span class='foswikiRedFG'>If <code>musrfit</code> should support <code>NeXus</code> data files this has to be enabled by specifying the <strong>--enable-NeXus</strong> switch when calling <strong>configure</strong>.</span> For an overview of all available options just call <code>./configure --help</code>. Besides the standard options there are a few special options which should be mentioned here:
<p></p> <dl>
<dt> --prefix </dt><dd> Specify the installation prefix, e.g. /opt/root-system (<em>by default: /usr/local</em>)
</dd> <dt> --with-rootsys </dt><dd> Specify the top of the <code>ROOT</code> installation directory, e.g. /opt/root-system
<dt> --prefix </dt><dd> Specify the installation prefix, e.g. $ROOTSYS if already defined (<em>by default: /usr/local</em>)
</dd> <dt> --with-rootsys </dt><dd> Specify the top of the <code>ROOT</code> installation directory, e.g. $ROOTSYS if already defined
</dd> <dt> --with-fftw3 </dt><dd> Specify the prefix of the <code>FFTW3</code> installation. e.g. /usr/local or /usr
</dd> <dt> --with-gsl </dt><dd> Set the prefix of the <code>GSL</code> installation, e.g. /usr/local or /usr
</dd> <dt> --with-boostinc </dt><dd> Set the path to the header files of the <code>Boost</code> installation, e.g. /usr/local/include or /usr/include
@@ -341,6 +415,7 @@ After the source-code extraction the <strong>autogen.sh</strong> script is calle
</dd> <dt> --with-nexus </dt><dd> Set the prefix of the <code>NeXus</code> installation, e.g. /usr/local (<em>only useful in conjunction with the <code>NeXus</code> support</em>)
</dd> <dt> --with-qt3 </dt><dd> Set the prefix of the <code>Qt3</code> installation, e.g. /usr/lib/qt-3.3 (<em>only useful in conjunction with building <code>musrgui</code></em>)
</dd> <dt> --with-qt4 </dt><dd> Set the prefix of the <code>Qt4</code> installation, e.g. /usr/lib/qt47 (<em>only useful in conjunction with building <code>musredit</code></em>)
</dd> <dt> --with-qt5 </dt><dd> Set the prefix of the <code>Qt5</code> installation, e.g. /usr/lib64 (<em>only useful in conjunction with building <code>musredit</code></em>)
</dd> <dt> --enable-NeXus </dt><dd> Enable the support of <code>NeXus</code> data files (<em>requires the <code>HDF4</code>, <code>HDF5</code> and <code>NeXus</code> libraries to be installed</em>).
</dd> <dt> --disable-editor </dt><dd> Disable the integrated building of <code>musredit</code>/<code>musrgui</code>.
</dd> <dt> --disable-omp </dt><dd> Switches off the <a href="http://en.wikipedia.org/wiki/OpenMP">OpenMP</a> features of <code>musrfit</code> (parallelization of the &chi;<sup>2</sup> calculation when compiled with GCC &ge; 4.2)
@@ -356,19 +431,50 @@ When the <strong>configure</strong> script has been called successfully everythi
&#36; make install
&#36; /sbin/ldconfig # (as superuser)
</pre>
<p></p>
<h3 id="A_3.2.2_61_61musrfit_61_61_build_with_61_61cmake_61_61"> 3.2.2 <code><b>musrfit</b></code> build with <code><b>cmake</b></code> </h3>
<p></p>
Currently the following configuration switches for <code>musrfit</code> are available:
<p></p> <dl>
<dt> -DCMAKE_INSTALL_PREFIX=&lt;prefix-path&gt; </dt><dd> Specify the installation prefix, i.e. the place where <code>musrfit</code> shall be installed, e.g. $ROOTSYS if already defined (<em>by default: /usr/local</em>)
</dd> <dt> -Dnexus=&lt;value&gt; </dt><dd> enable/disable the support of <code>NeXus</code> data files (<em>requires the <code>HDF4</code>, <code>HDF5</code> and <code>NeXus</code> libraries to be installed</em>). &lt;value&gt;=1 enables <code>NeXus</code>, &lt;value&gt;=0 disables <code>NeXus</code>. The default setting, i.e. the switch is <strong>not</strong> provided is <code>NeXus</code> support is <strong>disabled</strong>.
</dd> <dt> -DASlibs=&lt;value&gt; </dt><dd> enable/disable the <code>ASlibs</code>. &lt;value&gt;=1 enables the <code>ASlibs</code>, &lt;value&gt;=0 disables the <code>ASlibs</code>. The default setting, i.e. the switch is <strong>not</strong> provided is <code>ASlibs</code> support is <strong>disabled</strong>. For details see <a href="index.html">Documentation of user libs</a>.
</dd> <dt> -DBMWlibs=&lt;value&gt; </dt><dd> enable/disable the <code>BMWlibs</code>. &lt;value&gt;=1 enables the <code>BMWlibs</code>, &lt;value&gt;=0 disables the <code>BMWlibs</code>. The default setting, i.e. the switch is <strong>not</strong> provided is <code>BMWlibs</code> support is <strong>disabled</strong>. For details see <a href="index.html">Documentation of user libs</a>.
</dd> <dt> -DBNMRlibs=&lt;value&gt; </dt><dd> enable/disable the <code>BNMRlibs</code>. &lt;value&gt;=1 enables the <code>BNMRlibs</code>, &lt;value&gt;=0 disables the <code>BNMRlibs</code>. The default setting, i.e. the switch is <strong>not</strong> provided is <code>BNMRlibs</code> support is <strong>disabled</strong>.
</dd> <dt> -Dqt_based_tools=&lt;value&gt; </dt><dd> Will try to get musredit, musrWiz, musrStep, and mupp installed, if <code>Qt</code> is found. By default this is <strong>enabled</strong>. Again &lt;value&gt;=0 means disabled, &lt;value&gt;=1 enabled.
</dd> <dt> -Dqt_version=&lt;value&gt; </dt><dd> Allows to specify which <code>Qt</code> version shall be tried. &lt;value&gt; can take the values: <code>AUTO</code>, 3, 4, 5. If the value is set to <code>AUTO</code>, this highest installed version is chosen, otherwise the specified version is used.
</dd> <dt> -Dtry_OpenMP=&lt;value&gt; </dt><dd> Will check if <code>OpenMP</code> support is possible, and if yes use it. The default is <strong>enabled</strong>
</dd></dl>
<p></p>
Normally it should not be necessary to make use of any of the options except for specifying the installation path with <strong>-DCMAKE_INSTALL_PREFIX</strong>. <code>musrfit</code> build with <code>cmake</code> takes the out-of-source approach. Therefore a typical configuration / make / install process including <code>NeXus</code> support would look like
<p></p>
<pre class="bash">
&#36; cd &#36;HOME/Apps/musrfit
&#36; mkdir build
&#36; cd build
&#36; cmake ../ -DCMAKE&#95;INSTALL&#95;PREFIX&#61;&#36;ROOTSYS -Dnexus&#61;1
# below it is assumed that multiple cores are present, hence the -j8 option
&#36; cmake --build ./ --clean-first -- -j8
&#36; make install
&#36; /sbin/ldconfig # (as superuser)
</pre>
<p></p>
<h3 id="A_3.2.3_61_61musrfit_61_61_last_step_of_the_installation"> 3.2.3 <code><b>musrfit</b></code> last step of the installation </h3>
<p></p>
In order to finish the installation of <code>musrfit</code> two more things should be done: <ul>
<li> Define the <strong>MUSRFITPATH</strong> environment variable containing the path to the <code>musrfit</code> executables and XML files. E.g. if the location of the example above is used append the following line to the <strong>~/.bashrc</strong> and <strong>~/.bash_profile</strong> (and then either restart the shell or call the same commands once more from the shell): <pre class="bash">
export MUSRFITPATH&#61;/opt/root-system/bin
export MUSRFITPATH&#61;&#36;ROOTSYS/bin
</pre>
</li> <li> Adjust the paths where <code>musrfit</code> will search for data files in the installed <strong>musrfit_startup.xml</strong>. For detailed information on this XML file refer to the <a href="MusrFit.html#MusrfitStartupXml">manual</a>.
</li></ul>
<p></p>
<span id="MusrGuiInstallLinux"></span>
<h2 id="A_3.3_61_61musredit_61_61"> 3.3 <code><b>musredit</b></code> </h2>
<span class='foswikiBlueFG'>In the latest version of <code>musrfit</code> the configure script tries to determine automatically if <code>Qt4.6</code> or higher is set up on the machine. In case this is found, the editor <code>musredit</code> is built already together with <code>musrfit</code>. <em>If not</em>, one can either try to call the configure script with the "--with-qt4" option or install this editor separately:</span>
<p></p>
<span class='foswikiBlueFG'>In the latest version of <code>musrfit</code> the configure script tries to determine automatically the highest available Qt version. In case this is found, the editor <code>musredit</code> is built already together with <code>musrfit</code>. <em>If not</em>, one can either try to call the configure script with the "--with-qt5" option or install this editor separately:</span>
<pre class="bash">
&#36; cd &#36;HOME/Apps/musrfit/src/musredit
&#36; # for some distributions you will need qmake-qt4 for the next command
&#36; cd &#36;HOME/Apps/musrfit/src/musredit&#95;qt5
&#36; # for some distributions you will need qmake-qt5 for the next command
&#36; qmake musredit.pro
</pre>
If everything went fine <code>musredit</code> can be compiled and installed:
@@ -379,7 +485,7 @@ If everything went fine <code>musredit</code> can be compiled and installed:
In case one does not like the executable <strong>musredit</strong> to be copied to the default installation directory $ROOTSYS/bin the last "make install" can be skipped and the executable can be copied somewhere else instead. However, the <strong>musredit_startup.xml</strong> should go to the installation directory <strong>MUSRFITPATH</strong> of the <code>musrfit</code> executables.
Eventually, in the installed <strong>musredit_startup.xml</strong> the path specifications should be adjusted to match the local <code>musrfit</code> installation. For detailed information on this XML file refer to the <a href="MusrGui.html#MusrguiStartupXml">manual</a>.
<p></p>
<h2 id="A_3.4_61_61musrgui_61_61"> 3.4 <code><b>musrgui</b></code> </h2>
<h2 id="A_3.4_61_61musrgui_61_61_40obsolete_41"> 3.4 <code><b>musrgui</b></code> (obsolete) </h2>
If <code>Qt4.6</code> or higher is not available but <code>Qt3</code> is set up <code>musrgui</code> can be installed. For this please follow the instructions for the <a class="foswikiCurrentTopicLink" href="#MusrGuiInstallLinux">musredit installation</a> where simply every <code>musredit</code> occurrence has to be replaced by <code>musrgui</code>.<br>
If there are problems during the <code>qmake</code> step, e.g. "uic: File generated with too old version of Qt Designer", this most probably means the <code>Qt4</code> version of qmake is being used. In order to use the <code>Qt3</code> version it should be enough to specify the full path to its location when calling it. Within the most GNU/Linux distributions this location will be something like /usr/lib/qt-3.3/bin/qmake.
<p></p>
@@ -404,7 +510,10 @@ Notes
<h1 id="A_4_MS_Windows"> 4 MS Windows </h1>
<span class='foswikiRedFG'> The description here is only for the very brave ones. It hasn't been tested for quite a while and therefore gives you rather a flavour of what needs to be done rather than a real instruction how to setup <code>musrfit</code>. If you just need <code>musrfit</code> to work on a MS Windows platform, it is recommended to install it via a linux virtual machine!</span>
<p></p>
Under Windows a native installation is not supported but there is the possibility to run <code>musrfit</code> through <a href="http://www.cygwin.com/">Cygwin</a> which has the great advantage that one gains additionally various nice <code>UNIX</code> tools also for other purposes <img class='smily' src='../pub/Main/SmiliesPluginPSI_/wink.gif' alt='wink' title='wink' /> <br>
<span class='foswikiBlueFG'> For adventurous guys using Windows 10, there is the possibility to activate the built in Ubuntu bash-shell. It allows to install <code>musrfit</code> as described in the Linux section.
</span>
<p></p>
Under Windows a native installation is not supported but there is the possibility to run <code>musrfit</code> through <a href="http://www.cygwin.com/">Cygwin</a> which has the great advantage that one gains additionally various nice <code>UNIX</code> tools also for other purposes <img class='smily' src='../pub/Main/SmiliesPluginPSI/wink.gif' alt='wink' title='wink' /> <br>
<span class='foswikiRedFG'>Please also be aware of the fact that the X server which is going to be installed with Cygwin has to be started (e.g. by selecting it from the "Programs" folder) before any graphical application (<code>musrview</code>, <code>musrgui</code>, etc.) is run</span>.
<p></p>
<span class='foswikiPinkFG'>One more advice: Please never try to install either <code>ROOT</code> or <code>musrfit</code> from or to a directory containing spaces in the absolute path or in case you do, do not wonder if some errors occur!<br>
@@ -516,6 +625,8 @@ If the repository had been checked out already before, one can update the local
<p></p>
<span class='foswikiRedFG'>As an alternative (if git is not available)</span>, the source code can also be downloaded from the following web-page: <a href="https://bitbucket.org/muonspin/musrfit/downloads">musrfit at bitbucket</a>.
<p></p>
<h3 id="A_4.2.1_61_61musrfit_61_61_build_with_61_61automake_61_61"> 4.2.1 <code><b>musrfit</b></code> build with <code><b>automake</b></code> </h3>
<p></p>
After the source-code extraction the <strong>autogen.sh</strong> script is called to prepare the build environment. If it has been executed successfully the <strong>configure</strong> script should be ready to collect all the information needed to create the Makefiles. <span class='foswikiRedFG'>If <code>musrfit</code> should support <code>NeXus</code> data files this has to be enabled by specifying the <nobr><b>--enable-static</b></nobr> <nobr><b>--enable-NeXus</b></nobr> switches when calling <strong>configure</strong>.</span> For an overview of all available options just call <code>./configure --help</code>. Besides the standard options there are a few special options which should be mentioned here:
<p></p> <dl>
<dt> --prefix </dt><dd> Specify the installation prefix, e.g. /opt/root-system (<em>by default: /usr/local</em>)
@@ -528,6 +639,7 @@ After the source-code extraction the <strong>autogen.sh</strong> script is calle
</dd> <dt> --with-nexus </dt><dd> Set the prefix of the <code>NeXus</code> installation, e.g. /usr/local (<em>only useful in conjunction with the <code>NeXus</code> support</em>)
</dd> <dt> --with-qt3 </dt><dd> Set the prefix of the <code>Qt3</code> installation, e.g. /usr/lib/qt-3.3 (<em>only useful in conjunction with building <code>musrgui</code></em>)
</dd> <dt> --with-qt4 </dt><dd> Set the prefix of the <code>Qt4</code> installation, e.g. /usr/lib/qt47 (<em>only useful in conjunction with building <code>musredit</code></em>)
</dd> <dt> --with-qt5 </dt><dd> Set the prefix of the <code>Qt5</code> installation, e.g. /usr/lib/qt56 (<em>only useful in conjunction with building <code>musredit</code></em>)
</dd> <dt> --enable-NeXus </dt><dd> Enable the support of <code>NeXus</code> data files (<em>requires the <code>HDF4</code>, <code>HDF5</code> and <code>NeXus</code> libraries to be installed</em>).
</dd> <dt> --disable-editor </dt><dd> Disable the integrated building of <code>musredit</code>/<code>musrgui</code>.
</dd> <dt> --disable-omp </dt><dd> Switches off the <a href="http://en.wikipedia.org/wiki/OpenMP">OpenMP</a> features of <code>musrfit</code> (parallelization of the &chi;<sup>2</sup> calculation when compiled with GCC &ge; 4.2)
@@ -542,7 +654,37 @@ When the <strong>configure</strong> script has been called successfully everythi
&#36; make
&#36; make install
</pre>
In order to finish the installation of <code>musrfit</code> the paths where <code>musrfit</code> searches for data files should be adjusted in the installed <strong>musrfit_startup.xml</strong> (/cygdrive/c/root/bin/musrfit_startup.xml or C:\root\bin\musrfit_startup.xml). The paths have to obey the <code>POSIX</code> naming convention. For detailed information on this XML file refer to the <a href="MusrFit.html#MusrfitStartupXml">manual</a>.
<p></p>
<h3 id="A_4.2.2_61_61musrfit_61_61_build_with_61_61cmake_61_61"> 4.2.2 <code><b>musrfit</b></code> build with <code><b>cmake</b></code> </h3>
<p></p>
Currently the following configuration switches for <code>musrfit</code> are available:
<p></p> <dl>
<dt> -DCMAKE_INSTALL_PREFIX=&lt;prefix-path&gt; </dt><dd> Specify the installation prefix, i.e. the place where <code>musrfit</code> shall be installed, e.g. $ROOTSYS if already defined (<em>by default: /usr/local</em>)
</dd> <dt> -Dnexus=&lt;value&gt; </dt><dd> enable/disable the support of <code>NeXus</code> data files (<em>requires the <code>HDF4</code>, <code>HDF5</code> and <code>NeXus</code> libraries to be installed</em>). &lt;value&gt;=1 enables <code>NeXus</code>, &lt;value&gt;=0 disables <code>NeXus</code>. The default setting, i.e. the switch is <strong>not</strong> provided is <code>NeXus</code> support is <strong>disabled</strong>.
</dd> <dt> -DASlibs=&lt;value&gt; </dt><dd> enable/disable the <code>ASlibs</code>. &lt;value&gt;=1 enables the <code>ASlibs</code>, &lt;value&gt;=0 disables the <code>ASlibs</code>. The default setting, i.e. the switch is <strong>not</strong> provided is <code>ASlibs</code> support is <strong>disabled</strong>. For details see <a href="index.html">Documentation of user libs</a>.
</dd> <dt> -DBMWlibs=&lt;value&gt; </dt><dd> enable/disable the <code>BMWlibs</code>. &lt;value&gt;=1 enables the <code>BMWlibs</code>, &lt;value&gt;=0 disables the <code>BMWlibs</code>. The default setting, i.e. the switch is <strong>not</strong> provided is <code>BMWlibs</code> support is <strong>disabled</strong>. For details see <a href="index.html">Documentation of user libs</a>.
</dd> <dt> -DBNMRlibs=&lt;value&gt; </dt><dd> enable/disable the <code>BNMRlibs</code>. &lt;value&gt;=1 enables the <code>BNMRlibs</code>, &lt;value&gt;=0 disables the <code>BNMRlibs</code>. The default setting, i.e. the switch is <strong>not</strong> provided is <code>BNMRlibs</code> support is <strong>disabled</strong>.
</dd> <dt> -Dqt_based_tools=&lt;value&gt; </dt><dd> Will try to get musredit, musrWiz, musrStep, and mupp installed, if <code>Qt</code> is found. By default this is <strong>enabled</strong>. Again &lt;value&gt;=0 means disabled, &lt;value&gt;=1 enabled.
</dd> <dt> -Dqt_version=&lt;value&gt; </dt><dd> Allows to specify which <code>Qt</code> version shall be tried. &lt;value&gt; can take the values: <code>AUTO</code>, 3, 4, 5. If the value is set to <code>AUTO</code>, this highest installed version is chosen, otherwise the specified version is used.
</dd> <dt> -Dtry_OpenMP=&lt;value&gt; </dt><dd> Will check if <code>OpenMP</code> support is possible, and if yes use it. The default is <strong>enabled</strong>
</dd></dl>
<p></p>
Normally it should not be necessary to make use of any of the options except for specifying the installation path with <strong>-DCMAKE_INSTALL_PREFIX</strong>. <code>musrfit</code> build with <code>cmake</code> takes the out-of-source approach. Therefore a typical configuration / make / install process including <code>NeXus</code> support would look like
<p></p>
<pre class="bash">
&#36; cd &#36;HOME/Apps/musrfit
&#36; mkdir build
&#36; cd build
&#36; cmake ../ -DCMAKE&#95;INSTALL&#95;PREFIX&#61;&#36;ROOTSYS -Dnexus&#61;1
# below it is assumed that multiple cores are present, hence the -j8 option
&#36; cmake --build ./ --clean-first -- -j8
&#36; make install
&#36; /sbin/ldconfig # (as superuser)
</pre>
<p></p>
<h3 id="A_4.2.3_61_61musrfit_61_61_last_step_of_the_installation"> 4.2.3 <code><b>musrfit</b></code> last step of the installation </h3>
<p></p>
In order to finish the installation of <code>musrfit</code> the paths where <code>musrfit</code> searches for data files should be adjusted in the installed <strong>musrfit_startup.xml</strong> (/cygdrive/c/root/bin/musrfit_startup.xml or C:\root\bin\musrfit_startup.xml). The paths have to obey the POSIX naming convention. For detailed information on this XML file refer to the <a href="MusrFit.html#MusrfitStartupXml">manual</a>.
<p></p>
<span id="MusrEditInstallCygwin"></span>
<h2 id="A_4.3_61_61musredit_61_61"> 4.3 <code><b>musredit</b></code> </h2>
@@ -590,20 +732,21 @@ In this case, try to do the following: Close all Cygwin programs (including the
</pre>
If this does not resolve the problem, try to change the compatibility settings of <strong>C:\cygwin\bin\sh.exe</strong> and <strong>C:\cygwin\bin\bash.exe</strong> so that they are executed with administrator privileges.
<p></p>
<h1 id="A_5_Mac_OS_X"> 5 Mac OS X </h1>
<h1 id="A_5_Mac_OS_X_47_macOS"> 5 Mac OS X / macOS </h1>
<p></p>
With Mac OS X the situation is up to some extent similar like on MS Windows but still different since Mac OS X is a UNIX system. The similarity is that also on OS X a helping framework&mdash;<i>either</i> <code><a href="http://www.macports.org/">MacPorts</a></code> <em>or</em> <code><a href="http://www.finkproject.org/">Fink</a></code>&mdash;which provides open-source software is employed to fulfill the basic software requirements of <code>musrfit</code>. <span class='foswikiRedFG'>In the following, both possibilities (using <code>MacPorts</code> or <code>Fink</code>) are described but it is emphasized here that it should be followed <em>only one of the possible routes</em>.
With Mac OS X / macOS the situation is up to some extent similar like on MS Windows but still different since Mac OS X is a UNIX system. The similarity is that also on OS X a helping framework&mdash;<i>either</i> <code><a href="http://www.macports.org/">MacPorts</a></code> <em>or</em> <code><a href="http://www.finkproject.org/">Fink</a></code>&mdash;which provides open-source software is employed to fulfill the basic software requirements of <code>musrfit</code>. <span class='foswikiRedFG'>In the following, both possibilities (using <code>MacPorts</code> or <code>Fink</code>) are described but it is emphasized here that it should be followed <em>only one of the possible routes</em> </span>.
<p></p>
WARNING: The instruction for <code>Fink</code> haven't been updated/tested for quite a while and likely are slightly outdated.
</span>
<p></p>
<p></p>
<p></p>
<h2 id="A_5.1_Requirements_40_61_61MacPorts_61_61_41"> 5.1 Requirements (<code><b>MacPorts</b></code>) </h2>
<h3 id="A_5.1.1_Everything_but_61_61ROOT_61_61_and_61_61NeXus_61_61"> 5.1.1 Everything but <code><b>ROOT</b></code> and <code><b>NeXus</b></code> </h3>
Before proceeding with the usage of the <code><a href="http://www.macports.org/">MacPorts</a></code> system first a few useful tools provided by Apple together with OS X (on the installation DVD/CDs) should be installed:
$ <a href="http://developer.apple.com/technology/tools.html">Xcode tools</a>: Useful developer tools including for instance the GNU compiler collection. Starting from XCode &gt;= 4.3 the command line tools need to be installed manually. <dl>
<dt> X11 </dt><dd> The X-window system (automatically installed on 10.5 Leopard and 10.6 Snow Leopard). For 10.7 and higher you also will need to install <code><a href="http://xquartz.macosforge.org/trac">XQuartz</a></code>
Before proceeding with the usage of the <code><a href="http://www.macports.org/">MacPorts</a></code> system first a few useful tools provided by Apple together with OS X (on the installation DVD/CDs) should be installed: <dl>
<dt> Xcode </dt><dd> Useful developer tools including for instance the GNU compiler collection. It can be installed via the Apple App store. Starting from XCode &gt;= 4.3 the command line tools need to be installed manually. The necessary command line tools can be installed via the following commands entered in the terminal<pre class="bash">
&#36; xcode-select --install
&#36; sudo xcodebuild -license
</pre>
</dd> <dt> X11 </dt><dd> The X-window system (automatically installed on 10.5 Leopard and 10.6 Snow Leopard). For 10.7 and higher you also will need to install <code><a href="http://xquartz.macosforge.org/trac">XQuartz</a></code>
</dd></dl>
<p></p>
After installing the Xcode tools go to the <a href="http://www.macports.org/install.php">MacPorts install page</a>, download the installer for your system and follow the installation instructions on the page. By default the <code>MacPorts</code> system will be installed in <strong>/opt/local</strong>.<br>
@@ -628,31 +771,31 @@ file:///Users/username/dports
Then the <code>MacPorts</code> system should be set up and can be used to install additional software.<br>
The installation of the software mentioned <a class="foswikiCurrentTopicLink" href="#ReqSw">above</a> is then done in the terminal:
<pre class="bash">
&#36; sudo port -v install pkgconfig autoconf automake libtool fftw-3 fftw-3-single gsl boost libxml2 qt4-mac
&#36; sudo port -v install pkgconfig autoconf automake libtool cmake fftw-3 fftw-3-single gsl boost libxml2 qt5 qt5-qtsvg qt5-qtwebengine
</pre>
With <code><b>qt4-mac</b></code>, <code>musredit</code> will be installed. If it happens that you used <code>musrgui</code> in the past, please change over to <code>musredit</code> since there will be <strong>no</strong> further development for <code>musrgui</code> anymore!
With <code><b>qt5</b></code>, <code>musredit</code> will be installed. If it happens that you used <code>musrgui</code> in the past, please change over to <code>musredit</code> since there will be <strong>no</strong> further development for <code>musrgui</code> anymore!
<p></p>
<h3 id="A_5.1.2_Installation_of_61_61NeXus_61_61_requirements_40optional_41"> 5.1.2 Installation of <code><b>NeXus</b></code> requirements (optional) </h3>
<p></p>
<span class='foswikiRedFG'>Only if</span> <code>musrfit</code> should support reading data files in the <code>NeXus</code> format the further <a class="foswikiCurrentTopicLink" href="#ReqSwNeXus">required</a> packages are set up:
<pre class="bash">
&#36; sudo port -v install jpeg6b hdf4 hdf5
&#36; sudo port -v install hdf4 hdf5
</pre>
Unfortunately, the <code>minixml</code> and <code>NeXus</code> libraries have to be compiled and installed directly from the source code. Given the respective version numbers of <strong>2.9</strong> and <strong>4.4.2</strong> (which are subject to change with time, <strong>Only <code><b>NeXus</b></code> Version &gt;= 4.4 is support!</strong>) this can be achieved for example by:
<pre class="bash">
&#36; cd
&#36; curl www.msweet.org/files/project3/mxml-2.9.tar.gz -G &#124; tar xz
&#36; cd mxml-2.9
&#36; # get and instal Mini-XML
&#36; cd &#36;HOME/Applications
&#36; git clone https://github.com/michaelrsweet/mxml.git
&#36; cd mxml
&#36; ./configure --prefix&#61;/usr/local
&#36; make
&#36; sudo make install
&#36; cd &#36;HOME/Downloads
&#36; # create a directory for the NeXus source code
&#36; mkdir nexus
&#36; cd nexus
&#36; # get and install NeXus
&#36; cd &#36;HOME/Applications
&#36; # get the source code from the master repository
&#36; git clone https://github.com/nexusformat/code.git
&#36; git clone https://github.com/nexusformat/code.git nexus/code
&#36; # next we will build NeXus out-of-source
&#36; cd nexus
&#36; mkdir build
&#36; cd build
&#36; cmake -DENABLE&#95;HDF5&#61;1 -DENABLE&#95;HDF4&#61;1 -DENABLE&#95;MXML&#61;1 ../code
@@ -660,46 +803,62 @@ Unfortunately, the <code>minixml</code> and <code>NeXus</code> libraries have to
&#36; sudo make install
</pre>
<h3 id="A_5.1.3_61_61ROOT_61_61"> 5.1.3 <code><b>ROOT</b></code> </h3>
ROOT 5.34/xx is supported as legacy version only! <strong>The default now will be ROOT 6.xx/yy!</strong>
<p></p>
<h4 id="A_5.1.3.1_61_61ROOT_61_61_installed_via_package_installer"> 5.1.3.1 <code><b>ROOT</b></code> installed via package installer </h4>
The lazy way to get <code>ROOT</code> installed is via package installer. If your macOS is directly supported by the <code>ROOT</code> people you can download the package installer from the <code>ROOT</code> <a href="https://root.cern.ch/downloading-root">download page</a>. Choose the latest <code>ROOT</code> release and download you macOS version dmg-file, e.g. for macOS 10.12 (Sierra) it is at the time of writting <code>root_v6.10.02.macosx64-10.12-clang81.dmg</code>. After the installation <code>ROOT</code> will be installed under <code>/Application</code> as owner <code>root</code>. In order to ease your life for the steps to follow and assuming you are the only guy working on your Mac, you could change the <code>owner</code> and <code>group</code> of the <code>ROOT</code> directory:
<p></p>
<pre class="bash">
&#36; cd /Applications
&#36; sudo chown -R &#60;username&#62; root&#95;v6.10.02
&#36; sudo chgrp -R staff root&#95;v6.10.02
&#36; sudo ln -s root&#95;v6.10.02 root
</pre>
<p></p>
<h4 id="A_5.1.3.2_61_61ROOT_61_61_installed_from_source"> 5.1.3.2 <code><b>ROOT</b></code> installed from source </h4>
The best way to get <code>ROOT</code> exactly the way needed for <code>musrfit</code> is to install it from source. Before describing it, please make sure that you have installed all required packages listed under <a class="foswikiCurrentTopicLink" href="#ReqSw">Requested Software</a> (e.g. fftw, gsl, etc).
<p></p>
For the following it is assumed that <code>ROOT</code> shall be installed under <code>$HOME/Apps</code>. If you want to install it somewhere else, just systematically replace the related terms of the following description. For the following list of commands the '$' will be given, the command prompt. Do <strong>not</strong> enter it! Also some comments will be added starting with a '#' which can be omitted. They are only there to explain what is going on.
For the following it is assumed that <code>ROOT</code> shall be installed under <code>$HOME/Applications</code>. If you want to install it somewhere else, just systematically replace the related terms of the following description. For the following list of commands the '$' will be given, the command prompt. Do <strong>not</strong> enter it! Also some comments will be added starting with a '#' which can be omitted. They are only there to explain what is going on.
<pre class="bash">
&#36; cd &#36;HOME
&#36; # creat the Apps directory if not already present
&#36; mkdir Apps
&#36; cd Apps
&#36; cd &#36;HOME/Applications
&#36; git clone http://root.cern.ch/git/root.git
&#36; cd root
&#36; git tag -l
&#36; # git tag -l will list all available tags. In the next command choose the tag v5-34-xx
&#36; # where xx is the highest listed number, e.g. v5-34-32
&#36; git checkout -b v5-34-32 v5-34-32
&#36; # git tag -l will list all available tags. In the next command choose the tag v6-10-xx
&#36; # where xx is the highest listed number, e.g. v6-10-02
&#36; git checkout -b v6-10-02 v6-10-02
&#36; # now ROOT is ready to be configured. Below you will find the minimal ROOT configuration needed.
&#36; ./configure --gminimal --enable-asimage --enable-mathmore --enable-minuit2 --enable-xml
&#36; # We will use the cmake out-of-source approach here.
&#36; mkdir root&#95;build
&#36; cd root&#95;build
&#36; cmake ../ -Dgminimal&#61;ON -Dasimage&#61;ON -Dmathmore&#61;ON -Dminuit2&#61;ON -Dxml&#61;ON -DCMAKE&#95;INSTALL&#95;PREFIX&#61;&#36;HOME/Applications/root/root&#95;exec
&#36; # next will be the make. If running on a multicore CPU you can speed up tremendously by calling
&#36; # make with the option -j &#60;number&#62;, where &#60;number&#62; is the number of threads which you want to give,
&#36; # e.g. make -j8
&#36; make
&#36; # make will take quite a while
&#36; make install
</pre>
<p></p>
For further details see <a href="http://root.cern.ch/drupal/content/installing-root-source">Installing ROOT from Source</a>.
For further details see <a href="https://root.cern.ch/building-root">Installing ROOT from Source</a>.
<p></p>
<h4 id="A_5.1.3.3_Setting_up_Environment_Variables_for_61_61ROOT_61_61_and_61_61musrfit_61_61"> 5.1.3.3 Setting up Environment Variables for <code><b>ROOT</b></code> and <code><b>musrfit</b></code> </h4>
Since Apple in its wisdom decided that programs started from a shell are treated differently than apps if it is coming to system variables, we need to work harder compared to a Linux system.
<p></p>
<strong>For Mac OS X &lt; 10.8:</strong>
<p></p>
In order to finalize the <code>ROOT</code> installation and to prepare already the installation of <code>musrfit</code> and <code>musrgui</code> / <code>musredit</code> this is a good time for setting necessary environment variables for the use in Mac OS X. Put the following lines (without the comments in parentheses and with the paths adjusted to your local installation) into the file <strong>~/.MacOSX/environment.plist</strong> and <span class='foswikiRedFG'>re-login</span>:<br>
In order to finalize the <code>ROOT</code> installation and to prepare already the installation of <code>musrfit</code> and <code>musrgui</code> / <code>musredit</code> this is a good time for setting necessary environment variables for the use in Mac OS X. Here it assumed that you installed <code>ROOT</code> from source. If you downloaded the binary package, you will need to adopt the paths accordingly. Put the following lines (without the comments in parentheses and with the paths adjusted to your local installation) into the file <strong>~/.MacOSX/environment.plist</strong> and <span class='foswikiRedFG'>re-login</span>:<br>
<pre class="html">
&#60;?xml version&#61;&#34;1.0&#34; encoding&#61;&#34;UTF-8&#34;?&#62;
&#60;!DOCTYPE plist PUBLIC &#34;-//Apple//DTD PLIST 1.0//EN&#34; &#34;http://www.apple.com/DTDs/PropertyList-1.0.dtd&#34;&#62;
&#60;plist version&#61;&#34;1.0&#34;&#62;
&#60;dict&#62;
&#60;key&#62;MUSRFITPATH&#60;/key&#62;
&#60;string&#62;&#36;HOME/Apps/root/bin&#60;/string&#62; (where to find the musrfit executables)
&#60;string&#62;&#36;HOME/Applications/root/root&#95;exec/bin&#60;/string&#62; (where to find the musrfit executables)
&#60;key&#62;QTDIR&#60;/key&#62;
&#60;string&#62;/opt/local/lib/qt3mac&#60;/string&#62; (where to find Qt3 (for musrgui) or Qt4 (for musredit))
&#60;string&#62;/opt/local/lib/qt3mac&#60;/string&#62; (where to find Qt3 (for musrgui) or Qt4 (for musredit))
&#60;key&#62;ROOTSYS&#60;/key&#62;
&#60;string&#62;&#36;HOME/Apps/root&#60;/string&#62; (where to find the ROOT system)
&#60;string&#62;&#36;HOME/Applications/root/root&#95;exec&#60;/string&#62; (where to find the ROOT system)
&#60;/dict&#62;
&#60;/plist&#62;
</pre>
@@ -708,18 +867,31 @@ In order to finalize the <code>ROOT</code> installation and to prepare already t
<p></p>
One needs to add some system variables in <strong>~/.profile</strong>:
<pre class="bash">
export ROOTSYS&#61;&#36;HOME/Apps/root
launchctl setenv ROOTSYS &#36;ROOTSYS
export ROOTSYS&#61;&#36;HOME/Applications/root/root&#95;exec
export MUSRFITPATH&#61;&#36;ROOTSYS/bin
launchctl setenv MUSRFITPATH &#36;MUSRFITPATH
export PATH&#61;&#36;ROOTSYS/bin:&#36;QTDIR/bin:&#36;PATH
export LD&#95;LIBRARY&#95;PATH&#61;&#36;ROOTSYS/lib:&#36;LD&#95;LIBRARY&#95;PATH
launchctl setenv ROOTSYS &#36;ROOTSYS
launchctl setenv MUSRFITPATH &#36;MUSRFITPATH
launchctl setenv PATH &#36;PATH
launchctl setenv LD&#95;LIBRARY&#95;PATH &#36;LD&#95;LIBRARY&#95;PATH
</pre>
<p></p>
After this you will need to `execute' <code>.profile</code> before proceeding:
<p></p>
<pre class="bash">
&#36; source &#36;HOME/.profile
</pre>
<h2 id="A_5.2_Requirements_40_61_61Fink_61_61_41"> 5.2 Requirements (<code><b>Fink</b></code>) </h2>
<h3 id="A_5.2.1_Everything_but_61_61ROOT_61_61_and_61_61NeXus_61_61"> 5.2.1 Everything but <code><b>ROOT</b></code> and <code><b>NeXus</b></code> </h3>
Before proceeding with the usage of the <code><a href="http://www.finkproject.org/">Fink</a></code> system first a few useful tools provided by Apple together with OS X (on the installation DVD/CDs) should be installed:
$ <a href="http://developer.apple.com/technology/tools.html">Xcode tools</a>: Useful developer tools including for instance the GNU compiler collection <dl>
<dt> X11 </dt><dd> The X-window-system (automatically installed on 10.5 Leopard and 10.6 Snow Leopard)
<p></p> <dl>
<dt> <strong>Xcode</strong> </dt><dd> Useful developer tools including for instance the GNU compiler collection. It can be installed via the Apple App Store. Starting from XCode &gt;= 4.3 the command line tools need to be installed manually. The necessary command line tools can be installed via the following commands entered in the terminal:<pre class="bash">
&#36; xcode-select --install
&#36; sudo xcodebuild -license
</pre>
</dd> <dt> <strong>X11</strong> </dt><dd> The X-window-system (automatically installed on 10.5 Leopard and 10.6 Snow Leopard)
</dd></dl>
<p></p>
After installing the Xcode tools go to the <a href="http://www.finkproject.org/download/index.php?phpLang=en">Fink download page</a>, download the installer for your system and follow the installation instructions on the page.
@@ -734,9 +906,11 @@ After applying the changes above to the configuration file, the <code>Fink</code
Then the <code>Fink</code> system should be set up and can be used to install additional software.<br>
The <code>Fink</code> installer package also contains a graphical user interface called <code>FinkCommander</code> and it is suggested to use that for installing the following packages (or packages with revisions close to the following)&mdash;it is necessary to compile a few packages from source since no binary packages are available, however, this is done automatically by the <code>FinkCommander</code> after you have chosen the software packages for installation:
<p></p>
<code><b>autoconf automake boost1.41.nopython boost1.41.nopython-shlibs fftw3 fftw3-shlibs gsl gsl-shlibs libtool2 libtool2-shlibs libxml2 libxml2-bin libxml2-shlibs pkgconfig qt3mac qt3mac-shlibs</b></code>
<pre class="bash">
autoconf automake cmake boost1.63-nopython boost1.63.nopython-shlibs fftw3 fftw3-shlibs gsl gsl-shlibs libtool2 libtool2-shlibs libxml2 libxml2-bin libxml2-shlibs pkgconfig qt5-mac-qtbase qt5-mac-qtbase-dev-tools qt5-mac-qtsvg qt5-mac-qtsvg-shlibs qt5-mac-qtwebengine qt5-mac-qtwebengine-shlibs qt5-mac-qtwebenginecore-shlibs qt5-mac-qtwebenginewidgets-shlibs
</pre>
<p></p>
Under OS X 10.6 Snow Leopard it will not be possible to install <code><b>qt3mac</b></code> since the system is by default a 64-bit system and the old <code><b>qt3-mac</b></code> depends on software which is only available for 32-bit systems. It is suggested to install <code><b>qt4mac</b></code> instead and use <code>musredit</code>.
Under OS X 10.6 Snow Leopard it will not be possible to install <code><b>qt3mac</b></code> since the system is by default a 64-bit system and the old <code><b>qt3-mac</b></code> depends on software which is only available for 32-bit systems. It is suggested to install <code><b>qt5-mac</b></code> instead and use <code>musredit</code>.
<p></p>
Also, due to some not fulfilled dependencies, it might not be possible to install FFTW3 through Fink. In this case (<span class='foswikiRedFG'>and ONLY in THIS case</span>) simply download the FFTW3 source code from <a href="http://www.fftw.org/download.html">its download page</a> and install it from a terminal using the following commands (for the FFTW version 3.x.y):
<pre class="bash">
@@ -751,71 +925,96 @@ Since later on the <code>boost</code> header files should be used and in the sta
<pre class="bash">
&#36; ln -sf /sw/include/boost-x&#95;yy&#95;z/boost /sw/include/boost
</pre>
where <strong>x_yy_z</strong> has to be substituted by the correct version number, e.g. <strong>1_41_0</strong>.
where <strong>x_yy_z</strong> has to be substituted by the correct version number, e.g. <strong>1_63_0</strong>.
<p></p>
<h3 id="A_5.2.2_Installation_of_61_61NeXus_61_61_requirements_40optional_41"> 5.2.2 Installation of <code><b>NeXus</b></code> requirements (optional) </h3>
<p></p>
<span class='foswikiRedFG'>Only if</span> <code>musrfit</code> should support reading data files in the <code>NeXus</code> format the further <a class="foswikiCurrentTopicLink" href="#ReqSwNeXus">required</a> packages can be installed through <code>Fink</code>:
<span class='foswikiRedFG'>Only if</span> <code>musrfit</code> should support reading data files in the <code>NeXus</code> format the further <a class="foswikiCurrentTopicLink" href="#ReqSwNeXus">required</a> packages can be installed through <code>Fink</code> (check for the most recent versions):
<p></p>
<code><b>libjpeg hdf hdf5-18 hdf5-18-shlibs</b></code>
<pre class="bash">
libjpeg hdf hdf5-cpp11 hdf5-cpp11-shlibs
</pre>
<p></p>
Unfortunately, the <code>minixml</code> and <code>NeXus</code> libraries have to be compiled and installed directly from the source code. Given the respective version numbers of <strong>2.9</strong> and <strong>4.3.2</strong> (which are subject to change with time) this can be achieved for example by:
<pre class="bash">
&#36; cd
&#36; curl www.msweet.org/files/project3/mxml-2.9.tar.gz -G &#124; tar xz
&#36; cd mxml-2.9
&#36; # first build Mini-XML
&#36; cd &#36;HOME/Applications
&#36; git clone https://github.com/michaelrsweet/mxml.git
&#36; cd mxml
&#36; ./configure --prefix&#61;/usr/local
&#36; make
&#36; sudo make install
&#36; # second build NeXus
&#36; cd ..
&#36; curl http://download.nexusformat.org/kits/nexus-4.3.2-20140413svn1919.tar.gz -G &#124; tar xz
&#36; cd nexus-4.3.2-20140413svn1919
&#36; ./configure --prefix&#61;/usr/local
&#36; git clone https://github.com/nexusformat/code.git nexus/code
&#36; cd nexus
&#36; # build NeXus out-of-source
&#36; mkdir build
&#36; cd build
&#36; cmake ../code -DENABLE&#95;HDF4&#61;1 -DENABLE&#95;HDF5&#61;1 -DENABLE&#95;MXML&#61;1
&#36; make
&#36; sudo make install
</pre>
<p></p>
<h3 id="A_5.2.3_61_61ROOT_61_61"> 5.2.3 <code><b>ROOT</b></code> </h3>
<p></p>
ROOT 5.34/xx is supported as legacy version only and will likely to be dropped in 2018. <strong>The default now is ROOT 6.xx/yy!</strong>
<p></p>
<h4 id="A_5.2.3.1_61_61ROOT_61_61_installed_via_package_installer"> 5.2.3.1 <code><b>ROOT</b></code> installed via package installer </h4>
<p></p>
The lazy way to get ROOT installed is via package installer. If your macOS is directly supported by the ROOT people you can download the package installer from the ROOT <a href="https://root.cern.ch/downloading-root">download page</a>. Choose the latest ROOT release and download you macOS version dmg-file, e.g. for macOS 10.12 (Sierra) it is at the time of writting root_v6.10.02.macosx64-10.12-clang81.dmg. After the installation ROOT will be installed under /Application as owner root. In order to ease your life for the steps to follow and assuming you are the only guy working on your Mac, you could change the owner and group of the ROOT directory:
<p></p>
<pre class="bash">
&#36; cd /Applications
&#36; sudo chown -R &#60;username&#62; root&#95;v6.10.02
&#36; sudo chgrp -R staff root&#95;v6.10.02
&#36; sudo ln -s root&#95;v6.10.02 root
</pre>
<h4 id="A_5.2.3.2_61_61ROOT_61_61_installed_from_source"> 5.2.3.2 <code><b>ROOT</b></code> installed from source </h4>
<p></p>
The best way to get <code>ROOT</code> exactly the way needed for <code>musrfit</code> is to install it from source. Before describing it, please make sure that you have installed all required packages listed under <a class="foswikiCurrentTopicLink" href="#ReqSw">Requested Software</a> (e.g. fftw, gsl, etc).
<p></p>
For the following it is assumed that <code>ROOT</code> shall be installed under <code>$HOME/Apps</code>. If you want to install it somewhere else, just systematically replace the related terms of the following description. For the following list of commands the '$' will be given, the command prompt. Do <strong>not</strong> enter it! Also some comments will be added starting with a '#' which can be omitted. They are only there to explain what is going on.
For the following it is assumed that <code>ROOT</code> shall be installed under <code>$HOME/Applications</code>. If you want to install it somewhere else, just systematically replace the related terms of the following description. For the following list of commands the '$' will be given, the command prompt. Do <strong>not</strong> enter it! Also some comments will be added starting with a '#' which can be omitted. They are only there to explain what is going on.
<pre class="bash">
&#36; cd &#36;HOME
&#36; # creat the Apps directory if not already present
&#36; mkdir Apps
&#36; cd Apps
&#36; cd &#36;HOME/Applications
&#36; git clone http://root.cern.ch/git/root.git
&#36; cd root
&#36; git tag -l
&#36; # git tag -l will list all available tags. In the next command choose the tag v5-34-xx
&#36; # where xx is the highest listed number, e.g. v5-34-32
&#36; git checkout -b v5-34-32 v5-34-32
&#36; # git tag -l will list all available tags. In the next command choose the tag v6-10-02
&#36; # where xx is the highest listed number, e.g. v6-10-02
&#36; git checkout -b v6-10-06 v6-10-02
&#36; # now ROOT is ready to be configured. Below you will find the minimal ROOT configuration needed.
&#36; ./configure --gminimal --enable-asimage --enable-mathmore --enable-minuit2 --enable-xml
&#36; # the out-of-source approach will be followed
&#36; mkdir root&#95;build
&#36; cd root&#95;build
&#36; cmake ../ -Dgminimal&#61;ON -Dasimage&#61;ON -Dmathmore&#61;ON -Dminuit2&#61;ON -Dxml&#61;ON -DCMAKE&#95;INSTALL&#95;PREFIX&#61;&#36;HOME/Applications/root/root&#95;exec
&#36; # next will be the make. If running on a multicore CPU you can speed up tremendously by calling
&#36; # make with the option -j &#60;number&#62;, where &#60;number&#62; is the number of threads which you want to give,
&#36; # e.g. make -j8
&#36; make
&#36; make install
</pre>
<p></p>
For further details see <a href="http://root.cern.ch/drupal/content/installing-root-source">Installing ROOT from Source</a>.
<p></p>
<h4 id="A_5.2.3.3_Setting_up_Environment_Variables_for_61_61ROOT_61_61_and_61_61musrfit_61_61"> 5.2.3.3 Setting up Environment Variables for <code><b>ROOT</b></code> and <code><b>musrfit</b></code> </h4>
<p></p>
Since Apple in its wisdom decided that programs started from a shell are treated differently than apps if it is coming to system variables, we need to work harder compared to a Linux system.
<p></p>
<strong>For Mac OS X &lt; 10.8:</strong>
<p></p>
In order to finalize the <code>ROOT</code> installation and to prepare already the installation of <code>musrfit</code> and <code>musrgui</code> / <code>musredit</code> this is a good time for setting necessary environment variables for the use in Mac OS X. Put the following lines (without the comments in parentheses and with the paths adjusted to your local installation) into the file <strong>~/.MacOSX/environment.plist</strong> and <span class='foswikiRedFG'>re-login</span>:<br>
In order to finalize the <code>ROOT</code> installation and to prepare already the installation of <code>musrfit</code> and <code>musrgui</code> / <code>musredit</code> this is a good time for setting necessary environment variables for the use in Mac OS X. Here it assumed that you installed ROOT from source. If you downloaded the binary package, you will need to adopt the paths accordingly. Put the following lines (without the comments in parentheses and with the paths adjusted to your local installation) into the file <strong>~/.MacOSX/environment.plist</strong> and <span class='foswikiRedFG'>re-login</span>:<br>
<pre class="html">
&#60;?xml version&#61;&#34;1.0&#34; encoding&#61;&#34;UTF-8&#34;?&#62;
&#60;!DOCTYPE plist PUBLIC &#34;-//Apple//DTD PLIST 1.0//EN&#34; &#34;http://www.apple.com/DTDs/PropertyList-1.0.dtd&#34;&#62;
&#60;plist version&#61;&#34;1.0&#34;&#62;
&#60;dict&#62;
&#60;key&#62;MUSRFITPATH&#60;/key&#62;
&#60;string&#62;&#36;HOME/Apps/root/bin&#60;/string&#62; (where to find the musrfit executables)
&#60;string&#62;&#36;HOME/Applications/root/root&#95;exec/bin&#60;/string&#62; (where to find the musrfit executables)
&#60;key&#62;QTDIR&#60;/key&#62;
&#60;string&#62;/opt/local/lib/qt3mac&#60;/string&#62; (where to find Qt3 (for musrgui) or Qt4 (for musredit))
&#60;string&#62;/sw/lib/qt5-mac&#60;/string&#62; (where to find Qt5)
&#60;key&#62;ROOTSYS&#60;/key&#62;
&#60;string&#62;&#36;HOME/Apps/root&#60;/string&#62; (where to find the ROOT system)
&#60;string&#62;&#36;HOME/Applications/root/root&#95;exec&#60;/string&#62; (where to find the ROOT system)
&#60;/dict&#62;
&#60;/plist&#62;
</pre>
@@ -824,23 +1023,41 @@ In order to finalize the <code>ROOT</code> installation and to prepare already t
<p></p>
One needs to add some system variables in <strong>~/.profile</strong>:
<pre class="bash">
export ROOTSYS&#61;&#36;HOME/Apps/root
launchctl setenv ROOTSYS &#36;ROOTSYS
export ROOTSYS&#61;&#36;HOME/Applications/root/root&#95;exec
export MUSRFITPATH&#61;&#36;ROOTSYS/bin
launchctl setenv MUSRFITPATH &#36;MUSRFITPATH
export QTDIR&#61;/sw/lib/qt5-mac
export PATH&#61;&#36;ROOTSYS/bin:&#36;QTDIR/bin:&#36;PATH
export PKG&#95;CONFIG&#95;PATH&#61;&#36;QTDIR/lib/pkgconfig:&#36;PKG&#95;CONFIG&#95;PATH
export LD&#95;LIBRARY&#95;PATH&#61;&#36;ROOTSYS/lib:&#36;QTDIR/lib:&#36;LD&#95;LIBRARAY&#95;PATH
launchctl setenv ROOTSYS &#36;ROOTSYS
launchctl setenv MUSRFITPATH &#36;MUSRFITPATH
launchctl setenv QTDIR &#36;QTDIR
launchctl setenv PKG&#95;CONFIG&#95;PATH &#36;PKG&#95;CONFIG&#95;PATH
launchctl setenv PATH &#36;PATH
launchctl setenv LD&#95;LIBRARY&#95;PATH &#36;LD&#95;LIBRARY&#95;PATH
</pre>
<h2 id="A_5.3_61_61musrfit_61_61"> 5.3 <code><b>musrfit</b></code> </h2>
First, the most recent source code should be downloaded. First, the most recent source code should be downloaded. The preferred way of doing so is to clone the musrfit repository via git. Assuming the code should be located in ~/Apps/musrfit this is achieved most easily calling from the terminal
<p></p>
After this you will need to `execute' <code>.profile</code> before proceeding:
<p></p>
<pre class="bash">
&#36; cd ~/Apps
&#36; source &#36;HOME/.profile
</pre>
<h2 id="A_5.3_61_61musrfit_61_61"> 5.3 <code><b>musrfit</b></code> </h2>
First, the most recent source code should be downloaded. First, the most recent source code should be downloaded. The preferred way of doing so is to clone the musrfit repository via git. Assuming the code should be located in ~/Applications/musrfit this is achieved most easily calling from the terminal
<p></p>
<pre class="bash">
&#36; cd ~/Applications
&#36; git clone https://bitbucket.org/muonspin/musrfit.git
&#36; # Only if legacy ROOT 5.xx.yy is used include the next line
&#36; cd musrfit; git checkout root5
</pre>
or
<pre class="bash">
&#36; cd ~/Apps
&#36; cd ~/Applications
&#36; git clone git://gitlab.psi.ch/nemu/musrfit.git
&#36; # Only if legacy ROOT 5.xx.yy is used include the next line
&#36; cd musrfit; git checkout root5
</pre>
<p></p>
<p></p>
@@ -849,12 +1066,14 @@ or
<p></p>
If a local repository clone is already present, one can update it using:
<pre class="bash">
&#36; cd ~/Apps/musrfit
&#36; cd ~/Applications/musrfit
&#36; git pull
</pre>
<p></p>
<span class='foswikiRedFG'>As an alternative (if git is not available)</span>, the source code can also be downloaded from the following web-page: <a href="https://bitbucket.org/muonspin/musrfit/downloads">musrfit at bitbucket</a>.
<p></p>
<h3 id="A_5.3.1_61_61musrfit_61_61_build_with_61_61automake_61_61"> 5.3.1 <code><b>musrfit</b></code> build with <code><b>automake</b></code> </h3>
<p></p>
After the source-code extraction the <strong>autogen.sh</strong> script is called to prepare the build environment. If it has been executed successfully the <strong>configure</strong> script should be ready to collect all the information needed to create the Makefiles. <span class='foswikiRedFG'>If <code>musrfit</code> should support <code>NeXus</code> data files this has to be enabled by specifying the <strong>--enable-NeXus</strong> switch when calling <strong>configure</strong>.</span> For an overview of all available options just call <code>./configure --help</code>. Besides the standard options there are a few special options which should be mentioned here:
<p></p> <dl>
<dt> --prefix </dt><dd> Specify the installation prefix, e.g. /opt/root-system (<em>by default: /usr/local</em>)
@@ -867,6 +1086,7 @@ After the source-code extraction the <strong>autogen.sh</strong> script is calle
</dd> <dt> --with-nexus </dt><dd> Set the prefix of the <code>NeXus</code> installation, e.g. /usr/local (<em>only useful in conjunction with the <code>NeXus</code> support</em>)
</dd> <dt> --with-qt3 </dt><dd> Set the prefix of the <code>Qt3</code> installation, e.g. /opt/local/lib/qt-3.3 (<em>only useful in conjunction with building <code>musrgui</code></em>)
</dd> <dt> --with-qt4 </dt><dd> Set the prefix of the <code>Qt4</code> installation, e.g. /opt/local/lib/qt-4.7 (<em>only useful in conjunction with building <code>musredit</code></em>)
</dd> <dt> --with-qt5 </dt><dd> Set the prefix of the <code>Qt5</code> installation, e.g. /opt/local/libexec/qt5 (<em>only useful in conjunction with building <code>musredit</code></em>)
</dd> <dt> --enable-NeXus </dt><dd> Enable the support of <code>NeXus</code> data files (<em>requires the <code>HDF4</code>, <code>HDF5</code> and <code>NeXus</code> libraries to be installed</em>).
</dd> <dt> --disable-editor </dt><dd> Disable the integrated building of <code>musredit</code>/<code>musrgui</code>.
</dd> <dt> --disable-omp </dt><dd> Switches off the <a href="http://en.wikipedia.org/wiki/OpenMP">OpenMP</a> features of <code>musrfit</code> (parallelization of the &chi;<sup>2</sup> calculation when compiled with GCC &ge; 4.2)
@@ -883,11 +1103,47 @@ When the <strong>configure</strong> script has been called successfully everythi
</pre>
In order to finish the installation of <code>musrfit</code> the paths where <code>musrfit</code> searches for data files should be adjusted in the installed <strong>musrfit_startup.xml</strong> ($ROOTSYS/bin/musrfit_startup.xml). For detailed information on this XML file refer to the <a href="MusrFit.html#MusrfitStartupXml">manual</a>.
<p></p>
<h3 id="A_5.3.2_61_61musrfit_61_61_build_with_61_61cmake_61_61"> 5.3.2 <code><b>musrfit</b></code> build with <code><b>cmake</b></code> </h3>
<p></p>
Currently the following configuration switches for <code>musrfit</code> are available:
<p></p> <dl>
<dt> -DCMAKE_INSTALL_PREFIX=&lt;prefix-path&gt; </dt><dd> Specify the installation prefix, i.e. the place where <code>musrfit</code> shall be installed, e.g. $ROOTSYS if already defined (<em>by default: /usr/local</em>)
</dd> <dt> -Dnexus=&lt;value&gt; </dt><dd> enable/disable the support of <code>NeXus</code> data files (<em>requires the <code>HDF4</code>, <code>HDF5</code> and <code>NeXus</code> libraries to be installed</em>). &lt;value&gt;=1 enables <code>NeXus</code>, &lt;value&gt;=0 disables <code>NeXus</code>. The default setting, i.e. the switch is <strong>not</strong> provided is <code>NeXus</code> support is <strong>disabled</strong>.
</dd> <dt> -DASlibs=&lt;value&gt; </dt><dd> enable/disable the <code>ASlibs</code>. &lt;value&gt;=1 enables the <code>ASlibs</code>, &lt;value&gt;=0 disables the <code>ASlibs</code>. The default setting, i.e. the switch is <strong>not</strong> provided is <code>ASlibs</code> support is <strong>disabled</strong>. For details see <a href="index.html">Documentation of user libs</a>.
</dd> <dt> -DBMWlibs=&lt;value&gt; </dt><dd> enable/disable the <code>BMWlibs</code>. &lt;value&gt;=1 enables the <code>BMWlibs</code>, &lt;value&gt;=0 disables the <code>BMWlibs</code>. The default setting, i.e. the switch is <strong>not</strong> provided is <code>BMWlibs</code> support is <strong>disabled</strong>. For details see <a href="index.html">Documentation of user libs</a>.
</dd> <dt> -DBNMRlibs=&lt;value&gt; </dt><dd> enable/disable the <code>BNMRlibs</code>. &lt;value&gt;=1 enables the <code>BNMRlibs</code>, &lt;value&gt;=0 disables the <code>BNMRlibs</code>. The default setting, i.e. the switch is <strong>not</strong> provided is <code>BNMRlibs</code> support is <strong>disabled</strong>.
</dd> <dt> -Dqt_based_tools=&lt;value&gt; </dt><dd> Will try to get musredit, musrWiz, musrStep, and mupp installed, if <code>Qt</code> is found. By default this is <strong>enabled</strong>. Again &lt;value&gt;=0 means disabled, &lt;value&gt;=1 enabled.
</dd> <dt> -Dqt_version=&lt;value&gt; </dt><dd> Allows to specify which <code>Qt</code> version shall be tried. &lt;value&gt; can take the values: <code>AUTO</code>, 3, 4, 5. If the value is set to <code>AUTO</code>, this highest installed version is chosen, otherwise the specified version is used.
</dd> <dt> -Dtry_OpenMP=&lt;value&gt; </dt><dd> Will check if <code>OpenMP</code> support is possible, and if yes use it. The default is <strong>enabled</strong>
</dd></dl>
<p></p>
Normally it should not be necessary to make use of any of the options except for specifying the installation path with <strong>-DCMAKE_INSTALL_PREFIX</strong>. <code>musrfit</code> build with <code>cmake</code> takes the out-of-source approach. Therefore a typical configuration / make / install process including <code>NeXus</code> support would look like
<p></p>
<pre class="bash">
&#36; cd &#36;HOME/Apps/musrfit
&#36; mkdir build
&#36; cd build
&#36; cmake ../ -DCMAKE&#95;INSTALL&#95;PREFIX&#61;&#36;ROOTSYS -Dnexus&#61;1
# below it is assumed that multiple cores are present, hence the -j8 option
&#36; cmake --build ./ --clean-first -- -j8
&#36; make install
&#36; /sbin/ldconfig # (as superuser)
</pre>
<p></p>
<h3 id="A_5.3.3_61_61musrfit_61_61_last_step_of_the_installation"> 5.3.3 <code><b>musrfit</b></code> last step of the installation </h3>
<p></p>
In order to finish the installation of <code>musrfit</code> two more things should be done: <ul>
<li> Define the <strong>MUSRFITPATH</strong> environment variable containing the path to the <code>musrfit</code> executables and XML files. E.g. if the location of the example above is used append the following line to the <strong>~/.bashrc</strong> and <strong>~/.bash_profile</strong> (and then either restart the shell or call the same commands once more from the shell): <pre class="bash">
export MUSRFITPATH&#61;&#36;ROOTSYS/bin
</pre>
</li> <li> Adjust the paths where <code>musrfit</code> will search for data files in the installed <strong>musrfit_startup.xml</strong>. For detailed information on this XML file refer to the <a href="MusrFit.html#MusrfitStartupXml">manual</a>.
</li></ul>
<p></p>
<span id="MusrGuiInstall"></span>
<h2 id="A_5.4_61_61musredit_61_61"> 5.4 <code><b>musredit</b></code> </h2>
<span class='foswikiBlueFG'>In the latest version of <code>musrfit</code> the configure script tries to determine automatically if <code>Qt4.5</code> or higher is set up on the machine. In case this is found, the editor <code>musredit</code> is built already together with <code>musrfit</code>. <em>If not</em>, one can either try to call the configure script with the "--with-qt4" option (<strong>MacPort</strong>: for Mac OS X &lt; 10.11 this is likley <strong>/opt/local/libexec/qt4</strong>, for Mac OS X &gt;= 10.11 this is likely <strong>/usr/local/libexec/qt4</strong>) or install this editor separately:</span>
<span class='foswikiBlueFG'>In the latest version of <code>musrfit</code> the configure script tries to determine automatically highest available Qt version. In case this is found, the editor <code>musredit</code> is built together with <code>musrfit</code>. <em>If not</em>, one can either try to call the configure script with the "--with-qt5" option or install this editor separately:</span>
<pre class="bash">
&#36; cd ~/Apps/musrfit/src/musredit
&#36; cd ~/Applications/musrfit/src/musredit&#95;qt5
&#36; qmake musredit.pro
</pre>
If everything went fine <code>musredit</code> can be compiled and installed:
@@ -900,7 +1156,7 @@ The last command copies <strong>musredit.app</strong> to the standard program di
<h2 id="A_5.5_61_61musrgui_61_61_40obsolete_41"> 5.5 <code><b>musrgui</b></code> (obsolete) </h2>
If <code>Qt3</code> is set up the installation of the <code>musrfit</code> editor can be done as follows from within the shell:
<pre class="bash">
&#36; cd ~/Apps/musrfit/src/musrgui
&#36; cd ~/Applications/musrfit/src/musrgui
&#36; qmake musrgui.pro
&#36; make
&#36; make install
@@ -931,7 +1187,7 @@ Notes
In order to perform a quick test for finding out if the installation has been completed successfully, a few msr files together with the corresponding data files can be found in the <code>musrfit</code> source tree at <strong>doc/examples/</strong>.<br>
If <code>musrgui</code> has been installed, just open one of the <strong>test-&#42;.msr</strong> files in the editor and test the <code>musrfit</code> functionalities. Otherwise, if only the terminal should be used, as an initial test for instance the following could be done:
<pre class="bash">
&#36; cd ~/Apps/musrfit/doc/examples
&#36; cd ~/Applications/musrfit/doc/examples
&#36; musrview test-histo-ROOT-NPP.msr
</pre>
<p></p>
@@ -940,7 +1196,7 @@ If <code>musrgui</code> has been installed, just open one of the <strong>test-&#
<p></p>
</div>
<div class="patternInfo">This topic: MUSR<span class='foswikiSeparator'>&nbsp;&gt;&nbsp;</span><a class="foswikiCurrentWebHomeLink" href="WebHome.html">WebHome</a> &gt; <a href="MusrFit.html">MusrFit</a><span class='foswikiSeparator'>&nbsp;&gt;&nbsp;</span>MusrFitSetup <br />
Topic revision: <span class='patternRevInfo'>25 Aug 2016, <a href="https://intranet.psi.ch/Main/AndreasSuter">AndreasSuter</a></span></div>
Topic revision: <span class='patternRevInfo'>08 Jun 2018, <a href="https://intranet.psi.ch/Main/AndreasSuter">AndreasSuter</a></span></div>
</div>
</div>
</div>
@@ -958,6 +1214,5 @@ Topic revision: <span class='patternRevInfo'>25 Aug 2016, <a href="https://intr
</body>
<!-- Mirrored from intranet.psi.ch/MUSR/MusrFitSetup?cover=print by HTTrack Website Copier/3.x [XR&CO'2010], Fri, 16 Dec 2016 16:01:02 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=utf-8"><!-- /Added by HTTrack -->
<!-- Mirrored from intranet.psi.ch/MUSR/MusrFitSetup?cover=print by HTTrack Website Copier/3.x [XR&CO'2014], Fri, 08 Jun 2018 13:41:56 GMT -->
</html>

View File

@@ -0,0 +1,390 @@
<!DOCTYPE html><html lang="en">
<!-- Mirrored from intranet.psi.ch/MUSR/MusrFitSetupDKS?cover=print by HTTrack Website Copier/3.x [XR&CO'2014], Fri, 08 Jun 2018 13:41:56 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=utf-8" /><!-- /Added by HTTrack -->
<head>
<link rel="stylesheet" href="../pub/System/HeadlinesPlugin/style.css" type="text/css" media="all" />
<title> MUSR :: MusrFitSetupDKS</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1.5, user-scalable=yes" />
<meta name="mobile-web-app-capable" content="yes" />
<meta name="mobile-web-app-status-bar-style" content="black-translucent" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
<link rel="icon" href="../pub/Main/WebPreferences/favicon.ico" type="image/x-icon" />
<link rel="shortcut icon" href="../pub/Main/WebPreferences/favicon.ico" type="image/x-icon" />
<link rel="alternate" href="https://intranet.psi.ch/wiki/bin/edit/MUSR/MusrFitSetupDKS?t=1528465296" type="application/x-wiki" title="edit MusrFitSetupDKS" />
<meta name="TEXT_NUM_TOPICS" content="Number of topics:" />
<meta name="TEXT_MODIFY_SEARCH" content="Modify search" />
<meta name="robots" content="noindex" /><link rel="alternate" type="application/rss+xml" title="RSS Feed" href="WebRss" />
<base /><!--[if IE]></base><![endif]--><link class='head SMILIESPLUGIN' rel='stylesheet' href='../pub/System/SmiliesPlugin/smilies.css' type='text/css' media='all' /><!--SMILIESPLUGIN-->
<link class='head FOOTNOTEPLUGIN_LINKCSS' rel="stylesheet" href="../pub/System/FootNotePlugin/styles.css" type="text/css" media="all" /><!--FOOTNOTEPLUGIN_LINKCSS-->
<link class='head CLASSIFICATIONPLUGIN::CSS' rel="stylesheet" href="../pub/System/ClassificationPlugin/styles.css" media="all" /><!--CLASSIFICATIONPLUGIN::CSS-->
<link class='head JQUERYPLUGIN::COMMENT' rel='stylesheet' href='../pub/System/CommentPlugin/commentf5b6.css?version=3.0' type='text/css' media='all' /><!--JQUERYPLUGIN::COMMENT--><link rel='stylesheet' href='../pub/System/SkinTemplates/base.css' media='all' type='text/css' />
<style type="text/css" media="all">
@import url('../pub/System/PatternSkinTheme/layout.css');
@import url('../pub/System/PatternSkinTheme2009/style.css');
@import url('../pub/System/PatternSkinTheme2009/colors.css');
</style>
<link rel='stylesheet' href='../pub/System/PatternSkinTheme2009/column_left.css' media='all' type='text/css' />
<link rel='stylesheet' href='../pub/System/PatternSkinTheme2009/variant_twiki.css' media='all' type='text/css' /><style type="text/css" media="all">
/* Styles that are set using variables */
.patternBookView .foswikiTopRow,
.patternWebIndicator,
.patternWebIndicator a {
background-color:#D0D0D0;
}
#patternTopBarContents { background-image:url(../pub/System/PatternSkin/header5.gif); background-repeat:repeat-x;}
#patternTopBarContents { background-color:#ffffff;}
.patternBookView {
border-color:#D0D0D0;
}
.patternPreviewPage #patternMain {
/* uncomment to set the preview image */
/*background-image:url("/pub/System/PreviewBackground/preview2bg.gif");*/
}
</style>
<style type="text/css" media="all">
@import url("../pub/System/PsiSkin/psicolors.css");
@import url("../pub/System/PsiSkin/psistyle.css");
.foswikiTopic {overflow: hidden;}
</style>
<link rel='stylesheet' href='../pub/System/PatternSkin/print.css' media='all' type='text/css' />
<!--[if IE 7 ]><style type="text/css" media="screen">
.foswikiAttachments,
.foswikiForm,
.foswikiHelp,
.foswikiPreviewArea,
.patternPreviewPage .foswikiForm,
.patternSigLine,
.patternToolBar,
.patternTop,
.patternTopicAction,
#patternSideBarContents .patternLeftBarPersonal,
#patternSideBarContents h2,
#patternSideBarContents li,
#patternTopBarButtons ul {
height:1%;
}
#patternSideBarContents .patternLeftBarPersonal {
width:100%;
}
.foswikiFormStep {
height:100%;
}
#foswikiLogin {
margin-left: 25%;
margin-right: 25%;
}
#foswikiLogin .foswikiFormSteps {
width:auto;
}
#foswikiLogin input[type="text"],
#foswikiLogin input[type="password"] {
width: auto;
}
.patternShadow {
border:10px solid #fff;
margin-top:10px;
margin-bottom:10px;
border:2px solid #ccc;
}
</style><![endif]-->
<!--[if lte IE 9]>
<![endif]-->
<!--[if gt IE 9]><!-->
<!--<![endif]-->
<!--JQUERYPLUGIN-->
<!--JQUERYPLUGIN::MIGRATE-->
<!--JQUERYPLUGIN::LIVEQUERY-->
<!--JQUERYPLUGIN::FOSWIKI-->
<!--JavascriptFiles/foswikiString-->
<!--JavascriptFiles/foswikiPref-->
<!--JavascriptFiles/foswikiForm-->
<!--PatternSkin/pattern-->
<!--JQUERYPLUGIN::COMMENT-->
<!--JQUERYPLUGIN::FOSWIKI::PREFERENCES-->
<!--JQUERYPLUGIN::METADATA-->
<!--JQUERYPLUGIN::CHILI--><link class='head FOOTNOTEPLUGIN_LINKCSS' rel="stylesheet" href="../pub/System/FootNotePlugin/styles.css" type="text/css" media="all" /><!--FOOTNOTEPLUGIN_LINKCSS-->
</head>
<body class="foswikiNoJs patternViewPage patternPrintPage">
<span id="PageTop"></span><div class="foswikiPage"><div id="patternScreen">
<div id="patternPageShadow">
<div id="patternPage">
<div id="patternOuter" class="clear">
<div id="patternFloatWrap">
<div id="patternMain">
<div id="patternMainContents">
<div class="patternContent"><div class="foswikiTopic"> <h1 id="Setting_up_61musrfit_61_47_61DKS_61:_high_speed_fitting_with_GPU_39s"> Setting up <code>musrfit</code> / <code>DKS</code>: high speed fitting with GPU's </h1>
<p></p>
<div class="foswikiToc" id="foswikiTOC"> <ul>
<li> <a href="MusrFitSetupDKS.html#Setting_up_61musrfit_61_47_61DKS_61:_high_speed_fitting_with_GPU_39s"> Setting up musrfit / DKS: high speed fitting with GPU's </a>
</li> <li> <a href="MusrFitSetupDKS.html#A_1_Setting_up_61_61musrfit_47DKS_61_61_for_a_Tesla_K40c_40NVIDIA_41"> 1 Setting up musrfit/DKS for a Tesla K40c (NVIDIA) </a> <ul>
<li> <a href="MusrFitSetupDKS.html#A_1.1_Driver_Installation_for_the_Tesla_K40c"> 1.1 Driver Installation for the Tesla K40c </a>
</li> <li> <a href="MusrFitSetupDKS.html#A_1.2_Installation_of_CUDA"> 1.2 Installation of CUDA </a>
</li> <li> <a href="MusrFitSetupDKS.html#A_1.3_Installation_of_DKS"> 1.3 Installation of DKS </a>
</li> <li> <a href="MusrFitSetupDKS.html#A_1.4_Installation_of_61musrfit_61_for_DKS"> 1.4 Installation of musrfit for DKS </a> <ul>
<li> <a href="MusrFitSetupDKS.html#A_1.4.1_Install_via_61_61automake_61_61"> 1.4.1 Install via automake </a>
</li> <li> <a href="MusrFitSetupDKS.html#A_1.4.2_Install_via_61_61cmake_61_61"> 1.4.2 Install via cmake </a>
</li></ul>
</li></ul>
</li> <li> <a href="MusrFitSetupDKS.html#A_2_Setting_up_61_61musrfit_47DKS_61_61_for_a_AMD_Graphic_Card_40Radeon_R9_390X_41"> 2 Setting up musrfit/DKS for a AMD Graphic Card (Radeon R9 390X) </a> <ul>
<li> <a href="MusrFitSetupDKS.html#A_2.1_Driver_Installation_for_an_AMD_Graphic_Card_44_e.g._Radeon_R9_390X"> 2.1 Driver Installation for an AMD Graphic Card, e.g. Radeon R9 390X </a>
</li> <li> <a href="MusrFitSetupDKS.html#A_2.2_AMD_APP_Software_Development_Kit_40SDK_41_to_enable_OpenCL_support"> 2.2 AMD APP Software Development Kit (SDK) to enable OpenCL support </a>
</li> <li> <a href="MusrFitSetupDKS.html#A_2.3_Installation_of_DKS_and_61musrfit_61"> 2.3 Installation of DKS and musrfit </a>
</li></ul>
</li> <li> <a href="MusrFitSetupDKS.html#A_3_Setting_up_61_61musrfit_47DKS_61_61_for_macOS_for_OpenCL_support"> 3 Setting up musrfit/DKS for macOS for OpenCL support </a>
</li></ul>
</div>
<p></p>
In the years 2016/2017 we explored ways to speed up current fitting frameworks, especially <code>musrfit</code>. This allows now to analyze histogram sets of high field spectrometers like HAL-9500 at PSI without the error-prone RRF fitting (see U. Locans and A. Suter, " <code>musrfit</code> - Real Time Parameter Fitting Using GPUs", accepted for the proceedings of the muSR2017 conference in Sapporo, and the Memo from A. Suter, "Rotating Reference Frame Fits", in the <code>musrfit</code> source code). At the same time it can help to speed-up elaborate global fits tremendously, and dealing properly with muonium. It also allows Apple Mac users to speed up their fitting code on the CPU. Currently it is not straight forward to get <code>musrfit</code> multi-threaded under macOS since Apple doesn't be default support OpenMP. DKS enables <code>musrfit</code> to utilize OpenCL instead which is present on macOS by default.
<p></p>
<strong>Warning</strong>: before you run into the shop to buy a gamer graphic card or a Tesla card, make sure that you have an appropriate server with a sufficiently strong power supply!
<p></p>
<strong>However, the current <code>musrfit/DKS</code> version doesn't yet support all theory functions on the GPU.</strong> In case the theory function is not yet available for the GPU, <code>musrfit</code> will fall back to the CPU implementation.
<p></p>
Conceptually the setup of <code>musrfit/DKS</code> is as following: <ol>
<li> install the latest hardware driver for your graphic card.
</li> <li> install the GPU SDK which enables number crunching (CUDA for NVIDIA, OpenCL for AMD)
</li> <li> install DKS
</li> <li> install the musrfit version which is DKS ready
</li></ol>
<p></p>
In the following the description for the installation of <code>musrfit/DKS</code> for the following systems will be discussed in some more detail: <ul>
<li> NVIDIA Tesla K40c
</li> <li> AMD Graphic Card (Radeon R9 390X)
</li> <li> macOS in order to get OpenCL support
</li></ul>
<p></p>
The <strong>usage</strong> of <code>musrfit</code> with GPU acceleration and OpenCL support is described in the <a href="MusrFit.html">'User manual of the &#956;SR data analysis software <code>musrfit</code> '</a>. The additional <code>musrfit</code> / DKS commands are labelled in <span class='foswikiMaroonFG'> <strong>MAROON</strong> </span>.
<p></p>
<h1 id="A_1_Setting_up_61_61musrfit_47DKS_61_61_for_a_Tesla_K40c_40NVIDIA_41"> 1 Setting up <code><b>musrfit/DKS</b></code> for a Tesla K40c (NVIDIA) </h1>
<p></p>
It is assumed that the Tesla K40c is already physically installed on your system. For now I only will discuss to set it up for a Linux based system. In order to check that your operating systems see the card, enter the following command in the terminal:
<p></p>
<pre class="bash">
&#36; lspci &#124; grep NVIDIA
</pre>
<p></p>
On the response you should find something like
<p></p>
<pre class="bash">
05:00.0 3D controller: NVIDIA Corporation GK110BGL &#91;Tesla K40c&#93; (rev a1)
</pre>
<p></p>
which means that the OS physically recognises your card.
<p></p>
<h2 id="A_1.1_Driver_Installation_for_the_Tesla_K40c"> 1.1 Driver Installation for the Tesla K40c </h2>
<p></p>
Next, you will need to download and install the driver for your card. Select the proper operating system, card, etc. from the <a href="http://www.nvidia.com/Download/index.aspx?lang=en-us">NVIDIA download center</a>. At PSI we are running currently Red Hat Enterprise Linux 7.x (RHEL) for which we will get a rpm (something like <code>nvidia-diag-driver-local-repo-rhel7-375.66-1.x86_64.rpm</code>). Install it and make sure there is no conflict with the nouveau driver of the system.
<p></p>
<h2 id="A_1.2_Installation_of_CUDA"> 1.2 Installation of CUDA </h2>
<p></p>
Download the <a href="https://developer.nvidia.com/cuda-downloads">CUDA SDK</a> form NVIDIA for your system. Again, for the RHEL 7.x this is an rpm. After the installation of the rpm you should reboot your machine. Afterwards you are ready for the installation of DKS.
<p></p>
<span id="DksInstall"></span>
<h2 id="A_1.3_Installation_of_DKS"> 1.3 Installation of DKS </h2>
<p></p>
For the following list of commands the '$' will be given as the command prompt. Do not enter it! Also some comments will be added starting with a '#' which can be omitted. They are only there to explain what is going on.
<code>DKS</code> stands for Dynamical Kernel Scheduler and provides a thin interface allowing host applications to incorporate GPU's and other hardware accelerators.
<p></p>
Details can be found in the papers listed <a href="CiteMusrFit.html">here</a>, or on the <a href="https://gitlab.psi.ch/uldis_l/DKS/wikis/home">DKS wiki page</a>.
<p></p>
In brief the installation should be something like this:<pre class="bash">
# go to whatever directory you would like to clone/install DKS
# For macOS DKS will likely to got to &#36;HOME/Applications to be consistent with the musrfit docu for macOS
&#36; cd &#36;HOME/Apps
&#36; git clone https://gitlab.psi.ch/uldis&#95;l/DKS.git
&#36; cd DKS
&#36; mkdir build
&#36; cd build
&#36; cmake ../ -DENABLE&#95;MUSR&#61;1 -DCMAKE&#95;INSTALL&#95;PREFIX&#61;../exec
&#36; cmake --build ./ --clean-first
&#36; make install
</pre>
<p></p>
Since <code>DKS</code> is installed in a non-standard path, a couple of additional small steps are required. This will be different for Linux compared to macOS.
<p></p>
For <strong>Linux</strong>:
<p></p>
add the <code>DKS</code> library path to <code>/etc/ld.so.conf.d/musrfit-x86_64.conf</code> and execute as super user
<p></p>
<pre class="bash">
&#36; /sbin/ldconfig
</pre>
<p></p>
For <strong>macOS</strong>:
<p></p>
add the <code>DKS</code> path to <code>$HOME/.profile</code>:
<p></p>
<pre class="bash">
export DKS&#61;&#36;HOME/Applications/DKS/exec
export LD&#95;LIBRARY&#95;PATH&#61;&#36;DKS/lib:&#36;LD&#95;LIBRARY&#95;PATH
launchctl setenv DKS &#36;DKS
launchctl setenv LD&#95;LIBRARY&#95;PATH &#36;LD&#95;LIBRARY&#95;PATH
</pre>
<p></p>
<h2 id="A_1.4_Installation_of_61musrfit_61_for_DKS"> 1.4 Installation of <code>musrfit</code> for DKS </h2>
<p></p>
Most of the installation steps are the same as described for <a href="MusrFitSetup.html"><code>musrfit</code></a> without GPU support.
Here only the differences are explained. First checkout <code>musrfit</code>, then you will need to switch the working branch which is done by<pre class="bash">
&#36; cd &#36;HOME/Apps/musrfit
&#36; git checkout dks6
</pre>
<p></p>
<h3 id="A_1.4.1_Install_via_61_61automake_61_61"> 1.4.1 Install via <code><b>automake</b></code> </h3>
<p></p>
The configure script for <code>musrfit</code> has now a couple of more tags/options, which are: <dl>
<dt> <code><b>--enable-dks</b></code> </dt><dd> by default this is set to <code><b>no</b></code>, hence if you want to have GPU support you need to enable it.
</dd> <dt> <code><b>--with-cuda</b></code> </dt><dd> with this tag you tell the configure script where it can find CUDA
</dd> <dt> <code><b>--with-opencl</b></code> </dt><dd> with this tag you tell the configure script where it can find OpenCL
</dd> <dt> <code><b>--with-dks</b></code> </dt><dd> with this tag you tell the configure script where it can find <code>DKS</code>
</dd></dl>
<p></p>
For a typical setup on a RHEL system it could look like this
<pre class="bash">
&#36; ./configure --enable-ASlibs --enable-BMWlibs --enable-NeXus --with-dks&#61;&#36;HOME/Apps/DKS/exec --enable-dks --prefix&#61;&#36;ROOTSYS
</pre>
whereas for macOS it would typically look like this
<pre class="bash">
&#36; ./configure --enable-ASlibs --enable-BMWlibs --enable-NeXus --with-dks&#61;&#36;HOME/Applications/DKS/exec --enable-dks --prefix&#61;&#36;ROOTSYS
</pre>
After
<pre class="bash">
&#36; make
&#36; make install
</pre>
and updating the shared library lookup table (only needed for Linux)
<pre class="bash">
/sbin/ldconfig # as superuser / root
</pre>
you are done with the setup.
<p></p>
<h3 id="A_1.4.2_Install_via_61_61cmake_61_61"> 1.4.2 Install via <code><b>cmake</b></code> </h3>
<p></p>
There is on more configuration switch
<p></p> <dl>
<dt> <code>-Ddks=&lt;value&gt; </dt><dd> it allows to enable/disable =DKS</code> support. The default is &lt;value&gt;=1, i.e. <strong>enabled</strong>. To disable use &lt;value&gt;=0.
</dd></dl>
<p></p>
For a typical setup on a RHEL system it could look like this
<pre class="bash">
&#36; cmake ../ -DCMAKE&#95;INSTALL&#95;PREFIX&#61;&#36;ROOTSYS -DASlibs&#61;1 -DBMWlibs&#61;1 -Dnexus&#61;1
</pre>
whereas for macOS it would typically look like this
<pre class="bash">
&#36; cmake ../ -DCMAKE&#95;INSTALL&#95;PREFIX&#61;&#36;ROOTSYS -DASlibs&#61;1 -DBMWlibs&#61;1 -Dnexus&#61;1
</pre>
<p></p>
After
<pre class="bash">
&#36; cmake --build ./ --clean-first
&#36; make install
</pre>
and updating the shared library lookup table (only needed for Linux)
<pre class="bash">
/sbin/ldconfig # as superuser / root
</pre>
you are done with the setup.
<p></p>
<h1 id="A_2_Setting_up_61_61musrfit_47DKS_61_61_for_a_AMD_Graphic_Card_40Radeon_R9_390X_41"> 2 Setting up <code><b>musrfit/DKS</b></code> for a AMD Graphic Card (Radeon R9 390X) </h1>
<p></p>
<h2 id="A_2.1_Driver_Installation_for_an_AMD_Graphic_Card_44_e.g._Radeon_R9_390X"> 2.1 Driver Installation for an AMD Graphic Card, e.g. Radeon R9 390X </h2>
<p></p>
This will depend slightly on the AMD Card and operating system. Here I will summaries how it was done on a RHEL (Linux) system using a Radeon R9 390X.
<p></p>
It is assumed that the Radeon R9 390X is already physically installed on your system. For now I only will discuss to set it up for a Linux based system. In order to check that your operating systems see the card, enter the following command in the terminal:
<p></p>
<pre class="bash">
&#36; lspci &#124; grep NVIDIA
</pre>
<p></p>
On the response you should find something like
<pre class="bash">
84:00.0 VGA compatible controller: Advanced Micro Devices, Inc. &#91;AMD/ATI&#93; Hawaii XT / Grenada XT &#91;Radeon R9 290X/390X&#93; (rev 80)
</pre>
which means that the OS physically recognises your card.
<p></p>
For RHEL7.x the AMDGPU-PRO driver should be used. It can be downloaded from <a href="http://support.amd.com/en-us/kb-articles/Pages/AMDGPU-PRO-RedHat-Install.aspx">here</a>.
Unpack the driver
<pre class="bash">
&#36; tar -Jxvf amdgpu-pro-17.10-414273.tar.xz
&#36; cd amdgpu-pro-17.10-414273
</pre>
<p></p>
Install the driver as root
<pre class="bash">
&#36; ./amdgpu-pro-install --compute -y
</pre>
<p></p>
Here I assume that the AMD graphic card is only used for computation. You need to add the following command in order that the user 'blabla' (chance this to the appropriate user name) can access the GPU (otherwise only root works):
<pre class="bash">
&#36; /sbin/usermod -a -G video blabla
</pre>
<p></p>
Reboot the machine.
<p></p>
<h2 id="A_2.2_AMD_APP_Software_Development_Kit_40SDK_41_to_enable_OpenCL_support"> 2.2 AMD APP Software Development Kit (SDK) to enable OpenCL support </h2>
<p></p>
The AMD APP Software Development Kit (SDK) is a complete development platform created by AMD to allow you to quickly and easily develop applications accelerated by AMD APP technology. The SDK provides samples, documentation, and other materials to quickly get you started leveraging accelerated compute using OpenCL or <code>C++ AMP</code> in your <code>C/C++</code> applications.
<p></p>
Download the AMD APP SDK 3.0 from <a href="http://developer.amd.com/tools-and-sdks/opencl-zone/amd-accelerated-parallel-processing-app-sdk/">here</a>.
<p></p>
Extract the installer
<pre class="bash">
&#36; tar -xvjf AMD-APP-SDKInstaller-v3.0.130.136-GA-linux64.tar.bz2
</pre>
<p></p>
Run the installer
<pre class="bash">
&#36; ./AMD-APP-SDK-v3.0.130.136-GA-linux64.sh
</pre>
<p></p>
This will install the AMD APP SDK to /opt/AMDAPPSDK-3.0/ where you can find the OpenCL include and library files, as well as documentation and sample code.
The install guide for AMD OpenCL SDK can be found <a href="http://developer.amd.com/wordpress/media/2012/10/AMD_APP_SDK_InstallationNotes.pdf">here</a>.
<p></p>
<h2 id="A_2.3_Installation_of_DKS_and_61musrfit_61"> 2.3 Installation of DKS and <code>musrfit</code> </h2>
<p></p>
To install DKS and <code>musrfit</code> follow the instructions <a class="foswikiCurrentTopicLink" href="#DksInstall">here</a>.
<p></p>
<h1 id="A_3_Setting_up_61_61musrfit_47DKS_61_61_for_macOS_for_OpenCL_support"> 3 Setting up <code><b>musrfit/DKS</b></code> for macOS for OpenCL support </h1>
<p></p>
Since Apple is not providing an out-of-the-box OpenMP support on their macOS compiler framework (Xcode), typically <code>musrfit</code> is just running single threaded. Here DKS can help since it delivers OpenCL support which is present on macOS. Hence, if you would like to run <code>musrfit</code> multi-threaded the easiest way is to use DKS.
<p></p>
Since there is no graphic card involved, you do not need any graphic card driver of additional SDK. The only thing you need DKS and the proper <code>musrfit</code> version.
<p></p>
The installation instruction for DKS / <code>musrfit</code> can be found <a class="foswikiCurrentTopicLink" href="#DksInstall">here</a>.
<p></p>
-- <a href="https://intranet.psi.ch/Main/AndreasSuter">AndreasSuter</a> - June 8, 2018</div>
<p></p>
<p></p>
</div>
<div class="patternInfo">This topic: MUSR<span class='foswikiSeparator'>&nbsp;&gt;&nbsp;</span><a class="foswikiCurrentWebHomeLink" href="WebHome.html">WebHome</a><span class='foswikiSeparator'>&nbsp;&gt;&nbsp;</span>MusrFitSetupDKS <br />
Topic revision: <span class='patternRevInfo'>08 Jun 2018, <a href="https://intranet.psi.ch/Main/AndreasSuter">AndreasSuter</a></span></div>
</div>
</div>
</div>
</div><div id="patternBottomBar"><div id="patternBottomBarContents"><div id="patternWebBottomBar"><span class="foswikiRight"> <a href="http://foswiki.org/"><img src="../pub/System/ProjectLogos/foswiki-badge.png" alt="This site is powered by Foswiki" title="This site is powered by Foswiki" /></a></span>Copyright &copy; by the contributing authors. All material on this collaboration platform is the property of the contributing authors. <br /> Ideas, requests, problems regarding PSI Wiki? <a href='mailto:thomas.buecklers@psi.ch?subject=PSI Wiki %20Feedback%20on%20MUSR.MusrFitSetupDKS'>Send feedback</a></div></div></div>
</div>
</div>
</div>
</div></div><!-- /endWrap -->
<p></p>
<!-- Piwik -->
<noscript><p><img src="../piwik/piwikf832.gif?idsite=7" style="border:0" alt=""></p></noscript>
<!-- End Piwik Tag -->
</body>
<!-- Mirrored from intranet.psi.ch/MUSR/MusrFitSetupDKS?cover=print by HTTrack Website Copier/3.x [XR&CO'2014], Fri, 08 Jun 2018 13:41:56 GMT -->
</html>

View File

@@ -1,7 +1,7 @@
<!DOCTYPE html><html lang="en">
<!-- Mirrored from intranet.psi.ch/MUSR/MusrGui?cover=print by HTTrack Website Copier/3.x [XR&CO'2010], Fri, 16 Dec 2016 16:00:59 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=utf-8"><!-- /Added by HTTrack -->
<!-- Mirrored from intranet.psi.ch/MUSR/MusrGui?cover=print by HTTrack Website Copier/3.x [XR&CO'2014], Fri, 08 Jun 2018 13:41:51 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=utf-8" /><!-- /Added by HTTrack -->
<head>
<link rel="stylesheet" href="../pub/System/HeadlinesPlugin/style.css" type="text/css" media="all" />
<title> MUSR :: MusrGui</title>
@@ -14,15 +14,11 @@
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
<link rel="icon" href="../pub/Main/WebPreferences/favicon.ico" type="image/x-icon" />
<link rel="shortcut icon" href="../pub/Main/WebPreferences/favicon.ico" type="image/x-icon" />
<link rel="alternate" href="https://intranet.psi.ch/wiki/bin/edit/MUSR/MusrGui?t=1481904043" type="application/x-wiki" title="edit MusrGui" />
<link rel="alternate" href="https://intranet.psi.ch/wiki/bin/edit/MUSR/MusrGui?t=1528465296" type="application/x-wiki" title="edit MusrGui" />
<meta name="TEXT_NUM_TOPICS" content="Number of topics:" />
<meta name="TEXT_MODIFY_SEARCH" content="Modify search" />
<meta name="robots" content="noindex" /><link rel="alternate" type="application/rss+xml" title="RSS Feed" href="WebRsshtml.html" />
<base /><!--[if IE]></base><![endif]--><link class='head CLASSIFICATIONPLUGIN::CSS' rel="stylesheet" href="../pub/System/ClassificationPlugin/styles.css" media="all" /><!--CLASSIFICATIONPLUGIN::CSS-->
<link class='head SMILIESPLUGIN' rel='stylesheet' href='../pub/System/SmiliesPlugin/smilies.css' type='text/css' media='all' /><!--SMILIESPLUGIN-->
<link class='head FOOTNOTEPLUGIN_LINKCSS' rel="stylesheet" href="../pub/System/FootNotePlugin/styles.css" type="text/css" media="all" /><!--FOOTNOTEPLUGIN_LINKCSS-->
<link class='head JQUERYPLUGIN::COMMENT' rel='stylesheet' href='../pub/System/CommentPlugin/commentf5b6.css?version=3.0' type='text/css' media='all' /><!--JQUERYPLUGIN::COMMENT-->
<style class='head TABLEPLUGIN_default' type="text/css" media="all">
<meta name="robots" content="noindex" /><link rel="alternate" type="application/rss+xml" title="RSS Feed" href="WebRss" />
<base /><!--[if IE]></base><![endif]--><style class='head TABLEPLUGIN_default' type="text/css" media="all">
body .foswikiTable {border-width:1px}
body .foswikiTable .tableSortIcon img {padding-left:.3em; vertical-align:text-bottom}
body .foswikiTable td {border-style:solid none; vertical-align:top}
@@ -36,6 +32,11 @@ body .foswikiTable tr.foswikiTableRowdataBg0 td.foswikiSortedCol {background-col
body .foswikiTable tr.foswikiTableRowdataBg1 td {background-color:#f7f7f6}
body .foswikiTable tr.foswikiTableRowdataBg1 td.foswikiSortedCol {background-color:#f0f0ee}
</style><!--TABLEPLUGIN_default-->
<link class='head JQUERYPLUGIN::TWISTY' rel='stylesheet' href='../pub/System/TwistyPlugin/twisty327a.css?version=1.6.0' type='text/css' media='all' /><!--JQUERYPLUGIN::TWISTY: requires= missing ids: JavascriptFiles/foswikiPref-->
<link class='head SMILIESPLUGIN' rel='stylesheet' href='../pub/System/SmiliesPlugin/smilies.css' type='text/css' media='all' /><!--SMILIESPLUGIN-->
<link class='head FOOTNOTEPLUGIN_LINKCSS' rel="stylesheet" href="../pub/System/FootNotePlugin/styles.css" type="text/css" media="all" /><!--FOOTNOTEPLUGIN_LINKCSS-->
<link class='head CLASSIFICATIONPLUGIN::CSS' rel="stylesheet" href="../pub/System/ClassificationPlugin/styles.css" media="all" /><!--CLASSIFICATIONPLUGIN::CSS-->
<link class='head JQUERYPLUGIN::COMMENT' rel='stylesheet' href='../pub/System/CommentPlugin/commentf5b6.css?version=3.0' type='text/css' media='all' /><!--JQUERYPLUGIN::COMMENT-->
<style class='head TABLEPLUGIN_specific' type="text/css" media="all">
body .foswikiTable#tableMusrGui1 td {vertical-align:middle; vertical-align:top}
body .foswikiTable#tableMusrGui1 td.foswikiTableCol0 {text-align:left}
@@ -53,9 +54,7 @@ body .foswikiTable#tableMusrGui1 th a:hover {color:#0066cc; background-color:#ff
body .foswikiTable#tableMusrGui1 th.foswikiSortedCol {background-color:#eeeeee}
body .foswikiTable#tableMusrGui1 tr.foswikiTableRowdataBg0 td {background-color:#ffffff}
body .foswikiTable#tableMusrGui1 tr.foswikiTableRowdataBg0 td.foswikiSortedCol {background-color:#f5f5f5}
</style><!--TABLEPLUGIN_specific-->
<link class='head JQUERYPLUGIN::TWISTY' rel='stylesheet' href='../pub/System/TwistyPlugin/twisty327a.css?version=1.6.0' type='text/css' media='all' /><!--JQUERYPLUGIN::TWISTY: requires= missing ids: JavascriptFiles/foswikiPref-->
<link class='head IMAGEPLUGIN' rel="stylesheet" href="../pub/System/ImagePlugin/style.css" type="text/css" media="all" /><!--IMAGEPLUGIN--><link rel='stylesheet' href='../pub/System/SkinTemplates/base.css' media='all' type='text/css' />
</style><!--TABLEPLUGIN_specific--><link rel='stylesheet' href='../pub/System/SkinTemplates/base.css' media='all' type='text/css' />
<style type="text/css" media="all">
@import url('../pub/System/PatternSkinTheme/layout.css');
@import url('../pub/System/PatternSkinTheme2009/style.css');
@@ -136,18 +135,18 @@ body .foswikiTable#tableMusrGui1 tr.foswikiTableRowdataBg0 td.foswikiSortedCol {
<!--<![endif]-->
<!--JQUERYPLUGIN-->
<!--JQUERYPLUGIN::MIGRATE-->
<!--JQUERYPLUGIN::LIVEQUERY-->
<!--JQUERYPLUGIN::FOSWIKI-->
<!--JQUERYPLUGIN::LIVEQUERY-->
<!--JavascriptFiles/foswikiString-->
<!--JavascriptFiles/foswikiPref-->
<!--JavascriptFiles/foswikiForm-->
<!--PatternSkin/pattern-->
<!--JQUERYPLUGIN::TWISTY-->
<!--JQUERYPLUGIN::METADATA-->
<!--JQUERYPLUGIN::CHILI-->
<!--JQUERYPLUGIN::FOSWIKI::PREFERENCES-->
<!--JQUERYPLUGIN::TWISTY-->
<!--JQUERYPLUGIN::COMMENT--><link class='head FOOTNOTEPLUGIN_LINKCSS' rel="stylesheet" href="../pub/System/FootNotePlugin/styles.css" type="text/css" media="all" /><!--FOOTNOTEPLUGIN_LINKCSS-->
<!--JQUERYPLUGIN::COMMENT-->
<!--JQUERYPLUGIN::FOSWIKI::PREFERENCES--><link class='head FOOTNOTEPLUGIN_LINKCSS' rel="stylesheet" href="../pub/System/FootNotePlugin/styles.css" type="text/css" media="all" /><!--FOOTNOTEPLUGIN_LINKCSS-->
</head>
<body class="foswikiNoJs patternViewPage patternPrintPage">
<span id="PageTop"></span><div class="foswikiPage"><div id="patternScreen">
@@ -158,7 +157,7 @@ body .foswikiTable#tableMusrGui1 tr.foswikiTableRowdataBg0 td.foswikiSortedCol {
<div id="patternMain">
<div id="patternMainContents">
<div class="patternContent"><div class="foswikiTopic">
<h1 id="A_61_61musredit_47_40musrgui_41_61_61"> <code><b>musredit / (musrgui)</b></code> </h1>
<h1 id="A_61_61musredit_47_40musrgui_41_61_61"> <code><b>musredit / (musrgui)</b></code> </h1>
<p></p>
<div class="foswikiToc" id="foswikiTOC"> <ul>
<li> <a href="MusrGui.html#A_61_61musredit_47_40musrgui_41_61_61"> musredit / (musrgui) </a>
@@ -168,14 +167,23 @@ body .foswikiTable#tableMusrGui1 tr.foswikiTableRowdataBg0 td.foswikiSortedCol {
</li> <li> <a href="MusrGui.html#A_2.2_musredit_startup.xml_47_musrgui_startup.xml"> 2.2 musredit_startup.xml / musrgui_startup.xml </a>
</li></ul>
</li> <li> <a href="MusrGui.html#A_3_61_61musrfit_61_61_Features"> 3 musrfit Features </a>
</li> <li> <a href="MusrGui.html#A_4_Editor_Features"> 4 Editor Features </a>
</li> <li> <a href="MusrGui.html#A_5_Bugtracking"> 5 Bugtracking </a>
</li> <li> <a href="MusrGui.html#A_4_musrWiz"> 4 musrWiz </a> <ul>
<li> <a href="MusrGui.html#A_4.1_musrWiz_45_Introduction"> 4.1 musrWiz - Introduction </a>
</li> <li> <a href="MusrGui.html#A_4.2_musrWiz_45_Theory"> 4.2 musrWiz - Theory </a>
</li> <li> <a href="MusrGui.html#A_4.3_musrWiz_45_Functions"> 4.3 musrWiz - Functions </a>
</li> <li> <a href="MusrGui.html#A_4.4_musrWiz_45_Maps"> 4.4 musrWiz - Maps </a>
</li> <li> <a href="MusrGui.html#A_4.5_musrWiz_45_Fit_Parameters"> 4.5 musrWiz - Fit Parameters </a>
</li> <li> <a href="MusrGui.html#A_4.6_musrWiz_45_Fit_Info"> 4.6 musrWiz - Fit Info </a>
</li> <li> <a href="MusrGui.html#A_4.7_musrWiz_45_Create"> 4.7 musrWiz - Create </a>
</li></ul>
</li> <li> <a href="MusrGui.html#A_5_musrStep"> 5 musrStep </a>
</li> <li> <a href="MusrGui.html#A_6_Bugtracking"> 6 Bugtracking </a>
</li></ul>
</div>
<p></p>
<h1 id="A_1_Introduction"> 1 Introduction </h1>
<code>musredit</code> and <code>musrgui</code> are editors which also provide a graphical user interface to the programs contained in the <code><a href="MusrFit.html">musrfit</a></code> suite and are intended to help the user handle <code>musrfit</code> msr files. They are implemented in <code>C++</code> and use the <a href="http://qt.nokia.com/">Qt</a> framework. Principally, <code>musrgui</code> and <code>musredit</code> are doing the same, but are based on different Qt versions. <code>musrgui</code> is based on Qt 3.x and will only be maintained on bug-fixing level since the Qt 3.x licensing is less straight forward than the Qt 4.x one. <code>musredit</code> is based on Qt 4.6 (or above) and this is the program which will be developed further.<br>
On this documentation page only the features related to <code>musrfit</code> are described&mdash;the basic editor functions which should be self-explanatory are not.
<code>musredit</code> and <code>musrgui</code> are editors which also provide a graphical user interface to the programs contained in the <code><a href="MusrFit.html">musrfit</a></code> suite and are intended to help the user handle <code>musrfit</code> msr files. They are implemented in <code>C++</code> and use the <a href="http://qt.nokia.com/">Qt</a> framework. Principally, <code>musrgui</code> and <code>musredit</code> are doing the same, but are based on different Qt versions. <code>musrgui</code> is based on Qt 3.x and will only be maintained on bug-fixing level since the Qt 3.x licensing is less straight forward than the Qt 4.x one. <code>musredit</code> is based on Qt 4.6 or Qt 5.6 (or above). The Qt 5.6 version of <code>musredit</code> will be actively developed, whereas the Qt 4.x version will only get bug fixing and eventually will be droped.<br>
On this documentation page only the features related to <code>musrfit</code> are described&mdash;the basic editor functions which should be self-explanatory are not.<br>
<strong><span class='foswikiRedFG'>Before going on using <code>musrgui</code> / <code>musredit</code> it is strongly recommended to read the <a href="MusrFit.html">manual</a> of <code>musrfit</code> first!</span></strong>
<p></p>
<h1 id="A_2_Available_Executables_44_Configuration_Files_and_their_Basic_Usage"> 2 Available Executables, Configuration Files and their Basic Usage </h1>
@@ -196,9 +204,16 @@ If called without any parameters an empty editor window opens.
In this file the following XML tags are allowed to define settings and might proof useful for all users of <code>musredit</code> / <code>musrgui</code>: <dl>
<dt> &lt;general&gt;&lt;/general&gt; </dt><dd> set the default paths to executables and files in this environment <dl>
<dt> &lt;exec_path&gt;PATH_TO_EXEC&lt;/exec_path&gt; </dt><dd> set the path <strong>PATH_TO_EXEC</strong> where the executables <code>musrfit</code>, <code>musrview</code>, <code>musrt0</code>, etc. can be found (inside the &lt;general&gt; environment)
</dd> <dt> &lt;default_save_path&gt;SAV_PATH&lt;/default_save_path&gt; </dt><dd> specify the path <strong>SAV_PATH</strong> where <code>musrgui</code> / <code>musredit</code> point by default when opening and saving msr files (inside the &lt;general&gt; environment)
</dd> <dt> &lt;default_save_path&gt;SAV_PATH&lt;/default_save_path&gt; </dt><dd> specify the path <strong>SAV_PATH</strong> where <code>musrgui</code> / <code>musredit</code> point by default when opening and saving msr files (inside the &lt;general&gt; environment). Default is the current directory.
</dd> <dt> &lt;msr_default_file_path&gt;MSR_DEF_PATH&lt;/msr_default_file_path&gt; </dt><dd> set the path <strong>MSR_DEF_PATH</strong> where the <a class="foswikiCurrentTopicLink" href="#MusrfitFeatures">default msr files provided by</a> <code>musrgui</code> are stored (inside the &lt;general&gt; environment)
</dd> <dt> &lt;timeout&gt;3600&lt;/timeout&gt; </dt><dd> timeout in seconds after which musrview canvas will automatically quit. A value of 0 or a negative number will keep the musrview canvas open without self-determination.
</dd> <dt> &lt;keep_minuit2_output&gt;y/n&lt;/keep_minuit2_output&gt; </dt><dd> flag indicating if the <code>MINUIT2</code> output shall be kept per msr-file ('y') or only for the current msr-file ('n').
</dd> <dt> &lt;dump_ascii&gt;y/n&lt;/dump_ascii&gt; </dt><dd> flag indicating if musrfit shall dump fit data into ascii format. See help of musrfit.
</dd> <dt> &lt;dump_root&gt;y/n&lt;/dump_root&gt; </dt><dd> flag indicating if musrfit shall dump fit data into root format. See help of musrfit.
</dd> <dt> &lt;title_from_data_file&gt;y/n&lt;/title_from_data_file&gt; </dt><dd> specify if <code>musrfit</code> should be called with the <a href="MusrFit.html#MusrFit">-t option</a> by default (inside the &lt;general&gt; environment)
</dd> <dt> &lt;chisq_pre_run_block&gt;y/n&lt;/chisq_pre_run_block&gt; </dt><dd> flag indicating if per-run chisq shall be written into the msr-output-file. $ &lt;estimate_n0&gt;y/n&lt;/estimate_n0&gt; flag indicating if for a single histogram fit N0 shall be estimated before the fit procedure starts.
</dd> <dt> &lt;musrview_show_fourier&gt;y/n&lt;/musrview_show_fourier&gt; </dt><dd> flag indicating if musrview will directly present the Fourier transform rather than the time domain data.
</dd> <dt> &lt;musrview_show_avg&gt;y/n&lt;/musrview_show_avg&gt; </dt><dd> flag indicating if musrview will directly present averaged data, typically used for Fourier power spectra.
</dd> <dt> &lt;enable_musrt0&gt;y/n&lt;/enable_musrt0&gt; </dt><dd> specify if <code><a href="MusrFit.html#MusrT0">musrt0</a></code> can be called from within <code>musrgui</code> / <code>musredit</code> (inside the &lt;general&gt; environment)
</dd></dl>
</dd> <dt> &lt;font_settings&gt;&lt;/font_settings&gt; </dt><dd> set the default font in this environment <dl>
@@ -308,45 +323,167 @@ An example of the <code><b>musrgui_startup.xml</b></code> looks like:
<p></p>
<span id="MusrfitFeatures"></span>
<h1 id="A_3_61_61musrfit_61_61_Features"> 3 <code><b>musrfit</b></code> Features </h1>
The features of <code>musrfit</code> which can be accessed by the graphical front ends <code>musrgui</code> / <code>musredit</code> are described in the following. All functions can either be called by choosing them from the MusrFit menu, by clicking the respective button in the MusrFit bar, or by using a keyboard shortcut.
The features of <code>musrfit</code> which can be accessed by the graphical front ends <code>musredit</code> / (<code>musrgui</code>) are described in the following. All functions can either be called by choosing them from the MusrFit menu, by clicking the respective button in the MusrFit bar, or by using a keyboard shortcut.
<p></p>
$ <img alt="musrasym.png" src="../pub/MUSR/MusrGui/musrasym.png" /> Asymmetry Default (Alt+a): Generate a full msr file suitable for the <a href="MusrFit.html#FitTypes">fit type</a> <strong>2</strong> of <code>musrfit</code> from defaults. Calling this function opens a window where the relative path and file name to a data file as well as the file format that should be used have to be specified. For instance if the data file <code><b>/path-to-datadir/2007/lem07_his_8472.root</b></code> should be used and <code><b>/path-to-datadir</b></code> is on the path where <code>musrfit</code> <a href="MusrFit.html#PathToDataFiles">looks for data files</a> then the file name would be <code><b>2007/lem07_his_8472</b></code> and the file format either <strong>ROOT-NPP</strong> or <strong>ROOT-PPC</strong>.
<img alt="musrWiz-32x32.png" src="../pub/MUSR/MusrGui/musrWiz-32x32.png" /> musrWiz is a helper programs which allows to create a msr-file from scratch without too much a priori knowledge. For details see <a class="foswikiCurrentTopicLink" href="#MusrWiz">musrWiz</a>.
<p></p>
$ <img alt="musrsinglehisto.png" src="../pub/MUSR/MusrGui/musrsinglehisto.png" /> Single-Histogram Default (Alt+h): Generate a full msr file suitable for the <a href="MusrFit.html#FitTypes">fit type</a> <strong>0</strong> of <code>musrfit</code> from defaults. Calling this function opens a window where the relative path and file name to a data file as well as the file format that should be used have to be specified. For instance if the data file <code><b>/path-to-datadir/d2007/deltat_pta_gps_8472.bin</b></code> should be used and <code><b>/path-to-datadir</b></code> is on the path where <code>musrfit</code> <a href="MusrFit.html#PathToDataFiles">looks for data files</a> then the file name would be <code><b>d2007/deltat_pta_gps_8472</b></code> and the file format <strong>PSI-BIN</strong>.
<img alt="musrchisq-plain.png" src="../pub/MUSR/MusrGui/musrchisq-plain.png" /> Calculate Chisq (Alt+c): <pre class="bash">musrfit &#60;msr&#95;file&#62; --chisq-only</pre> is called for the <strong>&lt;msr_file&gt;</strong> selected in the editor. For further information refer to the <a href="MusrFit.html#MusrFit">manual</a> of <code>musrfit</code>.
<p></p>
$ <img alt="musrcalcchisq.png" src="../pub/MUSR/MusrGui/musrcalcchisq.png" /> Calculate Chisq (Alt+c): <pre class="bash">musrfit &#60;msr&#95;file&#62; --chisq-only</pre> is called for the <strong>&lt;msr_file&gt;</strong> selected in the editor. For further information refer to the <a href="MusrFit.html#MusrFit">manual</a> of <code>musrfit</code>.
<img alt="musrfit-plain.png" src="../pub/MUSR/MusrGui/musrfit-plain.png" /> Fit (Alt+f): <pre class="bash">musrfit &#60;msr&#95;file&#62; &#91;optional parameters&#93;</pre> is called for the <strong>&lt;msr_file&gt;</strong> selected in the editor. The optional parameters may be chosen under <a class="foswikiCurrentTopicLink" href="#MusrPrefs">Preferences</a>. For further information refer to the <a href="MusrFit.html#MusrFit">manual</a> of <code>musrfit</code>.
<p></p>
$ <img alt="musrfit.png" src="../pub/MUSR/MusrGui/musrfit.png" /> Fit (Alt+f): <pre class="bash">musrfit &#60;msr&#95;file&#62; &#91;optional parameters&#93;</pre> is called for the <strong>&lt;msr_file&gt;</strong> selected in the editor. The optional parameters may be chosen under <a class="foswikiCurrentTopicLink" href="#MusrPrefs">Preferences</a>. For further information refer to the <a href="MusrFit.html#MusrFit">manual</a> of <code>musrfit</code>.
<img alt="musrswap-plain.png" src="../pub/MUSR/MusrGui/musrswap-plain.png" /> Swap Msr &#8596; Mlog (Alt+s): Swap the msr and mlog files. E.g., for a file called <code><b>8472_zf.msr</b></code>, this is copied to <code><b>8472_zf.mlog</b></code> and vice versa.
<p></p>
$ <img alt="musrswap.png" src="../pub/MUSR/MusrGui/musrswap.png" /> Swap Msr &#8596; Mlog (Alt+s): Swap the msr and mlog files. E.g., for a file called <code><b>8472_zf.msr</b></code>, this is copied to <code><b>8472_zf.mlog</b></code> and vice versa.
<img alt="musrStep-32x32.png" src="../pub/MUSR/MusrGui/musrStep-32x32.png" /> musrStep
<p></p>
$ <img alt="musrmsr2data.png" src="../pub/MUSR/MusrGui/musrmsr2data.png" /> Msr2data (Alt+m): Opens a graphical interface to the <code>msr2data</code> program described in detail in its own <a href="Msr2Data.html#MusrGuiInterface">manual</a>.
<img alt="msr2data-plain.png" src="../pub/MUSR/MusrGui/msr2data-plain.png" /> Msr2data (Alt+m): Opens a graphical interface to the <code>msr2data</code> program described in detail in its own <a href="Msr2Data.html#MusrGuiInterface">manual</a>.
<p></p>
$ <img alt="musrview.png" src="../pub/MUSR/MusrGui/musrview.png" /> View (Alt+v): <pre class="bash">musrview &#60;msr&#95;file&#62;</pre> is called for the <strong>&lt;msr_file&gt;</strong> selected in the editor. For further information refer to the <a href="MusrFit.html#MusrView">manual</a> of <code>musrfit</code>.
<img alt="musrview-plain.png" src="../pub/MUSR/MusrGui/musrview-plain.png" /> View (Alt+v): <pre class="bash">musrview &#60;msr&#95;file&#62;</pre> is called for the <strong>&lt;msr_file&gt;</strong> selected in the editor. For further information refer to the <a href="MusrFit.html#MusrView">manual</a> of <code>musrfit</code>.
<p></p>
$ <img alt="musrt0.png" src="../pub/MUSR/MusrGui/musrt0.png" /> T0 (Alt+t): <pre class="bash">musrt0 &#60;msr&#95;file&#62;</pre> is called for the <strong>&lt;msr_file&gt;</strong> selected in the editor. For further information refer to the <a href="MusrFit.html#MusrT0">manual</a> of <code>musrfit</code>.
<img alt="musrt0-plain.png" src="../pub/MUSR/MusrGui/musrt0-plain.png" /> T0 (Alt+t): <pre class="bash">musrt0 &#60;msr&#95;file&#62;</pre> is called for the <strong>&lt;msr_file&gt;</strong> selected in the editor. For further information refer to the <a href="MusrFit.html#MusrT0">manual</a> of <code>musrfit</code>.
<p></p>
$ <img alt="musrFT.png" src="../pub/MUSR/MusrGui/musrFT.png" /> Raw Fourier: <code>musrFT &lt;with-many-options&gt;</code> is called. For a proper documentation of it, check the <a href="MusrFit.html#MusrFT">manual</a> of <code>musrFT</code>.
<img alt="musrFT-plain.png" src="../pub/MUSR/MusrGui/musrFT-plain.png" /> Raw Fourier: <code>musrFT &lt;with-many-options&gt;</code> is called. For a proper documentation of it, check the <a href="MusrFit.html#MusrFT">manual</a> of <code>musrFT</code>.
<p></p>
<span id="MusrPrefs"></span>
$ <img alt="musrprefs.png" src="../pub/MUSR/MusrGui/musrprefs.png" /> Preferences (Alt+p): Opens a window in which the optional parameters that should be passed to <code>musrfit</code> can be chosen. These options are <code><b>--keep-mn2-output</b></code>, <code><b>--dump ascii</b></code>, <code><b>--dump root</b></code>, and <code><b>--title-from-data-file</b></code>. For further information refer to the <a href="MusrFit.html#MusrFit">manual</a> of <code>musrfit</code>. Additionally, the access to <code>musrt0</code> can be enabled temporarily.
<img alt="musrprefs-plain.png" src="../pub/MUSR/MusrGui/musrprefs-plain.png" /> Preferences (Alt+p): Opens a window in which the optional parameters that should be passed to <code>musrfit</code> can be chosen. These options are <code><b>--keep-mn2-output</b></code>, <code><b>--dump ascii</b></code>, <code><b>--dump root</b></code>, and <code><b>--title-from-data-file</b></code>. For further information refer to the <a href="MusrFit.html#MusrFit">manual</a> of <code>musrfit</code>. Additionally, the access to <code>musrt0</code> can be enabled temporarily.
<p></p>
$ <img alt="musrdump.png" src="../pub/MUSR/MusrGui/musrdump.png" /> Dump Header: Opens a file dialog which allows to select a &mu;SR data file. When this file can be read, the run header info is dumped into a dialog window. Essentially this calls <code><b>dump_header</b></code> internally.
<img alt="musrdump-plain.png" src="../pub/MUSR/MusrGui/musrdump-plain.png" /> Dump Header: Opens a file dialog which allows to select a &mu;SR data file. When this file can be read, the run header info is dumped into a dialog window. Essentially this calls <code><b>dump_header</b></code> internally.
<p></p>
<span id="EditorFeatures"></span>
<h1 id="A_4_Editor_Features"> 4 Editor Features </h1>
Besides the functions described above and which are mostly interfacing <code>musrfit/msr2data</code> the editors of <code>musrgui</code> / <code>musredit</code> offer various functions for manipulating especially <code>musrfit</code> msr files:
<img class='imagePlain imagePlain_right ' src='../pub/MUSR/MusrGui/igp_4e5811420d6b5b31cac70e88b8477a14_musrgui-editor-v0.png' alt='musrgui editor features' title='musrgui-editor-v0.png' width='415' height='566' style='' /> <ul>
<li> Upon right-clicking an open msr file a menu as shown to the right is displayed which offers the addition of any valid msr file block or theory function. In case a simple theory function is chosen, the function will be inserted into the THEORY block using the <a href="MusrFit.html#TheoryTable">correct syntax</a>. If one chooses to add a whole block to the file a dialog opens in which the necessary information for each block as described in the <a href="MusrFit.html#DescriptionOfTheMsrFileFormat">manual</a> of <code>musrfit</code> can be supplied. <span class='foswikiBlueFG'>This feature is available only in <code>musrgui</code>. In <code>musredit</code> the respective functions can be accessed through the <em>Edit</em> menu.</span>
</li> <li> In order to comment or uncomment lines in a msr file select the according lines and apply <strong>Edit &rarr; (Un)Comment</strong> or use the keyboard shortcut <strong>Ctrl+(Shift)+m</strong>.
</li></ul>
<span id="MusrWiz"></span>
<h1 id="A_4_musrWiz"> 4 musrWiz </h1>
<p></p>
musrWiz is a helper program which allows to easily create the necessary msr-file needed as the input for musrfit. musrWiz is still in it's early stage; not all options are already implemented and here and there you will likely find some bugs.
From musredit it can be accessed via the MusrFit menu or the wand
<p></p>
<img alt="musredit-main_0.png" src="../pub/MUSR/MusrGui/musredit-main_0.png" />
<p></p>
The musrWiz GUI is organized in a couple of different dialogues which some information needs to be provided by the user. In the following these different dialogues will be discussed briefly.
<p></p>
<span id="MusrWizIntroduction"></span>
<h2 id="A_4.1_musrWiz_45_Introduction"> 4.1 musrWiz - Introduction </h2>
<p></p>
The introduction dialogue
<p></p>
<img alt="musrWiz-Introduction_0.png" src="../pub/MUSR/MusrGui/musrWiz-Introduction_0.png" />
<p></p> <ol>
<li> an explicit msr-file name can be provided here. More often the msr-file name is generated out of the run number.
</li> <li> year of the run data.
</li> <li> run number. If no explicit msr-file is provided, the run number together with fit type and type of measurement will be used to generate the msr-file name.
</li> <li> from the pull down menu the institute (for which a necessary xml-file is provided) has to be choosen.
</li> <li> from the pull down menu the the instrument can be chosen.
</li> <li> the fit type has to be chosen. Possible fit types are: <code>Single Histo</code> / <code>Single Histo RRF</code> / <code>Asymmetry</code> / <code>Asymmetry RRF</code> / <code>Mu Minus</code> / <code>None muSR</code>
</li> <li> type of measurement is essentially needed for the grouping of the detectors. Possible are: <code>ZF</code> for zero field measurements / <code>TF</code> for transverse field measurements / <code>LF</code> for longitudinal field measurements. Depending on the choice and instrument some additional question might be asked, e.g. which magnet has been used.
</li> <li> T0's: this last menu defines from where to get the t0's. The options are: ' <code>from data file</code> ', i.e. the t0 are assumed to be correctly set in the provided data file ' <code>call musrT0</code> ', i.e. after the msr-file is generated, musrt0 will be called which allows the user to find the proper t0 from the prompt peak ' <code>enter here</code> ' will provide a pop-up menu where the t0 parameter can be given explicitly.
</li></ol>
<p></p>
If all this information have been provided ' <code>Next&gt;</code> ' will lead you the the theory dialogue.
<p></p>
<span id="MusrWizTheory"></span>
<h2 id="A_4.2_musrWiz_45_Theory"> 4.2 musrWiz - Theory </h2>
<p></p>
The theory dialogue is used to define the fitting function. There are two ways of using it: <ol>
<li> choose a template theory function. This option has the advantage that the next steps will be very easy because within the template almost everything is already pre-defined. The disadvantage is that you are not free in setting up your theory function as you would like to have.
</li> <li> freely write your theory function. The advantage here is that you can customize your theory function as you would like to have it. This will come at the cost that you also will need to define maps, functions, etc. yourself. The good thing though is that at the very end you can save this as a template for future re-use.
</li></ol>
<p></p>
First the template path will be described. The theory dialogue looks like this
<p></p>
<img alt="musrWiz-Theory-1_0.png" src="../pub/MUSR/MusrGui/musrWiz-Theory-1_0.png" />
<p></p> <ol>
<li> This is a text edit field were you can enter the theory fit function as you would like to have it.
</li> <li> The ' <code>Clear All</code> ' button will clear whatever you entered in the text field above
</li> <li> This pull-down menu allows to select a theory function which will be added to the text field above by pressing the ' <code>Add</code> ' button. Pre defined theory function starting with a 'T' are templates rather than only theory function strings.
</li> <li> The ' <code>Add</code> ' button is used to add the chosen theory function / template from the pull-down menu to its left.
</li> <li> The ' <code>Check</code> ' button is used to make a syntactical check of whatever is written in the text edit field.
</li></ol>
<p></p>
Let's assume you would like to chose a template of an exponentially damped cosine (likely a TF measurement with dilute nuclear damping), do the following: Select ' <code>T: 1 [exp x cos](TF)</code> ' from the pull-down menu and than press the ' <code>Add</code> ' button. You will see that the theory fit function will be entered in the text edit field. After this just press the ' <code>Next&gt;</code> ' button which will bring you to <code>Functions</code> dialogue.
<p></p>
<span id="MusrWizFunctions"></span>
<h2 id="A_4.3_musrWiz_45_Functions"> 4.3 musrWiz - Functions </h2>
<p></p>
In the <code>Functions</code> dialogue all the necessary functions can be entered. A function operates <strong>only</strong> on fitting parameters. This is different to the theory function which operates on the fitting parameters <strong>and</strong> the time.
The dialogue looks like this
<p></p>
<img alt="musrWiz-Functions-1_0.png" src="../pub/MUSR/MusrGui/musrWiz-Functions-1_0.png" />
<p></p> <ol>
<li> a text edit field in which the various needed functions can be entered. In case a template theory is used, the appropriate function should be shown here and <strong>no</strong> editing will be needed here.
</li> <li> pressing ' <code>Show Theory</code> ' button will pop-up a little window showing the previously entered theory function. This is handy when defining its own theory, i.e. not working with a template.
</li></ol>
<p></p>
<img alt="musrWiz-Functions-2_0.png" src="../pub/MUSR/MusrGui/musrWiz-Functions-2_0.png" />
<p></p>
<span id="MusrWizMaps"></span>
<h2 id="A_4.4_musrWiz_45_Maps"> 4.4 musrWiz - Maps </h2>
<p></p>
<img alt="musrWiz-Maps-1_0.png" src="../pub/MUSR/MusrGui/musrWiz-Maps-1_0.png" />
<p></p>
The map dialogue will list the maps previously used in the theory and functions blocks/dialogues before. Again, if a template is used, nothing needs to be entered here.
<p></p> <ol>
<li> The ' <code>Show Theory</code> ' button allows to show the currently defined theory and the functions.
</li></ol>
<p></p>
<span id="MusrWizFitParameters"></span>
<h2 id="A_4.5_musrWiz_45_Fit_Parameters"> 4.5 musrWiz - Fit Parameters </h2>
<p></p>
<img alt="musrWiz-FitParameters-1_0.png" src="../pub/MUSR/MusrGui/musrWiz-FitParameters-1_0.png" />
<p></p> <ol>
<li> The ' <code>Show Theory</code> ' button allows to show the currently defined theory and the functions.
</li></ol>
<p></p>
In the fit parameter dialogue all parameter names can be defined. Furthermore the starting values for the parameters, the step (initial step size for the parameter fit), and any boundaries can be defined here.
<p></p>
<span id="MusrWizFitInfo"></span>
<h2 id="A_4.6_musrWiz_45_Fit_Info"> 4.6 musrWiz - Fit Info </h2>
<p></p>
<img alt="musrWiz-FitInfo-1_0.png" src="../pub/MUSR/MusrGui/musrWiz-FitInfo-1_0.png" />
<p></p> <ol>
<li> allows to define the time fit range (start time, end time).
</li> <li> packing defines how many bins of the original data shall be combined (added, also called re-binning).
</li> <li> In this text field to fitting commands are given (see the <code>MINUIT</code> and <code>musrfit</code> manual for details).
</li></ol>
<p></p>
<span id="MusrWizCreate"></span>
<h2 id="A_4.7_musrWiz_45_Create"> 4.7 musrWiz - Create </h2>
<p></p>
<img alt="musrWiz-Create-1_0.png" src="../pub/MUSR/MusrGui/musrWiz-Create-1_0.png" />
<p></p> <ol>
<li> shows the path where the msr-file will be saved. If you would like to save it somewhere else press the ' <code>Save As (msr-file path)</code> button.
</li> <li> pressing this button will allow you to find the path where to save the msr-file.
</li> <li> pressing this button will save to current configuration as a template for future re-use.
</li></ol>
<p></p>
<span id="MusrStep"></span>
<h1 id="A_5_musrStep"> 5 musrStep </h1>
<p></p>
musrStep is a little helper program which allows to reset the initial step size. This sometimes comes very handy if working on an instrument with many detectors after a fit slightly went wrong leaving you with a far too small initial step size for further iterations. To edit all the steps individually is tedious and error prone. Here musrStep can help.
<p></p>
<img alt="musrStep_0_0.png" src="../pub/MUSR/MusrGui/musrStep_0_0.png" />
<p></p>
When invoking musrStep the above dialogue will popup <ol>
<li> shows the relevant parts of the <code>FITPARAMETER</code> block. The only editable column is <code>step</code>.
</li> <li> ' <code>Check Specific</code> ' will popup a dialogue where a template string can be entered, e.g. <code>Asym</code>. As a result all fit parameters containing the template string will be selected.
</li> <li> ' <code>Check All</code> ' will select <em>all</em> fit parameters.
</li> <li> ' <code>Uncheck All</code> ' will unselect <em>all</em> fir parameters.
</li> <li> ' <code>Modify Automatic</code> ' will change all the step values automatically. It basically sets all the step sizes to 1% of the corresponding fit parameter value, except the phases where the step will be set to a value of 5 degrees.
</li> <li> ' <code>Modify Selected</code> ' will start the dialogue shown beneath. Follow the description there.
</li> <li> ' <code>Save&amp;Quit</code> ' will save the current step values, close the dialogue and reload the modified msr-file.
</li> <li> ' <code>Cancel</code> ' will cancel the musrStep dialogue without modifying anything.
</li></ol>
<p></p>
<img alt="musrStep_1_0.png" src="../pub/MUSR/MusrGui/musrStep_1_0.png" />
<p></p>
When clicking on ' <code>Modify Selected</code> ' the above dialogue will be presented. It allows to manipulate all selected fir parameter step values according to the following rules <ol>
<li> ' <code>Scale by Factor</code> ' will scale the step value by the factor given in the field (2). If the ' <code>Absolute Value</code> ' check box is selected, rather than scaling the factor value will be used to modify the step value.
</li> <li> Scaling factor or absolute value to modify the step values of the selected fit parameters.
</li> <li> checking the ' <code>Absolute Value</code> ' check box will change the meaning from <code>Scale by Factor</code> to <code>Copy Factor Value</code>.
</li> <li> ' <code>Scale Automatically</code> ' will modify the step values of the selected fit parameters according to the rules described before.
</li> <li> ' <code>Cancel</code> ' will cancel the dialogue.
</li></ol>
<p></p>
<span id="BugTracking"></span>
<h1 id="A_5_Bugtracking"> 5 Bugtracking </h1>
<h1 id="A_6_Bugtracking"> 6 Bugtracking </h1>
<p></p>
For reporting bugs or requesting new features and improvements please use the <a href="https://bitbucket.org/muonspin/musrfit/issues">Bitbucket Tracker</a>, <a href="https://tracker.psi.ch/jira/browse/MUSR/">PSI Tracker</a> (PSI account needed) or send an e-mail to A. Suter.
<p></p>
-- <a href="http://www.psi.ch/low-energy-muons/people">AS</a> &amp; <a href="http://www.fsf.org/register_form?referrer=8369">BMW</a></div>
For reporting bugs or requesting new features and improvements please use the <a href="https://bitbucket.org/muonspin/musrfit/issues">Bitbucket Tracker</a>, <a href="https://tracker.psi.ch/jira/browse/MUSR/">PSI Tracker</a> (PSI account needed) or send an e-mail to A. Suter.</div>
<p></p>
<p></p>
<br class="imageClear" clear="all"/><div class="foswikiAttachments">
@@ -376,7 +513,7 @@ For reporting bugs or requesting new features and improvements please use the <a
</tbody></table>
</div></div></div></div>
<div class="patternInfo">This topic: MUSR<span class='foswikiSeparator'>&nbsp;&gt;&nbsp;</span><a class="foswikiCurrentWebHomeLink" href="WebHome.html">WebHome</a> &gt; <a href="MusrFit.html">MusrFit</a><span class='foswikiSeparator'>&nbsp;&gt;&nbsp;</span>MusrGui <br />
Topic revision: <span class='patternRevInfo'>19 Feb 2015, suter_a</span></div>
Topic revision: <span class='patternRevInfo'>14 May 2017, <a href="https://intranet.psi.ch/Main/AndreasSuter">AndreasSuter</a></span></div>
</div>
</div>
</div>
@@ -394,6 +531,5 @@ Topic revision: <span class='patternRevInfo'>19 Feb 2015, suter_a</span></div>
</body>
<!-- Mirrored from intranet.psi.ch/MUSR/MusrGui?cover=print by HTTrack Website Copier/3.x [XR&CO'2010], Fri, 16 Dec 2016 16:01:01 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=utf-8"><!-- /Added by HTTrack -->
<!-- Mirrored from intranet.psi.ch/MUSR/MusrGui?cover=print by HTTrack Website Copier/3.x [XR&CO'2014], Fri, 08 Jun 2018 13:41:56 GMT -->
</html>

View File

@@ -1,7 +1,7 @@
<!DOCTYPE html><html lang="en">
<!-- Mirrored from intranet.psi.ch/MUSR/MusrRoot?cover=print by HTTrack Website Copier/3.x [XR&CO'2010], Fri, 16 Dec 2016 16:00:46 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=utf-8"><!-- /Added by HTTrack -->
<!-- Mirrored from intranet.psi.ch/MUSR/MusrRoot?cover=print by HTTrack Website Copier/3.x [XR&CO'2014], Fri, 08 Jun 2018 13:41:39 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=utf-8" /><!-- /Added by HTTrack -->
<head>
<link rel="stylesheet" href="../pub/System/HeadlinesPlugin/style.css" type="text/css" media="all" />
<title> MUSR :: MusrRoot</title>
@@ -14,11 +14,12 @@
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
<link rel="icon" href="../pub/Main/WebPreferences/favicon.ico" type="image/x-icon" />
<link rel="shortcut icon" href="../pub/Main/WebPreferences/favicon.ico" type="image/x-icon" />
<link rel="alternate" href="https://intranet.psi.ch/wiki/bin/edit/MUSR/MusrRoot?t=1481904041" type="application/x-wiki" title="edit MusrRoot" />
<link rel="alternate" href="https://intranet.psi.ch/wiki/bin/edit/MUSR/MusrRoot?t=1528465295" type="application/x-wiki" title="edit MusrRoot" />
<meta name="TEXT_NUM_TOPICS" content="Number of topics:" />
<meta name="TEXT_MODIFY_SEARCH" content="Modify search" />
<meta name="robots" content="noindex" /><link rel="alternate" type="application/rss+xml" title="RSS Feed" href="WebRsshtml.html" />
<base /><!--[if IE]></base><![endif]--><link class='head JQUERYPLUGIN::TWISTY' rel='stylesheet' href='../pub/System/TwistyPlugin/twisty327a.css?version=1.6.0' type='text/css' media='all' /><!--JQUERYPLUGIN::TWISTY: requires= missing ids: JavascriptFiles/foswikiPref-->
<meta name="robots" content="noindex" /><link rel="alternate" type="application/rss+xml" title="RSS Feed" href="WebRss" />
<base /><!--[if IE]></base><![endif]--><link class='head SMILIESPLUGIN' rel='stylesheet' href='../pub/System/SmiliesPlugin/smilies.css' type='text/css' media='all' /><!--SMILIESPLUGIN-->
<link class='head JQUERYPLUGIN::TWISTY' rel='stylesheet' href='../pub/System/TwistyPlugin/twisty327a.css?version=1.6.0' type='text/css' media='all' /><!--JQUERYPLUGIN::TWISTY: requires= missing ids: JavascriptFiles/foswikiPref-->
<style class='head TABLEPLUGIN_default' type="text/css" media="all">
body .foswikiTable {border-width:1px}
body .foswikiTable .tableSortIcon img {padding-left:.3em; vertical-align:text-bottom}
@@ -33,6 +34,9 @@ body .foswikiTable tr.foswikiTableRowdataBg0 td.foswikiSortedCol {background-col
body .foswikiTable tr.foswikiTableRowdataBg1 td {background-color:#f7f7f6}
body .foswikiTable tr.foswikiTableRowdataBg1 td.foswikiSortedCol {background-color:#f0f0ee}
</style><!--TABLEPLUGIN_default-->
<link class='head FOOTNOTEPLUGIN_LINKCSS' rel="stylesheet" href="../pub/System/FootNotePlugin/styles.css" type="text/css" media="all" /><!--FOOTNOTEPLUGIN_LINKCSS-->
<link class='head CLASSIFICATIONPLUGIN::CSS' rel="stylesheet" href="../pub/System/ClassificationPlugin/styles.css" media="all" /><!--CLASSIFICATIONPLUGIN::CSS-->
<link class='head IMAGEPLUGIN' rel="stylesheet" href="../pub/System/ImagePlugin/style.css" type="text/css" media="all" /><!--IMAGEPLUGIN-->
<style class='head TABLEPLUGIN_specific' type="text/css" media="all">
body .foswikiTable#tableMusrRoot7 td {vertical-align:middle; vertical-align:top}
body .foswikiTable#tableMusrRoot7 td.foswikiTableCol0 {text-align:left}
@@ -51,11 +55,7 @@ body .foswikiTable#tableMusrRoot7 th.foswikiSortedCol {background-color:#eeeeee}
body .foswikiTable#tableMusrRoot7 tr.foswikiTableRowdataBg0 td {background-color:#ffffff}
body .foswikiTable#tableMusrRoot7 tr.foswikiTableRowdataBg0 td.foswikiSortedCol {background-color:#f5f5f5}
</style><!--TABLEPLUGIN_specific-->
<link class='head IMAGEPLUGIN' rel="stylesheet" href="../pub/System/ImagePlugin/style.css" type="text/css" media="all" /><!--IMAGEPLUGIN-->
<link class='head FOOTNOTEPLUGIN_LINKCSS' rel="stylesheet" href="../pub/System/FootNotePlugin/styles.css" type="text/css" media="all" /><!--FOOTNOTEPLUGIN_LINKCSS-->
<link class='head JQUERYPLUGIN::COMMENT' rel='stylesheet' href='../pub/System/CommentPlugin/commentf5b6.css?version=3.0' type='text/css' media='all' /><!--JQUERYPLUGIN::COMMENT-->
<link class='head SMILIESPLUGIN' rel='stylesheet' href='../pub/System/SmiliesPlugin/smilies.css' type='text/css' media='all' /><!--SMILIESPLUGIN-->
<link class='head CLASSIFICATIONPLUGIN::CSS' rel="stylesheet" href="../pub/System/ClassificationPlugin/styles.css" media="all" /><!--CLASSIFICATIONPLUGIN::CSS--><link rel='stylesheet' href='../pub/System/SkinTemplates/base.css' media='all' type='text/css' />
<link class='head JQUERYPLUGIN::COMMENT' rel='stylesheet' href='../pub/System/CommentPlugin/commentf5b6.css?version=3.0' type='text/css' media='all' /><!--JQUERYPLUGIN::COMMENT--><link rel='stylesheet' href='../pub/System/SkinTemplates/base.css' media='all' type='text/css' />
<style type="text/css" media="all">
@import url('../pub/System/PatternSkinTheme/layout.css');
@import url('../pub/System/PatternSkinTheme2009/style.css');
@@ -136,18 +136,18 @@ body .foswikiTable#tableMusrRoot7 tr.foswikiTableRowdataBg0 td.foswikiSortedCol
<!--<![endif]-->
<!--JQUERYPLUGIN-->
<!--JQUERYPLUGIN::MIGRATE-->
<!--JQUERYPLUGIN::FOSWIKI-->
<!--JQUERYPLUGIN::LIVEQUERY-->
<!--JQUERYPLUGIN::FOSWIKI-->
<!--JQUERYPLUGIN::METADATA-->
<!--JQUERYPLUGIN::CHILI-->
<!--JQUERYPLUGIN::COMMENT-->
<!--JavascriptFiles/foswikiString-->
<!--JavascriptFiles/foswikiPref-->
<!--JQUERYPLUGIN::FOSWIKI::PREFERENCES-->
<!--JavascriptFiles/foswikiForm-->
<!--PatternSkin/pattern-->
<!--JQUERYPLUGIN::METADATA-->
<!--JQUERYPLUGIN::COMMENT-->
<!--JQUERYPLUGIN::TWISTY-->
<!--JQUERYPLUGIN::FOSWIKI::PREFERENCES-->
<!--JQUERYPLUGIN::CHILI--><link class='head FOOTNOTEPLUGIN_LINKCSS' rel="stylesheet" href="../pub/System/FootNotePlugin/styles.css" type="text/css" media="all" /><!--FOOTNOTEPLUGIN_LINKCSS-->
<!--JQUERYPLUGIN::TWISTY--><link class='head FOOTNOTEPLUGIN_LINKCSS' rel="stylesheet" href="../pub/System/FootNotePlugin/styles.css" type="text/css" media="all" /><!--FOOTNOTEPLUGIN_LINKCSS-->
</head>
<body class="foswikiNoJs patternViewPage patternPrintPage">
<span id="PageTop"></span><div class="foswikiPage"><div id="patternScreen">
@@ -1125,6 +1125,5 @@ Topic revision: <span class='patternRevInfo'>29 Mar 2012, suter_a</span></div>
</body>
<!-- Mirrored from intranet.psi.ch/MUSR/MusrRoot?cover=print by HTTrack Website Copier/3.x [XR&CO'2010], Fri, 16 Dec 2016 16:00:51 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=utf-8"><!-- /Added by HTTrack -->
<!-- Mirrored from intranet.psi.ch/MUSR/MusrRoot?cover=print by HTTrack Website Copier/3.x [XR&CO'2014], Fri, 08 Jun 2018 13:41:45 GMT -->
</html>

View File

@@ -1,7 +1,7 @@
<!DOCTYPE html><html lang="en">
<!-- Mirrored from intranet.psi.ch/MUSR/QuickStart?cover=print by HTTrack Website Copier/3.x [XR&CO'2010], Fri, 16 Dec 2016 16:00:58 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=utf-8"><!-- /Added by HTTrack -->
<!-- Mirrored from intranet.psi.ch/MUSR/QuickStart?cover=print by HTTrack Website Copier/3.x [XR&CO'2014], Fri, 08 Jun 2018 13:41:50 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=utf-8" /><!-- /Added by HTTrack -->
<head>
<link rel="stylesheet" href="../pub/System/HeadlinesPlugin/style.css" type="text/css" media="all" />
<title> MUSR :: QuickStart</title>
@@ -14,14 +14,14 @@
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
<link rel="icon" href="../pub/Main/WebPreferences/favicon.ico" type="image/x-icon" />
<link rel="shortcut icon" href="../pub/Main/WebPreferences/favicon.ico" type="image/x-icon" />
<link rel="alternate" href="https://intranet.psi.ch/wiki/bin/edit/MUSR/QuickStart?t=1481904043" type="application/x-wiki" title="edit QuickStart" />
<link rel="alternate" href="https://intranet.psi.ch/wiki/bin/edit/MUSR/QuickStart?t=1528465296" type="application/x-wiki" title="edit QuickStart" />
<meta name="TEXT_NUM_TOPICS" content="Number of topics:" />
<meta name="TEXT_MODIFY_SEARCH" content="Modify search" />
<meta name="robots" content="noindex" /><link rel="alternate" type="application/rss+xml" title="RSS Feed" href="WebRsshtml.html" />
<meta name="robots" content="noindex" /><link rel="alternate" type="application/rss+xml" title="RSS Feed" href="WebRss" />
<base /><!--[if IE]></base><![endif]--><link class='head CLASSIFICATIONPLUGIN::CSS' rel="stylesheet" href="../pub/System/ClassificationPlugin/styles.css" media="all" /><!--CLASSIFICATIONPLUGIN::CSS-->
<link class='head FOOTNOTEPLUGIN_LINKCSS' rel="stylesheet" href="../pub/System/FootNotePlugin/styles.css" type="text/css" media="all" /><!--FOOTNOTEPLUGIN_LINKCSS-->
<link class='head SMILIESPLUGIN' rel='stylesheet' href='../pub/System/SmiliesPlugin/smilies.css' type='text/css' media='all' /><!--SMILIESPLUGIN-->
<link class='head JQUERYPLUGIN::COMMENT' rel='stylesheet' href='../pub/System/CommentPlugin/commentf5b6.css?version=3.0' type='text/css' media='all' /><!--JQUERYPLUGIN::COMMENT-->
<link class='head FOOTNOTEPLUGIN_LINKCSS' rel="stylesheet" href="../pub/System/FootNotePlugin/styles.css" type="text/css" media="all" /><!--FOOTNOTEPLUGIN_LINKCSS--><link rel='stylesheet' href='../pub/System/SkinTemplates/base.css' media='all' type='text/css' />
<link class='head JQUERYPLUGIN::COMMENT' rel='stylesheet' href='../pub/System/CommentPlugin/commentf5b6.css?version=3.0' type='text/css' media='all' /><!--JQUERYPLUGIN::COMMENT--><link rel='stylesheet' href='../pub/System/SkinTemplates/base.css' media='all' type='text/css' />
<style type="text/css" media="all">
@import url('../pub/System/PatternSkinTheme/layout.css');
@import url('../pub/System/PatternSkinTheme2009/style.css');
@@ -101,15 +101,15 @@
<!--<![endif]-->
<!--JQUERYPLUGIN-->
<!--JQUERYPLUGIN::MIGRATE-->
<!--JQUERYPLUGIN::LIVEQUERY-->
<!--JQUERYPLUGIN::FOSWIKI-->
<!--JQUERYPLUGIN::MIGRATE-->
<!--JavascriptFiles/foswikiString-->
<!--JavascriptFiles/foswikiForm-->
<!--JQUERYPLUGIN::COMMENT-->
<!--JQUERYPLUGIN::FOSWIKI::PREFERENCES-->
<!--JavascriptFiles/foswikiPref-->
<!--PatternSkin/pattern--><link class='head FOOTNOTEPLUGIN_LINKCSS' rel="stylesheet" href="../pub/System/FootNotePlugin/styles.css" type="text/css" media="all" /><!--FOOTNOTEPLUGIN_LINKCSS-->
<!--PatternSkin/pattern-->
<!--JQUERYPLUGIN::FOSWIKI::PREFERENCES-->
<!--JQUERYPLUGIN::COMMENT--><link class='head FOOTNOTEPLUGIN_LINKCSS' rel="stylesheet" href="../pub/System/FootNotePlugin/styles.css" type="text/css" media="all" /><!--FOOTNOTEPLUGIN_LINKCSS-->
</head>
<body class="foswikiNoJs patternViewPage patternPrintPage">
<span id="PageTop"></span><div class="foswikiPage"><div id="patternScreen">
@@ -285,6 +285,5 @@ Topic revision: <span class='patternRevInfo'>10 Jul 2011, wojek</span></div>
</body>
<!-- Mirrored from intranet.psi.ch/MUSR/QuickStart?cover=print by HTTrack Website Copier/3.x [XR&CO'2010], Fri, 16 Dec 2016 16:00:59 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=utf-8"><!-- /Added by HTTrack -->
<!-- Mirrored from intranet.psi.ch/MUSR/QuickStart?cover=print by HTTrack Website Copier/3.x [XR&CO'2014], Fri, 08 Jun 2018 13:41:50 GMT -->
</html>

View File

@@ -1,7 +1,7 @@
<!DOCTYPE html><html lang="en">
<!-- Mirrored from intranet.psi.ch/MUSR/TutorialSingleHisto?cover=print by HTTrack Website Copier/3.x [XR&CO'2010], Fri, 16 Dec 2016 16:00:55 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=utf-8"><!-- /Added by HTTrack -->
<!-- Mirrored from intranet.psi.ch/MUSR/TutorialSingleHisto?cover=print by HTTrack Website Copier/3.x [XR&CO'2014], Fri, 08 Jun 2018 13:41:47 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=utf-8" /><!-- /Added by HTTrack -->
<head>
<link rel="stylesheet" href="../pub/System/HeadlinesPlugin/style.css" type="text/css" media="all" />
<title> MUSR :: TutorialSingleHisto</title>
@@ -14,10 +14,10 @@
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
<link rel="icon" href="../pub/Main/WebPreferences/favicon.ico" type="image/x-icon" />
<link rel="shortcut icon" href="../pub/Main/WebPreferences/favicon.ico" type="image/x-icon" />
<link rel="alternate" href="https://intranet.psi.ch/wiki/bin/edit/MUSR/TutorialSingleHisto?t=1481904042" type="application/x-wiki" title="edit TutorialSingleHisto" />
<link rel="alternate" href="https://intranet.psi.ch/wiki/bin/edit/MUSR/TutorialSingleHisto?t=1528465296" type="application/x-wiki" title="edit TutorialSingleHisto" />
<meta name="TEXT_NUM_TOPICS" content="Number of topics:" />
<meta name="TEXT_MODIFY_SEARCH" content="Modify search" />
<meta name="robots" content="noindex" /><link rel="alternate" type="application/rss+xml" title="RSS Feed" href="WebRsshtml.html" />
<meta name="robots" content="noindex" /><link rel="alternate" type="application/rss+xml" title="RSS Feed" href="WebRss" />
<base /><!--[if IE]></base><![endif]--><style class='head TABLEPLUGIN_default' type="text/css" media="all">
body .foswikiTable {border-width:1px}
body .foswikiTable .tableSortIcon img {padding-left:.3em; vertical-align:text-bottom}
@@ -32,8 +32,12 @@ body .foswikiTable tr.foswikiTableRowdataBg0 td.foswikiSortedCol {background-col
body .foswikiTable tr.foswikiTableRowdataBg1 td {background-color:#f7f7f6}
body .foswikiTable tr.foswikiTableRowdataBg1 td.foswikiSortedCol {background-color:#f0f0ee}
</style><!--TABLEPLUGIN_default-->
<link class='head JQUERYPLUGIN::TWISTY' rel='stylesheet' href='../pub/System/TwistyPlugin/twisty327a.css?version=1.6.0' type='text/css' media='all' /><!--JQUERYPLUGIN::TWISTY: requires= missing ids: JavascriptFiles/foswikiPref-->
<link class='head SMILIESPLUGIN' rel='stylesheet' href='../pub/System/SmiliesPlugin/smilies.css' type='text/css' media='all' /><!--SMILIESPLUGIN-->
<link class='head FOOTNOTEPLUGIN_LINKCSS' rel="stylesheet" href="../pub/System/FootNotePlugin/styles.css" type="text/css" media="all" /><!--FOOTNOTEPLUGIN_LINKCSS-->
<link class='head CLASSIFICATIONPLUGIN::CSS' rel="stylesheet" href="../pub/System/ClassificationPlugin/styles.css" media="all" /><!--CLASSIFICATIONPLUGIN::CSS-->
<link class='head IMAGEPLUGIN' rel="stylesheet" href="../pub/System/ImagePlugin/style.css" type="text/css" media="all" /><!--IMAGEPLUGIN-->
<link class='head JQUERYPLUGIN::COMMENT' rel='stylesheet' href='../pub/System/CommentPlugin/commentf5b6.css?version=3.0' type='text/css' media='all' /><!--JQUERYPLUGIN::COMMENT-->
<style class='head TABLEPLUGIN_specific' type="text/css" media="all">
body .foswikiTable#tableTutorialSingleHisto1 td {vertical-align:middle; vertical-align:top}
body .foswikiTable#tableTutorialSingleHisto1 td.foswikiTableCol0 {text-align:left}
@@ -51,11 +55,7 @@ body .foswikiTable#tableTutorialSingleHisto1 th a:hover {color:#0066cc; backgrou
body .foswikiTable#tableTutorialSingleHisto1 th.foswikiSortedCol {background-color:#eeeeee}
body .foswikiTable#tableTutorialSingleHisto1 tr.foswikiTableRowdataBg0 td {background-color:#ffffff}
body .foswikiTable#tableTutorialSingleHisto1 tr.foswikiTableRowdataBg0 td.foswikiSortedCol {background-color:#f5f5f5}
</style><!--TABLEPLUGIN_specific-->
<link class='head JQUERYPLUGIN::TWISTY' rel='stylesheet' href='../pub/System/TwistyPlugin/twisty327a.css?version=1.6.0' type='text/css' media='all' /><!--JQUERYPLUGIN::TWISTY: requires= missing ids: JavascriptFiles/foswikiPref-->
<link class='head IMAGEPLUGIN' rel="stylesheet" href="../pub/System/ImagePlugin/style.css" type="text/css" media="all" /><!--IMAGEPLUGIN-->
<link class='head JQUERYPLUGIN::COMMENT' rel='stylesheet' href='../pub/System/CommentPlugin/commentf5b6.css?version=3.0' type='text/css' media='all' /><!--JQUERYPLUGIN::COMMENT-->
<link class='head FOOTNOTEPLUGIN_LINKCSS' rel="stylesheet" href="../pub/System/FootNotePlugin/styles.css" type="text/css" media="all" /><!--FOOTNOTEPLUGIN_LINKCSS--><link rel='stylesheet' href='../pub/System/SkinTemplates/base.css' media='all' type='text/css' />
</style><!--TABLEPLUGIN_specific--><link rel='stylesheet' href='../pub/System/SkinTemplates/base.css' media='all' type='text/css' />
<style type="text/css" media="all">
@import url('../pub/System/PatternSkinTheme/layout.css');
@import url('../pub/System/PatternSkinTheme2009/style.css');
@@ -138,11 +138,11 @@ body .foswikiTable#tableTutorialSingleHisto1 tr.foswikiTableRowdataBg0 td.foswik
<!--JQUERYPLUGIN::MIGRATE-->
<!--JQUERYPLUGIN::LIVEQUERY-->
<!--JQUERYPLUGIN::FOSWIKI-->
<!--JQUERYPLUGIN::COMMENT-->
<!--JQUERYPLUGIN::FOSWIKI::PREFERENCES-->
<!--JavascriptFiles/foswikiString-->
<!--JavascriptFiles/foswikiPref-->
<!--JQUERYPLUGIN::TWISTY-->
<!--JQUERYPLUGIN::COMMENT-->
<!--JavascriptFiles/foswikiForm-->
<!--PatternSkin/pattern--><link class='head FOOTNOTEPLUGIN_LINKCSS' rel="stylesheet" href="../pub/System/FootNotePlugin/styles.css" type="text/css" media="all" /><!--FOOTNOTEPLUGIN_LINKCSS-->
</head>
@@ -270,7 +270,7 @@ STATISTIC --- 2011-07-09 10:58:44
</li></ul>
<p></p>
<h1 id="A_2_Determine_t0_and_the_data_range_using_61musrt0_61"> 2 Determine <i>t</i><sub>0</sub> and the data range using <code>musrt0</code> </h1>
Before the given model can be fitted to the data, the data ranges and time zeros of the different RUN blocks have to be set correctly. This can be achieved using <code><a href="MusrFit.html#MusrT0">musrt0</a></code>. Starting this program by selecting the <img alt="musrt0.png" src="../pub/MUSR/MusrGui/musrt0.png" /> button in <code>musredit</code> or calling from a terminal <pre>musrt0 3110&#95;tutorial.msr</pre> opens an interactive window plotting the data of the first RUN block:<br />
Before the given model can be fitted to the data, the data ranges and time zeros of the different RUN blocks have to be set correctly. This can be achieved using <code><a href="MusrFit.html#MusrT0">musrt0</a></code>. Starting this program by selecting the <img alt="musrt0.png" src="../pub/MUSR/MusrGui/musrt0.html" /> button in <code>musredit</code> or calling from a terminal <pre>musrt0 3110&#95;tutorial.msr</pre> opens an interactive window plotting the data of the first RUN block:<br />
<img class='imagePlain imagePlain_center ' src='../pub/MUSR/TutorialSingleHisto/musrt0-1.png' alt='musrt0-1' title='musrt0-1.png' width='708' height='529' style='' /><br />
The green line (at bin 1) represents time zero, the blue lines the start (at bin 1) and end (at bin 8000) of the data range and the optional red lines give the limits of the background range (if the background shall not be determined by the fit). All lines can be either dragged to reasonable locations or set by pressing the corresponding keyboard shortcuts. In the example the time zero can be set by pressing <strong>T</strong> (which moves the green line to the bin containing the maximum number of counts), the start of the data range should be set to about five bins later by zooming into the graph around bin 250 and pressing <strong>d</strong> when the cursor is found at a suitable location:<br />
<img class='imagePlain imagePlain_center ' src='../pub/MUSR/TutorialSingleHisto/igp_9c0f9b31d4414f37be0d3d171836fe63_musrt0-2.png' alt='musrt0-2' title='musrt0-2.png' width='688' height='529' style='' /><br />
@@ -278,7 +278,7 @@ After all lines have been adjusted for the first histogram, one can go on to the
A full description of <code>musrt0</code> can be found <a href="MusrFit.html#MusrT0">here</a>.
<p></p>
<h1 id="A_3_Fit_the_model_to_the_data_using_61musrfit_61"> 3 Fit the model to the data using <code>musrfit</code> </h1>
Now that the basics of the <code>msr</code> file have been introduced and the necessary adjustments have been done one can proceed with fitting the specified model to the data. This is done by selecting the <img alt="musrfit.png" src="../pub/MUSR/MusrGui/musrfit.png" /> button in <code>musredit</code> or calling from a terminal <pre>musrfit 3110&#95;tutorial.msr</pre>
Now that the basics of the <code>msr</code> file have been introduced and the necessary adjustments have been done one can proceed with fitting the specified model to the data. This is done by selecting the <img alt="musrfit.png" src="../pub/MUSR/MusrGui/musrfit.html" /> button in <code>musredit</code> or calling from a terminal <pre>musrfit 3110&#95;tutorial.msr</pre>
<p></p>
After the fitting procedure has finished the <code>msr</code> file is updated and contains the newly determined values of the fit parameters.
<p></p>
@@ -298,7 +298,7 @@ Assuming the successive runs <strong>3111</strong> through <strong>3114</strong>
From the terminal this would be done as follows:<pre>
msr2data 3110 3114 &#95;tutorial fit-3110 -o tutorial-T-dependence.dat data
</pre>
To achieve the same in <code>musredit</code> one selects <img alt="musrmsr2data.png" src="../pub/MUSR/MusrGui/musrmsr2data.png" /> and fills the form accordingly:<br />
To achieve the same in <code>musredit</code> one selects <img alt="musrmsr2data.png" src="../pub/MUSR/MusrGui/musrmsr2data.html" /> and fills the form accordingly:<br />
<img class='imagePlain imagePlain_center ' src='../pub/MUSR/TutorialSingleHisto/msr2data.png' alt='msr2data' title='msr2data.png' width='612' height='605' style='' />
<p></p>
<h1 id="A_6_Further_reading"> 6 Further reading </h1>
@@ -401,6 +401,5 @@ Topic revision: <span class='patternRevInfo'>02 Sep 2011, wojek</span></div>
</body>
<!-- Mirrored from intranet.psi.ch/MUSR/TutorialSingleHisto?cover=print by HTTrack Website Copier/3.x [XR&CO'2010], Fri, 16 Dec 2016 16:00:58 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=utf-8"><!-- /Added by HTTrack -->
<!-- Mirrored from intranet.psi.ch/MUSR/TutorialSingleHisto?cover=print by HTTrack Website Copier/3.x [XR&CO'2014], Fri, 08 Jun 2018 13:41:50 GMT -->
</html>

View File

@@ -1,7 +1,7 @@
<!DOCTYPE html><html lang="en">
<!-- Mirrored from intranet.psi.ch/MUSR/WebHome?cover=print by HTTrack Website Copier/3.x [XR&CO'2010], Fri, 16 Dec 2016 16:01:33 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=utf-8"><!-- /Added by HTTrack -->
<!-- Mirrored from intranet.psi.ch/MUSR/WebHome?cover=print by HTTrack Website Copier/3.x [XR&CO'2014], Fri, 08 Jun 2018 13:42:27 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=utf-8" /><!-- /Added by HTTrack -->
<head>
<link rel="stylesheet" href="../pub/System/HeadlinesPlugin/style.css" type="text/css" media="all" />
<title> MUSR :: MUSR</title>
@@ -14,13 +14,13 @@
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
<link rel="icon" href="../pub/Main/WebPreferences/favicon.ico" type="image/x-icon" />
<link rel="shortcut icon" href="../pub/Main/WebPreferences/favicon.ico" type="image/x-icon" />
<link rel="alternate" href="https://intranet.psi.ch/wiki/bin/edit/MUSR/WebHome?t=1481904045" type="application/x-wiki" title="edit WebHome" />
<link rel="alternate" href="https://intranet.psi.ch/wiki/bin/edit/MUSR/WebHome?t=1528465299" type="application/x-wiki" title="edit WebHome" />
<meta name="TEXT_NUM_TOPICS" content="Number of topics:" />
<meta name="TEXT_MODIFY_SEARCH" content="Modify search" />
<meta name="robots" content="noindex" /><link rel="alternate" type="application/rss+xml" title="RSS Feed" href="WebRsshtml.html" />
<base /><!--[if IE]></base><![endif]--><link class='head CLASSIFICATIONPLUGIN::CSS' rel="stylesheet" href="../pub/System/ClassificationPlugin/styles.css" media="all" /><!--CLASSIFICATIONPLUGIN::CSS-->
<meta name="robots" content="noindex" /><link rel="alternate" type="application/rss+xml" title="RSS Feed" href="WebRss" />
<base /><!--[if IE]></base><![endif]--><link class='head JQUERYPLUGIN::COMMENT' rel='stylesheet' href='../pub/System/CommentPlugin/commentf5b6.css?version=3.0' type='text/css' media='all' /><!--JQUERYPLUGIN::COMMENT-->
<link class='head CLASSIFICATIONPLUGIN::CSS' rel="stylesheet" href="../pub/System/ClassificationPlugin/styles.css" media="all" /><!--CLASSIFICATIONPLUGIN::CSS-->
<link class='head SMILIESPLUGIN' rel='stylesheet' href='../pub/System/SmiliesPlugin/smilies.css' type='text/css' media='all' /><!--SMILIESPLUGIN-->
<link class='head JQUERYPLUGIN::COMMENT' rel='stylesheet' href='../pub/System/CommentPlugin/commentf5b6.css?version=3.0' type='text/css' media='all' /><!--JQUERYPLUGIN::COMMENT-->
<link class='head FOOTNOTEPLUGIN_LINKCSS' rel="stylesheet" href="../pub/System/FootNotePlugin/styles.css" type="text/css" media="all" /><!--FOOTNOTEPLUGIN_LINKCSS--><link rel='stylesheet' href='../pub/System/SkinTemplates/base.css' media='all' type='text/css' />
<style type="text/css" media="all">
@import url('../pub/System/PatternSkinTheme/layout.css');
@@ -102,14 +102,14 @@
<!--<![endif]-->
<!--JQUERYPLUGIN-->
<!--JQUERYPLUGIN::MIGRATE-->
<!--JQUERYPLUGIN::LIVEQUERY-->
<!--JQUERYPLUGIN::FOSWIKI-->
<!--JQUERYPLUGIN::LIVEQUERY-->
<!--JavascriptFiles/foswikiString-->
<!--JavascriptFiles/foswikiPref-->
<!--JQUERYPLUGIN::FOSWIKI::PREFERENCES-->
<!--JQUERYPLUGIN::COMMENT-->
<!--JavascriptFiles/foswikiForm-->
<!--PatternSkin/pattern--><link class='head FOOTNOTEPLUGIN_LINKCSS' rel="stylesheet" href="../pub/System/FootNotePlugin/styles.css" type="text/css" media="all" /><!--FOOTNOTEPLUGIN_LINKCSS-->
<!--PatternSkin/pattern-->
<!--JQUERYPLUGIN::COMMENT-->
<!--JQUERYPLUGIN::FOSWIKI::PREFERENCES--><link class='head FOOTNOTEPLUGIN_LINKCSS' rel="stylesheet" href="../pub/System/FootNotePlugin/styles.css" type="text/css" media="all" /><!--FOOTNOTEPLUGIN_LINKCSS-->
</head>
<body class="foswikiNoJs patternViewPage patternPrintPage">
<span id="PageTop"></span><div class="foswikiPage"><div id="patternScreen">
@@ -122,12 +122,13 @@
<div class="patternContent"><div class="foswikiTopic"> <h1 id="Welcome_to_the_MUSR_web"> Welcome to the MUSR web </h1>
<p></p>
<h2 id="Documentation_of_the_SR_data_analysis_suite_61musrfit_61"> Documentation of the &#956;SR data analysis suite <code>musrfit</code> </h2> <ul>
<li> <a href="CiteMusrFit.html">How to cite <code>musrfit</code>? <img class='smily' src='../pub/Main/SmiliesPluginPSI_/yes.gif' alt='yes' title='yes' /> </a>
<li> <a href="CiteMusrFit.html">How to cite <code>musrfit</code>? <img class='smily' src='../pub/Main/SmiliesPluginPSI/yes.gif' alt='yes' title='yes' /> </a>
</li> <li> <a href="TutorialSingleHisto.html">Single-histogram-fit tutorial for <code>musrfit</code> introducing the basic features of the programs and <code>msr</code> files</a>
</li> <li> <a href="MusrFit.html">User manual of the &#956;SR data analysis software <code>musrfit</code> </a>
</li> <li> <a href="MusrFitSetup.html">Setting up <code>musrfit</code> on Different Platforms</a>
</li> <li> <a href="MusrFitSetupDKS.html">Setting up <code>musrfit</code> / <code>DKS</code>: high speed fitting with GPU's</a>
</li> <li> <a href="QuickStart.html">Quick start page for <code>WKM</code> users</a>
</li> <li> <a href="MusrGui.html">Documentation of <code>musrgui</code>/<code>musredit</code>&mdash;editors interfacing <code>musrfit</code> </a>
</li> <li> <a href="MusrGui.html">Documentation of <code>musrgui</code>/<code>musredit</code>&mdash;editors interfacing <code>musrfit</code></a>
</li> <li> <a href="Msr2Data.html">Documentation of <code>msr2data</code>&mdash;a program for automatically processing multiple musrfit <code>msr</code> files</a>
</li> <li> <a href="MusrFit.html#Any2Many"><code>any2many</code>&mdash;a universal &#956;SR-file-format converter</a>
</li> <li> <a href="MusrRoot.html"><code>MusrRoot</code>: an extensible open file format for &#956;SR</a>
@@ -138,12 +139,12 @@
</li> <li> <a href="MusrFitAcknowledgements.html">Acknowledgements</a>
</li></ul>
<p></p>
-- <a href="http://www.psi.ch/low-energy-muons/people">AS</a> &amp; (<a href="http://www.fsf.org/register_form?referrer=8369">BMW</a>) - last update Dec 15, 2016</div>
-- <a href="http://www.psi.ch/low-energy-muons/people">AS</a> &amp; (<a href="http://www.fsf.org/register_form?referrer=8369">BMW</a>) - last update June 8, 2018</div>
<p></p>
<p></p>
</div>
<div class="patternInfo">This topic: MUSR<span class='foswikiSeparator'>&nbsp;&gt;&nbsp;</span>WebHome <br />
Topic revision: <span class='patternRevInfo'>15 Dec 2016, <a href="https://intranet.psi.ch/Main/AndreasSuter">AndreasSuter</a></span></div>
Topic revision: <span class='patternRevInfo'>08 Jun 2018, <a href="https://intranet.psi.ch/Main/AndreasSuter">AndreasSuter</a></span></div>
</div>
</div>
</div>
@@ -161,6 +162,5 @@ Topic revision: <span class='patternRevInfo'>15 Dec 2016, <a href="https://intr
</body>
<!-- Mirrored from intranet.psi.ch/MUSR/WebHome?cover=print by HTTrack Website Copier/3.x [XR&CO'2010], Fri, 16 Dec 2016 16:01:34 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=utf-8"><!-- /Added by HTTrack -->
<!-- Mirrored from intranet.psi.ch/MUSR/WebHome?cover=print by HTTrack Website Copier/3.x [XR&CO'2014], Fri, 08 Jun 2018 13:42:28 GMT -->
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 497 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 87 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 710 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 473 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 730 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 871 B

View File

@@ -0,0 +1,2 @@
Ihr Aufruf ist nicht korrekt. <br>
Hier geht es zum <a href="https://intranet.psi.ch/">PSI Intranet</a>.

View File

@@ -0,0 +1,2 @@
Ihr Aufruf ist nicht korrekt. <br>
Hier geht es zum <a href="https://intranet.psi.ch/">PSI Intranet</a>.

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 933 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 553 B

View File

@@ -0,0 +1,2 @@
Ihr Aufruf ist nicht korrekt. <br>
Hier geht es zum <a href="https://intranet.psi.ch/">PSI Intranet</a>.

Binary file not shown.

After

Width:  |  Height:  |  Size: 574 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 891 B

View File

@@ -23,7 +23,7 @@ PROJECT_NAME = musrfit
# This could be handy for archiving the generated documentation or
# if some version control system is used.
PROJECT_NUMBER = 0.14.0
PROJECT_NUMBER = 1.1.0
# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
# base path where the generated documentation will be put.
@@ -462,8 +462,9 @@ WARN_LOGFILE =
INPUT = musrfit.dox \
../src/include/PFitterFcn.h \
../src/include/PFitter.h \
../src/include/PFourier.h \
../src/include/PFourierCanvas.h \
../src/include/PFourierCanvasLinkDef.h \
../src/include/PFourier.h \
../src/include/PFunctionGrammar.h \
../src/include/PFunction.h \
../src/include/PFunctionHandler.h \
@@ -476,12 +477,14 @@ INPUT = musrfit.dox \
../src/include/PMusrT0LinkDef.h \
../src/include/PPrepFourier.h \
../src/include/PRunAsymmetry.h \
../src/include/PRunAsymmetryRRF.h \
../src/include/PRunBase.h \
../src/include/PRunDataHandler.h \
../src/include/PRunListCollection.h \
../src/include/PRunMuMinus.h \
../src/include/PRunNonMusr.h \
../src/include/PRunSingleHisto.h \
../src/include/PRunSingleHistoRRF.h \
../src/include/PStartupHandler.h \
../src/include/PStartupHandlerLinkDef.h \
../src/include/PTheory.h \
@@ -490,8 +493,8 @@ INPUT = musrfit.dox \
../src/include/PUserFcn.h \
../src/classes/PFitter.cpp \
../src/classes/PFitterFcn.cpp \
../src/classes/PFourier.cpp \
../src/classes/PFourierCanvas.cpp \
../src/classes/PFourier.cpp \
../src/classes/PFunction.cpp \
../src/classes/PFunctionHandler.cpp \
../src/classes/PMsr2Data.cpp \
@@ -501,12 +504,14 @@ INPUT = musrfit.dox \
../src/classes/PMusrT0.cpp \
../src/classes/PPrepFourier.cpp \
../src/classes/PRunAsymmetry.cpp \
../src/classes/PRunAsymmetryRRF.cpp \
../src/classes/PRunBase.cpp \
../src/classes/PRunDataHandler.cpp \
../src/classes/PRunListCollection.cpp \
../src/classes/PRunMuMinus.cpp \
../src/classes/PRunNonMusr.cpp \
../src/classes/PRunSingleHisto.cpp \
../src/classes/PRunSingleHistoRRF.cpp \
../src/classes/PStartupHandler.cpp \
../src/classes/PTheory.cpp \
../src/classes/PUserFcnBase.cpp \

View File

@@ -1,59 +0,0 @@
TITLE
###############################################################
FITPARAMETER
# Nr. Name Value Step Pos_Error Boundaries
1 alpha 0.989765 1.0 none 0 none
2 asy 0.26 0.1 none 0 0.33
3 phase 8.5 1.0 none
4 field 100.0 0.1 none 0 none
5 rate 0.36 0.02 none 0 100
###############################################################
THEORY
asymmetry 2
TFieldCos 3 fun1 (phase frequency)
simplExpo 5
###############################################################
FUNCTIONS
fun1 = par4 * gamma_mu
###############################################################
RUN lem07_his_0147 MUE4 PSI ROOT-NPP (name beamline institute data-file-format)
fittype 2 (asymmetry fit)
alpha 1
map 0 0 0 0 0 0 0 0 0 0
forward 1
backward 3
background 65000 66500 65000 66500
data 3413 63000 3413 63000
t0 3413 3413
fit 0.00 8.00 (fw bw)
packing 75
###############################################################
COMMANDS
SET BATCH
MINIMIZE
MINOS
SAVE
END RETURN
###############################################################
FOURIER
units Gauss # fourier in field units
fourier_power 12
apodization NONE # NONE, WEAK, MEDIUM, STRONG
plot power
phase 8.5
#range_for_phase_correction 50.0 70.0
range 0.0 200.0
###############################################################
PLOT 2 (asymmetry plot)
runs 1
range 0.00 8.00 -0.30 0.30
###############################################################
STATISTIC --- 2008-04-04 07:44:31
chisq = 569.50931, NDF = 542, chisq/NDF = 1.05075518

View File

@@ -1,60 +0,0 @@
TITLE
###############################################################
FITPARAMETER
# Nr. Name Value Step Pos_Error Boundaries
1 Asy 0.26 0.01 none 0 0.33
2 Rate 0.36 0.01 none
3 Field 100.0 1.0 none 0 200
4 N0_L 150.0 0.01 none
5 Bkg_L 4.9 0.01 none
6 Phase_L 7.0 1.5 none -50 50
###############################################################
THEORY
asymmetry 1
simplExpo 2 (rate)
TFieldCos map1 fun1 (phase frequency)
###############################################################
FUNCTIONS
fun1 = par3 * gamma_mu
###############################################################
RUN lem07_his_0111 MUE4 PSI ROOT-NPP (name beamline institute data-file-format)
fittype 0 (single histogram fit)
norm 4
backgr.fit 5
lifetimecorrection
map 6 0 0 0 0 0 0 0 0 0
forward 1
data 3413 65000
t0 3413
fit 0.20 8.2
packing 50
###############################################################
COMMANDS
SET BATCH
MINIMIZE
MINOS
SAVE
END RETURN
###############################################################
PLOT 0 (single histo plot)
runs 1
range 0.00 7.00 -0.30 0.30
###############################################################
FOURIER
units Gauss # fourier in field units
fourier_power 12
apodization NONE # NONE, WEAK, MEDIUM, STRONG
plot power
phase 8.5
#range_for_phase_correction 50.0 70.0
range 0.0 200.0
###############################################################
STATISTIC --- 2008-06-09 14:09:39
chisq = 1446.93547, NDF = 1377, chisq/NDF = 1.05078829

176
src/CMakeLists.txt Normal file
View File

@@ -0,0 +1,176 @@
#--- add further sub-directories ----------------------------------------------
add_subdirectory(classes)
add_subdirectory(external)
if (Qt5Core_FOUND)
add_subdirectory(musredit_qt5)
elseif (Qt4_FOUND)
add_subdirectory(musredit)
elseif (QT_FOUND)
add_subdirectory(musrgui)
endif (Qt5Core_FOUND)
#--- define the musrfit libs --------------------------------------------------
set(MUSRFIT_LIBS ${MUSRFIT_LIBS} mud)
set(MUSRFIT_LIBS ${MUSRFIT_LIBS} TMusrRunHeader)
set(MUSRFIT_LIBS ${MUSRFIT_LIBS} TLemRunHeader)
set(MUSRFIT_LIBS ${MUSRFIT_LIBS} Class_MuSR_PSI)
if (nexus)
set(MUSRFIT_LIBS ${MUSRFIT_LIBS} ${NEXUS_LIBRARY})
set(MUSRFIT_LIBS ${MUSRFIT_LIBS} PNeXus)
endif (nexus)
set(MUSRFIT_LIBS ${MUSRFIT_LIBS} PMusr)
#--- start create git-revision.h ----------------------------------------------
configure_file(
${CMAKE_SOURCE_DIR}/cmake/configure_musrfit_version_file.cmake.in
${CMAKE_CURRENT_BINARY_DIR}/configure_musrfit_version_file.cmake
@ONLY
)
add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/git-revision.h
COMMAND ${CMAKE_COMMAND} -P
${CMAKE_CURRENT_BINARY_DIR}/configure_musrfit_version_file.cmake
DEPENDS
${CMAKE_CURRENT_BINARY_DIR}/configure_musrfit_version_file.cmake
${CMAKE_SOURCE_DIR}/cmake/git-revision.h.in
COMMENT "Configuring git-revision.h"
VERBATIM
)
add_custom_target(
configure_musrfit_version ALL
DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/git-revision.h
)
#--- end create git-revision.h ------------------------------------------------
#--- add all executables ------------------------------------------------------
add_executable(any2many git-revision.h any2many.cpp)
target_compile_options(any2many BEFORE PRIVATE "-DHAVE_CONFIG_H")
target_include_directories(any2many
BEFORE PRIVATE
$<BUILD_INTERFACE:${FFTW3_INCLUDE_DIR}>
$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}>
$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/src>
$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/src/include>
)
target_link_libraries(any2many ${ROOT_LIBRARIES} ${MUSRFIT_LIBS})
add_executable(dump_header git-revision.h dump_header.cpp)
target_compile_options(dump_header BEFORE PRIVATE "-DHAVE_CONFIG_H")
target_include_directories(dump_header
BEFORE PRIVATE
$<BUILD_INTERFACE:${FFTW3_INCLUDE_DIR}>
$<BUILD_INTERFACE:${NEXUS_INCLUDE_DIR}>
$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}>
$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/src>
$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/src/include>
$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/src/external/MusrRoot>
$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/src/external/TLemRunHeader>
$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/src/external/MuSR_software/Class_MuSR_PSI/>
$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/src/external/mud/src>
$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/src/external/nexus>
)
target_link_libraries(dump_header ${ROOT_LIBRARIES} ${MUSRFIT_LIBS})
add_executable(msr2data git-revision.h msr2data.cpp)
target_compile_options(msr2data BEFORE PRIVATE "-DHAVE_CONFIG_H")
target_include_directories(msr2data
BEFORE PRIVATE
$<BUILD_INTERFACE:${FFTW3_INCLUDE_DIR}>
$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}>
$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/src>
$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/src/include>
)
target_link_libraries(msr2data ${ROOT_LIBRARIES} ${MUSRFIT_LIBS})
add_executable(msr2msr msr2msr.cpp)
target_link_libraries(msr2msr ${ROOT_LIBRARIES})
add_executable(musrfit git-revision.h musrfit.cpp)
target_compile_options(musrfit BEFORE PRIVATE "-DHAVE_CONFIG_H")
target_include_directories(musrfit
BEFORE PRIVATE
$<BUILD_INTERFACE:${FFTW3_INCLUDE_DIR}>
$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}>
$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/src>
$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/src/include>
)
target_link_libraries(musrfit ${ROOT_LIBRARIES} ${MUSRFIT_LIBS})
add_executable(musrFT git-revision.h musrFT.cpp)
target_compile_options(musrFT BEFORE PRIVATE "-DHAVE_CONFIG_H")
target_include_directories(musrFT
BEFORE PRIVATE
$<BUILD_INTERFACE:${FFTW3_INCLUDE_DIR}>
$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}>
$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/src>
$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/src/include>
)
target_link_libraries(musrFT ${FFTW3_LIBRARY} ${ROOT_LIBRARIES} ${MUSRFIT_LIBS})
add_executable(musrRootValidation git-revision.h musrRootValidation.cpp)
target_compile_options(musrRootValidation BEFORE PRIVATE "-DHAVE_CONFIG_H")
target_include_directories(musrRootValidation
BEFORE PRIVATE
$<BUILD_INTERFACE:${FFTW3_INCLUDE_DIR}>
$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}>
$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/src>
$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/src/include>
$<BUILD_INTERFACE:${LIBXML2_INCLUDE_DIR}>
)
target_link_libraries(musrRootValidation ${ROOT_LIBRARIES} ${MUSRFIT_LIBS} ${LIBXML2_LIBRARIES})
add_executable(musrt0 git-revision.h musrt0.cpp)
target_compile_options(musrt0 BEFORE PRIVATE "-DHAVE_CONFIG_H")
target_include_directories(musrt0
BEFORE PRIVATE
$<BUILD_INTERFACE:${FFTW3_INCLUDE_DIR}>
$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}>
$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/src>
$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/src/include>
)
target_link_libraries(musrt0 ${ROOT_LIBRARIES} ${MUSRFIT_LIBS})
add_executable(musrview git-revision.h musrview.cpp)
target_compile_options(musrview BEFORE PRIVATE "-DHAVE_CONFIG_H")
target_include_directories(musrview
BEFORE PRIVATE
$<BUILD_INTERFACE:${FFTW3_INCLUDE_DIR}>
$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}>
$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/src>
$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/src/include>
)
target_link_libraries(musrview ${FFTW3_LIBRARY} ${ROOT_LIBRARIES} ${MUSRFIT_LIBS})
add_executable(write_musrRoot_runHeader git-revision.h write_musrRoot_runHeader.cpp)
target_compile_options(write_musrRoot_runHeader BEFORE PRIVATE "-DHAVE_CONFIG_H")
target_include_directories(write_musrRoot_runHeader
BEFORE PRIVATE
$<BUILD_INTERFACE:${FFTW3_INCLUDE_DIR}>
$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}>
$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/src>
$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/src/include>
$<BUILD_INTERFACE:${LIBXML2_INCLUDE_DIR}>
$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/src/external/MusrRoot>
)
target_link_libraries(write_musrRoot_runHeader ${ROOT_LIBRARIES} ${MUSRFIT_LIBS} ${LIBXML2_LIBRARIES})
#--- installation info --------------------------------------------------------
install(
TARGETS
any2many
dump_header
msr2data
msr2msr
musrfit
musrFT
musrRootValidation
musrt0
musrview
write_musrRoot_runHeader
RUNTIME DESTINATION
bin
)

View File

@@ -2,7 +2,7 @@
BUILT_SOURCES = git-revision.h
git-revision.h : Makefile
echo \#define GIT_REVISION \"`git log -n 1 --pretty=format:"%ad - %h"`\" > include/git-revision.h
sh git_revision.sh ./include git-revision.h
if PNEXUS_ENABLED
PNEXUSDIRS = external/nexus
@@ -60,9 +60,6 @@ write_musrRoot_runHeader_SOURCES = write_musrRoot_runHeader.cpp
musrRootValidation_SOURCES = musrRootValidation.cpp
dump_header_SOURCES = dump_header.cpp
xmldir = $(HOME)/.musrfit
xml_DATA = musrfit_startup.xml
LIBADD = $(PMUSR_LIBS) $(MUSR_ROOT_LIBS) $(LEM_LIBS) $(PSIBIN_LIBS) $(MUD_LIBS) $(PNEXUS_LIBS)
AM_CXXFLAGS = $(LOCAL_BIN_CXXFLAGS)
@@ -75,42 +72,3 @@ endif
LIBS = $(PMUSR_LIBS) $(USERFCN_LIBS) $(MUSR_ROOT_LIBS) $(LEM_LIBS) $(PSIBIN_LIBS) $(MUD_LIBS) $(PNEXUS_LIBS) \
$(FFTW3_LIBS) $(GSL_LIBS) $(ROOT_LIBS) $(LIBXML2_LIBS)
install-xmlDATA: $(xml_DATA)
test -z "$(xmldir)" || $(mkdir_p) "$(DESTDIR)$(xmldir)"
@if test -e "$(DESTDIR)$(xmldir)/$(xml_DATA)"; then \
DIFF="$$(diff "$(DESTDIR)$(xmldir)/$(xml_DATA)" "$(xml_DATA)" 2>&1)"; \
if test "x$$DIFF" != "x"; then \
echo " " && \
echo " musrfit_startup.xml in $(xmldir)" && \
echo " is different from the distribution's version." && \
echo " Do you want to overwrite it? [y/N]" && \
read OVERWRITE && \
if test "$$OVERWRITE" = "y" || test "$$OVERWRITE" = "Y"; then \
echo "$(INSTALL_DATA) '$(xml_DATA)' '$(DESTDIR)$(xmldir)'" && \
$(INSTALL_DATA) '$(xml_DATA)' '$(DESTDIR)$(xmldir)'; \
fi; \
fi; \
else \
echo "$(INSTALL_DATA) '$(xml_DATA)' '$(DESTDIR)$(xmldir)'" && \
$(INSTALL_DATA) '$(xml_DATA)' '$(DESTDIR)$(xmldir)'; \
fi
uninstall-xmlDATA:
@if test -e "$(DESTDIR)$(xmldir)/$(xml_DATA)"; then \
DIFF="$$(diff "$(DESTDIR)$(xmldir)/$(xml_DATA)" "$(xml_DATA)" 2>&1)"; \
if test "x$$DIFF" != "x"; then \
echo " " && \
echo " musrfit_startup.xml in $(xmldir)" && \
echo " is different from the distribution's version." && \
echo " Do you want to remove it? [y/N]" && \
read REMOVE && \
if test "$$REMOVE" = "y" || test "$$REMOVE" = "Y"; then \
echo "$(RM) '$(DESTDIR)$(xmldir)/$(xml_DATA)'" && \
$(RM) "$(DESTDIR)$(xmldir)/$(xml_DATA)"; \
fi; \
else \
echo "$(RM) '$(DESTDIR)$(xmldir)/$(xml_DATA)'" && \
$(RM) "$(DESTDIR)$(xmldir)/$(xml_DATA)"; \
fi; \
fi

View File

@@ -198,9 +198,9 @@ int main(int argc, char *argv[])
any2many_syntax();
else if (strstr(argv[1], "--v")) {
#ifdef HAVE_CONFIG_H
cout << endl << "any2many version: " << PACKAGE_VERSION << ", git-rev: " << GIT_REVISION << endl << endl;
cout << endl << "any2many version: " << PACKAGE_VERSION << ", git-branch: " << GIT_BRANCH << ", git-rev: " << GIT_CURRENT_SHA1 << endl << endl;
#else
cout << endl << "any2many git-rev: " << GIT_REVISION << endl << endl;
cout << endl << "any2many git-branch: " << GIT_BRANCH << ", git-rev: " << GIT_CURRENT_SHA1 << endl << endl;
#endif
} else {
any2many_syntax();

176
src/classes/CMakeLists.txt Normal file
View File

@@ -0,0 +1,176 @@
#--- build the PMusr and PUserFcnBase libs ------------------------------------
#--- generate necessary dictionaries ------------------------------------------
set(MUSRFIT_INC ${CMAKE_SOURCE_DIR}/src/include)
root_generate_dictionary(
PFourierCanvasDict
-I${FFTW3_INCLUDE_DIR} ${MUSRFIT_INC}/PFourierCanvas.h
LINKDEF ${MUSRFIT_INC}/PFourierCanvasLinkDef.h
)
root_generate_dictionary(
PMusrCanvasDict
-I${FFTW3_INCLUDE_DIR} ${MUSRFIT_INC}/PMusrCanvas.h
LINKDEF ${MUSRFIT_INC}/PMusrCanvasLinkDef.h
)
root_generate_dictionary(
PMusrT0Dict
-I${FFTW3_INCLUDE_DIR} ${MUSRFIT_INC}/PMusrT0.h
LINKDEF ${MUSRFIT_INC}/PMusrT0LinkDef.h
)
root_generate_dictionary(
PStartupHandlerDict
-I${FFTW3_INCLUDE_DIR} ${MUSRFIT_INC}/PStartupHandler.h
LINKDEF ${MUSRFIT_INC}/PStartupHandlerLinkDef.h
)
root_generate_dictionary(
PUserFcnBaseDict
-I${FFTW3_INCLUDE_DIR} ${MUSRFIT_INC}/PUserFcnBase.h
LINKDEF ${MUSRFIT_INC}/PUserFcnBaseLinkDef.h
)
#--- create pkg-config info ---------------------------------------------------
set(prefix "${CMAKE_INSTALL_PREFIX}")
set(exec_prefix "\$\{prefix\}")
set(libdir "\$\{exec_prefix\}/lib")
set(includedir "\$\{prefix\}/include")
set(MUSR_VERSION "1.3.0")
set(MUSR_LIBRARY_NAME "PMusr")
configure_file("PMusr.pc.in" "PMusr.pc" @ONLY)
set(USERFCN_LIBRARY_NAME "PUserFcnBase")
configure_file("PUserFcnBase.pc.in" "PUserFcnBase.pc" @ONLY)
#--- lib creation -------------------------------------------------------------
add_library(PMusr SHARED
PFitter.cpp
PFitterFcn.cpp
PFourier.cpp
PFourierCanvas.cpp
PFourierCanvasDict.cxx
PMusrCanvas.cpp
PMusrCanvasDict.cxx
PFunction.cpp
PFunctionHandler.cpp
PMsr2Data.cpp
PMsrHandler.cpp
PMusrCanvas.cpp
PMusrCanvasDict.cxx
PMusr.cpp
PMusrT0.cpp
PMusrT0Dict.cxx
PPrepFourier.cpp
PRunAsymmetry.cpp
PRunAsymmetryRRF.cpp
PRunBase.cpp
PRunDataHandler.cpp
PRunListCollection.cpp
PRunMuMinus.cpp
PRunNonMusr.cpp
PRunSingleHisto.cpp
PRunSingleHistoRRF.cpp
PStartupHandler.cpp
PStartupHandlerDict.cxx
PTheory.cpp
)
#--- make sure that the include directory is found ----------------------------
target_include_directories(
PMusr BEFORE PRIVATE
$<BUILD_INTERFACE:${FFTW3_INCLUDE_DIR}>
$<BUILD_INTERFACE:${NEXUS_INCLUDE_DIR}>
$<BUILD_INTERFACE:${MUSRFIT_INC}>
$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/src/external/MusrRoot>
$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/src/external/TLemRunHeader>
$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/src/external/MuSR_software/Class_MuSR_PSI>
$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/src/external/mud/src>
$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/src/external/nexus>
)
add_library(PUserFcnBase SHARED
PUserFcnBase.cpp
PUserFcnBaseDict.cxx
)
#--- set target properties, e.g. version --------------------------------------
set_target_properties(PMusr
PROPERTIES
VERSION ${MUSR_VERSION}
)
set_target_properties(PUserFcnBase
PROPERTIES
VERSION ${MUSR_VERSION}
)
#--- make sure that the include directory is found ----------------------------
target_include_directories(
PUserFcnBase BEFORE PRIVATE $<BUILD_INTERFACE:${MUSRFIT_INC}>
)
#--- add OpenMP compile options if needed -------------------------------------
if (OpenMP_FOUND)
target_compile_options(PMusr PUBLIC ${OpenMP_CXX_FLAGS})
endif (OpenMP_FOUND)
#--- add library dependencies -------------------------------------------------
set(DependOnLibs ${ROOT_LIBARIES})
set(DependOnLibs ${DependOnLibs} ${FFTW3_LIBRARY})
set(DependOnLibs ${DependOnLibs} PUserFcnBase)
set(DependOnLibs ${DependOnLibs} mud)
set(DependOnLibs ${DependOnLibs} TMusrRunHeader)
set(DependOnLibs ${DependOnLibs} TLemRunHeader)
set(DependOnLibs ${DependOnLibs} Class_MuSR_PSI)
if (nexus)
set(DependOnLibs ${DependOnLibs} ${LIBNEXUS_LIBRARY})
set(DependOnLibs ${DependOnLibs} PNeXus)
endif (nexus)
if (OpenMP_FOUND)
if (OpenMP_CXX_LIBRARIES)
set(DependOnLibs ${DependOnLibs} ${OpenMP_CXX_LIBRARIES})
else (OpenMP_CXX_LIBRARIES)
set(DependOnLibs ${DependOnLibs} ${OpenMP_CXX_FLAGS}) # for older cmake OpenMP_CXX_LIBRARIES is not defined
endif (OpenMP_CXX_LIBRARIES)
endif (OpenMP_FOUND)
target_link_libraries(PUserFcnBase ${ROOT_LIBRARIES})
target_link_libraries(PMusr ${DependOnLibs})
#--- install PUserFcnBase solib -----------------------------------------------
install(TARGETS PUserFcnBase DESTINATION lib)
#--- install PMusr solib ------------------------------------------------------
install(TARGETS PMusr DESTINATION lib)
#--- install root pcm's and rootmaps ------------------------------------------
install(
FILES ${CMAKE_CURRENT_BINARY_DIR}/libPFourierCanvasDict_rdict.pcm
${CMAKE_CURRENT_BINARY_DIR}/libPFourierCanvasDict.rootmap
${CMAKE_CURRENT_BINARY_DIR}/libPMusrCanvasDict_rdict.pcm
${CMAKE_CURRENT_BINARY_DIR}/libPMusrCanvasDict.rootmap
${CMAKE_CURRENT_BINARY_DIR}/libPMusrT0Dict_rdict.pcm
${CMAKE_CURRENT_BINARY_DIR}/libPMusrT0Dict.rootmap
${CMAKE_CURRENT_BINARY_DIR}/libPStartupHandlerDict_rdict.pcm
${CMAKE_CURRENT_BINARY_DIR}/libPStartupHandlerDict.rootmap
${CMAKE_CURRENT_BINARY_DIR}/libPUserFcnBaseDict_rdict.pcm
${CMAKE_CURRENT_BINARY_DIR}/libPUserFcnBaseDict.rootmap
DESTINATION lib
)
#--- install headers ----------------------------------------------------------
#--- only install headers needed for classes with dictionary
install(
FILES ${MUSRFIT_INC}/PFourierCanvas.h
${MUSRFIT_INC}/PFourier.h
${MUSRFIT_INC}/PMusrCanvas.h
${MUSRFIT_INC}/PMusr.h
${MUSRFIT_INC}/PMusrT0.h
${MUSRFIT_INC}/PRunListCollection.h
${MUSRFIT_INC}/PStartupHandler.h
${MUSRFIT_INC}/PUserFcnBase.h
DESTINATION include
)
#--- install pkg-config info --------------------------------------------------
install(
FILES ${CMAKE_CURRENT_BINARY_DIR}/PUserFcnBase.pc
${CMAKE_CURRENT_BINARY_DIR}/PMusr.pc
DESTINATION lib/pkgconfig
)

View File

@@ -202,27 +202,27 @@ $(EXTOBJS): ../external/MuSR_software/Class_MuSR_PSI/MuSR_td_PSI_bin.cpp
TLemRunHeaderDict.cxx: ../external/TLemRunHeader/TLemRunHeader.h ../external/TLemRunHeader/TLemRunHeaderLinkDef.h
@echo "Generating dictionary $@..."
rootcint -f $@ -c -p $^
rootcling -f $@ -c -p $^
TLemStatsDict.cxx: ../external/TLemRunHeader/TLemStats.h ../external/TLemRunHeader/TLemStatsLinkDef.h
@echo "Generating dictionary $@..."
rootcint -f $@ -c -p $^
rootcling -f $@ -c -p $^
PStartupHandlerDict.cpp: ../include/PStartupHandler.h ../include/PStartupHandlerLinkDef.h
@echo "Generating dictionary $@..."
rootcint -f $@ -c -p $^
rootcling -f $@ -c -p $^
PMusrCanvasDict.cpp: ../include/PMusrCanvas.h ../include/PMusrCanvasLinkDef.h
@echo "Generating dictionary $@..."
rootcint -v -f $@ -c -p $^
rootcling -v -f $@ -c -p $^
PMusrT0Dict.cpp: ../include/PMusrT0.h ../include/PMusrT0LinkDef.h
@echo "Generating dictionary $@..."
rootcint -v -f $@ -c -p $^
rootcling -v -f $@ -c -p $^
PUserFcnBaseDict.cpp: ../include/PUserFcnBase.h ../include/PUserFcnBaseLinkDef.h
@echo "Generating dictionary $@..."
rootcint -v -f $@ -c -p $^
rootcling -v -f $@ -c -p $^
install: leminstall musrinstall

View File

@@ -89,7 +89,7 @@ $(OBJS): %.o: %.cpp
PUserFcnDict.cpp: ../include/PUserFcn.h ../include/PUserFcnLinkDef.h
@echo "Generating dictionary $@..."
rootcint -f $@ -c -p $^
rootcling -f $@ -c -p $^
install: all
@echo "Installing shared lib: libPUserFcn.so ( you must be root ;-) )"

View File

@@ -84,6 +84,14 @@ dict_cpp_sources = \
dict_cpp_sources_userFcn = \
PUserFcnBaseDict.cpp
pcmdir = $(libdir)
pcm_DATA = \
PFourierCanvasDict_rdict.pcm \
PMusrCanvasDict_rdict.pcm \
PMusrT0Dict_rdict.pcm \
PStartupHandlerDict_rdict.pcm \
PUserFcnBaseDict_rdict.pcm
include_HEADERS = $(h_sources) $(h_sources_userFcn)
noinst_HEADERS = $(h_linkdef) $(dict_h_sources) $(h_linkdef_userFcn) $(dict_h_sources_userFcn)
@@ -92,10 +100,10 @@ AM_CXXFLAGS = $(LOCAL_LIB_CXXFLAGS)
BUILT_SOURCES = $(dict_cpp_sources) $(dict_h_sources) $(dict_cpp_sources_userFcn) $(dict_h_sources_userFcn)
AM_LDFLAGS = $(LOCAL_LIB_LDFLAGS) -L@ROOTLIBDIR@
CLEANFILES = *Dict.cpp *Dict.h *~ core
CLEANFILES = *Dict.cpp *Dict.h *Dict* *~ core
%Dict.cpp %Dict.h: ../include/%.h ../include/%LinkDef.h
@ROOTCINT@ -v -f $*Dict.cpp -c -p $(AM_CPPFLAGS) $^
@ROOTCLING@ -v -f $*Dict.cpp -c -p $(AM_CPPFLAGS) $^
lib_LTLIBRARIES = libPUserFcnBase.la libPMusr.la

View File

@@ -1138,7 +1138,12 @@ Bool_t PFitter::ExecuteHesse()
TString str = TString::Format("Hesse: %.3f sec", (end-start)/1.0e3);
fElapsedTime.push_back(str);
if (!mnState.IsValid()) {
cerr << endl << ">> PFitter::ExecuteHesse(): **WARNING** Hesse encountered some problems!";
cerr << endl << ">> PFitter::ExecuteHesse(): **WARNING** Hesse encountered a problem! The state found is invalid.";
cerr << endl;
return false;
}
if (!mnState.HasCovariance()) {
cerr << endl << ">> PFitter::ExecuteHesse(): **WARNING** Hesse encountered a problem! No covariance matrix available.";
cerr << endl;
return false;
}
@@ -1343,6 +1348,8 @@ Bool_t PFitter::ExecuteMinos()
// the 2nd condition is from an all together unused variable
// the 3rd condition is a variable fixed via the FIX command
if ((fMnUserParams.Error(i) != 0.0) && (fRunInfo->ParameterInUse(i) != 0) && (!fMnUserParams.Parameters().at(i).IsFixed())) {
cout << ">> PFitter::ExecuteMinos(): calculate errors for " << fParams[i].fName << endl;
// 1-sigma MINOS errors
ROOT::Minuit2::MinosError err = minos.Minos(i);

View File

@@ -507,7 +507,7 @@ TH1F* PFourier::GetPhaseOptRealFourier(const TH1F *re, const TH1F *im, vector<Do
phase.resize(2); // c0, c1
TAxis *axis = re->GetXaxis();
const TAxis *axis = re->GetXaxis();
Int_t minBin = 1;
Int_t maxBin = axis->GetNbins();

View File

@@ -163,6 +163,9 @@ Int_t PMsrHandler::ReadMsrFile()
continue;
}
// remove leading spaces
line.Remove(TString::kLeading, ' ');
if (!line.IsWhitespace()) { // if not an empty line, handle it
// check for a msr block
if (line_no == 1) { // title
@@ -2604,7 +2607,7 @@ void PMsrHandler::SetMsrBkgRangeEntry(UInt_t runNo, UInt_t idx, Int_t bin)
Int_t PMsrHandler::ParameterInUse(UInt_t paramNo)
{
// check that paramNo is within acceptable range
if ((paramNo < 0) || (paramNo >= fParam.size()))
if (paramNo >= fParam.size())
return -1;
return fParamInUse[paramNo];
@@ -3184,14 +3187,14 @@ Bool_t PMsrHandler::HandleRunEntry(PMsrLines &lines)
Bool_t error = false;
Bool_t runLinePresent = false;
TString str;
TString str, line;
TObjArray *tokens = 0;
TObjString *ostr = 0;
UInt_t addT0Counter = 0;
Int_t ival;
Double_t dval;
Double_t dval;
iter = lines.begin();
while ((iter != lines.end()) && !error) {
@@ -3209,8 +3212,13 @@ Bool_t PMsrHandler::HandleRunEntry(PMsrLines &lines)
return false;
}
// copy of the current line
line = iter->fLine;
// strip leading spaces from the begining
line.Remove(TString::kLeading, ' ');
// RUN line ----------------------------------------------
if (iter->fLine.BeginsWith("run", TString::kIgnoreCase)) {
if (line.BeginsWith("run", TString::kIgnoreCase)) {
runLinePresent = true; // this is needed to make sure that a run line is present before and ADDRUN is following
@@ -3247,7 +3255,7 @@ Bool_t PMsrHandler::HandleRunEntry(PMsrLines &lines)
}
// ADDRUN line ---------------------------------------------
if (iter->fLine.BeginsWith("addrun", TString::kIgnoreCase)) {
if (line.BeginsWith("addrun", TString::kIgnoreCase)) {
if (!runLinePresent) {
cerr << endl << ">> PMsrHandler::HandleRunEntry: **ERROR** Found ADDRUN without prior RUN, or";
@@ -3282,7 +3290,7 @@ Bool_t PMsrHandler::HandleRunEntry(PMsrLines &lines)
}
// fittype -------------------------------------------------
if (iter->fLine.BeginsWith("fittype", TString::kIgnoreCase)) {
if (line.BeginsWith("fittype", TString::kIgnoreCase)) {
runLinePresent = false; // this is needed to make sure that a run line is present before and ADDRUN is following
@@ -3310,7 +3318,7 @@ Bool_t PMsrHandler::HandleRunEntry(PMsrLines &lines)
}
// alpha -------------------------------------------------
if (iter->fLine.BeginsWith("alpha", TString::kIgnoreCase)) {
if (line.BeginsWith("alpha", TString::kIgnoreCase)) {
runLinePresent = false; // this is needed to make sure that a run line is present before and ADDRUN is following
@@ -3332,7 +3340,7 @@ Bool_t PMsrHandler::HandleRunEntry(PMsrLines &lines)
}
// beta -------------------------------------------------
if (iter->fLine.BeginsWith("beta", TString::kIgnoreCase)) {
if (line.BeginsWith("beta", TString::kIgnoreCase)) {
runLinePresent = false; // this is needed to make sure that a run line is present before and ADDRUN is following
@@ -3354,7 +3362,7 @@ Bool_t PMsrHandler::HandleRunEntry(PMsrLines &lines)
}
// norm -------------------------------------------------
if (iter->fLine.BeginsWith("norm", TString::kIgnoreCase)) {
if (line.BeginsWith("norm", TString::kIgnoreCase)) {
runLinePresent = false; // this is needed to make sure that a run line is present before and ADDRUN is following
@@ -3378,7 +3386,7 @@ Bool_t PMsrHandler::HandleRunEntry(PMsrLines &lines)
}
// backgr.fit --------------------------------------------
if (iter->fLine.BeginsWith("backgr.fit", TString::kIgnoreCase)) {
if (line.BeginsWith("backgr.fit", TString::kIgnoreCase)) {
runLinePresent = false; // this is needed to make sure that a run line is present before and ADDRUN is following
@@ -3400,7 +3408,7 @@ Bool_t PMsrHandler::HandleRunEntry(PMsrLines &lines)
}
// lifetime ------------------------------------------------
if (iter->fLine.BeginsWith("lifetime ", TString::kIgnoreCase)) {
if (line.BeginsWith("lifetime ", TString::kIgnoreCase)) {
runLinePresent = false; // this is needed to make sure that a run line is present before and ADDRUN is following
@@ -3422,7 +3430,7 @@ Bool_t PMsrHandler::HandleRunEntry(PMsrLines &lines)
}
// lifetimecorrection ---------------------------------------
if (iter->fLine.BeginsWith("lifetimecorrection", TString::kIgnoreCase)) {
if (line.BeginsWith("lifetimecorrection", TString::kIgnoreCase)) {
runLinePresent = false; // this is needed to make sure that a run line is present before and ADDRUN is following
@@ -3430,7 +3438,7 @@ Bool_t PMsrHandler::HandleRunEntry(PMsrLines &lines)
}
// map ------------------------------------------------------
if (iter->fLine.BeginsWith("map", TString::kIgnoreCase)) {
if (line.BeginsWith("map", TString::kIgnoreCase)) {
runLinePresent = false; // this is needed to make sure that a run line is present before and ADDRUN is following
@@ -3460,7 +3468,7 @@ Bool_t PMsrHandler::HandleRunEntry(PMsrLines &lines)
}
// forward ------------------------------------------------
if (iter->fLine.BeginsWith("forward", TString::kIgnoreCase)) {
if (line.BeginsWith("forward", TString::kIgnoreCase)) {
runLinePresent = false; // this is needed to make sure that a run line is present before and ADDRUN is following
@@ -3485,7 +3493,7 @@ Bool_t PMsrHandler::HandleRunEntry(PMsrLines &lines)
}
// backward -----------------------------------------------
if (iter->fLine.BeginsWith("backward", TString::kIgnoreCase)) {
if (line.BeginsWith("backward", TString::kIgnoreCase)) {
runLinePresent = false; // this is needed to make sure that a run line is present before and ADDRUN is following
@@ -3510,7 +3518,7 @@ Bool_t PMsrHandler::HandleRunEntry(PMsrLines &lines)
}
// backgr.fix ----------------------------------------------
if (iter->fLine.BeginsWith("backgr.fix", TString::kIgnoreCase)) {
if (line.BeginsWith("backgr.fix", TString::kIgnoreCase)) {
runLinePresent = false; // this is needed to make sure that a run line is present before and ADDRUN is following
@@ -3529,7 +3537,7 @@ Bool_t PMsrHandler::HandleRunEntry(PMsrLines &lines)
}
// background ---------------------------------------------
if (iter->fLine.BeginsWith("background", TString::kIgnoreCase)) {
if (line.BeginsWith("background", TString::kIgnoreCase)) {
runLinePresent = false; // this is needed to make sure that a run line is present before and ADDRUN is following
@@ -3553,7 +3561,7 @@ Bool_t PMsrHandler::HandleRunEntry(PMsrLines &lines)
}
// data --------------------------------------------------
if (iter->fLine.BeginsWith("data", TString::kIgnoreCase)) {
if (line.BeginsWith("data", TString::kIgnoreCase)) {
runLinePresent = false; // this is needed to make sure that a run line is present before and ADDRUN is following
@@ -3577,7 +3585,7 @@ Bool_t PMsrHandler::HandleRunEntry(PMsrLines &lines)
}
// t0 -----------------------------------------------------
if (iter->fLine.BeginsWith("t0", TString::kIgnoreCase)) {
if (line.BeginsWith("t0", TString::kIgnoreCase)) {
runLinePresent = false; // this is needed to make sure that a run line is present before and ADDRUN is following
@@ -3601,7 +3609,7 @@ Bool_t PMsrHandler::HandleRunEntry(PMsrLines &lines)
}
// addt0 -----------------------------------------------------
if (iter->fLine.BeginsWith("addt0", TString::kIgnoreCase)) {
if (line.BeginsWith("addt0", TString::kIgnoreCase)) {
runLinePresent = false; // this is needed to make sure that a run line is present before and ADDRUN is following
@@ -3627,7 +3635,7 @@ Bool_t PMsrHandler::HandleRunEntry(PMsrLines &lines)
}
// fit -----------------------------------------------------
if (iter->fLine.BeginsWith("fit ", TString::kIgnoreCase)) {
if (line.BeginsWith("fit ", TString::kIgnoreCase)) {
runLinePresent = false; // this is needed to make sure that a run line is present before and ADDRUN is following
@@ -3682,7 +3690,7 @@ Bool_t PMsrHandler::HandleRunEntry(PMsrLines &lines)
}
// packing --------------------------------------------------
if (iter->fLine.BeginsWith("packing", TString::kIgnoreCase)) {
if (line.BeginsWith("packing", TString::kIgnoreCase)) {
runLinePresent = false; // this is needed to make sure that a run line is present before and ADDRUN is following
@@ -3704,7 +3712,7 @@ Bool_t PMsrHandler::HandleRunEntry(PMsrLines &lines)
}
// xy-data -----------------------------------------------
if (iter->fLine.BeginsWith("xy-data", TString::kIgnoreCase)) {
if (line.BeginsWith("xy-data", TString::kIgnoreCase)) {
runLinePresent = false; // this is needed to make sure that a run line is present before and ADDRUN is following
@@ -6094,22 +6102,6 @@ Bool_t PMsrHandler::EstimateN0()
return fStartupOptions->estimateN0;
}
//--------------------------------------------------------------------------
// GetAlphaEstimateN0 (public)
//--------------------------------------------------------------------------
/**
* <p>returns alpha to estimate N0
*/
/*as
Double_t PMsrHandler::GetAlphaEstimateN0()
{
if (fStartupOptions == 0)
return 0.0;
return fStartupOptions->alphaEstimateN0;
}
*/
//--------------------------------------------------------------------------
// NeededPrecision (private)
//--------------------------------------------------------------------------
@@ -6172,10 +6164,10 @@ UInt_t PMsrHandler::LastSignificant(Double_t dval, UInt_t precLimit)
}
// find last significant digit
for (UInt_t i=strlen(str)-1; i>=0; i--) {
for (Int_t i=strlen(str)-1; i>=0; i--) {
if (str[i] != '0') {
if ((i-decimalPoint) < precLimit)
lastSignificant = i-decimalPoint;
if (((UInt_t)i-decimalPoint) < precLimit)
lastSignificant = (UInt_t)i-decimalPoint;
else
lastSignificant = precLimit;
break;

View File

@@ -1014,8 +1014,13 @@ void PMusrCanvas::HandleCmdKey(Int_t event, Int_t x, Int_t y, TObject *selected)
if (event != kKeyPress)
return;
if (fBatchMode)
if (fBatchMode) {
if (fStartWithAvg) { // this is needed to get the averaging in the batch mode
HandleAverage();
PlotAverage(true);
}
return;
}
// handle keys and popup menu entries
enum eKeySwitch {kNotRelevant, kData, kDiffData, kFourier, kDiffFourier, kFourierDiff};
@@ -1502,12 +1507,25 @@ void PMusrCanvas::HandleMenuPopup(Int_t id)
*/
void PMusrCanvas::LastCanvasClosed()
{
// cout << endl << ">> in last canvas closed check ...";
// cerr << ">> in last canvas closed check. gROOT->GetListOfCanvases()->GetEntries()=" << gROOT->GetListOfCanvases()->GetEntries() << endl;
if (gROOT->GetListOfCanvases()->IsEmpty()) {
Done(0);
}
}
//--------------------------------------------------------------------------
// WindowClosed (SLOT)
//--------------------------------------------------------------------------
/**
* <p>Slot called when the canvas is closed. Seems to be necessary on some systems.
*/
void PMusrCanvas::WindowClosed()
{
// cerr << ">> fMainCanvas->GetName()=" << fMainCanvas->GetName() << endl;
gROOT->GetListOfCanvases()->Remove(fMainCanvas);
LastCanvasClosed();
}
//--------------------------------------------------------------------------
// SaveGraphicsAndQuit
//--------------------------------------------------------------------------
@@ -1540,7 +1558,10 @@ void PMusrCanvas::SaveGraphicsAndQuit(Char_t *fileName, Char_t *graphicsFormat)
return;
}
sprintf(ext, "_%d", fPlotNumber);
if (fStartWithFourier)
sprintf(ext, "_%d_F", fPlotNumber);
else
sprintf(ext, "_%d", fPlotNumber);
str.Replace(idx, size, ext, strlen(ext));
idx += strlen(ext);
size = strlen(ext);
@@ -1582,7 +1603,9 @@ void PMusrCanvas::ExportData(const Char_t *fileName)
switch (fPlotType) {
case MSR_PLOT_SINGLE_HISTO:
case MSR_PLOT_SINGLE_HISTO_RRF:
case MSR_PLOT_ASYM:
case MSR_PLOT_ASYM_RRF:
case MSR_PLOT_MU_MINUS:
if (fDifferenceView) { // difference view plot
switch (fCurrentPlotView) {
@@ -2372,9 +2395,12 @@ void PMusrCanvas::InitMusrCanvas(const Char_t* title, Int_t wtopx, Int_t wtopy,
return;
}
fMainCanvas->Connect("Closed()", "PMusrCanvas", this, "LastCanvasClosed()");
// add canvas menu if not in batch mode
if (!fBatchMode) {
fImp = (TRootCanvas*)fMainCanvas->GetCanvasImp();
fImp->Connect("CloseWindow()", "PMusrCanvas", this, "WindowClosed()");
fBar = fImp->GetMenuBar();
fPopupMain = fBar->AddPopup("&Musrfit");
@@ -4593,14 +4619,8 @@ void PMusrCanvas::PlotData(Bool_t unzoom)
dataYmax = GetMaximum(fData[i].data, dataXmin, dataXmax);
}
Double_t dd = 0.05*fabs(dataYmax-dataYmin);
if (!fMsrHandler->GetMsrPlotList()->at(fPlotNumber).fLogY) {
dataYmin -= dd;
dataYmax += dd;
} else {
if (dataYmin < 0)
dataYmin = 0.1;
dataYmax += dd;
}
dataYmin -= dd;
dataYmax += dd;
}
} else { // set the x-/y-range to the previous fHistoFrame range
dataXmin = xmin;
@@ -4618,16 +4638,13 @@ void PMusrCanvas::PlotData(Bool_t unzoom)
dataYmax = GetMaximum(fData[i].data, dataXmin, dataXmax);
}
Double_t dd = 0.05*fabs(dataYmax-dataYmin);
if (!fMsrHandler->GetMsrPlotList()->at(fPlotNumber).fLogY) {
dataYmin -= dd;
dataYmax += dd;
} else {
if (dataYmin < 0)
dataYmin = 0.1;
dataYmax += dd;
}
dataYmin -= dd;
dataYmax += dd;
}
}
if (fMsrHandler->GetMsrPlotList()->at(fPlotNumber).fLogY) {
dataYmin = 1.0e-4 * dataYmax;
}
// create histo frame in order to plot histograms possibly with different x-frames
fHistoFrame = fDataTheoryPad->DrawFrame(dataXmin, dataYmin, dataXmax, dataYmax);
@@ -4749,14 +4766,8 @@ void PMusrCanvas::PlotData(Bool_t unzoom)
dataYmax = GetMaximum(fNonMusrData[i].data, dataXmin, dataXmax);
}
Double_t dd = 0.05*fabs(dataYmax-dataYmin);
if (!fMsrHandler->GetMsrPlotList()->at(fPlotNumber).fLogY) {
dataYmin -= dd;
dataYmax += dd;
} else {
if (dataYmin < 0)
dataYmin = 0.1;
dataYmax += dd;
}
dataYmin -= dd;
dataYmax += dd;
}
} else { // set the x-/y-range to the previous fHistoFrame range
dataXmin = xmin;
@@ -4774,16 +4785,14 @@ void PMusrCanvas::PlotData(Bool_t unzoom)
dataYmax = GetMaximum(fNonMusrData[i].data, dataXmin, dataXmax);
}
Double_t dd = 0.05*fabs(dataYmax-dataYmin);
if (!fMsrHandler->GetMsrPlotList()->at(fPlotNumber).fLogY) {
dataYmin -= dd;
dataYmax += dd;
} else {
if (dataYmin < 0)
dataYmin = 0.1;
dataYmax += dd;
}
dataYmin -= dd;
dataYmax += dd;
}
}
if (fMsrHandler->GetMsrPlotList()->at(fPlotNumber).fLogY) {
if (dataYmin <= 0.0)
dataYmin = 1.0e-4 * dataYmax;
}
// create fMultiGraphData, and add all data and theory
fMultiGraphData = new TMultiGraph();
@@ -6447,10 +6456,10 @@ UInt_t PMusrCanvas::GetNeededAccuracy(PMsrParamStructure param)
}
// find last significant digit
for (UInt_t i=strlen(str)-1; i>=0; i--) {
for (Int_t i=strlen(str)-1; i>=0; i--) {
if (str[i] != '0') {
if ((i-decimalPoint) < precLimit)
accuracy = i-decimalPoint;
if (((UInt_t)i-decimalPoint) < precLimit)
accuracy = (UInt_t)i-decimalPoint;
else
accuracy = precLimit;
break;

View File

@@ -574,7 +574,7 @@ Bool_t PRunAsymmetry::PrepareData()
addRunSize = addRunData->GetDataBin(forwardHistoNo[k])->size();
for (UInt_t j=0; j<addRunData->GetDataBin(forwardHistoNo[k])->size(); j++) { // loop over the bin indices
// make sure that the index stays in the proper range
if ((j+(Int_t)fAddT0s[i-1][2*k]-(Int_t)fT0s[2*k] >= 0) && (j+(Int_t)fAddT0s[i-1][2*k]-(Int_t)fT0s[2*k] < addRunSize)) {
if (((Int_t)j+(Int_t)fAddT0s[i-1][2*k]-(Int_t)fT0s[2*k] >= 0) && (j+(Int_t)fAddT0s[i-1][2*k]-(Int_t)fT0s[2*k] < addRunSize)) {
forward[k][j] += addRunData->GetDataBin(forwardHistoNo[k])->at(j+(Int_t)fAddT0s[i-1][2*k]-(Int_t)fT0s[2*k]);
}
}
@@ -585,7 +585,7 @@ Bool_t PRunAsymmetry::PrepareData()
addRunSize = addRunData->GetDataBin(backwardHistoNo[k])->size();
for (UInt_t j=0; j<addRunData->GetDataBin(backwardHistoNo[k])->size(); j++) { // loop over the bin indices
// make sure that the index stays in the proper range
if ((j+(Int_t)fAddT0s[i-1][2*k+1]-(Int_t)fT0s[2*k+1] >= 0) && (j+(Int_t)fAddT0s[i-1][2*k+1]-(Int_t)fT0s[2*k+1] < addRunSize)) {
if (((Int_t)j+(Int_t)fAddT0s[i-1][2*k+1]-(Int_t)fT0s[2*k+1] >= 0) && (j+(Int_t)fAddT0s[i-1][2*k+1]-(Int_t)fT0s[2*k+1] < addRunSize)) {
backward[k][j] += addRunData->GetDataBin(backwardHistoNo[k])->at(j+(Int_t)fAddT0s[i-1][2*k+1]-(Int_t)fT0s[2*k+1]);
}
}
@@ -757,8 +757,8 @@ Bool_t PRunAsymmetry::SubtractEstimatedBkg()
beamPeriod = 0.0;
// check if start and end are in proper order
UInt_t start[2] = {fRunInfo->GetBkgRange(0), fRunInfo->GetBkgRange(2)};
UInt_t end[2] = {fRunInfo->GetBkgRange(1), fRunInfo->GetBkgRange(3)};
Int_t start[2] = {fRunInfo->GetBkgRange(0), fRunInfo->GetBkgRange(2)};
Int_t end[2] = {fRunInfo->GetBkgRange(1), fRunInfo->GetBkgRange(3)};
for (UInt_t i=0; i<2; i++) {
if (end[i] < start[i]) {
cout << endl << "PRunAsymmetry::SubtractEstimatedBkg(): end = " << end[i] << " > start = " << start[i] << "! Will swap them!";
@@ -1774,11 +1774,17 @@ Bool_t PRunAsymmetry::GetProperDataRange(PRawRunData* runData, UInt_t histoNo[2]
return false;
}
// 3rd check if end is within proper bounds
if ((end[i] < 0) || (end[i] > (Int_t)runData->GetDataBin(histoNo[i])->size())) {
cerr << endl << ">> PRunAsymmetry::GetProperDataRange(): **ERROR** end data bin doesn't make any sense!";
if (end[i] < 0) {
cerr << endl << ">> PRunAsymmetry::GetProperDataRange(): **ERROR** end data bin (" << end[i] << ") doesn't make any sense!";
cerr << endl;
return false;
}
if (end[i] > (Int_t)runData->GetDataBin(histoNo[i])->size()) {
cerr << endl << ">> PRunAsymmetry::GetProperDataRange(): **WARNING** end data bin (" << end[i] << ") > histo length (" << (Int_t)runData->GetDataBin(histoNo[i])->size() << ").";
cerr << endl << ">> Will set end = (histo length - 1). Consider to change it in the msr-file." << endl;
cerr << endl;
end[i] = (Int_t)runData->GetDataBin(histoNo[i])->size()-1;
}
// 4th check if t0 is within proper bounds
if ((t0[i] < 0) || (t0[i] > (Int_t)runData->GetDataBin(histoNo[i])->size())) {
cerr << endl << ">> PRunAsymmetry::GetProperDataRange(): **ERROR** t0 data bin doesn't make any sense!";

View File

@@ -566,7 +566,7 @@ Bool_t PRunAsymmetryRRF::PrepareData()
addRunSize = addRunData->GetDataBin(forwardHistoNo[k])->size();
for (UInt_t j=0; j<addRunData->GetDataBin(forwardHistoNo[k])->size(); j++) { // loop over the bin indices
// make sure that the index stays in the proper range
if ((j+(Int_t)fAddT0s[i-1][2*k]-(Int_t)fT0s[2*k] >= 0) && (j+(Int_t)fAddT0s[i-1][2*k]-(Int_t)fT0s[2*k] < addRunSize)) {
if (((Int_t)j+(Int_t)fAddT0s[i-1][2*k]-(Int_t)fT0s[2*k] >= 0) && (j+(Int_t)fAddT0s[i-1][2*k]-(Int_t)fT0s[2*k] < addRunSize)) {
forward[k][j] += addRunData->GetDataBin(forwardHistoNo[k])->at(j+(Int_t)fAddT0s[i-1][2*k]-(Int_t)fT0s[2*k]);
}
}
@@ -577,7 +577,7 @@ Bool_t PRunAsymmetryRRF::PrepareData()
addRunSize = addRunData->GetDataBin(backwardHistoNo[k])->size();
for (UInt_t j=0; j<addRunData->GetDataBin(backwardHistoNo[k])->size(); j++) { // loop over the bin indices
// make sure that the index stays in the proper range
if ((j+(Int_t)fAddT0s[i-1][2*k+1]-(Int_t)fT0s[2*k+1] >= 0) && (j+(Int_t)fAddT0s[i-1][2*k+1]-(Int_t)fT0s[2*k+1] < addRunSize)) {
if (((Int_t)j+(Int_t)fAddT0s[i-1][2*k+1]-(Int_t)fT0s[2*k+1] >= 0) && (j+(Int_t)fAddT0s[i-1][2*k+1]-(Int_t)fT0s[2*k+1] < addRunSize)) {
backward[k][j] += addRunData->GetDataBin(backwardHistoNo[k])->at(j+(Int_t)fAddT0s[i-1][2*k+1]-(Int_t)fT0s[2*k+1]);
}
}
@@ -597,7 +597,7 @@ Bool_t PRunAsymmetryRRF::PrepareData()
for (UInt_t i=1; i<forwardHistoNo.size(); i++) { // loop over the groupings
for (UInt_t j=0; j<runData->GetDataBin(forwardHistoNo[i])->size(); j++) { // loop over the bin indices
// make sure that the index stays within proper range
if ((j+fT0s[2*i]-fT0s[0] >= 0) && (j+fT0s[2*i]-fT0s[0] < runData->GetDataBin(forwardHistoNo[i])->size())) {
if (((Int_t)j+fT0s[2*i]-fT0s[0] >= 0) && (j+fT0s[2*i]-fT0s[0] < runData->GetDataBin(forwardHistoNo[i])->size())) {
fForward[j] += forward[i][j+(Int_t)fT0s[2*i]-(Int_t)fT0s[0]];
}
}
@@ -746,8 +746,8 @@ Bool_t PRunAsymmetryRRF::SubtractEstimatedBkg()
beamPeriod = 0.0;
// check if start and end are in proper order
UInt_t start[2] = {fRunInfo->GetBkgRange(0), fRunInfo->GetBkgRange(2)};
UInt_t end[2] = {fRunInfo->GetBkgRange(1), fRunInfo->GetBkgRange(3)};
UInt_t start[2] = {(UInt_t)fRunInfo->GetBkgRange(0), (UInt_t)fRunInfo->GetBkgRange(2)};
UInt_t end[2] = {(UInt_t)fRunInfo->GetBkgRange(1), (UInt_t)fRunInfo->GetBkgRange(3)};
for (UInt_t i=0; i<2; i++) {
if (end[i] < start[i]) {
cout << endl << "PRunAsymmetryRRF::SubtractEstimatedBkg(): end = " << end[i] << " > start = " << start[i] << "! Will swap them!";
@@ -771,8 +771,7 @@ Bool_t PRunAsymmetryRRF::SubtractEstimatedBkg()
}
// check if start is within histogram bounds
if ((start[0] < 0) || (start[0] >= fForward.size()) ||
(start[1] < 0) || (start[1] >= fBackward.size())) {
if ((start[0] >= fForward.size()) || (start[1] >= fBackward.size())) {
cerr << endl << ">> PRunAsymmetryRRF::SubtractEstimatedBkg(): **ERROR** background bin values out of bound!";
cerr << endl << ">> histo lengths (f/b) = (" << fForward.size() << "/" << fBackward.size() << ").";
cerr << endl << ">> background start (f/b) = (" << start[0] << "/" << start[1] << ").";
@@ -780,8 +779,7 @@ Bool_t PRunAsymmetryRRF::SubtractEstimatedBkg()
}
// check if end is within histogram bounds
if ((end[0] < 0) || (end[0] >= fForward.size()) ||
(end[1] < 0) || (end[1] >= fBackward.size())) {
if ((end[0] >= fForward.size()) || (end[1] >= fBackward.size())) {
cerr << endl << ">> PRunAsymmetryRRF::SubtractEstimatedBkg(): **ERROR** background bin values out of bound!";
cerr << endl << ">> histo lengths (f/b) = (" << fForward.size() << "/" << fBackward.size() << ").";
cerr << endl << ">> background end (f/b) = (" << end[0] << "/" << end[1] << ").";
@@ -1414,11 +1412,17 @@ Bool_t PRunAsymmetryRRF::GetProperDataRange(PRawRunData* runData, UInt_t histoNo
return false;
}
// 3rd check if end is within proper bounds
if ((end[i] < 0) || (end[i] > (Int_t)runData->GetDataBin(histoNo[i])->size())) {
cerr << endl << ">> PRunAsymmetryRRF::GetProperDataRange(): **ERROR** end data bin doesn't make any sense!";
if (end[i] < 0) {
cerr << endl << ">> PRunAsymmetryRRF::GetProperDataRange(): **ERROR** end data bin (" << end[i] << ") doesn't make any sense!";
cerr << endl;
return false;
}
if (end[i] > (Int_t)runData->GetDataBin(histoNo[i])->size()) {
cerr << endl << ">> PRunAsymmetryRRF::GetProperDataRange(): **WARNING** end data bin (" << end[i] << ") > histo length (" << (Int_t)runData->GetDataBin(histoNo[i])->size() << ").";
cerr << endl << ">> Will set end = (histo length - 1). Consider to change it in the msr-file." << endl;
cerr << endl;
end[i] = (Int_t)runData->GetDataBin(histoNo[i])->size()-1;
}
// 4th check if t0 is within proper bounds
if ((t0[i] < 0) || (t0[i] > (Int_t)runData->GetDataBin(histoNo[i])->size())) {
cerr << endl << ">> PRunAsymmetryRRF::GetProperDataRange(): **ERROR** t0 data bin doesn't make any sense!";

View File

@@ -34,11 +34,8 @@
#include <TString.h>
#include <TObjArray.h>
#include <TObjString.h>
//#include <TFile.h>
#include <TFolder.h>
#include "TLemRunHeader.h"
#include "PRunBase.h"
//--------------------------------------------------------------------------
@@ -78,7 +75,7 @@ PRunBase::PRunBase(PMsrHandler *msrInfo, PRunDataHandler *rawData, UInt_t runNo,
fValid = true;
fRunNo = static_cast<Int_t>(runNo);
if ((runNo < 0) || (runNo > fMsrInfo->GetMsrRunList()->size())) {
if (runNo > fMsrInfo->GetMsrRunList()->size()) {
fRunInfo = 0;
return;
}

View File

@@ -6154,7 +6154,7 @@ bool PRunDataHandler::DateToISO8601(string inDate, string &iso8601Date)
return false;
TString str("");
str.Form("%04d-%02d-%02d", 1900+tm.tm_year, tm.tm_mon, tm.tm_mday);
str.Form("%04d-%02d-%02d", 1900+tm.tm_year, tm.tm_mon+1, tm.tm_mday);
iso8601Date = str.Data();
@@ -6187,7 +6187,7 @@ void PRunDataHandler::SplitTimeDate(TString timeData, TString &time, TString &da
}
time = TString::Format("%02d:%02d:%02d", tm.tm_hour, tm.tm_min, tm.tm_sec);
date = TString::Format("%04d-%02d-%02d", tm.tm_year+1900, tm.tm_mon, tm.tm_mday);
date = TString::Format("%04d-%02d-%02d", tm.tm_year+1900, tm.tm_mon+1, tm.tm_mday);
}
//--------------------------------------------------------------------------

View File

@@ -788,7 +788,7 @@ PRunData* PRunListCollection::GetSingleHisto(UInt_t index, EDataSwitch tag)
switch (tag) {
case kIndex:
if ((index < 0) || (index >= fRunSingleHistoList.size())) {
if (index >= fRunSingleHistoList.size()) {
cerr << endl << ">> PRunListCollection::GetSingleHisto(): **ERROR** index = " << index << " out of bounds";
cerr << endl;
return 0;
@@ -831,7 +831,7 @@ PRunData* PRunListCollection::GetSingleHistoRRF(UInt_t index, EDataSwitch tag)
switch (tag) {
case kIndex:
if ((index < 0) || (index >= fRunSingleHistoRRFList.size())) {
if (index >= fRunSingleHistoRRFList.size()) {
cerr << endl << ">> PRunListCollection::GetSingleHistoRRF(): **ERROR** index = " << index << " out of bounds";
cerr << endl;
return 0;
@@ -874,7 +874,7 @@ PRunData* PRunListCollection::GetAsymmetry(UInt_t index, EDataSwitch tag)
switch (tag) {
case kIndex: // called from musrfit when dumping the data
if ((index < 0) || (index > fRunAsymmetryList.size())) {
if (index > fRunAsymmetryList.size()) {
cerr << endl << ">> PRunListCollection::GetAsymmetry(): **ERROR** index = " << index << " out of bounds";
cerr << endl;
return 0;
@@ -917,7 +917,7 @@ PRunData* PRunListCollection::GetAsymmetryRRF(UInt_t index, EDataSwitch tag)
switch (tag) {
case kIndex: // called from musrfit when dumping the data
if ((index < 0) || (index > fRunAsymmetryRRFList.size())) {
if (index > fRunAsymmetryRRFList.size()) {
cerr << endl << ">> PRunListCollection::GetAsymmetryRRF(): **ERROR** index = " << index << " out of bounds";
cerr << endl;
return 0;
@@ -960,7 +960,7 @@ PRunData* PRunListCollection::GetMuMinus(UInt_t index, EDataSwitch tag)
switch (tag) {
case kIndex:
if ((index < 0) || (index > fRunMuMinusList.size())) {
if (index > fRunMuMinusList.size()) {
cerr << endl << ">> PRunListCollection::GetMuMinus(): **ERROR** index = " << index << " out of bounds";
cerr << endl;
return 0;
@@ -1002,7 +1002,7 @@ PRunData* PRunListCollection::GetNonMusr(UInt_t index, EDataSwitch tag)
switch (tag) {
case kIndex:
if ((index < 0) || (index > fRunNonMusrList.size())) {
if (index > fRunNonMusrList.size()) {
cerr << endl << ">> PRunListCollection::GetNonMusr(): **ERROR** index = " << index << " out of bounds";
cerr << endl;
return 0;

View File

@@ -27,6 +27,14 @@
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#ifdef HAVE_GOMP
#include <omp.h>
#endif
#include <iostream>
using namespace std;
@@ -512,7 +520,7 @@ Bool_t PRunMuMinus::PrepareData()
addRunSize = addRunData->GetDataBin(histoNo[k])->size();
for (UInt_t j=0; j<addRunData->GetDataBin(histoNo[k])->size(); j++) { // loop over the bin indices
// make sure that the index stays in the proper range
if ((j+(Int_t)fAddT0s[i-1][k]-(Int_t)fT0s[k] >= 0) && (j+(Int_t)fAddT0s[i-1][k]-(Int_t)fT0s[k] < addRunSize)) {
if (((Int_t)j+(Int_t)fAddT0s[i-1][k]-(Int_t)fT0s[k] >= 0) && (j+(Int_t)fAddT0s[i-1][k]-(Int_t)fT0s[k] < addRunSize)) {
forward[k][j] += addRunData->GetDataBin(histoNo[k])->at(j+(Int_t)fAddT0s[i-1][k]-(Int_t)fT0s[k]);
}
}
@@ -530,7 +538,7 @@ Bool_t PRunMuMinus::PrepareData()
for (UInt_t i=1; i<histoNo.size(); i++) { // loop over the groupings
for (UInt_t j=0; j<runData->GetDataBin(histoNo[i])->size(); j++) { // loop over the bin indices
// make sure that the index stays within proper range
if ((j+fT0s[i]-fT0s[0] >= 0) && (j+fT0s[i]-fT0s[0] < runData->GetDataBin(histoNo[i])->size())) {
if (((Int_t)j+fT0s[i]-fT0s[0] >= 0) && (j+fT0s[i]-fT0s[0] < runData->GetDataBin(histoNo[i])->size())) {
fForward[j] += forward[i][j+(Int_t)fT0s[i]-(Int_t)fT0s[0]];
}
}

View File

@@ -41,6 +41,8 @@ PRunNonMusr::PRunNonMusr() : PRunBase()
{
fNoOfFitBins = 0;
fPacking = 1;
fStartTimeBin = 0;
fEndTimeBin = 0;
fHandleTag = kEmpty;
@@ -105,13 +107,11 @@ Double_t PRunNonMusr::CalcChiSquare(const std::vector<Double_t>& par)
}
// calculate chi square
Double_t x;
for (UInt_t i=0; i<fData.GetValue()->size(); i++) {
Double_t x(1.0);
for (UInt_t i=fStartTimeBin; i<=fEndTimeBin; i++) {
x = fData.GetX()->at(i);
if ((x>=fFitStartTime) && (x<=fFitEndTime)) {
diff = fData.GetValue()->at(i) - fTheory->Func(x, par, fFuncValues);
chisq += diff*diff / (fData.GetError()->at(i)*fData.GetError()->at(i));
}
diff = fData.GetValue()->at(i) - fTheory->Func(x, par, fFuncValues);
chisq += diff*diff / (fData.GetError()->at(i)*fData.GetError()->at(i));
}
return chisq;
@@ -279,6 +279,17 @@ Bool_t PRunNonMusr::PrepareFitData()
fNoOfFitBins++;
}
// get start/end bin
const PDoubleVector *xx = fData.GetX();
fStartTimeBin = 0;
fEndTimeBin = xx->size()-1;
for (UInt_t i=0; i<xx->size(); i++) {
if (xx->at(i) < fFitStartTime)
fStartTimeBin = i;
if (xx->at(i) < fFitEndTime)
fEndTimeBin = i;
}
return success;
}

View File

@@ -764,7 +764,7 @@ Bool_t PRunSingleHisto::PrepareData()
addRunSize = addRunData->GetDataBin(histoNo[k])->size();
for (UInt_t j=0; j<addRunData->GetDataBin(histoNo[k])->size(); j++) { // loop over the bin indices
// make sure that the index stays in the proper range
if ((j+(Int_t)fAddT0s[i-1][k]-(Int_t)fT0s[k] >= 0) && (j+(Int_t)fAddT0s[i-1][k]-(Int_t)fT0s[k] < addRunSize)) {
if (((Int_t)j+(Int_t)fAddT0s[i-1][k]-(Int_t)fT0s[k] >= 0) && (j+(Int_t)fAddT0s[i-1][k]-(Int_t)fT0s[k] < addRunSize)) {
forward[k][j] += addRunData->GetDataBin(histoNo[k])->at(j+(Int_t)fAddT0s[i-1][k]-(Int_t)fT0s[k]);
}
}
@@ -782,7 +782,7 @@ Bool_t PRunSingleHisto::PrepareData()
for (UInt_t i=1; i<histoNo.size(); i++) { // loop over the groupings
for (UInt_t j=0; j<runData->GetDataBin(histoNo[i])->size(); j++) { // loop over the bin indices
// make sure that the index stays within proper range
if ((j+fT0s[i]-fT0s[0] >= 0) && (j+fT0s[i]-fT0s[0] < runData->GetDataBin(histoNo[i])->size())) {
if (((Int_t)j+fT0s[i]-fT0s[0] >= 0) && (j+fT0s[i]-fT0s[0] < runData->GetDataBin(histoNo[i])->size())) {
fForward[j] += forward[i][j+(Int_t)fT0s[i]-(Int_t)fT0s[0]];
}
}
@@ -1560,11 +1560,17 @@ Bool_t PRunSingleHisto::GetProperDataRange()
return false;
}
// 3rd check if end is within proper bounds
if ((end < 0) || (end > (Int_t)fForward.size())) {
if (end < 0) {
cerr << endl << ">> PRunSingleHisto::GetProperDataRange(): **ERROR** end data bin (" << end << ") doesn't make any sense!";
cerr << endl;
return false;
}
if (end > (Int_t)fForward.size()) {
cerr << endl << ">> PRunSingleHisto::GetProperDataRange(): **WARNING** end data bin (" << end << ") > histo length (" << (Int_t)fForward.size() << ").";
cerr << endl << ">> Will set end = (histo length - 1). Consider to change it in the msr-file." << endl;
cerr << endl;
end = (Int_t)fForward.size()-1;
}
// keep good bins for potential later use
fGoodBins[0] = start;
@@ -1760,7 +1766,7 @@ Bool_t PRunSingleHisto::EstimateBkg(UInt_t histoNo)
}
// check if start is within histogram bounds
if ((start < 0) || (start >= fForward.size())) {
if (start >= fForward.size()) {
cerr << endl << ">> PRunSingleHisto::EstimatBkg(): **ERROR** background bin values out of bound!";
cerr << endl << ">> histo lengths = " << fForward.size();
cerr << endl << ">> background start = " << start;
@@ -1769,7 +1775,7 @@ Bool_t PRunSingleHisto::EstimateBkg(UInt_t histoNo)
}
// check if end is within histogram bounds
if ((end < 0) || (end >= fForward.size())) {
if (end >= fForward.size()) {
cerr << endl << ">> PRunSingleHisto::EstimatBkg(): **ERROR** background bin values out of bound!";
cerr << endl << ">> histo lengths = " << fForward.size();
cerr << endl << ">> background end = " << end;

View File

@@ -493,7 +493,7 @@ Bool_t PRunSingleHistoRRF::PrepareData()
addRunSize = addRunData->GetDataBin(histoNo[k])->size();
for (UInt_t j=0; j<addRunData->GetDataBin(histoNo[k])->size(); j++) { // loop over the bin indices
// make sure that the index stays in the proper range
if ((j+(Int_t)fAddT0s[i-1][k]-(Int_t)fT0s[k] >= 0) && (j+(Int_t)fAddT0s[i-1][k]-(Int_t)fT0s[k] < addRunSize)) {
if (((Int_t)j+(Int_t)fAddT0s[i-1][k]-(Int_t)fT0s[k] >= 0) && (j+(Int_t)fAddT0s[i-1][k]-(Int_t)fT0s[k] < addRunSize)) {
forward[k][j] += addRunData->GetDataBin(histoNo[k])->at(j+(Int_t)fAddT0s[i-1][k]-(Int_t)fT0s[k]);
}
}
@@ -511,7 +511,7 @@ Bool_t PRunSingleHistoRRF::PrepareData()
for (UInt_t i=1; i<histoNo.size(); i++) { // loop over the groupings
for (UInt_t j=0; j<runData->GetDataBin(histoNo[i])->size(); j++) { // loop over the bin indices
// make sure that the index stays within proper range
if ((j+fT0s[i]-fT0s[0] >= 0) && (j+fT0s[i]-fT0s[0] < runData->GetDataBin(histoNo[i])->size())) {
if (((Int_t)j+fT0s[i]-fT0s[0] >= 0) && (j+fT0s[i]-fT0s[0] < runData->GetDataBin(histoNo[i])->size())) {
fForward[j] += forward[i][j+(Int_t)fT0s[i]-(Int_t)fT0s[0]];
}
}
@@ -969,11 +969,17 @@ Bool_t PRunSingleHistoRRF::GetProperDataRange()
return false;
}
// 3rd check if end is within proper bounds
if ((end < 0) || (end > (Int_t)fForward.size())) {
if (end < 0) {
cerr << endl << ">> PRunSingleHistoRRF::GetProperDataRange(): **ERROR** end data bin (" << end << ") doesn't make any sense!";
cerr << endl;
return false;
}
if (end > (Int_t)fForward.size()) {
cerr << endl << ">> PRunSingleHistoRRF::GetProperDataRange(): **WARNING** end data bin (" << end << ") > histo length (" << (Int_t)fForward.size() << ").";
cerr << endl << ">> Will set end = (histo length - 1). Consider to change it in the msr-file." << endl;
cerr << endl;
end = (Int_t)fForward.size()-1;
}
// keep good bins for potential later use
fGoodBins[0] = start;
@@ -1167,7 +1173,7 @@ Bool_t PRunSingleHistoRRF::EstimateBkg(UInt_t histoNo)
}
// check if start is within histogram bounds
if ((start < 0) || (start >= fForward.size())) {
if (start >= fForward.size()) {
cerr << endl << ">> PRunSingleHistoRRF::EstimatBkg(): **ERROR** background bin values out of bound!";
cerr << endl << ">> histo lengths = " << fForward.size();
cerr << endl << ">> background start = " << start;
@@ -1176,7 +1182,7 @@ Bool_t PRunSingleHistoRRF::EstimateBkg(UInt_t histoNo)
}
// check if end is within histogram bounds
if ((end < 0) || (end >= fForward.size())) {
if (end >= fForward.size()) {
cerr << endl << ">> PRunSingleHistoRRF::EstimatBkg(): **ERROR** background bin values out of bound!";
cerr << endl << ">> histo lengths = " << fForward.size();
cerr << endl << ">> background end = " << end;

View File

@@ -27,6 +27,9 @@
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
#include <sys/types.h>
#include <sys/stat.h>
#include <cstdlib>
#include <iostream>
#include <fstream>
@@ -140,6 +143,23 @@ PStartupHandler::PStartupHandler()
}
}
}
// if musrfit_startup.xml is still not found, will create a default one
if (!fStartupFileFound) {
cout << endl << "**INFO** no musrfit_startup.xml file found, will write a default one." << endl;
if (!WriteDefaultStartupFile()) {
cerr << endl << "**ERROR** couldn't write default musrfit_startup.xml." << endl;
} else {
home = getenv("HOME");
if (home != 0) {
sprintf(startup_path_name, "%s/.musrfit/musrfit_startup.xml", home);
if (StartupFileExists(startup_path_name)) {
fStartupFilePath = TString(startup_path_name);
fStartupFileFound = true;
}
}
}
}
}
//--------------------------------------------------------------------------
@@ -566,6 +586,105 @@ Bool_t PStartupHandler::StartupFileExists(Char_t *fln)
return result;
}
//--------------------------------------------------------------------------
// WriteDefaultStartupFile
//--------------------------------------------------------------------------
Bool_t PStartupHandler::WriteDefaultStartupFile()
{
// get home
Char_t startup_path_name[256];
Char_t *home=0;
home = getenv("HOME");
if (home == 0) {
cerr << endl << "**ERROR** couldn't obtain $HOME." << endl;
return false;
}
// first check that $HOME/.musrfit exists and if NOT create it
struct stat info;
sprintf(startup_path_name, "%s/.musrfit", home);
if (!stat(startup_path_name, &info)) {
if (!(info.st_mode & S_IFDIR))
return false;
} else {
if (mkdir(startup_path_name, 0777)) {
cerr << endl << "**ERROR** couldn't create '" << startup_path_name << "'" << endl;
return false;
}
}
// set path-name for musrfit_startup.xml
sprintf(startup_path_name, "%s/.musrfit/musrfit_startup.xml", home);
ofstream fout(startup_path_name, ofstream::out);
if (!fout.is_open()) {
cerr << endl << "**ERROR** couldn't open '" << startup_path_name << "' for writing." << endl;
return false;
}
// write default musrfit_startup.xml
fout << "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" << endl;
fout << "<musrfit xmlns=\"http://lmu.web.psi.ch/musrfit/user/MUSR/WebHome.html\">" << endl;
fout << " <comment>" << endl;
fout << " Defines default settings for the musrfit package" << endl;
fout << " </comment>" << endl;
fout << " <data_path>/afs/psi.ch/project/nemu/data/his</data_path>" << endl;
fout << " <data_path>/afs/psi.ch/project/nemu/data/wkm</data_path>" << endl;
fout << " <data_path>/afs/psi.ch/project/bulkmusr/data/gps</data_path>" << endl;
fout << " <data_path>/afs/psi.ch/project/bulkmusr/data/dolly</data_path>" << endl;
fout << " <data_path>/afs/psi.ch/project/bulkmusr/data/gpd</data_path>" << endl;
fout << " <data_path>/afs/psi.ch/project/bulkmusr/data/ltf</data_path>" << endl;
fout << " <data_path>/afs/psi.ch/project/bulkmusr/data/alc</data_path>" << endl;
fout << " <data_path>/afs/psi.ch/project/bulkmusr/data/hifi</data_path>" << endl;
fout << " <data_path>/afs/psi.ch/project/bulkmusr/data/lem</data_path>" << endl;
fout << " <fourier_settings>" << endl;
fout << " <units>Gauss</units>" << endl;
fout << " <fourier_power>0</fourier_power>" << endl;
fout << " <apodization>none</apodization>" << endl;
fout << " <plot>real_and_imag</plot>" << endl;
fout << " <phase>0.0</phase>" << endl;
fout << " <phase_increment>1.0</phase_increment>" << endl;
fout << " </fourier_settings>" << endl;
fout << " <root_settings>" << endl;
fout << " <marker_list>" << endl;
fout << " <!-- Root marker numbers -->" << endl;
fout << " <marker>24</marker> <!-- open circle -->" << endl;
fout << " <marker>25</marker> <!-- open square -->" << endl;
fout << " <marker>26</marker> <!-- open triangle -->" << endl;
fout << " <marker>27</marker> <!-- open diamond -->" << endl;
fout << " <marker>28</marker> <!-- open cross -->" << endl;
fout << " <marker>29</marker> <!-- full star -->" << endl;
fout << " <marker>30</marker> <!-- open star -->" << endl;
fout << " <marker>20</marker> <!-- full circle -->" << endl;
fout << " <marker>21</marker> <!-- full square -->" << endl;
fout << " <marker>22</marker> <!-- full triangle -->" << endl;
fout << " <marker>23</marker> <!-- full triangle down -->" << endl;
fout << " <marker>2</marker> <!-- thin cross -->" << endl;
fout << " <marker>3</marker> <!-- thin star -->" << endl;
fout << " <marker>5</marker> <!-- thin x -->" << endl;
fout << " </marker_list>" << endl;
fout << " <color_list>" << endl;
fout << " <!-- Color as RGB coded string -->" << endl;
fout << " <color>0,0,0</color> <!-- kBlack -->" << endl;
fout << " <color>255,0,0</color> <!-- kRed -->" << endl;
fout << " <color>0,255,0</color> <!-- kGreen -->" << endl;
fout << " <color>0,0,255</color> <!-- kBlue -->" << endl;
fout << " <color>255,0,255</color> <!-- kMagenta -->" << endl;
fout << " <color>0,255,255</color> <!-- kCyan -->" << endl;
fout << " <color>153,0,255</color> <!-- kViolet-3 -->" << endl;
fout << " <color>102,102,51</color> <!-- kYellow-1 -->" << endl;
fout << " <color>51,102,51</color> <!-- kGreen-1 -->" << endl;
fout << " <color>153,0,0</color> <!-- kRed+2 -->" << endl;
fout << " </color_list>" << endl;
fout << " </root_settings>" << endl;
fout << "</musrfit>" << endl;
fout.close();
return true;
}
// -------------------------------------------------------------------------
// end
// -------------------------------------------------------------------------

View File

@@ -2687,14 +2687,16 @@ void PTheory::CalculateGaussLFIntegral(const Double_t *val) const
fLFIntegral.push_back(0.0); // start value of the integral
ft = 0.0;
Double_t step = 0.0;
Double_t step = 0.0, lastft = 1.0, diff = 0.0;
do {
t += dt;
step = 0.5*dt*preFactor*(exp(-0.5*pow(Delta * (t-dt), 2.0))*sin(w0*(t-dt))+
exp(-0.5*pow(Delta * t, 2.0))*sin(w0*t));
ft += step;
diff = fabs(fabs(lastft)-fabs(ft));
lastft = ft;
fLFIntegral.push_back(ft);
} while ((t <= 20.0) && (fabs(step) > 1.0e-10));
} while ((t <= 20.0) && (diff > 1.0e-10));
}
//--------------------------------------------------------------------------
@@ -2760,13 +2762,15 @@ void PTheory::CalculateLorentzLFIntegral(const Double_t *val) const
ft += 0.5*dt*preFactor*(1.0+sin(w0*t)/(w0*t)*exp(-a*t));
fLFIntegral.push_back(ft);
// calculate all the other integral bin values
Double_t step = 0.0;
Double_t step = 0.0, lastft = 1.0, diff = 0.0;
do {
t += dt;
step = 0.5*dt*preFactor*(sin(w0*(t-dt))/(w0*(t-dt))*exp(-a*(t-dt))+sin(w0*t)/(w0*t)*exp(-a*t));
ft += step;
diff = fabs(fabs(lastft)-fabs(ft));
lastft = ft;
fLFIntegral.push_back(ft);
} while ((t <= 20.0) && (fabs(step) > 1.0e-10));
} while ((t <= 20.0) && (diff > 1.0e-10));
}
@@ -2788,7 +2792,7 @@ Double_t PTheory::GetLFIntegralValue(const Double_t t) const
if (idx + 2 > fLFIntegral.size())
return fLFIntegral.back();
// linearly interpolate between the two relvant function bins
// linearly interpolate between the two relevant function bins
Double_t df = (fLFIntegral[idx+1]-fLFIntegral[idx])*(t/fSamplingTime-static_cast<Double_t>(idx));
return fLFIntegral[idx]+df;

View File

@@ -346,6 +346,7 @@ int dump_header_psi_bin(const string fileName, const string fileFormat)
return 1;
vector<string> vstr;
vector<double> dVal, dErrVal;
cout << endl << "-------------------";
cout << endl << "fileName = " << fileName << ", fileFormat = " << fileFormat;
cout << endl << "-------------------";
@@ -378,7 +379,15 @@ int dump_header_psi_bin(const string fileName, const string fileFormat)
cout << endl << "Comment : n/a";
cout << endl << "Sample Name : " << psiBin.get_sample();
cout << endl << "Sample Orientation : " << psiBin.get_orient();
cout << endl << "Sample Temperature : " << psiBin.get_temp();
dVal = psiBin.get_temperatures_vector();
dErrVal = psiBin.get_devTemperatures_vector();
if (dVal.size() != dErrVal.size()) {
cout << endl << "Sample Temperature : " << psiBin.get_temp();
} else {
for (unsigned int i=0; i<dVal.size(); i++) {
cout << endl << "Sample Temp. " << i+1 << " : " << dVal[i] << " (" << dErrVal[i] << ") K";
}
}
cout << endl << "Sample Mag. Field : " << psiBin.get_field();
cout << endl << "No of Histos : " << psiBin.get_numberHisto_int();
cout << endl << "Time Resolution : " << psiBin.get_binWidth_ns() << " ns";
@@ -389,7 +398,8 @@ int dump_header_psi_bin(const string fileName, const string fileFormat)
cout << endl << "Histo Length : " << psiBin.get_histoLength_bin();
cout << endl << "Time Zero Bin : " << psiBin.get_t0_int(i);
cout << endl << "First Good Bin : " << psiBin.get_firstGood_int(i);
cout << endl << "Last Good Bin : " << psiBin.get_firstGood_int(i);
cout << endl << "Last Good Bin : " << psiBin.get_lastGood_int(i);
cout << endl << "No of Events : " << psiBin.get_eventsHisto_long(i);
}
cout << endl << "-------------------" << endl << endl;
@@ -762,9 +772,9 @@ int main(int argc, char *argv[])
return 0;
} else if (!strcmp(argv[i], "--version") || !strcmp(argv[i], "-v")) {
#ifdef HAVE_CONFIG_H
cout << endl << "dump_header: version " << PACKAGE_VERSION << ", git-rev: " << GIT_REVISION << endl << endl;
cout << endl << "dump_header version: " << PACKAGE_VERSION << ", git-branch: " << GIT_BRANCH << ", git-rev: " << GIT_CURRENT_SHA1 << endl << endl;
#else
cout << endl << "dump_header: git-rev: " << GIT_REVISION << endl << endl;
cout << endl << "dump_header git-branch: " << GIT_BRANCH << ", git-rev: " << GIT_CURRENT_SHA1 << endl << endl;
#endif
return 0;
} else if (!strcmp(argv[i], "-rn") || !strcmp(argv[i], "--runNo")) {
@@ -929,13 +939,20 @@ int main(int argc, char *argv[])
}
bool found_fln = false;
// 1st check if the file name is found in the current directory
string pathFln("");
pathFln = "./" + fileName;
// 1st check if the file name is the full path-file name and the file exists
pathFln = fileName;
if (dump_file_exists(pathFln))
found_fln = true;
// 2nd check if file name is found in any default search paths if not already found in the current directory
// 2nd check if the file name is found in the current directory
if (!found_fln) {
pathFln = "./" + fileName;
if (dump_file_exists(pathFln))
found_fln = true;
}
// 3rd check if file name is found in any default search paths if not already found in the current directory
if (!found_fln) {
PStringVector pathList = startupHandler->GetDataPathList();
for (unsigned int i=0; i<pathList.size(); i++) {

View File

@@ -31,6 +31,7 @@
#include "cuba.h"
#define USERDATA NULL
#define SPIN NULL
#define SEED 0
#define STATEFILE NULL
@@ -45,6 +46,7 @@ std::vector<double> TDWaveGapIntegralCuhre::fPar;
double TDWaveGapIntegralCuhre::IntegrateFunc()
{
const unsigned int NCOMP(1);
const unsigned int NVEC(1);
const double EPSREL (1e-4);
const double EPSABS (1e-6);
const unsigned int VERBOSE (0);
@@ -57,9 +59,9 @@ double TDWaveGapIntegralCuhre::IntegrateFunc()
int nregions, neval, fail;
double integral[NCOMP], error[NCOMP], prob[NCOMP];
Cuhre(fNDim, NCOMP, Integrand, USERDATA,
Cuhre(fNDim, NCOMP, Integrand, USERDATA, NVEC,
EPSREL, EPSABS, VERBOSE | LAST, MINEVAL, MAXEVAL,
KEY, STATEFILE,
KEY, STATEFILE, SPIN,
&nregions, &neval, &fail, integral, error, prob);
return integral[0];
@@ -96,6 +98,7 @@ std::vector<double> TCosSqDWaveGapIntegralCuhre::fPar;
double TCosSqDWaveGapIntegralCuhre::IntegrateFunc()
{
const unsigned int NCOMP(1);
const unsigned int NVEC(1);
const double EPSREL (1e-8);
const double EPSABS (1e-6);
const unsigned int VERBOSE (0);
@@ -108,9 +111,9 @@ double TCosSqDWaveGapIntegralCuhre::IntegrateFunc()
int nregions, neval, fail;
double integral[NCOMP], error[NCOMP], prob[NCOMP];
Cuhre(fNDim, NCOMP, Integrand, USERDATA,
Cuhre(fNDim, NCOMP, Integrand, USERDATA, NVEC,
EPSREL, EPSABS, VERBOSE | LAST, MINEVAL, MAXEVAL,
KEY, STATEFILE,
KEY, STATEFILE, SPIN,
&nregions, &neval, &fail, integral, error, prob);
return integral[0];
@@ -147,6 +150,7 @@ std::vector<double> TSinSqDWaveGapIntegralCuhre::fPar;
double TSinSqDWaveGapIntegralCuhre::IntegrateFunc()
{
const unsigned int NCOMP(1);
const unsigned int NVEC(1);
const double EPSREL (1e-8);
const double EPSABS (1e-10);
const unsigned int VERBOSE (0);
@@ -159,9 +163,9 @@ double TSinSqDWaveGapIntegralCuhre::IntegrateFunc()
int nregions, neval, fail;
double integral[NCOMP], error[NCOMP], prob[NCOMP];
Cuhre(fNDim, NCOMP, Integrand, USERDATA,
Cuhre(fNDim, NCOMP, Integrand, USERDATA, NVEC,
EPSREL, EPSABS, VERBOSE | LAST, MINEVAL, MAXEVAL,
KEY, STATEFILE,
KEY, STATEFILE, SPIN,
&nregions, &neval, &fail, integral, error, prob);
return integral[0];
@@ -198,6 +202,7 @@ std::vector<double> TAnSWaveGapIntegralCuhre::fPar;
double TAnSWaveGapIntegralCuhre::IntegrateFunc()
{
const unsigned int NCOMP(1);
const unsigned int NVEC(1);
const double EPSREL (1e-4);
const double EPSABS (1e-6);
const unsigned int VERBOSE (0);
@@ -210,9 +215,9 @@ double TAnSWaveGapIntegralCuhre::IntegrateFunc()
int nregions, neval, fail;
double integral[NCOMP], error[NCOMP], prob[NCOMP];
Cuhre(fNDim, NCOMP, Integrand, USERDATA,
Cuhre(fNDim, NCOMP, Integrand, USERDATA, NVEC,
EPSREL, EPSABS, VERBOSE | LAST, MINEVAL, MAXEVAL,
KEY, STATEFILE,
KEY, STATEFILE, SPIN,
&nregions, &neval, &fail, integral, error, prob);
return integral[0];
@@ -249,6 +254,7 @@ std::vector<double> TAnSWaveGapIntegralDivonne::fPar;
double TAnSWaveGapIntegralDivonne::IntegrateFunc()
{
const unsigned int NCOMP(1);
const unsigned int NVEC(1);
const double EPSREL (1e-4);
const double EPSABS (1e-6);
const unsigned int VERBOSE (0);
@@ -268,10 +274,10 @@ double TAnSWaveGapIntegralDivonne::IntegrateFunc()
int nregions, neval, fail;
double integral[NCOMP], error[NCOMP], prob[NCOMP];
Divonne(fNDim, NCOMP, Integrand, USERDATA,
Divonne(fNDim, NCOMP, Integrand, USERDATA, NVEC,
EPSREL, EPSABS, VERBOSE, SEED, MINEVAL, MAXEVAL,
KEY1, KEY2, KEY3, MAXPASS, BORDER, MAXCHISQ, MINDEVIATION,
NGIVEN, LDXGIVEN, NULL, NEXTRA, NULL, STATEFILE,
NGIVEN, LDXGIVEN, NULL, NEXTRA, NULL, STATEFILE, SPIN,
&nregions, &neval, &fail, integral, error, prob);
return integral[0];
@@ -308,6 +314,7 @@ std::vector<double> TAnSWaveGapIntegralSuave::fPar;
double TAnSWaveGapIntegralSuave::IntegrateFunc()
{
const unsigned int NCOMP(1);
const unsigned int NVEC(1);
const double EPSREL (1e-4);
const double EPSABS (1e-6);
const unsigned int VERBOSE (0);
@@ -316,14 +323,15 @@ double TAnSWaveGapIntegralSuave::IntegrateFunc()
const unsigned int MAXEVAL (1000000);
const unsigned int NNEW (1000);
const unsigned int NMIN (2);
const double FLATNESS (25.);
int nregions, neval, fail;
double integral[NCOMP], error[NCOMP], prob[NCOMP];
Suave(fNDim, NCOMP, Integrand, USERDATA,
Suave(fNDim, NCOMP, Integrand, USERDATA, NVEC,
EPSREL, EPSABS, VERBOSE | LAST, SEED, MINEVAL, MAXEVAL,
NNEW, FLATNESS, STATEFILE,
NNEW, NMIN, FLATNESS, STATEFILE, SPIN,
&nregions, &neval, &fail, integral, error, prob);
return integral[0];
@@ -360,6 +368,7 @@ std::vector<double> TNonMonDWave1GapIntegralCuhre::fPar;
double TNonMonDWave1GapIntegralCuhre::IntegrateFunc()
{
const unsigned int NCOMP(1);
const unsigned int NVEC(1);
const double EPSREL (1e-4);
const double EPSABS (1e-6);
const unsigned int VERBOSE (0);
@@ -372,9 +381,9 @@ double TNonMonDWave1GapIntegralCuhre::IntegrateFunc()
int nregions, neval, fail;
double integral[NCOMP], error[NCOMP], prob[NCOMP];
Cuhre(fNDim, NCOMP, Integrand, USERDATA,
Cuhre(fNDim, NCOMP, Integrand, USERDATA, NVEC,
EPSREL, EPSABS, VERBOSE | LAST, MINEVAL, MAXEVAL,
KEY, STATEFILE,
KEY, STATEFILE, SPIN,
&nregions, &neval, &fail, integral, error, prob);
return integral[0];
@@ -411,6 +420,7 @@ std::vector<double> TNonMonDWave2GapIntegralCuhre::fPar;
double TNonMonDWave2GapIntegralCuhre::IntegrateFunc()
{
const unsigned int NCOMP(1);
const unsigned int NVEC(1);
const double EPSREL (1e-4);
const double EPSABS (1e-6);
const unsigned int VERBOSE (0);
@@ -423,9 +433,9 @@ double TNonMonDWave2GapIntegralCuhre::IntegrateFunc()
int nregions, neval, fail;
double integral[NCOMP], error[NCOMP], prob[NCOMP];
Cuhre(fNDim, NCOMP, Integrand, USERDATA,
Cuhre(fNDim, NCOMP, Integrand, USERDATA, NVEC,
EPSREL, EPSABS, VERBOSE | LAST, MINEVAL, MAXEVAL,
KEY, STATEFILE,
KEY, STATEFILE, SPIN,
&nregions, &neval, &fail, integral, error, prob);
return integral[0];

View File

@@ -4,8 +4,6 @@
Author: Bastian M. Wojek
$Id$
***************************************************************************/
/***************************************************************************

77
src/external/BMWtools/CMakeLists.txt vendored Normal file
View File

@@ -0,0 +1,77 @@
# - BMWtools library ----------------------------------------------------------
#--- generate necessary dictionaries ------------------------------------------
set(MUSRFIT_INC ${CMAKE_SOURCE_DIR}/src/include)
set(CUBA_INC ${CMAKE_SOURCE_DIR}/src/external/libCuba/src)
root_generate_dictionary(
BMWStartupHandlerDict
-I${MUSRFIT_INC}
BMWStartupHandler.h
LINKDEF BMWStartupHandlerLinkDef.h
)
#--- create pkg-config info ---------------------------------------------------
#[==[ //as35 for now do not create a pkgconfig file
set(prefix "${CMAKE_INSTALL_PREFIX}")
set(exec_prefix "\$\{prefix\}")
set(libdir "\$\{exec_prefix\}/lib")
set(includedir "\$\{prefix\}/include")
set(BMW_TOOLS_VERSION "1.0.0")
set(BMW_TOOLS_LIBRARY_NAME "BMWtools")
configure_file("BMWtools.pc.in" "BMWtools.pc" @ONLY)
#]==]
#--- lib creation -------------------------------------------------------------
add_library(BMWtools SHARED
BMWStartupHandler.cpp
BMWStartupHandlerDict.cxx
TTrimSPDataHandler.cpp
BMWIntegrator.cpp
)
#--- set target properties, e.g. version --------------------------------------
set_target_properties(BMWtools
PROPERTIES
VERSION "1.0.0"
)
#--- make sure that the include directory is found ----------------------------
target_include_directories(
BMWtools BEFORE PRIVATE
$<BUILD_INTERFACE:${FFTW3_INCLUDE_DIR}>
$<BUILD_INTERFACE:${CUBA_INC}>
$<BUILD_INTERFACE:${MUSRFIT_INC}>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
)
#--- add library dependencies -------------------------------------------------
target_link_libraries(BMWtools ${ROOT_LIBRARIES} cuba)
#--- install BMWtools solib ---------------------------------------------------
install(TARGETS BMWtools DESTINATION lib)
#--- install root pcm's and rootmaps ------------------------------------------
install(
FILES ${CMAKE_CURRENT_BINARY_DIR}/libBMWStartupHandlerDict_rdict.pcm
${CMAKE_CURRENT_BINARY_DIR}/libBMWStartupHandlerDict.rootmap
DESTINATION lib
)
#--- install BMWtools header --------------------------------------------------
install(
FILES
BMWStartupHandler.h
TTrimSPDataHandler.h
BMWIntegrator.h
DESTINATION
include
)
#--- install pkg-config info --------------------------------------------------
#[==[ //as35 for now do not install a pkgconfig file
install(
FILES ${CMAKE_CURRENT_BINARY_DIR}/BMWtools.pc
DESTINATION lib/pkgconfig
)
#]==]

View File

@@ -19,6 +19,9 @@ cpp_sources = \
dict_cpp_sources = \
BMWStartupHandlerDict.cpp
pcmdir = $(libdir)
pcm_DATA = BMWStartupHandlerDict_rdict.pcm
include_HEADERS = $(h_sources)
noinst_HEADERS = $(h_linkdef) $(dict_h_sources)
@@ -27,10 +30,10 @@ AM_CXXFLAGS = $(LOCAL_LIB_CXXFLAGS)
BUILT_SOURCES = $(dict_cpp_sources) $(dict_h_sources)
AM_LDFLAGS = $(LOCAL_LIB_LDFLAGS) -L@ROOTLIBDIR@
CLEANFILES = *Dict.cpp *Dict.h *~ core
CLEANFILES = *Dict.cpp *Dict.h *Dict* *~ core
%Dict.cpp %Dict.h: %.h %LinkDef.h
@ROOTCINT@ -v -f $*Dict.cpp -c -p $(INCLUDES) $^
@ROOTCLING@ -v -f $*Dict.cpp -c -p $(INCLUDES) $^
lib_LTLIBRARIES = libBMWtools.la

30
src/external/CMakeLists.txt vendored Normal file
View File

@@ -0,0 +1,30 @@
if (ASlibs)
add_subdirectory(Nonlocal)
add_subdirectory(MagProximity)
add_subdirectory(libPhotoMeissner)
add_subdirectory(libSpinValve)
endif (ASlibs)
if (BMWlibs)
add_subdirectory(libCuba)
add_subdirectory(BMWtools)
add_subdirectory(libCalcMeanFieldsLEM)
add_subdirectory(libFitPofB)
add_subdirectory(libGapIntegrals)
add_subdirectory(libLFRelaxation)
add_subdirectory(libZFRelaxation)
endif (BMWlibs)
if (BNMRlibs)
add_subdirectory(libBNMR)
endif (BNMRlibs)
add_subdirectory(mud)
add_subdirectory(MusrRoot)
add_subdirectory(TLemRunHeader)
add_subdirectory(MuSR_software)
if (nexus)
add_subdirectory(nexus)
endif (nexus)

View File

@@ -0,0 +1,82 @@
# - Mag. Proximity library ----------------------------------------------------
#--- generate necessary dictionaries ------------------------------------------
set(MUSRFIT_INC ${CMAKE_SOURCE_DIR}/src/include)
root_generate_dictionary(
PMagProximityFitterDict
-I${FFTW3_INCLUDE}
-I${MUSRFIT_INC}
PMagProximityFitter.h
LINKDEF PMagProximityFitterLinkDef.h
)
root_generate_dictionary(
PMPStartupHandlerDict
-I${MUSRFIT_INC}
PMPStartupHandler.h
LINKDEF PMPStartupHandlerLinkDef.h
)
#--- create pkg-config info ---------------------------------------------------
set(prefix "${CMAKE_INSTALL_PREFIX}")
set(exec_prefix "\$\{prefix\}")
set(libdir "\$\{exec_prefix\}/lib")
set(includedir "\$\{prefix\}/include")
set(P_MAG_PROXIMITY_FITTER_VERSION "1.0.0")
set(P_MAG_PROXIMITY_FITTER_LIBRARY_NAME "PMagProximityFitter")
configure_file("PMagProximityFitter.pc.in" "PMagProximityFitter.pc" @ONLY)
#--- lib creation -------------------------------------------------------------
add_library(PMagProximityFitter SHARED
PMagProximityFitter.cpp
PMagProximityFitterDict.cxx
PMPRgeHandler.cpp
PMPStartupHandler.cpp
PMPStartupHandlerDict.cxx
)
#--- make sure that the include directory is found ----------------------------
target_include_directories(
PMagProximityFitter BEFORE PRIVATE
$<BUILD_INTERFACE:${FFTW3_INCLUDE_DIR}>
$<BUILD_INTERFACE:${MUSRFIT_INC}>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
)
#--- set target properties, e.g. version --------------------------------------
set_target_properties(PMagProximityFitter
PROPERTIES
VERSION ${P_MAG_PROXIMITY_FITTER_VERSION}
)
#--- add library dependencies -------------------------------------------------
target_link_libraries(PMagProximityFitter ${FFTW3_LIBRARY} ${ROOT_LIBRARIES} PUserFcnBase)
#--- install PMagProximityFitter solib ----------------------------------------
install(TARGETS PMagProximityFitter DESTINATION lib)
#--- install root pcm's and rootmaps ------------------------------------------
install(
FILES ${CMAKE_CURRENT_BINARY_DIR}/libPMagProximityFitterDict_rdict.pcm
${CMAKE_CURRENT_BINARY_DIR}/libPMagProximityFitterDict.rootmap
${CMAKE_CURRENT_BINARY_DIR}/libPMPStartupHandlerDict_rdict.pcm
${CMAKE_CURRENT_BINARY_DIR}/libPMPStartupHandlerDict.rootmap
DESTINATION lib
)
#--- install PMagProximityFitter header ---------------------------------------
install(
FILES
PMagProximity.h
PMagProximityFitter.h
PMPRgeHandler.h
PMPStartupHandler.h
DESTINATION
include
)
#--- install pkg-config info --------------------------------------------------
install(
FILES ${CMAKE_CURRENT_BINARY_DIR}/PMagProximityFitter.pc
DESTINATION lib/pkgconfig
)

View File

@@ -23,6 +23,11 @@ dict_cpp_sources = \
PMagProximityFitterDict.cpp \
PMPStartupHandlerDict.cpp
pcmdir = $(libdir)
pcm_DATA = \
PMagProximityFitterDict_rdict.pcm \
PMPStartupHandlerDict_rdict.pcm
include_HEADERS = $(h_sources)
noinst_HEADERS = $(h_linkdef) $(dict_h_sources)
@@ -31,10 +36,10 @@ AM_CXXFLAGS = $(LOCAL_LIB_CXXFLAGS)
BUILT_SOURCES = $(dict_cpp_sources) $(dict_h_sources)
AM_LDFLAGS = $(LOCAL_LIB_LDFLAGS) -L@ROOTLIBDIR@
CLEANFILES = *Dict.cpp *Dict.h *~ core
CLEANFILES = *Dict.cpp *Dict.h *Dict* *~ core
%Dict.cpp %Dict.h: %.h %LinkDef.h
@ROOTCINT@ -v -f $*Dict.cpp -c -p $(AM_CPPFLAGS) $^
@ROOTCLING@ -v -f $*Dict.cpp -c -p $(AM_CPPFLAGS) $^
lib_LTLIBRARIES = libPMagProximityFitter.la

View File

@@ -94,7 +94,7 @@ Double_t PMPRgeHandler::GetRgeValue(const Int_t index, const Double_t dist)
UInt_t distIdx = (UInt_t)(dist/(fRgeDataList[index].stoppingDistance[1]-fRgeDataList[index].stoppingDistance[0]));
if ((distIdx >= fRgeDataList[index].stoppingDistance.size()) || (distIdx < 0)) {
if (distIdx >= fRgeDataList[index].stoppingDistance.size()) {
rgeVal = 0.0;
} else {
rgeVal = fRgeDataList[index].stoppingAmplitude[distIdx] +

View File

@@ -0,0 +1,10 @@
prefix=@prefix@
exec_prefix=@exec_prefix@
libdir=@libdir@
includedir=@includedir@
Name: PMagProximityFitter
Description: C++ shared library providing the mag. proximity fitter class
Version: @P_MAG_PROXIMITY_FITTER_VERSION@
Libs: -L${libdir} -l@P_MAG_PROXIMITY_FITTER_LIBRARY_NAME@
Cflags: -I${includedir}

1989
src/external/MuSRFitGUI/MSR.pm vendored Executable file → Normal file

File diff suppressed because it is too large Load Diff

17
src/external/MuSRFitGUI/MuSRFit4.pl vendored Executable file
View File

@@ -0,0 +1,17 @@
#!/usr/bin/perl
use strict;
use warnings;
use QtCore4;
use QtGui4;
use MuSRFit4;
sub main {
my $app = Qt::Application(\@ARGV);
my $musrfit = MuSRFit4();
$musrfit->show();
exit $app->exec();
}
main();

1347
src/external/MuSRFitGUI/MuSRFit4.pm vendored Normal file

File diff suppressed because it is too large Load Diff

4896
src/external/MuSRFitGUI/MuSRFit4.ui vendored Normal file

File diff suppressed because it is too large Load Diff

3036
src/external/MuSRFitGUI/Ui_MuSRFit4.pm vendored Normal file

File diff suppressed because it is too large Load Diff

BIN
src/external/MuSRFitGUI/icos/Append.odg vendored Normal file

Binary file not shown.

BIN
src/external/MuSRFitGUI/icos/Append.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 404 B

Some files were not shown because too many files have changed in this diff Show More