From dbfeeddf3f7dfc522213ec8f13c9d68663a42a40 Mon Sep 17 00:00:00 2001 From: Andreas Suter Date: Fri, 8 Mar 2019 12:50:41 +0100 Subject: [PATCH 01/13] Remove automake support Since the cmake tool chain is now stable, the automake tool chain is removed from musrfit. This makes documentation and code less cluttered. --- AUTHORS | 2 - CMakeLists.txt | 2 +- ChangeLog | 6 + INSTALL | 34 - Makefile.am | 32 - acinclude.m4 | 128 -- autogen.sh | 101 -- configure.ac | 1475 ----------------- src/Makefile.am | 74 - src/Makefile.musrfit | 149 -- src/classes/Makefile.PMusr | 261 --- src/classes/Makefile.PUserFcn | 99 -- src/classes/Makefile.am | 120 -- src/external/BMWtools/Makefile.am | 63 - src/external/CMakeLists.txt | 1 + src/external/MagProximity/Makefile.am | 69 - src/external/Makefile.am | 27 - .../MuSR_software/Class_MuSR_PSI/Makefile.am | 21 - src/external/MuSR_software/Makefile.am | 3 - src/external/MusrRoot/Makefile.am | 42 - src/external/Nonlocal/Makefile.am | 70 - src/external/TLemRunHeader/Makefile.am | 49 - src/external/libBNMR/Makefile.am | 53 - src/external/libBNMR/Makefile.libBNMR | 60 - .../libBNMR/libLineProfile/Makefile.am | 52 - .../libLineProfile/Makefile.libLineProfile | 66 - src/external/libCalcMeanFieldsLEM/Makefile.am | 59 - src/external/libCuba/Makefile.am | 1 - src/external/libCuba/src/Makefile.am | 19 - src/external/libCuba/src/common/Makefile.am | 14 - src/external/libCuba/src/cuhre/Makefile.am | 12 - src/external/libCuba/src/divonne/Makefile.am | 12 - src/external/libCuba/src/suave/Makefile.am | 12 - src/external/libCuba/src/vegas/Makefile.am | 12 - src/external/libFitPofB/Makefile.am | 1 - src/external/libFitPofB/classes/Makefile.am | 80 - src/external/libGapIntegrals/INSTALL | 2 +- src/external/libGapIntegrals/Makefile.am | 59 - src/external/libGbGLF/CMakeLists.txt | 64 + src/external/libGbGLF/Makefile.am | 56 - src/external/libGbGLF/doc/GbG-LF.pdf | Bin 141691 -> 211876 bytes src/external/libGbGLF/doc/GbG-LF.tex | 2 +- src/external/libLFRelaxation/Makefile.am | 59 - src/external/libLFRelaxation/README | 2 +- src/external/libPhotoMeissner/Makefile.am | 1 - .../libPhotoMeissner/classes/Makefile.am | 67 - src/external/libSpinValve/Makefile.am | 1 - src/external/libSpinValve/classes/Makefile.am | 67 - src/external/libZFRelaxation/Makefile.am | 59 - src/external/mud/Makefile.am | 2 - src/external/mud/src/Makefile.am | 27 - src/external/nexus/Makefile.am | 25 - src/musredit/Makefile.am | 5 - src/musredit_qt5/Makefile.am | 4 - src/musrgui/Makefile.am | 5 - 55 files changed, 75 insertions(+), 3713 deletions(-) delete mode 100644 Makefile.am delete mode 100644 acinclude.m4 delete mode 100755 autogen.sh delete mode 100644 configure.ac delete mode 100644 src/Makefile.am delete mode 100644 src/Makefile.musrfit delete mode 100644 src/classes/Makefile.PMusr delete mode 100644 src/classes/Makefile.PUserFcn delete mode 100644 src/classes/Makefile.am delete mode 100644 src/external/BMWtools/Makefile.am delete mode 100644 src/external/MagProximity/Makefile.am delete mode 100644 src/external/Makefile.am delete mode 100644 src/external/MuSR_software/Class_MuSR_PSI/Makefile.am delete mode 100644 src/external/MuSR_software/Makefile.am delete mode 100644 src/external/MusrRoot/Makefile.am delete mode 100644 src/external/Nonlocal/Makefile.am delete mode 100644 src/external/TLemRunHeader/Makefile.am delete mode 100644 src/external/libBNMR/Makefile.am delete mode 100644 src/external/libBNMR/Makefile.libBNMR delete mode 100644 src/external/libBNMR/libLineProfile/Makefile.am delete mode 100644 src/external/libBNMR/libLineProfile/Makefile.libLineProfile delete mode 100644 src/external/libCalcMeanFieldsLEM/Makefile.am delete mode 100644 src/external/libCuba/Makefile.am delete mode 100644 src/external/libCuba/src/Makefile.am delete mode 100644 src/external/libCuba/src/common/Makefile.am delete mode 100644 src/external/libCuba/src/cuhre/Makefile.am delete mode 100644 src/external/libCuba/src/divonne/Makefile.am delete mode 100644 src/external/libCuba/src/suave/Makefile.am delete mode 100644 src/external/libCuba/src/vegas/Makefile.am delete mode 100644 src/external/libFitPofB/Makefile.am delete mode 100644 src/external/libFitPofB/classes/Makefile.am delete mode 100644 src/external/libGapIntegrals/Makefile.am create mode 100644 src/external/libGbGLF/CMakeLists.txt delete mode 100644 src/external/libGbGLF/Makefile.am delete mode 100644 src/external/libLFRelaxation/Makefile.am delete mode 100644 src/external/libPhotoMeissner/Makefile.am delete mode 100644 src/external/libPhotoMeissner/classes/Makefile.am delete mode 100644 src/external/libSpinValve/Makefile.am delete mode 100644 src/external/libSpinValve/classes/Makefile.am delete mode 100644 src/external/libZFRelaxation/Makefile.am delete mode 100644 src/external/mud/Makefile.am delete mode 100644 src/external/mud/src/Makefile.am delete mode 100644 src/external/nexus/Makefile.am delete mode 100644 src/musredit/Makefile.am delete mode 100644 src/musredit_qt5/Makefile.am delete mode 100644 src/musrgui/Makefile.am diff --git a/AUTHORS b/AUTHORS index 94cee900..9597edf6 100644 --- a/AUTHORS +++ b/AUTHORS @@ -9,8 +9,6 @@ Andreas Suter Bastian M. Wojek msr2data; initial testing; full initial documentation; BMWlibs; - unified building process on Linux, MacOSX and Windows (Cygwin) - through autotools #--------------------------------------------------------------------- # this is the end ... diff --git a/CMakeLists.txt b/CMakeLists.txt index f6b17c1a..55df6f7a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,7 +1,7 @@ # - musrfit cmake_minimum_required(VERSION 3.6) -project(musrfit VERSION 1.4.1 LANGUAGES C CXX) +project(musrfit VERSION 1.4.2 LANGUAGES C CXX) #--- musrfit specific options ------------------------------------------------- option(nexus "build optional NeXus support. Needed for ISIS" OFF) diff --git a/ChangeLog b/ChangeLog index a9e9a442..aff89d1a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -12,6 +12,12 @@ or https://bitbucket.org/muonspin/musrfit/commits/all +Release of V1.4.2, 2019/03/08 +============================= + +The tool chain support for automake is removed. Only the cmake tool chain is +supported from now one. + Release of V1.2.0, 2017/10/26 ============================= diff --git a/INSTALL b/INSTALL index 2a96191f..dc1708c0 100644 --- a/INSTALL +++ b/INSTALL @@ -2,43 +2,9 @@ # INSTALL #--------------------------------------------------------------------- -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=$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 #---------------------------------- diff --git a/Makefile.am b/Makefile.am deleted file mode 100644 index 77cbf95e..00000000 --- a/Makefile.am +++ /dev/null @@ -1,32 +0,0 @@ -## Process this file with automake to create Makefile.in - -SUBDIRS = src - -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 = examples \ - examples/data \ - examples/ASlibs \ - examples/ASlibs/data \ - examples/ASlibs/profiles \ - examples/BMWlibs \ - examples/BMWlibs/data \ - examples/BMWlibs/profiles \ - html/ \ - html/_downloads \ - html/_images \ - html/_sources \ - html/_static - #html/technical - -install-data-hook: - @$(NORMAL_INSTALL) - for DIR in $(DOCDIRS); do $(MKDIR_P) $(DOCDIR)/$$DIR; $(INSTALL_DATA) doc/$$DIR/*.* $(DOCDIR)/$$DIR; done - $(MKDIR_P) $(DOCDIR)/latex_images - $(INSTALL_DATA) src/musredit/latex_images/*.png $(DOCDIR)/latex_images - -uninstall-hook: - @$(NORMAL_UNINSTALL) - rm -rf $(DOCDIR) diff --git a/acinclude.m4 b/acinclude.m4 deleted file mode 100644 index 7d1ff84c..00000000 --- a/acinclude.m4 +++ /dev/null @@ -1,128 +0,0 @@ -dnl -*- mode: autoconf -*- -dnl -dnl $Id: root.m4,v 1.3 2005/03/21 21:42:21 rdm Exp $ -dnl $Author: rdm $ -dnl $Date: 2005/03/21 21:42:21 $ -dnl -dnl Autoconf macro to check for existence or ROOT on the system -dnl Synopsis: -dnl -dnl ROOT_PATH([MINIMUM-VERSION, [ACTION-IF-FOUND, [ACTION-IF-NOT-FOUND]]]) -dnl -dnl Some examples: -dnl -dnl ROOT_PATH(3.03/05, , AC_MSG_ERROR(Your ROOT version is too old)) -dnl ROOT_PATH(, AC_DEFINE([HAVE_ROOT])) -dnl -dnl The macro defines the following substitution variables -dnl -dnl ROOTCONF full path to root-config -dnl ROOTEXEC full path to root -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 -dnl ROOTCFLAGS Extra compiler flags -dnl ROOTLIBS ROOT basic libraries -dnl ROOTGLIBS ROOT basic + GUI libraries -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 rootcling isn't found. -dnl -dnl Christian Holm Christensen -dnl -AC_DEFUN([ROOT_PATH], -[ - AC_ARG_WITH([rootsys], - [AC_HELP_STRING([--with-rootsys], - [top of the ROOT installation directory])], - [user_rootsys=$withval], - [user_rootsys="none"]) - if test ! x"$user_rootsys" = xnone; then - rootbin="$user_rootsys/bin" - elif test ! x"$ROOTSYS" = x ; then - rootbin="$ROOTSYS/bin" - else - rootbin=$PATH - fi - AC_PATH_PROG(ROOTCONF, root-config , no, $rootbin) - AC_PATH_PROG(ROOTEXEC, root , no, $rootbin) - AC_PATH_PROG(ROOTCLING, rootcling , no, $rootbin) - - if test ! x"$ROOTCONF" = "xno" && \ - test ! x"$ROOTCLING" = "xno" ; then - - # define some variables - ROOTLIBDIR=`$ROOTCONF --libdir` - ROOTINCDIR=`$ROOTCONF --incdir` - ROOTETCDIR=`$ROOTCONF --etcdir` - ROOTCFLAGS=`$ROOTCONF --noauxcflags --cflags` - ROOTLIBS=`$ROOTCONF --noauxlibs --noldflags --libs` - ROOTGLIBS=`$ROOTCONF --noauxlibs --noldflags --glibs` - ROOTAUXCFLAGS=`$ROOTCONF --auxcflags` - ROOTAUXLIBS=`$ROOTCONF --auxlibs` - ROOTRPATH=$ROOTLIBDIR - ROOTVERSION=`$ROOTCONF --version` - ROOTSOVERSION=`dirname $ROOTVERSION` - - if test $1 ; then - AC_MSG_CHECKING(whether ROOT version >= [$1]) - vers=`$ROOTCONF --version | tr './' ' ' | awk 'BEGIN { FS = " "; } { printf "%d", ($''1 * 1000 + $''2) * 1000 + $''3;}'` - requ=`echo $1 | tr './' ' ' | awk 'BEGIN { FS = " "; } { printf "%d", ($''1 * 1000 + $''2) * 1000 + $''3;}'` - if test $vers -lt $requ ; then - AC_MSG_RESULT(no) - no_root="yes" - else - AC_MSG_RESULT(yes) - fi - fi - else - # otherwise, we say no_root - no_root="yes" - fi - - AC_SUBST(ROOTLIBDIR) - AC_SUBST(ROOTINCDIR) - AC_SUBST(ROOTETCDIR) - AC_SUBST(ROOTCFLAGS) - AC_SUBST(ROOTLIBS) - AC_SUBST(ROOTGLIBS) - AC_SUBST(ROOTAUXLIBS) - AC_SUBST(ROOTAUXCFLAGS) - AC_SUBST(ROOTRPATH) - AC_SUBST(ROOTVERSION) - AC_SUBST(ROOTSOVERSION) - - if test "x$no_root" = "x" ; then - ifelse([$2], , :, [$2]) - else - ifelse([$3], , :, [$3]) - fi -]) - -# -# Macro to check if ROOT has a specific feature: -# -# ROOT_FEATURE(FEATURE,[ACTION_IF_HAVE,[ACTION_IF_NOT]]) -# -# For example -# -# ROOT_FEATURE([ldap],[AC_DEFINE([HAVE_ROOT_LDAP])]) -# -AC_DEFUN([ROOT_FEATURE], -[ - AC_REQUIRE([ROOT_PATH]) - feat=$1 - res=`$ROOTCONF --has-$feat` - if test "x$res" = "xyes" ; then - ifelse([$2], , :, [$2]) - else - ifelse([$3], , :, [$3]) - fi -]) - -# -# EOF -# diff --git a/autogen.sh b/autogen.sh deleted file mode 100755 index 74550064..00000000 --- a/autogen.sh +++ /dev/null @@ -1,101 +0,0 @@ -#! /bin/sh - -# autogen.sh -# -# Copyright (c) 2009 BMW -# Copyright (c) 2002 Daniel Elstner -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License VERSION 2 as -# published by the Free Software Foundation. You are not allowed to -# use any other version of the license; unless you got the explicit -# permission from the author to do so. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - -PATHTOAUTOCONF=$(which autoconf) -PATHTOAUTOMAKE=$(which automake) -PATHTOLIBTOOL=$(which libtoolize) -PATHTOGLIBTOOL= -if [ "$PATHTOLIBTOOL" = "" ]; then - PATHTOGLIBTOOL=$(which glibtoolize) -fi - -if [ "$PATHTOAUTOCONF" = "" ]; then - echo - echo ">> GNU autoconf has not been found!" - echo ">> Please install it first and then re-run the script!" - echo - exit 1 -elif [ "$PATHTOAUTOMAKE" = "" ]; then - echo - echo ">> GNU automake has not been found!" - echo ">> Please install it first and then re-run the script!" - echo - exit 1 -elif [ "$PATHTOLIBTOOL" = "" ] && [ "$PATHTOGLIBTOOL" = "" ]; then - echo - echo ">> GNU libtool has not been found!" - echo ">> Please install it first and then re-run the script!" - echo - exit 1 -fi - -if [ "$PATHTOLIBTOOL" = "" ]; then - LIBTOOLIZE="glibtoolize" -else - LIBTOOLIZE="libtoolize" -fi - -dir=`echo "$0" | sed 's,[^/]*$,,'` -test "x${dir}" = "x" && dir='.' - -if test "x`cd "${dir}" 2>/dev/null && pwd`" != "x`pwd`" -then - echo "This script must be executed directly from the source directory!" - exit 1 -fi - -if !(test -d admin); then - mkdir admin -fi - -rm -f config.cache - -if test -e admin/depcomp && \ - test -e admin/install-sh && \ - test -e admin/ltmain.sh && \ - test -e admin/missing && \ - test -e aclocal.m4 -then - echo ">> autoreconf" && \ - autoreconf && exit 0 -else - echo "" && \ - echo "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++" && \ - echo "+ This script prepares the building environment for the configuration of +" && \ - echo "+ musrfit. During this process some informative messages might appear which +" && \ - echo "+ can safely be ignored as long as they are not tagged as errors. +" && \ - echo "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++" && \ - echo "" && \ - echo ">> libtoolize" && \ - $LIBTOOLIZE --force && \ - echo ">> aclocal" && \ - aclocal && \ - echo ">> autoconf" && \ - autoconf && \ - echo ">> autoheader" && \ - autoheader && \ - echo ">> automake" && \ - automake --add-missing --gnu && exit 0 -fi - -exit 1 - diff --git a/configure.ac b/configure.ac deleted file mode 100644 index 9efd1188..00000000 --- a/configure.ac +++ /dev/null @@ -1,1475 +0,0 @@ -AC_REVISION([m4_esyscmd_s([git describe --always])]) - -AC_PREREQ(2.63) -AC_INIT([musrfit],[1.4.0],[andreas.suter@psi.ch]) -AC_CONFIG_AUX_DIR(admin) -AC_CANONICAL_HOST -#AC_MSG_RESULT([${host} ${host_cpu} ${host_vendor} ${host_os}]) - -dnl ----------------------------------------------- -dnl Check if pkg-config is installed -dnl ----------------------------------------------- - -#PKG_PROG_PKG_CONFIG([0.9]) -#The above macro does not work if pkg-config is not installed, therefore, for the moment we stay with the solution below: -m4_ifdef([PKG_CHECK_MODULES],[],AC_MSG_ERROR([Please install pkg-config before configuring musrfit!])) - -dnl ----------------------------------------------- -dnl Package names and version numbers -dnl ----------------------------------------------- - -MUSR_PROGRAM_NAME=musrfit -MUSR_LIBRARY_NAME=PMusr -USERFCN_LIBRARY_NAME=PUserFcnBase -MUSR_ROOT_LIBRARY_NAME=TMusrRunHeader -LEM_LIBRARY_NAME=TLemRunHeader -PSIBIN_LIBRARY_NAME=Class_MuSR_PSI -MUD_LIBRARY_NAME=mud -PNEXUS_LIBRARY_NAME=PNeXus -CUBA_LIBRARY_NAME=cuba - -dnl ----------------------------------------------- -dnl Optional plug-ins -dnl ----------------------------------------------- - - -#release versioning -MUSR_MAJOR_VERSION=1 -MUSR_MINOR_VERSION=4 -MUSR_MICRO_VERSION=0 - -#release versioning -MUSR_ROOT_MAJOR_VERSION=1 -MUSR_ROOT_MINOR_VERSION=0 -MUSR_ROOT_MICRO_VERSION=0 - -#release versioning -LEM_MAJOR_VERSION=1 -LEM_MINOR_VERSION=5 -LEM_MICRO_VERSION=0 - -#release versioning -PSIBIN_MAJOR_VERSION=0 -PSIBIN_MINOR_VERSION=1 -PSIBIN_MICRO_VERSION=0 - -#release versioning -MUD_MAJOR_VERSION=1 -MUD_MINOR_VERSION=0 -MUD_MICRO_VERSION=0 - -#release versioning -PNEXUS_MAJOR_VERSION=0 -PNEXUS_MINOR_VERSION=9 -PNEXUS_MICRO_VERSION=0 - -#release versioning -PLUGIN_MAJOR_VERSION=1 -PLUGIN_MINOR_VERSION=0 -PLUGIN_MICRO_VERSION=0 - -#release versioning -CUBA_MAJOR_VERSION=4 -CUBA_MINOR_VERSION=2 -CUBA_MICRO_VERSION=0 - -#API version -MUSR_API_VERSION=$MUSR_MAJOR_VERSION.$MUSR_MINOR_VERSION -AC_SUBST(MUSR_API_VERSION) - -MUSR_ROOT_API_VERSION=$MUSR_ROOT_MAJOR_VERSION.$MUSR_ROOT_MINOR_VERSION -AC_SUBST(MUSR_ROOT_API_VERSION) - -LEM_API_VERSION=$LEM_MAJOR_VERSION.$LEM_MINOR_VERSION -AC_SUBST(LEM_API_VERSION) - -PSIBIN_API_VERSION=$PSIBIN_MAJOR_VERSION.$PSIBIN_MINOR_VERSION -AC_SUBST(PSIBIN_API_VERSION) - -MUD_API_VERSION=$MUD_MAJOR_VERSION.$MUD_MINOR_VERSION -AC_SUBST(MUD_API_VERSION) - -PNEXUS_API_VERSION=$PNEXUS_MAJOR_VERSION.$PNEXUS_MINOR_VERSION -AC_SUBST(PNEXUS_API_VERSION) - -PLUGIN_API_VERSION=$PLUGIN_MAJOR_VERSION.$PLUGIN_MINOR_VERSION -AC_SUBST(PLUGIN_API_VERSION) - -CUBA_API_VERSION=$CUBA_MAJOR_VERSION.$CUBA_MINOR_VERSION -AC_SUBST(CUBA_API_VERSION) - -#shared library versioning -CUBA_LIBRARY_VERSION=$CUBA_MAJOR_VERSION:$CUBA_MINOR_VERSION:$CUBA_MICRO_VERSION -PLUGIN_LIBRARY_VERSION=$PLUGIN_MAJOR_VERSION:$PLUGIN_MINOR_VERSION:$PLUGIN_MICRO_VERSION -MUSR_ROOT_LIBRARY_VERSION=$MUSR_ROOT_MAJOR_VERSION:$MUSR_ROOT_MINOR_VERSION:$MUSR_ROOT_MICRO_VERSION -LEM_LIBRARY_VERSION=$LEM_MAJOR_VERSION:$LEM_MINOR_VERSION:$LEM_MICRO_VERSION -PSIBIN_LIBRARY_VERSION=$PSIBIN_MAJOR_VERSION:$PSIBIN_MINOR_VERSION:$PSIBIN_MICRO_VERSION -MUD_LIBRARY_VERSION=$MUD_MAJOR_VERSION:$MUD_MINOR_VERSION:$MUD_MICRO_VERSION -PNEXUS_LIBRARY_VERSION=$PNEXUS_MAJOR_VERSION:$PNEXUS_MINOR_VERSION:$PNEXUS_MICRO_VERSION -MUSR_LIBRARY_VERSION=$MUSR_MAJOR_VERSION:$MUSR_MINOR_VERSION:$MUSR_MICRO_VERSION - -# This is definitely handled wrongly at the moment and needs to be fixed... -#XXX_LIBRARY_VERSION=X:Y:Z -# | | | -# +------+ | +---+ -# | | | -# current:revision:age -# | | | -# | | +- increment if interfaces have been added -# | | set to zero if interfaces have been removed -# or changed -# | +- increment if source code has changed -# | set to zero if current is incremented -# +- increment if interfaces have been added, removed or changed - -AC_SUBST(MUSR_LIBRARY_VERSION) -AC_SUBST(MUSR_ROOT_LIBRARY_VERSION) -AC_SUBST(LEM_LIBRARY_VERSION) -AC_SUBST(PSIBIN_LIBRARY_VERSION) -AC_SUBST(MUD_LIBRARY_VERSION) -AC_SUBST(PNEXUS_LIBRARY_VERSION) -AC_SUBST(PLUGIN_LIBRARY_VERSION) -AC_SUBST(CUBA_LIBRARY_VERSION) - -PACKAGE=$MUSR_PROGRAM_NAME -AC_SUBST(MUSR_LIBRARY_NAME) -AC_SUBST(USERFCN_LIBRARY_NAME) -AC_SUBST(MUSR_ROOT_LIBRARY_NAME) -AC_SUBST(LEM_LIBRARY_NAME) -AC_SUBST(PSIBIN_LIBRARY_NAME) -AC_SUBST(MUD_LIBRARY_NAME) -AC_SUBST(PNEXUS_LIBRARY_NAME) -AC_SUBST(CUBA_LIBRARY_NAME) - -PSIBIN_VERSION=$PSIBIN_MAJOR_VERSION.$PSIBIN_MINOR_VERSION.$PSIBIN_MICRO_VERSION -PSIBIN_RELEASE=$PSIBIN_MAJOR_VERSION.$PSIBIN_MINOR_VERSION -AC_SUBST(PSIBIN_RELEASE) -AC_SUBST(PSIBIN_VERSION) - -MUD_VERSION=$MUD_MAJOR_VERSION.$MUD_MINOR_VERSION.$MUD_MICRO_VERSION -MUD_RELEASE=$MUD_MAJOR_VERSION.$MUD_MINOR_VERSION -AC_SUBST(MUD_RELEASE) -AC_SUBST(MUD_VERSION) - -PNEXUS_VERSION=$PNEXUS_MAJOR_VERSION.$PNEXUS_MINOR_VERSION.$PNEXUS_MICRO_VERSION -PNEXUS_RELEASE=$PNEXUS_MAJOR_VERSION.$PNEXUS_MINOR_VERSION -AC_SUBST(PNEXUS_RELEASE) -AC_SUBST(PNEXUS_VERSION) - -LEM_VERSION=$LEM_MAJOR_VERSION.$LEM_MINOR_VERSION.$LEM_MICRO_VERSION -LEM_RELEASE=$LEM_MAJOR_VERSION.$LEM_MINOR_VERSION -AC_SUBST(LEM_RELEASE) -AC_SUBST(LEM_VERSION) - -MUSR_ROOT_VERSION=$MUSR_ROOT_MAJOR_VERSION.$MUSR_ROOT_MINOR_VERSION.$MUSR_ROOT_MICRO_VERSION -MUSR_ROOT_RELEASE=$MUSR_ROOT_MAJOR_VERSION.$MUSR_ROOT_MINOR_VERSION -AC_SUBST(MUSR_ROOT_RELEASE) -AC_SUBST(MUSR_ROOT_VERSION) - -MUSR_VERSION=$MUSR_MAJOR_VERSION.$MUSR_MINOR_VERSION.$MUSR_MICRO_VERSION -MUSR_RELEASE=$MUSR_MAJOR_VERSION.$MUSR_MINOR_VERSION -AC_SUBST(MUSR_RELEASE) -AC_SUBST(MUSR_VERSION) - -PLUGIN_VERSION=$PLUGIN_MAJOR_VERSION.$PLUGIN_MINOR_VERSION.$PLUGIN_MICRO_VERSION -PLUGIN_RELEASE=$PLUGIN_MAJOR_VERSION.$PLUGIN_MINOR_VERSION -AC_SUBST(PLUGIN_RELEASE) -AC_SUBST(PLUGIN_VERSION) -AC_SUBST(PLUGIN_MAJOR_VERSION) -AC_SUBST(PLUGIN_MINOR_VERSION) - -CUBA_VERSION=$CUBA_MAJOR_VERSION.$CUBA_MINOR_VERSION.$CUBA_MICRO_VERSION -CUBA_RELEASE=$CUBA_MAJOR_VERSION.$CUBA_MINOR_VERSION -AC_SUBST(CUBA_RELEASE) -AC_SUBST(CUBA_VERSION) - -VERSION=$MUSR_VERSION - -# Wordaround for gcc-bugs causing problems building libCuba -# which should be change when a real solution appears -# Set CFLAGS to "" and pass any user-CFLAGS to the mud-building -# user-CFLAGS will not be passed to the libCuba building process -# mud and cuba are currently the only C-routines -USER_CFLAGS="$CFLAGS" -CFLAGS= -if test "$USER_CFLAGS" = ""; then - USER_CFLAGS="-g -O2" -fi - -dnl ----------------------------------------------- -dnl Automake initialization and program checks -dnl ----------------------------------------------- - -AM_INIT_AUTOMAKE -# m4_ifdef([AM_SILENT_RULES], -# [AM_SILENT_RULES([yes])]) -AC_CONFIG_HEADER([config.h]) -AC_LANG([C++]) -AC_PROG_LN_S -AC_PROG_INSTALL - -m4_ifdef([AC_PROG_MKDIR_P], - [AC_PROG_MKDIR_P], - [MKDIR_P="mkdir -p" - AC_SUBST(MKDIR_P)]) - -m4_ifdef([LT_INIT], - [LT_INIT([disable-static]) - LT_LANG([C++]) - LT_LANG([C])], - [m4_defun([_LT_AC_LANG_F77_CONFIG], [:]) - AC_DISABLE_STATIC([]) - LT_INIT - AC_PROG_CXX - AC_PROG_CC]) - -dnl ----------------------------------------------- -dnl Ask user for path to fftw3 -dnl ----------------------------------------------- - -FFTW3_FOUND=0 -AC_ARG_WITH([fftw3], - [AS_HELP_STRING([--with-fftw3],[prefix of FFTW3 installation, e.g. /usr/local or /usr])], - [FFTW3_PREFIX=$with_fftw3 - AC_MSG_CHECKING([whether FFTW3 can be found at the specified location]) - if !(test -r ${FFTW3_PREFIX}/include/fftw3.h); then - AC_MSG_RESULT([no]) - AC_MSG_ERROR([FFTW3 cannot be found at the specified path!]) - fi - AC_MSG_RESULT([${FFTW3_PREFIX}])], - [PKG_CHECK_MODULES(FFTW3, fftw3 >= 3.1.0, [FFTW3_FOUND=1], - [AC_MSG_CHECKING([whether FFTW3 is installed in a standard location]) - if test -r /usr/local/include/fftw3.h; then - FFTW3_PREFIX="/usr/local" - AC_MSG_RESULT([${FFTW3_PREFIX}]) - elif test -r /usr/include/fftw3.h; then - FFTW3_PREFIX="/usr" - AC_MSG_RESULT([${FFTW3_PREFIX}]) - elif test -r /sw/include/fftw3.h; then - FFTW3_PREFIX="/sw" - AC_MSG_RESULT([${FFTW3_PREFIX}]) - elif test -r /opt/local/include/fftw3.h; then - FFTW3_PREFIX="/opt/local" - AC_MSG_RESULT([${FFTW3_PREFIX}]) - else - AC_MSG_RESULT([no]) - AC_MSG_ERROR( - [FFTW3 not found. Please call configure with the --with-fftw3 option. - This tells configure where to find the FFTW3 C libraries and headers, - e.g. --with-fftw3=/usr/local or --with-fftw3=/usr] - ) - fi - ] - ) - ] -) -AC_SUBST(FFTW3_PREFIX) -if test "${FFTW3_FOUND}" != "1"; then - FFTW3_LIBS="-L${FFTW3_PREFIX}/lib -lfftw3 -lm" - FFTW3_CFLAGS="-I${FFTW3_PREFIX}/include" -fi - -dnl ----------------------------------------------- -dnl Ask user for path to gsl -dnl ----------------------------------------------- - -GSL_FOUND=0 -AC_ARG_WITH([gsl], - [AS_HELP_STRING([--with-gsl],[prefix of GSL installation. e.g. /usr/local or /usr])], - [GSL_PREFIX=$with_gsl - AC_MSG_CHECKING([whether GSL can be found at the specified location]) - if !(test -r ${GSL_PREFIX}/include/gsl/gsl_sf_hyperg.h); then - AC_MSG_RESULT([no]) - AC_MSG_ERROR([GSL cannot be found at the specified path!]) - fi - AC_MSG_RESULT([${GSL_PREFIX}])], - [PKG_CHECK_MODULES(GSL, gsl >= 1.9, [GSL_FOUND=1], - [AC_MSG_CHECKING([whether GSL is installed in a standard location]) - if test -r /usr/local/include/gsl/gsl_sf_hyperg.h; then - GSL_PREFIX="/usr/local" - AC_MSG_RESULT([${GSL_PREFIX}]) - elif test -r /usr/include/gsl/gsl_sf_hyperg.h; then - GSL_PREFIX="/usr" - AC_MSG_RESULT([${GSL_PREFIX}]) - elif test -r /sw/include/gsl/gsl_sf_hyperg.h; then - GSL_PREFIX="/sw" - AC_MSG_RESULT([${GSL_PREFIX}]) - elif test -r /opt/local/include/gsl/gsl_sf_hyperg.h; then - GSL_PREFIX="/opt/local" - AC_MSG_RESULT([${GSL_PREFIX}]) - else - AC_MSG_RESULT([no]) - AC_MSG_ERROR( - [GSL not found. Please call configure with the --with-gsl option. - This tells configure where to find the GSL C libraries and headers, - e.g. --with-gsl=/usr/local or --with-gsl=/usr] - ) - fi - ] - ) - ] -) -AC_SUBST(GSL_PREFIX) -if test "${GSL_FOUND}" != "1"; then - GSL_LIBS="-L${GSL_PREFIX}/lib -lgsl -lgslcblas -lm" - GSL_CFLAGS="-I${GSL_PREFIX}/include/gsl" -fi -AC_SUBST(GSL_LIBS) -AC_SUBST(GSL_CFLAGS) - -dnl ----------------------------------------------- -dnl Ask user for path to boost -dnl ----------------------------------------------- - -BOOST_FOUND=0 -AC_ARG_WITH([boostinc], - [AS_HELP_STRING([--with-boostinc],[path to the header files of the BOOST installation, e.g. /usr/local/include or /usr/include])], - [BOOST_INCLUDE=$with_boostinc - AC_MSG_CHECKING([whether BOOST can be found at the specified location]) - if !(test -r ${BOOST_INCLUDE}/boost/spirit.hpp) && !(test -r ${BOOST_INCLUDE}/boost/spirit/include/classic_spirit.hpp); then - AC_MSG_RESULT([no]) - AC_MSG_ERROR([BOOST cannot be found at the specified path!]) - fi - AC_MSG_RESULT([${BOOST_INCLUDE}])], - [PKG_CHECK_MODULES(BOOST, boost >= 1.30, [BOOST_FOUND=1], - [AC_MSG_CHECKING([whether BOOST is installed in a standard location]) - if test -r /usr/local/include/boost/spirit.hpp || test -r /usr/local/include/boost/spirit/include/classic_spirit.hpp; then - BOOST_INCLUDE="/usr/local/include" - AC_MSG_RESULT([${BOOST_INCLUDE}]) - elif test -r /usr/include/boost/spirit.hpp || test -r /usr/include/boost/spirit/include/classic_spirit.hpp; then - BOOST_INCLUDE="/usr/include" - AC_MSG_RESULT([${BOOST_INCLUDE}]) - elif test -r /sw/include/boost/spirit.hpp || test -r /sw/include/boost/spirit/include/classic_spirit.hpp; then - BOOST_INCLUDE="/sw/include" - AC_MSG_RESULT([${BOOST_INCLUDE}]) - elif test -r /opt/local/include/boost/spirit.hpp || test -r /opt/local/include/boost/spirit/include/classic_spirit.hpp; then - BOOST_INCLUDE="/opt/local/include" - AC_MSG_RESULT([${BOOST_INCLUDE}]) - else - AC_MSG_RESULT([no]) - AC_MSG_ERROR( - [BOOST not found. Please call configure with the --with-boostinc option. - This tells configure where to find the BOOST C++ headers, - e.g. --with-boostinc=/usr/local/include or --with-boostinc=/usr/include or --with-boostinc=/usr/include/boost-1_33_0] - ) - fi - ] - ) - ] -) -AC_SUBST(BOOST_INCLUDE) -if test "${BOOST_FOUND}" != "1"; then - BOOST_LIBS="" - BOOST_CFLAGS="-I${BOOST_INCLUDE}" -fi -AC_SUBST(BOOST_LIBS) -AC_SUBST(BOOST_CFLAGS) - - -dnl ----------------------------------------------- -dnl Ask user for path to libxml2 -dnl ----------------------------------------------- -LIBXML2_FOUND=0 -AC_ARG_WITH([libxml2], - [AS_HELP_STRING([--with-libxml2],[prefix of the libxml2 installation, e.g. /usr/local/include])], - [LIBXML2_PREFIX=$with_libxml2 - AC_MSG_CHECKING([whether libxml2 can be found at the specified location]) - if !(test -r ${LIBXML2_PREFIX}/libxml2/libxml/xmlreader.h) && !(test -r ${LIBXML2_PREFIX}/libxml2/libxml/parser.h) && !(test -r ${LIBXML2_PREFIX}/libxml2/libxml/xmlschemas.h); then - AC_MSG_RESULT([no]) - AC_MSG_ERROR([libxml2 cannot be found at the specified path!]) - fi - AC_MSG_RESULT([${LIBXML2_PREFIX}])], - [PKG_CHECK_MODULES(LIBXML2, libxml2 >= 2.6.26, [LIBXML2_FOUND=1], - [AC_MSG_CHECKING([whether libxml2 is installed in a standard location]) - if test -r /usr/local/include/libxml2/libxml/xmlreader.h || test -r /usr/local/include/libxml2/libxml/parser.h || \ - test -r /usr/local/include/libxml2/libxml/xmlschemas.h; then - LIBXML2_PREFIX="/usr/local/include" - AC_MSG_RESULT([${LIBXML2_PREFIX}]) - elif test -r /usr/include/libxml2/libxml/xmlreader.h || test -r /usr/include/libxml2/libxml/parser.h || \ - test -r /usr/include/libxml2/libxml/xmlschemas.h; then - LIBXML2_PREFIX="/usr/include" - AC_MSG_RESULT([${LIBXML2_PREFIX}]) - elif test -r /sw/include/libxml2/libxml/xmlreader.h || test -r /sw/include/libxml2/libxml/parser.h || \ - test -r /sw/include/libxml2/libxml/xmlschemas.h; then - LIBXML2_PREFIX="/sw/include" - AC_MSG_RESULT([${LIBXML2_PREFIX}]) - elif test -r /opt/local/include/libxml2/libxml/xmlreader.h || test -r /opt/local/include/libxml2/libxml/parser.h || \ - test -r /opt/local/include/libxml2/libxml/xmlschemas.h; then - LIBXML2_PREFIX="/opt/local/include" - AC_MSG_RESULT([${LIBXML2_PREFIX}]) - else - AC_MSG_RESULT([no]) - AC_MSG_ERROR( - [libxml2 not found. Please call configure with the --with-libxml2 option. - This tells configure where to find the libxml2 headers, - e.g. --with-libxml2=/usr/local/include or --with-libxml2=/usr/include/libxml2] - ) - fi - ] - ) - ] -) -AC_SUBST(LIBXML2_PREFIX) -if test "${LIBXML2_FOUND}" != "1"; then - LIBXML2_LIBS="-L${LIBXML2_PREFIX}/lib -lxml2" - LIBXML2_CFLAGS="-I${LIBXML2_PREFIX}/libxml2" -fi -AC_SUBST(LIBXML2_LIBS) -AC_SUBST(LIBXML2_CFLAGS) - -dnl ----------------------------------------------- -dnl Check for ROOT -dnl ----------------------------------------------- - -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}" - -# Check if Minuit2 has been enabled during the ROOT configuration - -AC_MSG_CHECKING([for Minuit2 in ROOT]) -if test "x$(${ROOTCONF} --has-minuit2)" = "xyes"; then - AC_MSG_RESULT([yes]) -else - AC_MSG_RESULT([no]) - AC_MSG_ERROR([Minuit2 is not included in the ROOT installation... Please configure ROOT with the --enable-minuit2 option!]) -fi - -AC_MSG_CHECKING([for MathMore in ROOT]) -if test "x$(${ROOTCONF} --has-mathmore)" = "xyes"; then - AC_MSG_RESULT([yes]) -else - AC_MSG_RESULT([no]) - AC_MSG_ERROR([MathMore is not included in the ROOT installation... Please configure ROOT with the --enable-mathmore option and check that the feature is actually built!]) -fi - -AC_MSG_CHECKING([for XML support in ROOT]) -if test "x$(${ROOTCONF} --has-xml)" = "xyes"; then - AC_MSG_RESULT([yes]) -else - AC_MSG_RESULT([no]) - AC_MSG_ERROR([XML support is not included in the ROOT installation... Please configure ROOT with the --enable-xml option and check that the feature is actually built!]) -fi - -AC_MSG_CHECKING([for image processing support in ROOT]) -if test "x$(${ROOTCONF} --has-asimage)" = "xyes"; then - AC_MSG_RESULT([yes]) -else - AC_MSG_RESULT([no]) - AC_MSG_ERROR([image processing support is not included in the ROOT installation... Please configure ROOT with the --enable-asimage option and check that the feature is actually built!]) -fi - -AC_SUBST(ROOT_LIBS) -AC_SUBST(ROOT_CFLAGS) - -dnl ----------------------------------------------- -dnl Check for NeXus, HDF5, etc. -dnl ----------------------------------------------- -AC_ARG_ENABLE([NeXus], [AS_HELP_STRING([--enable-NeXus],[build optional NeXus support [default=no]])], - [ - # checking for hdf4 - AC_ARG_WITH([hdf4], - [AS_HELP_STRING([--with-hdf4],[prefix of the HDF4 installation (needed for NeXus), e.g. /usr/local/hdf4 or /opt/hdf4])], - [HDF4_PREFIX=$with_hdf4 - AC_MSG_CHECKING([whether HDF4 can be found at the specified location]) - if !(test -r ${HDF4_PREFIX}/include/hdf.h); then - AC_MSG_RESULT([no]) - AC_MSG_ERROR([HDF4 cannot be found at the specified path!]) - fi - AC_MSG_RESULT([${HDF4_PREFIX}])], - [AC_MSG_CHECKING([whether HDF4 is installed in a standard location]) - if test -r /usr/local/include/hdf.h; then - HDF4_PREFIX="/usr/local" - AC_MSG_RESULT([${HDF4_PREFIX}]) - elif test -r /usr/local/hdf/include/hdf.h; then - HDF4_PREFIX="/usr/local/hdf" - AC_MSG_RESULT([${HDF4_PREFIX}]) - elif test -r /usr/include/hdf.h; then - HDF4_PREFIX="/usr" - AC_MSG_RESULT([${HDF4_PREFIX}]) - elif test -r /usr/include/hdf/hdf.h; then - HDF4_PREFIX="/usr/include/" - AC_MSG_RESULT([${HDF4_PREFIX}]) - elif test -r /sw/include/hdf.h; then - HDF4_PREFIX="/sw" - AC_MSG_RESULT([${HDF4_PREFIX}]) - elif test -r /opt/local/include/hdf.h; then - HDF4_PREFIX="/opt/local" - AC_MSG_RESULT([${HDF4_PREFIX}]) - else - AC_MSG_RESULT([no]) - AC_MSG_ERROR( - [HDF4 not found (needed for NeXus). Please call configure with the --with-hdf4 option. - This tells configure where to find the HDF4 C++ headers, - e.g. --with-hdf4=/usr/local/hdf] - ) - fi - ] - ) - - # checking for hdf5 - AC_ARG_WITH([hdf5], - [AS_HELP_STRING([--with-hdf5],[prefix of the HDF5 installation (needed for NeXus), e.g. /usr/local/hdf5 or /opt/hdf5])], - [HDF5_PREFIX=$with_hdf5 - AC_MSG_CHECKING([whether HDF5 can be found at the specified location]) - if !(test -r ${HDF5_PREFIX}/include/hdf5.h); then - AC_MSG_RESULT([no]) - AC_MSG_ERROR([HDF5 cannot be found at the specified path!]) - fi - AC_MSG_RESULT([${HDF5_PREFIX}])], - [AC_MSG_CHECKING([whether HDF5 is installed in a standard location]) - if test -r /usr/local/include/hdf5.h; then - HDF5_PREFIX="/usr/local" - AC_MSG_RESULT([${HDF5_PREFIX}]) - elif test -r /usr/local/hdf5/include/hdf5.h; then - HDF5_PREFIX="/usr/local/hdf5" - AC_MSG_RESULT([${HDF5_PREFIX}]) - elif test -r /usr/include/hdf5/serial/hdf5.h; then - HDF5_PREFIX="/usr/include/hdf5/serial" - AC_MSG_RESULT([${HDF5_PREFIX}]) - elif test -r /usr/include/hdf5.h; then - HDF5_PREFIX="/usr" - AC_MSG_RESULT([${HDF5_PREFIX}]) - elif test -r /sw/include/hdf5.h; then - HDF5_PREFIX="/sw" - AC_MSG_RESULT([${HDF5_PREFIX}]) - elif test -r /opt/local/include/hdf5.h; then - HDF5_PREFIX="/opt/local" - AC_MSG_RESULT([${HDF5_PREFIX}]) - else - AC_MSG_RESULT([no]) - AC_MSG_ERROR( - [HDF5 not found (needed for NeXus). Please call configure with the --with-hdf5 option. - This tells configure where to find the HDF5 C++ headers, - e.g. --with-hdf5=/usr/local/hdf5] - ) - fi - ] - ) - - # checking for NeXus - NEXUS_FOUND=0 - AC_ARG_WITH([nexus], - [AS_HELP_STRING([--with-nexus],[prefix of the NeXus installation, e.g. /usr/local])], - [NEXUS_PREFIX=$with_nexus - AC_MSG_CHECKING([whether NeXus can be found at the specified location]) - if !(test -r ${NEXUS_PREFIX}/include/nexus/napi.h); then - AC_MSG_RESULT([no]) - AC_MSG_ERROR([NeXus cannot be found at the specified path!]) - fi - AC_MSG_RESULT([${NEXUS_PREFIX}])], - [PKG_CHECK_MODULES(NEXUS, nexus >= 4.4, [NEXUS_FOUND=1], - [AC_MSG_CHECKING([whether NeXus is installed in a standard location]) - if test -r /usr/local/include/nexus/napi.h; then - NEXUS_PREFIX="/usr/local" - AC_MSG_RESULT([${NEXUS_PREFIX}]) - elif test -r /sw/include/nexus/napi.h; then - NEXUS_PREFIX="/sw" - AC_MSG_RESULT([${NEXUS_PREFIX}]) - elif test -r /opt/local/include/nexus/napi.h; then - NEXUS_PREFIX="/opt/local" - AC_MSG_RESULT([${NEXUS_PREFIX}]) - elif test -r /opt/nexus/include/nexus/napi.h; then - NEXUS_PREFIX="/opt/nexus" - AC_MSG_RESULT([${NEXUS_PREFIX}]) - else - AC_MSG_RESULT([no]) - AC_MSG_ERROR( - [NeXus Version >= 4.4 not found. Please call configure with the --with-nexus option. - This tells configure where to find the NeXus headers, - e.g. --with-nexus=/opt/nexus] - ) - fi - ] - )] - ) - AC_SUBST(NEXUS_PREFIX) - if test "${NEXUS_FOUND}" != "1"; then - dnl get suffix for the NeXus library depending on the OS - AC_REQUIRE([AC_CANONICAL_HOST]) - AS_CASE([$host_os], - [linux*], [NEXUS_SUFFIX="so"], - [darwin*], [NEXUS_SUFFIX="dylib"], - [*cygwin*], [NEXUS_SUFFIX="dll"], - [AC_MSG_ERROR([NeXus check: Your platform is not currently supported])] - ) - AC_MSG_NOTICE([NeXus Suffix Result: "${NEXUS_SUFFIX}"]) - if test -r ${NEXUS_PREFIX}/lib/libNeXus.${NEXUS_SUFFIX}; then - NEXUS_LIB_DIR="lib" - elif test -r ${NEXUS_PREFIX}/lib64/libNeXus.${NEXUS_SUFFIX}; then - NEXUS_LIB_DIR="lib64" - else - AC_MSG_ERROR( - [Couldn't find the NeXus library.] - ) - fi - - NEXUS_LIBS="-L${NEXUS_PREFIX}/${NEXUS_LIB_DIR} -lNeXus" - NEXUS_CFLAGS="-I${NEXUS_PREFIX}/include/nexus" - fi - AC_SUBST(NEXUS_LIBS) - AC_SUBST(NEXUS_CFLAGS) - - PNEXUS_ENABLED=1 - ], - [PNEXUS_ENABLED=0] -) - -dnl ----------------------------------------------- -dnl Ask user if BMWlibs should be built and where to find the CUBA installation -dnl ----------------------------------------------- - -AC_ARG_ENABLE([BMWlibs], [AS_HELP_STRING([--enable-BMWlibs],[build optional BMW plug-ins [default=no]])], - [CUBA_FOUND=0 - BUILD_CUBA=0 - AC_ARG_WITH([cuba], - [AS_HELP_STRING([--with-cuba],[prefix of CUBA installation, e.g. /usr/local or /usr])], - [CUBA_PREFIX=$with_cuba - AC_MSG_CHECKING([whether CUBA can be found at the specified location]) - if !(test -r ${CUBA_PREFIX}/include/cuba.h); then - AC_MSG_RESULT([no]) - AC_MSG_ERROR([CUBA cannot be found at the specified path!]) - fi - AC_MSG_RESULT([${CUBA_PREFIX}])], - [PKG_CHECK_MODULES(CUBA, cuba >= 1.6, [CUBA_FOUND=1], - [AC_MSG_CHECKING([whether CUBA is installed in a standard location]) - if test -r /usr/local/include/cuba.h; then - CUBA_PREFIX="/usr/local" - AC_MSG_RESULT([${CUBA_PREFIX}]) - elif test -r /usr/include/cuba.h; then - CUBA_PREFIX="/usr" - AC_MSG_RESULT([${CUBA_PREFIX}]) - elif test -r /sw/include/cuba.h; then - CUBA_PREFIX="/sw" - AC_MSG_RESULT([${CUBA_PREFIX}]) - elif test -r /opt/local/include/cuba.h; then - CUBA_PREFIX="/opt/local" - AC_MSG_RESULT([${CUBA_PREFIX}]) - else - BUILD_CUBA=1 - AC_MSG_RESULT([builtin-cuba]) - fi - ] - ) - ] - ) - - if test "${BUILD_CUBA}" = "1"; then - AS_IF([test "x$GCC" = "xyes"], - [case "$($CC --version 2>&1 < /dev/null)" in - *gcc*4.2* | *gcc*4.4.3*) - opt=-O0 - ;; - *) - opt=-O3 - ;; - esac - CUBA_BUILD_CFLAGS="$opt -fomit-frame-pointer -ffast-math"], - [CUBA_BUILD_CFLAGS="-O"]) - - AC_LANG_PUSH([C]) - - AC_C_CONST - AC_C_INLINE - AC_DIAGNOSE([obsolete],[The macro `AC_C_LONG_DOUBLE' is obsolete. -You should use `AC_TYPE_LONG_DOUBLE' or `AC_TYPE_LONG_DOUBLE_WIDER' instead. -])dnl - - AC_TYPE_LONG_DOUBLE_WIDER - ac_cv_c_long_double=$ac_cv_type_long_double_wider - if test $ac_cv_c_long_double = yes; then - AC_DEFINE([HAVE_LONG_DOUBLE],[1],[Define to 1 if the type `long double' works and has more range or - precision than `double'.]) - fi - - - AC_CHECK_FUNCS([powl]) - AC_CHECK_FUNCS([erf]) -# AC_FUNC_FORK - AC_FUNC_ALLOCA - - AC_DEFUN([chk_shmget], [dnl - AC_REQUIRE([AC_CANONICAL_HOST]) - AS_CASE([$host_os], - [*cygwin*], [], - [AC_CHECK_FUNCS([shmget])]) - ]) - chk_shmget - AC_CHECK_FUNCS([getloadavg]) - - MAXDIM=${MAXDIM:-16} - AC_ARG_WITH(maxdim, - [AS_HELP_STRING([--with-maxdim=N], - [[Cuba option] the maximum dimension for integration, - if variable-size array are not supported])], - [MAXDIM=$withval]) - - MAXCOMP=${MAXCOMP:-4} - AC_ARG_WITH(maxcomp, - [AS_HELP_STRING([--with-maxcomp=N], - [[Cuba option] the maximum number of components of the integrand, - if variable-size array are not supported])], - [MAXCOMP=$withval]) - - AC_MSG_CHECKING([for variable-size arrays]) - AC_COMPILE_IFELSE([AC_LANG_SOURCE(,[[ - void test(int n) - { - char s[n]; - } - ]])], - [AC_MSG_RESULT([yes])], - [AC_MSG_RESULT([no, using MAXDIM=$MAXDIM and MAXCOMP=$MAXCOMP]) - AC_DEFINE_UNQUOTED([NDIM], [$MAXDIM], [Maximum number of components]) - AC_DEFINE_UNQUOTED([NCOMP], [$MAXCOMP], [Maximum number of dimensions])] - ) - - AC_LANG_POP([C]) - - CUBA_SRCDIR="$(pwd)/src/external/libCuba/src" - CUBA_LIBS="${CUBA_SRCDIR}/libcuba.la" - CUBA_CFLAGS="-I${CUBA_SRCDIR}" - else - if test "${CUBA_FOUND}" != "1"; then - CUBA_LIBS="-L${CUBA_PREFIX}/lib -lcuba -lm" - CUBA_CFLAGS="-I${CUBA_PREFIX}/include" - fi - fi - - AC_SUBST(CUBA_PREFIX) - AC_SUBST(CUBA_LIBS) - AC_SUBST(CUBA_CFLAGS) - - BUILD_BMW_LIBS=1 - ], - [BUILD_BMW_LIBS=0] -) - -dnl ----------------------------------------------- -dnl Ask user if ASlibs should be built -dnl ----------------------------------------------- - -AC_ARG_ENABLE([ASlibs], [AS_HELP_STRING([--enable-ASlibs],[build optional AS plug-ins [default=no]])],[BUILD_AS_LIBS=1], [BUILD_AS_LIBS=0]) - -dnl ----------------------------------------------- -dnl Ask user if BNMRlibs should be built -dnl ----------------------------------------------- - -AC_ARG_ENABLE([BNMRlibs], [AS_HELP_STRING([--enable-BNMRlibs],[build optional BNMR plug-ins [default=no]])],[BUILD_BNMR_LIBS=1], [BUILD_BNMR_LIBS=0]) - -dnl ----------------------------------------------- -dnl Set some paths and flags for PMusr, MusrRoot, TLemRunHeader, Class_MuSR_PSI, mud, NeXus (if enabled), etc. -dnl ----------------------------------------------- - -SRCDIR="$(pwd)/src" - -PSIBIN_SRCDIR="${SRCDIR}/external/MuSR_software/Class_MuSR_PSI" -PSIBIN_LIBS="${PSIBIN_SRCDIR}/lib${PSIBIN_LIBRARY_NAME}.la" -PSIBIN_CFLAGS="-I${PSIBIN_SRCDIR}" -AC_SUBST(PSIBIN_LIBS) -AC_SUBST(PSIBIN_CFLAGS) - -MUD_SRCDIR="${SRCDIR}/external/mud/src" -MUD_LIBS="${MUD_SRCDIR}/lib${MUD_LIBRARY_NAME}.la" -MUD_CFLAGS="-I${MUD_SRCDIR}" -AC_SUBST(MUD_LIBS) -AC_SUBST(MUD_CFLAGS) - -LEM_SRCDIR="${SRCDIR}/external/TLemRunHeader" -LEM_LIBS="${LEM_SRCDIR}/lib${LEM_LIBRARY_NAME}.la" -LEM_CFLAGS="-I${LEM_SRCDIR}" -AC_SUBST(LEM_LIBS) -AC_SUBST(LEM_CFLAGS) - -MUSR_ROOT_SRCDIR="${SRCDIR}/external/MusrRoot" -MUSR_ROOT_LIBS="${MUSR_ROOT_SRCDIR}/lib${MUSR_ROOT_LIBRARY_NAME}.la" -MUSR_ROOT_CFLAGS="-I${MUSR_ROOT_SRCDIR}" -AC_SUBST(MUSR_ROOT_LIBS) -AC_SUBST(MUSR_ROOT_CFLAGS) - -PMUSR_LIBS="${SRCDIR}/classes/lib${MUSR_LIBRARY_NAME}.la" -PMUSR_CFLAGS="-I${SRCDIR}/include" -AC_SUBST(PMUSR_LIBS) -AC_SUBST(PMUSR_CFLAGS) - -USERFCN_LIBS="${SRCDIR}/classes/lib${USERFCN_LIBRARY_NAME}.la" -AC_SUBST(USERFCN_LIBS) - -if test "${PNEXUS_ENABLED}" = "1"; then - AC_DEFINE([PNEXUS_ENABLED], [1], [Define to 1 if NeXus is enabled]) - PNEXUS_SRCDIR="${SRCDIR}/external/nexus" - PNEXUS_LIBS="${PNEXUS_SRCDIR}/lib${PNEXUS_LIBRARY_NAME}.la" - PNEXUS_CXXFLAGS="-I${PNEXUS_SRCDIR}" - AC_SUBST(PNEXUS_LIBS) - AC_SUBST(PNEXUS_CXXFLAGS) -fi - -if test "${BUILD_BNMR_LIBS}" = "1"; then - BNMRLIBS_SRCDIR="${SRCDIR}/external/libBNMR" - BNMRLIBS_LIBS="${BNMRLIBS_SRCDIR}/libBNMR.la" - BNMRLIBS_CFLAGS="-I${BNMRLIBS_SRCDIR}" - AC_SUBST(BNMRLIBS_LIBS) - AC_SUBST(BNMRLIBS_CFLAGS) -fi - -if test "${BUILD_BMW_LIBS}" = "1"; then - BMWTOOLS_SRCDIR="${SRCDIR}/external/BMWtools" - BMWTOOLS_LIBS="${BMWTOOLS_SRCDIR}/libBMWtools.la" - BMWTOOLS_CFLAGS="-I${BMWTOOLS_SRCDIR}" - AC_SUBST(BMWTOOLS_LIBS) - AC_SUBST(BMWTOOLS_CFLAGS) - - FITPOFB_SRCDIR="${SRCDIR}/external/libFitPofB" - FITPOFB_LIBS="${FITPOFB_SRCDIR}/classes/libFitPofB.la" - FITPOFB_CFLAGS="-I${FITPOFB_SRCDIR}/include" - AC_SUBST(FITPOFB_LIBS) - AC_SUBST(FITPOFB_CFLAGS) - - # Check for fftw3_threads-library. If available musrfit is also linked against it (used in libFitPofB). - SAVED_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS $FFTW3_CFLAGS" - SAVED_LIBSS="$LIBS" - LIBS="$LIBS $FFTW3_LIBS" - AC_SEARCH_LIBS([fftw_init_threads], [fftw3_threads], [FFTW3_LIBS="$FFTW3_LIBS -lfftw3_threads -lpthread" - AC_DEFINE([HAVE_LIBFFTW3_THREADS], [1], [Define to 1 if fftw3_threads are available])], [], [-lpthread]) - # Check for fftw3f library. If it is not available the BMWlibs will not be built! - AC_SEARCH_LIBS([fftwf_malloc], [fftw3f], [FFTW3_LIBS="$FFTW3_LIBS -lfftw3f"], [BUILD_BMW_LIBS=0 - AC_MSG_ERROR([The float version of FFTW3 is not available. When building FFTW3 from source it should be configured with the options - --enable-shared --enable-float. Without this library the BMWlibs cannot be built!])], []) - if test "${BUILD_BMW_LIBS}" = "1"; then - AC_SEARCH_LIBS([fftwf_init_threads], [fftw3f_threads], [FFTW3_LIBS="$FFTW3_LIBS -lfftw3f_threads -lpthread" - AC_DEFINE([HAVE_LIBFFTW3F_THREADS], [1], [Define to 1 if fftw3f_threads are available])], [], [-lpthread]) - fi - - CFLAGS="$SAVED_CFLAGS" - LIBS="$SAVED_LIBS" -fi - -AC_SUBST(FFTW3_LIBS) -AC_SUBST(FFTW3_CFLAGS) - -dnl ----------------------------------------------- -dnl Ask user if OpenMP support should be disabled (used for parallel chisq calculation and in libFitPofB) -dnl ----------------------------------------------- - -AC_ARG_ENABLE([omp], [AS_HELP_STRING([--enable-omp],[build musrfit with OpenMP support [default=yes]])]) - -if test "x$enable_omp" != "xno"; then - SAVED_CXXFLAGS="$CXXFLAGS" - CXXFLAGS="$CXXFLAGS -fopenmp" - SAVED_LIBSS="$LIBS" - LIBS="$LIBS -fopenmp -lgomp" - AC_SEARCH_LIBS([omp_get_num_procs], [gomp], [AC_DEFINE([HAVE_GOMP], [1], [Define to 1 if gomp is available])], - [CXXFLAGS="$SAVED_CXXFLAGS" LIBS="$SAVED_LIBS"], []) -fi - -dnl ----------------------------------------------- -dnl Ask user if the building of musredit/musrgui should be disabled -dnl ----------------------------------------------- - -AC_ARG_ENABLE([editor], [AS_HELP_STRING([--enable-editor],[check for Qt and build musredit or musrgui [default=yes]])]) - -if test "x$enable_editor" != "xno"; then - - echo "Additional checks for musredit/musrgui ..." - - QT5MINVER=5.4 - - case "$host" in - *-*-cygwin) - QT4MINVER=4.5 - ;; - *) - QT4MINVER=4.6 - ;; - esac - - QT3_FOUND=no - QT3MT_FOUND=no - QT4_FOUND=no - QT5_FOUND=no - QMAKEBIN="" - QTEDITOR=none - - AC_ARG_WITH([qt3], - [AS_HELP_STRING([--with-qt3],[prefix of the Qt3 installation, e.g. /usr/lib/qt-3.3])], - [QT3_PREFIX=$with_qt3 - AC_MSG_CHECKING([whether qmake for Qt3 can be found at the specified location]) - for QMAKE in qmake qmake-qt3 - do - if test -x "${QT3_PREFIX}/bin/${QMAKE}"; then - QMAKEVERSIONSTRING="$(${QT3_PREFIX}/bin/${QMAKE} -v 2>&1)" - for a in $QMAKEVERSIONSTRING - do - if test "$(expr "$a" : '\(..\)')" = "3."; then - QMAKEBIN="${QT3_PREFIX}/bin/${QMAKE}" - QTEDITOR=musrgui - AC_MSG_RESULT([${QMAKEBIN}]) - break - fi - done - if test "x${QMAKEBIN}" != "x"; then - break - fi - fi - done - - if test "x${QMAKEBIN}" = "x"; then - AC_MSG_RESULT([no]) - AC_MSG_ERROR([qmake for Qt3 cannot be found in ${QT3_PREFIX}/bin!]) - fi] - ) - - AC_ARG_WITH([qt4], - [AS_HELP_STRING([--with-qt4],[prefix of the Qt4 installation, e.g. /opt/qt-4.7])], - [QT4_PREFIX=$with_qt4 - AC_MSG_CHECKING([whether qmake for Qt4 can be found at the specified location]) - for QMAKE in qmake qmake-qt4 - do - if test -x "${QT4_PREFIX}/bin/${QMAKE}"; then - QMAKEVERSIONSTRING="$(${QT4_PREFIX}/bin/${QMAKE} -v 2>&1)" - for a in $QMAKEVERSIONSTRING - do - if test "$(expr "$a" : '\(..\)')" = "4."; then - QMAKEBIN="${QT4_PREFIX}/bin/${QMAKE}" - QTEDITOR=musredit - AC_MSG_RESULT([${QMAKEBIN}]) - break - fi - done - if test "x${QMAKEBIN}" != "x"; then - break - fi - fi - done - - if test "x${QMAKEBIN}" = "x"; then - AC_MSG_RESULT([no]) - AC_MSG_ERROR([qmake for Qt4 cannot be found in ${QT4_PREFIX}/bin!]) - fi - - if test "x${QT3PRESENT}" = "xyes"; then - AC_MSG_WARN([Qt3 and Qt4 directories have been given -- only the Qt4 information will be used and only musredit will be built!]) - fi], - [if test "x${QMAKEBIN}" = "x"; then - PKG_CHECK_MODULES(QT4, QtWebKit >= $QT4MINVER QtXml >= $QT4MINVER, [QT4_FOUND=yes], - [AC_MSG_NOTICE([Qt4 (including QtWebKit and QtXml) 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] - ) - - AC_ARG_WITH([qt5], - [AS_HELP_STRING([--with-qt5],[prefix of the Qt5 installation, e.g. /usr/lib64/qt5/])], - [QT5_PREFIX=$with_qt5 - AC_MSG_CHECKING([whether qmake for Qt5 can be found at the specified location]) - for QMAKE in qmake qmake-qt5 - do - if test -x "${QT5_PREFIX}/bin/${QMAKE}"; then - QMAKEVERSIONSTRING="$(${QT5_PREFIX}/bin/${QMAKE} -v 2>&1)" - for a in $QMAKEVERSIONSTRING - do - if test "$(expr "$a" : '\(..\)')" = "5."; then - QMAKEBIN="${QT5_PREFIX}/bin/${QMAKE}" - QTEDITOR=musredit_qt5 - AC_MSG_RESULT([${QMAKEBIN}]) - break - fi - done - if test "x${QMAKEBIN}" != "x"; then - break - fi - fi - done - - if test "x${QMAKEBIN}" = "x"; then - AC_MSG_RESULT([no]) - AC_MSG_ERROR([qmake for Qt5 cannot be found in ${QT5_PREFIX}/bin!]) - fi - - if test "x${QT4PRESENT}" = "xyes"; then - AC_MSG_WARN([Qt4 and Qt5 directories have been given -- only the Qt5 information will be used and only musredit will be built!]) - fi], - [if test "x${QMAKEBIN}" = "x"; then - PKG_CHECK_MODULES(QT5, Qt5WebKit >= $QT5MINVER Qt5Xml >= $QT5MINVER, [QT5_FOUND=yes], - [AC_MSG_NOTICE([Qt5 (including Qt5WebKit 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 - 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] - ) - - if test "x${QMAKEBIN}" = "x"; then - if test "x${QT3_FOUND}" = "xno" && test "x${QT3MT_FOUND}" = "xno" && test "x${QT4_FOUND}" = "xno" && test "x${Qt5_FOUND}" = "xno"; then - AC_MSG_WARN([No suitable version of either Qt5, Qt4 or Qt3 has been found! musredit/musrgui will not be built in this stage!]) - else - # Check for qmake on the basis of the pkg-config information - QTPATH=none - - if test "x$QT5_FOUND" = "xyes"; then - QTPATH=$(pkg-config --variable=prefix Qt5WebKit) - QTEDITOR=musredit_qt5 - elif test "x$QT4_FOUND" = "xyes"; then - QTPATH=$(pkg-config --variable=prefix QtWebKit) - QTEDITOR=musredit - elif test "x$QT3_FOUND" = "xyes"; then - QTPATH=$(pkg-config --variable=prefix qt) - QTEDITOR=musrgui - elif test "x$QT3MT_FOUND" = "xyes"; then - QTPATH=$(pkg-config --variable=prefix qt-mt) - 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 - for QMAKE in qmake-qt5 qmake-qt54 qmake-qt55 - do - if test -x "${QTPATH}/bin/${QMAKE}"; then - QMAKEBIN="${QTPATH}/bin/${QMAKE}" - AC_MSG_RESULT([${QMAKEBIN}]) - break - fi - done - if test "x${QMAKEBIN}" = "x"; then - if test -x "${QTPATH}/bin/qmake"; then - QMAKEVERSIONSTRING="$(${QTPATH}/bin/qmake -v 2>&1)" - for a in $QMAKEVERSIONSTRING - do - if test "$(expr "$a" : '\(..\)')" = "5."; then - QMAKEBIN="${QTPATH}/bin/qmake" - AC_MSG_RESULT([${QMAKEBIN}]) - break - fi - done - fi - fi - elif test "x$QTEDITOR" = "xmusredit"; then - for QMAKE in qmake-qt4 qmake-qt46 qmake-qt47 qmake-qt48 - do - if test -x "${QTPATH}/bin/${QMAKE}"; then - QMAKEBIN="${QTPATH}/bin/${QMAKE}" - AC_MSG_RESULT([${QMAKEBIN}]) - break - fi - done - if test "x${QMAKEBIN}" = "x"; then - if test -x "${QTPATH}/bin/qmake"; then - QMAKEVERSIONSTRING="$(${QTPATH}/bin/qmake -v 2>&1)" - for a in $QMAKEVERSIONSTRING - do - if test "$(expr "$a" : '\(..\)')" = "4."; then - QMAKEBIN="${QTPATH}/bin/qmake" - AC_MSG_RESULT([${QMAKEBIN}]) - break - fi - done - fi - fi - elif test "x$QTEDITOR" = "xmusrgui"; then - for QMAKE in qmake-qt3 qmake-qt33 - do - if test -x "${QTPATH}/bin/${QMAKE}"; then - QMAKEBIN="${QTPATH}/bin/${QMAKE}" - AC_MSG_RESULT([${QMAKEBIN}]) - break - fi - done - if test "x${QMAKEBIN}" = "x"; then - if test -x "${QTPATH}/bin/qmake"; then - QMAKEVERSIONSTRING="$(${QTPATH}/bin/qmake -v 2>&1)" - for a in $QMAKEVERSIONSTRING - do - if test "$(expr "$a" : '\(..\)')" = "3."; then - QMAKEBIN="${QTPATH}/bin/qmake" - AC_MSG_RESULT([${QMAKEBIN}]) - break - fi - done - fi - fi - fi - if test "x${QMAKEBIN}" = "x"; then - AC_MSG_RESULT([no]) - AC_MSG_WARN([If Qt5, Qt4 or Qt3 are present but have not been detected, try using the --with-qt5, --with-qt4 or --with-qt3 options!]) - fi - fi - fi - fi -fi - -AM_CONDITIONAL([BUILD_MUSREDIT_QT5], [test "x$enable_editor" != "xno" && test "x${QMAKEBIN}" != "x" && test "x${QTEDITOR}" = "xmusredit_qt5"]) -AM_CONDITIONAL([BUILD_MUSREDIT], [test "x$enable_editor" != "xno" && test "x${QMAKEBIN}" != "x" && test "x${QTEDITOR}" = "xmusredit"]) -AM_CONDITIONAL([BUILD_MUSRGUI], [test "x$enable_editor" != "xno" && test "x${QMAKEBIN}" != "x" && test "x${QTEDITOR}" = "xmusrgui"]) - -dnl ----------------------------------------------- -dnl Set host specific compiler and linker flags -dnl ----------------------------------------------- - -case "${host_cpu}" in - x86_64) - CPUFLAGS="-m64 -fPIC -DPIC" - ;; - *) - CPUFLAGS= - ;; -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}" -LOCAL_MUD_LIB_CFLAGS="${LOCAL_LIB_CXXFLAGS} ${USER_CFLAGS}" -LOCAL_PNEXUS_LIB_CXXFLAGS="${LOCAL_LIB_CXXFLAGS}" -LOCAL_CUBA_LIB_CFLAGS="${LOCAL_LIB_CXXFLAGS} ${CUBA_BUILD_CFLAGS}" -LOCAL_BIN_LDFLAGS= -LOCAL_LIB_LDFLAGS= - -case "$host" in - *-*-cygwin) - ARCH=CYGWIN - AC_DEFINE([_WIN32GCC], [1], [Define to 1 if host system is Cygwin]) - LOCAL_BIN_CXXFLAGS="${LOCAL_BIN_CXXFLAGS}" - LOCAL_LIB_CXXFLAGS="${LOCAL_BIN_CXXFLAGS} -D_DLL" - LOCAL_PSIBIN_LIB_CXXFLAGS="${LOCAL_LIB_CXXFLAGS} -D_WIN32GCC" - LOCAL_MUD_LIB_CFLAGS="${LOCAL_LIB_CXXFLAGS} ${USER_CFLAGS}" - LOCAL_PNEXUS_LIB_CXXFLAGS="${LOCAL_LIB_CXXFLAGS}" - LOCAL_CUBA_LIB_CFLAGS="${LOCAL_LIB_CXXFLAGS} ${CUBA_BUILD_CFLAGS}" - LOCAL_BIN_LDFLAGS="${LOCAL_BIN_LDFLAGS} -Wl,--enable-auto-import -Wl,--enable-runtime-pseudo-reloc" - LOCAL_LIB_LDFLAGS="-no-undefined ${LOCAL_BIN_LDFLAGS} -Wl,--export-all-symbols" - ;; - *-*-darwin*) - ARCH=DARWIN - LOCAL_PSIBIN_LIB_CXXFLAGS="${LOCAL_LIB_CXXFLAGS} -D_Darwin_" - LOCAL_BIN_LDFLAGS="${LOCAL_BIN_LDFLAGS} -Wl,-rpath ${ROOTLIBDIR}" - ;; - *) - ARCH=OTHERUNIX - LOCAL_PSIBIN_LIB_CXXFLAGS="${LOCAL_LIB_CXXFLAGS} -D__linux__" - ;; -esac - - -AC_SUBST(LOCAL_BIN_CXXFLAGS) -AC_SUBST(LOCAL_LIB_CXXFLAGS) -AC_SUBST(LOCAL_PSIBIN_LIB_CXXFLAGS) -AC_SUBST(LOCAL_MUD_LIB_CFLAGS) -AC_SUBST(LOCAL_PNEXUS_LIB_CXXFLAGS) -AC_SUBST(LOCAL_CUBA_LIB_CFLAGS) -AC_SUBST(LOCAL_BIN_LDFLAGS) -AC_SUBST(LOCAL_LIB_LDFLAGS) - - -dnl ----------------------------------------------- -dnl Some standard checks for header files and libraries -dnl Since these checks are not further used at the moment, they are commented -dnl ----------------------------------------------- - -# Checks for header files. -#AC_HEADER_STDC -#AC_CHECK_HEADERS([stddef.h stdlib.h string.h sys/time.h unistd.h]) - -# Checks for typedefs, structures, and compiler characteristics. -#AC_HEADER_STDBOOL -#AC_C_CONST -#AC_C_INLINE -#AC_TYPE_SIZE_T -#AC_HEADER_TIME - -# Checks for library functions. -#AC_FUNC_MALLOC -#AC_FUNC_STAT -#AC_CHECK_FUNCS([floor gettimeofday memset pow sqrt strstr]) - -dnl ----------------------------------------------- -dnl Determine the installation directory for the documentation -dnl ----------------------------------------------- - -if test "x${prefix}" = "xNONE" -then - INSTALLDIR="/usr/local" -else - INSTALLDIR="${prefix}" -fi - -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 - if test -d "${INSTALLDIR}/doc" - then - DOCDIR="${INSTALLDIR}/doc/musrfit" - else - DOCDIR="${INSTALLDIR}/share/doc/musrfit" - fi -else - if test -d "${INSTALLDIR}/doc" - then - DOCDIR2="${INSTALLDIR}/doc/musrfit" - else - DOCDIR2="${INSTALLDIR}/share/doc/musrfit" - fi -fi - -AC_SUBST(DOCDIR) - -dnl ----------------------------------------------- -dnl Specify the files that are going to be created by configure -dnl ----------------------------------------------- - -AM_CONDITIONAL([IS_DARWIN], [test "${ARCH}" = "DARWIN"]) -AM_CONDITIONAL([IS_CYGWIN], [test "${ARCH}" = "CYGWIN"]) - -AM_CONDITIONAL([PNEXUS_ENABLED], [test "${PNEXUS_ENABLED}" = "1"]) -AM_CONDITIONAL([BUILD_CUBALIB], [test "${BUILD_CUBA}" = "1"]) -AM_CONDITIONAL([BUILD_BMWLIBS], [test "${BUILD_BMW_LIBS}" = "1"]) -AM_CONDITIONAL([BUILD_ASLIBS], [test "${BUILD_AS_LIBS}" = "1"]) -AM_CONDITIONAL([BUILD_BNMRLIBS], [test "${BUILD_BNMR_LIBS}" = "1"]) - -AC_CONFIG_FILES([Makefile \ - src/Makefile \ - src/classes/Makefile \ - src/classes/PMusr.pc \ - src/classes/PUserFcnBase.pc \ - src/external/Makefile \ - src/external/MusrRoot/Makefile \ - src/external/MusrRoot/TMusrRunHeader.pc \ - src/external/TLemRunHeader/Makefile \ - src/external/TLemRunHeader/TLemRunHeader.pc \ - src/external/MuSR_software/Makefile \ - src/external/MuSR_software/Class_MuSR_PSI/Makefile \ - src/external/MuSR_software/Class_MuSR_PSI/Class_MuSR_PSI.pc \ - src/external/mud/Makefile \ - src/external/mud/src/Makefile \ - src/external/mud/src/mud.pc \ - src/external/nexus/Makefile \ - src/external/nexus/PNeXus.pc \ - src/external/libCuba/Makefile \ - src/external/libCuba/src/Makefile \ - src/external/libCuba/src/cuba.pc \ - src/external/libCuba/src/cuhre/Makefile \ - src/external/libCuba/src/divonne/Makefile \ - src/external/libCuba/src/suave/Makefile \ - src/external/libCuba/src/vegas/Makefile \ - src/external/libCuba/src/common/Makefile \ - src/external/BMWtools/Makefile \ - src/external/libFitPofB/Makefile \ - src/external/libFitPofB/classes/Makefile \ - src/external/libLFRelaxation/Makefile \ - src/external/libZFRelaxation/Makefile \ - src/external/libGapIntegrals/Makefile \ - src/external/libCalcMeanFieldsLEM/Makefile \ - src/external/Nonlocal/Makefile \ - src/external/MagProximity/Makefile \ - src/external/libSpinValve/Makefile \ - src/external/libSpinValve/classes/Makefile \ - src/external/libPhotoMeissner/Makefile \ - src/external/libPhotoMeissner/classes/Makefile \ - src/external/libGbGLF/Makefile \ - src/external/libBNMR/Makefile \ - src/external/libBNMR/libLineProfile/Makefile \ - src/musredit_qt5/Makefile \ - src/musredit/Makefile \ - src/musrgui/Makefile \ - src/musrgui/musrgui_startup.xml]) - -AC_OUTPUT - -if test "x$enable_editor" != "xno" && test "x$QMAKEBIN" != "x"; then - - echo "Configuring ${QTEDITOR} ..." - - if test "x${QTEDITOR}" = "xmusredit_qt5"; then - QTEDITOR_PRO="musredit" - else - QTEDITOR_PRO=${QTEDITOR} - fi - - echo "Changing directory to src/${QTEDITOR} and calling" - echo "${QMAKEBIN} CC=${CC} CXX=${CXX} PREFIX=${INSTALLDIR} ${QTEDITOR_PRO}.pro" - cd src/${QTEDITOR} - ${QMAKEBIN} CC=${CC} CXX=${CXX} PREFIX=${INSTALLDIR} ${QTEDITOR_PRO}.pro - cd ../.. - -fi - -echo "" -echo "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++" -echo "+ +" -echo "+ Summary +" -echo "+ +" -echo "+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++" -echo "" - -echo " System:" -echo " -------" -echo "" -echo " $host" -echo "" -echo "" -echo " Requirements:" -echo " -------------" -echo "" -if test "${FFTW3_FOUND}" = "1"; then - echo " FFTW3 found in $(pkg-config --variable=prefix fftw3)" -else - echo " FFTW3 found in ${FFTW3_PREFIX}" -fi -if test "${GSL_FOUND}" = "1"; then - echo " GSL found in $(pkg-config --variable=prefix gsl)" -else - echo " GSL found in ${GSL_PREFIX}" -fi -if test "${BOOST_FOUND}" = "1"; then - echo " BOOST header files found in $(pkg-config --variable=prefix boost)" -else - echo " BOOST header files found in ${BOOST_INCLUDE}" -fi -if test "${LIBXML2_FOUND}" = "1"; then - echo " LIBXML2 found in $(pkg-config --variable=prefix libxml2)" -else - echo " LIBXML2 found in ${LIBXML2_PREFIX}" -fi -echo " ROOT found in ${ROOTLIBDIR%/lib}" -echo "" -if test "${PNEXUS_ENABLED}" -eq 1; then - echo " HDF4 found in ${HDF4_PREFIX}" - echo " HDF5 found in ${HDF5_PREFIX}" - if test "${NEXUS_FOUND}" = "1"; then - echo " NeXus found in $(pkg-config --variable=prefix nexus)" - else - echo " NeXus found in ${NEXUS_PREFIX}" - fi -else - echo " HDF4 not needed (NeXus support disabled)" - echo " HDF5 not needed (NeXus support disabled)" - echo " NeXus not needed (NeXus support disabled)" -fi -echo "" -if test "${BUILD_CUBA}" = "1"; then - echo " CUBA will be built" -elif test "${BUILD_CUBA}" != "1" && test "${BUILD_BMW_LIBS}" -eq 1; then - if test "${CUBA_FOUND}" = "1"; then - echo " CUBA found in $(pkg-config --variable=prefix cuba)" - else - echo " CUBA found in ${CUBA_PREFIX}" - fi -else - echo " CUBA not needed (BMWlibs disabled)" -fi -echo "" -if test "${enable_editor}" != "xno"; then - if test "x${QMAKEBIN}" != "x"; then - echo " Qt qmake found at ${QMAKEBIN}" - else - echo " Qt qmake not found" - fi -else - echo " Qt not needed (Qt editors disabled)" -fi -echo "" -echo "" -echo " Features:" -echo " ---------" -echo "" -echo " musrfit (including musrfit, musrview, musrt0," -echo " msr2msr, msr2data, any2many, dump_header," -echo " musrRootValidation, write_musrRoot_runHeader): yes" -echo "" -echo " Supported muSR file formats:" -echo " MusrRoot: yes" -echo " ROOT (LEM): yes" -echo " MUD: yes" -echo " PSI-BIN: yes" -echo " PSI-MDU: yes" -echo " WKM: yes" -if test "${PNEXUS_ENABLED}" -eq 1; then - echo " NeXus: yes" -else - echo " NeXus: no" -fi -echo "" -echo " External user-function libraries:" -if test "${BUILD_AS_LIBS}" -eq 1; then - echo " ASlibs: yes" -else - echo " ASlibs: no" -fi -if test "${BUILD_BNMR_LIBS}" -eq 1; then - echo " BNMRlibs: yes" -else - echo " BNMRlibs: no" -fi -if test "${BUILD_BMW_LIBS}" -eq 1; then - echo " BMWlibs: yes" -else - echo " BMWlibs: no" -fi -echo "" -echo " Qt musrfit editors:" -if test "x$enable_editor" != "xno" && test "x${QMAKEBIN}" != "x" && test "x${QTEDITOR}" = "xmusredit_qt5"; then - echo " musredit (Qt5): yes" -else - echo " musredit (Qt5): no" -fi -if test "x$enable_editor" != "xno" && test "x${QMAKEBIN}" != "x" && test "x${QTEDITOR}" = "xmusredit"; then - echo " musredit (Qt4): yes" -else - echo " musredit (Qt4): no" -fi -if test "x$enable_editor" != "xno" && test "x${QMAKEBIN}" != "x" && test "x${QTEDITOR}" = "xmusrgui"; then - echo " musrgui (Qt3): yes" -else - echo " musrgui (Qt3): no" -fi -echo "" -echo "" -echo " Installation directories:" -echo " -------------------------" -echo "" -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 diff --git a/src/Makefile.am b/src/Makefile.am deleted file mode 100644 index d7d1e071..00000000 --- a/src/Makefile.am +++ /dev/null @@ -1,74 +0,0 @@ -## Process this file with automake to create Makefile.in - -BUILT_SOURCES = git-revision.h -git-revision.h : Makefile - sh git_revision.sh ./include git-revision.h - -if PNEXUS_ENABLED - PNEXUSDIRS = external/nexus -endif - -if BUILD_MUSRGUI - EDITORDIR = musrgui -endif - -if BUILD_MUSREDIT - EDITORDIR = musredit -endif - -if BUILD_MUSREDIT_QT5 - EDITORDIR = musredit_qt5 -endif - -SUBDIRS = external/MusrRoot \ - external/TLemRunHeader \ - external/MuSR_software \ - external/mud \ - $(PNEXUSDIRS) \ - classes \ - external \ - musredit_qt5 \ - musredit \ - musrgui - -if BUILD_MUSRGUI -#SUBDIRS += $(EDITORDIR) -EXTRA_DIST = $(EDITORDIR)/Makefile -endif - -if BUILD_MUSREDIT -#SUBDIRS += $(EDITORDIR) -EXTRA_DIST = $(EDITORDIR)/Makefile -endif - -if BUILD_MUSREDIT_QT5 -EXTRA_DIST = $(EDITORDIR)/Makefile -endif - -bin_PROGRAMS = musrfit musrview musrt0 musrFT msr2msr msr2data any2many -bin_PROGRAMS += write_musrRoot_runHeader musrRootValidation -bin_PROGRAMS += dump_header - -musrfit_SOURCES = musrfit.cpp -musrview_SOURCES = musrview.cpp -musrt0_SOURCES = musrt0.cpp -musrFT_SOURCES = musrFT.cpp -msr2msr_SOURCES = msr2msr.cpp -msr2data_SOURCES = msr2data.cpp -any2many_SOURCES = any2many.cpp -write_musrRoot_runHeader_SOURCES = write_musrRoot_runHeader.cpp -musrRootValidation_SOURCES = musrRootValidation.cpp -dump_header_SOURCES = dump_header.cpp - -LIBADD = $(PMUSR_LIBS) $(MUSR_ROOT_LIBS) $(LEM_LIBS) $(PSIBIN_LIBS) $(MUD_LIBS) $(PNEXUS_LIBS) - -AM_CXXFLAGS = $(LOCAL_BIN_CXXFLAGS) -AM_LDFLAGS = $(LOCAL_BIN_LDFLAGS) -AM_CPPFLAGS = $(MUSR_ROOT_CFLAGS) $(LEM_CFLAGS) $(MUD_CFLAGS) $(PSIBIN_CFLAGS) $(PMUSR_CFLAGS) $(FFTW3_CFLAGS) $(GSL_CFLAGS) $(BOOST_CFLAGS) $(ROOT_CFLAGS) \ - $(LIBXML2_CFLAGS) -if PNEXUS_ENABLED -AM_CPPFLAGS += $(HDF5_CFLAGS) $(NEXUS_CFLAGS) $(PNEXUS_CXXFLAGS) -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) diff --git a/src/Makefile.musrfit b/src/Makefile.musrfit deleted file mode 100644 index afddd398..00000000 --- a/src/Makefile.musrfit +++ /dev/null @@ -1,149 +0,0 @@ -#--------------------------------------------------- -# Makefile -# -# Author: Andreas Suter -# e-mail: andreas.suter@psi.ch -# -# $Id$ -#--------------------------------------------------- - -#--------------------------------------------------- -# get compilation and library flags from root-config - -ROOTCFLAGS = $(shell $(ROOTSYS)/bin/root-config --cflags) -ROOTLIBS = $(shell $(ROOTSYS)/bin/root-config --libs) -ROOTGLIBS = $(shell $(ROOTSYS)/bin/root-config --glibs) - -#--------------------------------------------------- -# depending on the architecture, choose the compiler, -# linker, and the flags to use -# - -ARCH = $(shell $(ROOTSYS)/bin/root-config --arch) - -ifeq ($(ARCH),linux) -OS = LINUX -endif -ifeq ($(ARCH),linuxx8664gcc) -OS = LINUX -endif -ifeq ($(ARCH),win32gcc) -OS = WIN32GCC -endif -ifeq ($(ARCH),macosx) -OS = DARWIN -endif - -# -- Linux -ifeq ($(OS),LINUX) -CXX = g++ -CXXFLAGS = -O3 -Wall -fPIC -PMUSRPATH = ./include -MNPATH = $(ROOTSYS)/include -INCLUDES = -I$(PMUSRPATH) -I$(MNPATH) -LD = g++ -LDFLAGS = -O -INSTALLPATH = $(ROOTSYS)/bin -EXEC = musrfit musrview musrparam musrt0 msr2msr -SUFFIX = -endif - -# -- Windows/Cygwin -ifeq ($(OS),WIN32GCC) -CXX = g++ -CXXFLAGS = -O3 -Wall -PMUSRPATH = ./include -MNPATH = $(ROOTSYS)/include -BOOSTPATH = /usr/include -INCLUDES = -I$(PMUSRPATH) -I$(MNPATH) -I$(BOOSTPATH) -LD = g++ -LDFLAGS = -O -Wl,--enable-auto-import -Wl,--enable-runtime-pseudo-reloc -INSTALLPATH = $(ROOTSYS)/bin -EXEC = musrfit.exe musrview.exe musrparam.exe musrt0.exe msr2msr.exe -SUFFIX = .exe -endif - -# -- MacOSX/Darwin -ifeq ($(OS),DARWIN) -CXX = g++ -CXXFLAGS = -O3 -Wall -fPIC -PMUSRPATH = ./include -MNPATH = $(ROOTSYS)/include -BOOSTPATH = /sw/include -INCLUDES = -I$(PMUSRPATH) -I$(MNPATH) -I$(BOOSTPATH) -LD = g++ -LDFLAGS = -O -INSTALLPATH = $(ROOTSYS)/bin -EXEC = musrfit musrview musrparam musrt0 msr2msr -SUFFIX = -endif - -# the output from the root-config script: -CXXFLAGS += $(ROOTCFLAGS) -LDFLAGS += - -# the ROOT libraries (G = graphic) -LIBS = $(ROOTLIBS) -lXMLParser -GLIBS = $(ROOTGLIBS) -lXMLParser - -# PSI libs -PSILIBS = -L$(ROOTSYS)/lib -lTLemRunHeader -lPMusr -# Minuit2 lib -MNLIB = -L$(ROOTSYS)/lib -lMinuit2 -# MathMore lib -MMLIB = -L$(ROOTSYS)/lib -lMathMore - -# some definitions: headers, sources, objects,... -OBJS = -OBJS += musrfit.o musrview.o musrparam.o musrt0.o msr2msr.o - -# make the executable: -# -all: $(EXEC) - -musrfit$(SUFFIX): musrfit.o - @echo "---> Building $@ ..." - /bin/rm -f $@ - $(LD) $< -o $@ $(LDFLAGS) $(GLIBS) $(PSILIBS) $(MNLIB) $(MMLIB) - @echo "done" - -musrview$(SUFFIX): musrview.o - @echo "---> Building $@ ..." - /bin/rm -f $@ - $(LD) $< -o $@ $(LDFLAGS) $(GLIBS) $(PSILIBS) $(MNLIB) $(MMLIB) - @echo "done" - -musrt0$(SUFFIX): musrt0.o - @echo "---> Building $@ ..." - /bin/rm -f $@ - $(LD) $< -o $@ $(LDFLAGS) $(GLIBS) $(PSILIBS) $(MNLIB) $(MMLIB) - @echo "done" - -musrparam$(SUFFIX): musrparam.o - @echo "---> Building $@ ..." - /bin/rm -f $@ - $(LD) $< -o $@ $(LDFLAGS) $(GLIBS) $(PSILIBS) $(MNLIB) $(MMLIB) - @echo "done" - -msr2msr$(SUFFIX): msr2msr.o - @echo "---> Building $@ ..." - /bin/rm -f $@ - $(LD) $< -o $@ $(LDFLAGS) $(GLIBS) $(PSILIBS) $(MNLIB) $(MMLIB) - @echo "done" - -# clean up: remove all object file (and core files) -# semicolon needed to tell make there is no source -# for this target! -# -clean:; @rm -f $(OBJS) - @echo "---> removing $(OBJS)" - -# -$(OBJS): %.o: %.cpp - $(CXX) $(INCLUDES) $(CXXFLAGS) -c $< - -install: all - cp -fvp $(EXEC) $(INSTALLPATH) - cp -fvp musrfit_startup.xml $(INSTALLPATH) - cp -fvp external/scripts/msr2data $(INSTALLPATH) - chmod 755 $(INSTALLPATH)/msr2data diff --git a/src/classes/Makefile.PMusr b/src/classes/Makefile.PMusr deleted file mode 100644 index 03c0a24b..00000000 --- a/src/classes/Makefile.PMusr +++ /dev/null @@ -1,261 +0,0 @@ -#--------------------------------------------------- -# Makefile.PMusr -# -# Author: Andreas Suter -# e-mail: andreas.suter@psi.ch -# -# $Id$ -# -# Comment: If it doesn't work, try -# make --warning-undefined-variables -f Makefile.PMusr -# it might be that OSTYPE is not set properly, i.e. -# OSTYPE being a variable (set), instead of a enviornment -# variable (printenv). If so, try -# export OSTYPE=linux-gnu -# are whatever makes sense on your system. -#--------------------------------------------------- - -#--------------------------------------------------- -# get compilation and library flags from root-config - -ROOTCFLAGS = $(shell $(ROOTSYS)/bin/root-config --cflags) -ROOTLIBS = $(shell $(ROOTSYS)/bin/root-config --libs) -ROOTGLIBS = $(shell $(ROOTSYS)/bin/root-config --glibs) - -#--------------------------------------------------- -# depending on the architecture, choose the compiler, -# linker, and the flags to use -# - -ARCH = $(shell $(ROOTSYS)/bin/root-config --arch) - -ifeq ($(ARCH),linux) -OS = LINUX -endif -ifeq ($(ARCH),linuxx8664gcc) -OS = LINUX -endif -ifeq ($(ARCH),win32gcc) -OS = WIN32GCC -endif -ifeq ($(ARCH),macosx) -OS = DARWIN -endif - -# -- Linux -ifeq ($(OS),LINUX) -CXX = g++ -CXXFLAGS = -O3 -Wall -Wno-trigraphs -fPIC -PMUSRPATH = ../include -MNPATH = $(ROOTSYS)/include -GSLPATH = /usr/include/gsl -BOOSTPATH = /usr/include -FFTW3PATH = /usr/include -LEMPATH = ../external/TLemRunHeader -PSIBINPATH = ../external/MuSR_software/Class_MuSR_PSI -INCLUDES = -I$(PMUSRPATH) -I$(MNPATH) -I$(GSLPATH) -I$(BOOSTPATH) -I$(LEMPATH) -I$(PSIBINPATH) -I$(FFTW3PATH) -LD = g++ -LDFLAGS = -O -SOFLAGS = -shared -LEMLIB = libTLemRunHeader.so -SHLIB = libPMusr.so -endif - -# -- Windows/Cygwin -ifeq ($(OS),WIN32GCC) -CXX = g++ -CXXFLAGS = -O3 -Wall -Wno-trigraphs -D_DLL -PMUSRPATH = ../include -MNPATH = $(ROOTSYS)/include -GSLPATH = /usr/include/gsl -BOOSTPATH = /usr/include -FFTW3PATH = /usr/include -LEMPATH = ../external/TLemRunHeader -PSIBINPATH = ../external/MuSR_software/Class_MuSR_PSI -INCLUDES = -I$(PMUSRPATH) -I$(MNPATH) -I$(GSLPATH) -I$(BOOSTPATH) -I$(LEMPATH) -I$(PSIBINPATH) -I$(FFTW3PATH) -LD = g++ -LDFLAGS = -O -Wl,--enable-auto-import -Wl,--enable-runtime-pseudo-reloc -SOFLAGS = -shared -Wl,--export-all-symbols -LEMLIB = libTLemRunHeader.dll -SHLIB = libPMusr.dll -endif - -# -- MacOSX/Darwin -ifeq ($(OS),DARWIN) -CXX = g++ -CXXFLAGS = -O3 -Wall -Wno-trigraphs -fPIC -PMUSRPATH = ../include -MNPATH = $(ROOTSYS)/include -FINKPATH = /sw/include -GSLPATH = $(FINKPATH)/gsl -BOOSTPATH = $(FINKPATH) -FFTW3PATH = $(FINKPATH) -LEMPATH = ../external/TLemRunHeader -PSIBINPATH = ../external/MuSR_software/Class_MuSR_PSI -INCLUDES = -I$(PMUSRPATH) -I$(MNPATH) -I$(GSLPATH) -I$(BOOSTPATH) -I$(LEMPATH) -I$(PSIBINPATH) -I$(FFTW3PATH) -LD = g++ -LDFLAGS = -O -Xlinker -bind_at_load -SOFLAGS = -dynamiclib -flat_namespace -undefined suppress -Wl,-x -LEMLIB = libTLemRunHeader.dylib -SHLIB = libPMusr.dylib -endif - -# the output from the root-config script: -CXXFLAGS += $(ROOTCFLAGS) -LDFLAGS += - -# the ROOT libraries (G = graphic) -LIBS = $(ROOTLIBS) -lXMLParser -GLIBS = $(ROOTGLIBS) -lXMLParser - -# LEM run header -PSILIB = -L. -lTLemRunHeader -# Minuit2 lib -MNLIB = -L$(ROOTSYS)/lib -lMinuit2 -# GSL lib -GSLLIB = -lgslcblas -lgsl -# FFTW lib -FFTW3LIB = -lfftw3 - -ifeq ($(OS),WIN32GCC) -# Minuit2 lib -MNLIB = -L$(ROOTSYS)/lib -lMinuit2 -lMathMore -# GSL lib -GSLLIB = -L/usr/lib -lgslcblas -lgsl -# FFTW lib -FFTW3LIB = -L/usr/lib -lfftw3 -endif - -ifeq ($(OS),DARWIN) -# Minuit2 lib -MNLIB = -L$(ROOTSYS)/lib -lMinuit2 -lMathMore -# GSL lib -GSLLIB = -L/sw/lib -lgslcblas -lgsl -# FFTW lib -FFTW3LIB = -L/sw/lib -lfftw3 -endif - -# some definitions: headers (used to generate *Dict* stuff), sources, objects,... -OBJS = -OBJS += PStartupHandler.o PStartupHandlerDict.o -OBJS += PMsrHandler.o -OBJS += PRunDataHandler.o -OBJS += PFunctionHandler.o -OBJS += PFunction.o -OBJS += PRunBase.o -OBJS += PRunSingleHisto.o -OBJS += PRunAsymmetry.o -OBJS += PRunRRF.o -OBJS += PRunNonMusr.o -OBJS += PRunListCollection.o -OBJS += PTheory.o -OBJS += PFitterFcn.o -OBJS += PFitter.o -OBJS += PMusrCanvas.o PMusrCanvasDict.o -OBJS += PUserFcnBase.o PUserFcnBaseDict.o -OBJS += PFourier.o -OBJS += PMusrT0.o PMusrT0Dict.o - -LEMOBJS = -LEMOBJS += TLemStats.o TLemStatsDict.o -LEMOBJS += TLemRunHeader.o TLemRunHeaderDict.o - -EXTOBJS = -EXTOBJS += MuSR_td_PSI_bin.o - -# make the shared libs: - -all: lemlib musrlib - -lemlib: $(LEMLIB) - -musrlib: $(SHLIB) - -$(LEMLIB): $(LEMOBJS) - @echo "---> Building shared library $(LEMLIB) ..." - /bin/rm -f $(LEMLIB) - $(LD) $(SOFLAGS) $(LDFLAGS) $(LEMOBJS) -o $(LEMLIB) $(LIBS) - @echo "done" - -$(SHLIB): $(OBJS) $(EXTOBJS) - @echo "---> Building shared library $(SHLIB) ..." - /bin/rm -f $(SHLIB) - $(LD) $(SOFLAGS) $(LDFLAGS) $(OBJS) $(EXTOBJS) -o $(SHLIB) $(FFTW3LIB) $(GLIBS) $(PSILIB) $(MNLIB) $(GSLLIB) - @echo "done" - -# clean up: remove all object file (and core files) -# semicolon needed to tell make there is no source -# for this target! -# -clean:; @rm -f $(OBJS) $(EXTOBJS) $(LEMOBJS) *Dict* core* - @echo "---> removing $(OBJS) $(EXTOBJS) $(LEMOBJS)" - -# -$(OBJS): %.o: %.cpp - $(CXX) $(INCLUDES) $(CXXFLAGS) -c $< - -$(LEMOBJS): ../external/TLemRunHeader/TLemRunHeader.cxx TLemRunHeaderDict.cxx ../external/TLemRunHeader/TLemStats.cxx TLemStatsDict.cxx - $(CXX) $(INCLUDES) $(CXXFLAGS) -c $^ - -$(EXTOBJS): ../external/MuSR_software/Class_MuSR_PSI/MuSR_td_PSI_bin.cpp - $(CXX) $(INCLUDES) $(CXXFLAGS) -c $^ - -TLemRunHeaderDict.cxx: ../external/TLemRunHeader/TLemRunHeader.h ../external/TLemRunHeader/TLemRunHeaderLinkDef.h - @echo "Generating dictionary $@..." - rootcling -f $@ -c -p $^ - -TLemStatsDict.cxx: ../external/TLemRunHeader/TLemStats.h ../external/TLemRunHeader/TLemStatsLinkDef.h - @echo "Generating dictionary $@..." - rootcling -f $@ -c -p $^ - -PStartupHandlerDict.cpp: ../include/PStartupHandler.h ../include/PStartupHandlerLinkDef.h - @echo "Generating dictionary $@..." - rootcling -f $@ -c -p $^ - -PMusrCanvasDict.cpp: ../include/PMusrCanvas.h ../include/PMusrCanvasLinkDef.h - @echo "Generating dictionary $@..." - rootcling -v -f $@ -c -p $^ - -PMusrT0Dict.cpp: ../include/PMusrT0.h ../include/PMusrT0LinkDef.h - @echo "Generating dictionary $@..." - rootcling -v -f $@ -c -p $^ - -PUserFcnBaseDict.cpp: ../include/PUserFcnBase.h ../include/PUserFcnBaseLinkDef.h - @echo "Generating dictionary $@..." - rootcling -v -f $@ -c -p $^ - -install: leminstall musrinstall - -leminstall: lemlib - @echo "Installing shared lib: $(LEMLIB) ( you must be root ;-) )" -ifeq ($(OS),LINUX) - cp -pv $(LEMLIB) $(ROOTSYS)/lib - cp -pv $(LEMPATH)/*.h $(ROOTSYS)/include -endif -ifeq ($(OS),WIN32GCC) - cp -pv $(LEMLIB) $(ROOTSYS)/bin - ln -sf $(ROOTSYS)/bin/$(LEMLIB) $(ROOTSYS)/lib/$(LEMLIB) - cp -pv $(LEMPATH)/*.h $(ROOTSYS)/include -endif -ifeq ($(OS),DARWIN) - cp -pv $(LEMLIB) $(ROOTSYS)/lib - cp -pv $(LEMPATH)/*.h $(ROOTSYS)/include -endif - -musrinstall: musrlib - @echo "Installing shared lib: $(SHLIB) ( you must be root ;-) )" -ifeq ($(OS),LINUX) - cp -pv $(SHLIB) $(ROOTSYS)/lib - cp -pv $(PMUSRPATH)/*.h $(ROOTSYS)/include -endif -ifeq ($(OS),WIN32GCC) - cp -pv $(SHLIB) $(ROOTSYS)/bin - ln -sf $(ROOTSYS)/bin/$(SHLIB) $(ROOTSYS)/lib/$(SHLIB) - cp -pv $(PMUSRPATH)/*.h $(ROOTSYS)/include -endif -ifeq ($(OS),DARWIN) - cp -pv $(SHLIB) $(ROOTSYS)/lib - cp -pv $(PMUSRPATH)/*.h $(ROOTSYS)/include -endif - -cleaninstall: clean install diff --git a/src/classes/Makefile.PUserFcn b/src/classes/Makefile.PUserFcn deleted file mode 100644 index 6dd9b43d..00000000 --- a/src/classes/Makefile.PUserFcn +++ /dev/null @@ -1,99 +0,0 @@ -#--------------------------------------------------- -# Makefile.PUserFcn -# -# Author: Andreas Suter -# e-mail: andreas.suter@psi.ch -# -# $Id$ -# -#--------------------------------------------------- - -#--------------------------------------------------- -# get compilation and library flags from root-config - -ROOTCFLAGS = $(shell $(ROOTSYS)/bin/root-config --cflags) -ROOTLIBS = $(shell $(ROOTSYS)/bin/root-config --libs) -ROOTGLIBS = $(shell $(ROOTSYS)/bin/root-config --glibs) - -#--------------------------------------------------- -# depending on the architecture, choose the compiler, -# linker, and the flags to use -# - -OSTYPE = $(shell uname) - -ifeq ($(OSTYPE),Linux) -OS = LINUX -endif -ifeq ($(OSTYPE),Linux-gnu) -OS = LINUX -endif -ifeq ($(OSTYPE),darwin) -OS = DARWIN -endif - -# -- Linux -ifeq ($(OS),LINUX) -CXX = g++ -CXXFLAGS = -Wall -Wno-trigraphs -fPIC -INCLUDES = -I../include -LD = g++ -LDFLAGS = -g -SOFLAGS = -O -shared -endif - -# -- Darwin -ifeq ($(OS),DARWIN) -CXX = g++ -CXXFLAGS = -Wall -Wno-trigraphs -fPIC -INCLUDES = -I../include -LD = g++ -LDFLAGS = -g -SOFLAGS = -dynamic -endif - -# the output from the root-config script: -CXXFLAGS += $(ROOTCFLAGS) -LDFLAGS += - -# the ROOT libraries (G = graphic) -LIBS = $(ROOTLIBS) -lXMLParser -GLIBS = $(ROOTGLIBS) -lXMLParser - -# some definitions: headers (used to generate *Dict* stuff), sources, objects,... -OBJS = -OBJS += PUserFcn.o PUserFcnDict.o - -SHLIB = libPUserFcn.so - -# make the shared lib: -# -all: $(SHLIB) - -$(SHLIB): $(OBJS) - @echo "---> Building shared library $(SHLIB) ..." - /bin/rm -f $(SHLIB) - $(LD) $(OBJS) $(SOFLAGS) -o $(SHLIB) $(LIBS) - @echo "done" - -# clean up: remove all object file (and core files) -# semicolon needed to tell make there is no source -# for this target! -# -clean:; @rm -f $(OBJS) *Dict* core* - @echo "---> removing $(OBJS)" - -# -$(OBJS): %.o: %.cpp - $(CXX) $(INCLUDES) $(CXXFLAGS) -c $< - -PUserFcnDict.cpp: ../include/PUserFcn.h ../include/PUserFcnLinkDef.h - @echo "Generating dictionary $@..." - rootcling -f $@ -c -p $^ - -install: all - @echo "Installing shared lib: libPUserFcn.so ( you must be root ;-) )" -ifeq ($(OS),LINUX) - cp -pv $(SHLIB) $(ROOTSYS)/lib - cp -pv ../include/PUserFcn.h $(ROOTSYS)/include -endif diff --git a/src/classes/Makefile.am b/src/classes/Makefile.am deleted file mode 100644 index 77cb1d8f..00000000 --- a/src/classes/Makefile.am +++ /dev/null @@ -1,120 +0,0 @@ -## Process this file with automake to create Makefile.in - -h_sources = \ - ../include/PFitterFcn.h \ - ../include/PFitter.h \ - ../include/PFourier.h \ - ../include/PFourierCanvas.h \ - ../include/PFunctionGrammar.h \ - ../include/PFunction.h \ - ../include/PFunctionHandler.h \ - ../include/PMsr2Data.h \ - ../include/PMsrHandler.h \ - ../include/PMusrCanvas.h \ - ../include/PMusr.h \ - ../include/PMusrT0.h \ - ../include/PPrepFourier.h \ - ../include/PRunAsymmetry.h \ - ../include/PRunAsymmetryRRF.h \ - ../include/PRunBase.h \ - ../include/PRunDataHandler.h \ - ../include/PRunListCollection.h \ - ../include/PRunNonMusr.h \ - ../include/PRunMuMinus.h \ - ../include/PRunSingleHisto.h \ - ../include/PRunSingleHistoRRF.h \ - ../include/PStartupHandler.h \ - ../include/PTheory.h - -h_sources_userFcn = \ - ../include/PUserFcnBase.h - -h_linkdef = \ - ../include/PFourierCanvasLinkDef.h \ - ../include/PMusrCanvasLinkDef.h \ - ../include/PMusrT0LinkDef.h \ - ../include/PStartupHandlerLinkDef.h - -h_linkdef_userFcn = \ - ../include/PUserFcnBaseLinkDef.h - -dict_h_sources = \ - PFourierCanvasDict.h \ - PMusrCanvasDict.h \ - PMusrT0Dict.h \ - PStartupHandlerDict.h - -dict_h_sources_userFcn = \ - PUserFcnBaseDict.h - -cpp_sources = \ - PFitter.cpp \ - PFitterFcn.cpp \ - PFourier.cpp \ - PFourierCanvas.cpp \ - PFunction.cpp \ - PFunctionHandler.cpp \ - PMsr2Data.cpp \ - PMsrHandler.cpp \ - PMusrCanvas.cpp \ - PMusr.cpp \ - PMusrT0.cpp \ - PPrepFourier.cpp \ - PRunAsymmetry.cpp \ - PRunAsymmetryRRF.cpp \ - PRunBase.cpp \ - PRunDataHandler.cpp \ - PRunListCollection.cpp \ - PRunNonMusr.cpp \ - PRunMuMinus.cpp \ - PRunSingleHisto.cpp \ - PRunSingleHistoRRF.cpp \ - PStartupHandler.cpp \ - PTheory.cpp - -cpp_sources_userFcn = \ - PUserFcnBase.cpp - -dict_cpp_sources = \ - PFourierCanvasDict.cpp \ - PMusrCanvasDict.cpp \ - PMusrT0Dict.cpp \ - PStartupHandlerDict.cpp - -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) - -AM_CPPFLAGS = -I$(top_srcdir)/src/include $(MUSR_ROOT_CFLAGS) $(PSIBIN_CFLAGS) $(MUD_CFLAGS) $(LEM_CFLAGS) $(FFTW3_CFLAGS) $(GSL_CFLAGS) $(BOOST_CFLAGS) -I$(ROOTINCDIR) $(PNEXUS_CXXFLAGS) $(NEXUS_CFLAGS) -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 *Dict* *~ core - -%Dict.cpp %Dict.h: ../include/%.h ../include/%LinkDef.h - @ROOTCLING@ -v -f $*Dict.cpp -c -p $(AM_CPPFLAGS) $^ - -lib_LTLIBRARIES = libPUserFcnBase.la libPMusr.la - -libPUserFcnBase_la_SOURCES = $(h_sources_userFcn) $(cpp_sources_userFcn) $(dict_h_sources_userFcn) $(dict_cpp_sources_userFcn) -libPUserFcnBase_la_LIBADD = $(ROOT_LIBS) -libPUserFcnBase_la_LDFLAGS = -version-info $(MUSR_LIBRARY_VERSION) -release $(MUSR_RELEASE) $(AM_LDFLAGS) - -libPMusr_la_SOURCES = $(h_sources) $(cpp_sources) $(dict_h_sources) $(dict_cpp_sources) -libPMusr_la_LIBADD = libPUserFcnBase.la $(MUSR_ROOT_LIBS) $(LEM_LIBS) $(PSIBIN_LIBS) $(MUD_LIBS) $(PNEXUS_LIBS) $(FFTW3_LIBS) $(GSL_LIBS) $(ROOT_LIBS) -libPMusr_la_LDFLAGS = -version-info $(MUSR_LIBRARY_VERSION) -release $(MUSR_RELEASE) $(AM_LDFLAGS) - -pkgconfigdir = $(libdir)/pkgconfig -pkgconfig_DATA = PUserFcnBase.pc PMusr.pc - diff --git a/src/external/BMWtools/Makefile.am b/src/external/BMWtools/Makefile.am deleted file mode 100644 index 9fd75b8b..00000000 --- a/src/external/BMWtools/Makefile.am +++ /dev/null @@ -1,63 +0,0 @@ -## Process this file with automake to create Makefile.in - -h_sources = \ - BMWStartupHandler.h \ - TTrimSPDataHandler.h \ - BMWIntegrator.h - -h_linkdef = \ - BMWStartupHandlerLinkDef.h - -dict_h_sources = \ - BMWStartupHandlerDict.h - -cpp_sources = \ - BMWStartupHandler.cpp \ - TTrimSPDataHandler.cpp \ - BMWIntegrator.cpp - -dict_cpp_sources = \ - BMWStartupHandlerDict.cpp - -pcmdir = $(libdir) -pcm_DATA = BMWStartupHandlerDict_rdict.pcm - -include_HEADERS = $(h_sources) -noinst_HEADERS = $(h_linkdef) $(dict_h_sources) - -AM_CPPFLAGS = -I$(top_srcdir)/src/include $(LEM_CFLAGS) $(PMUSR_CFLAGS) $(CUBA_CFLAGS) -I$(ROOTINCDIR) -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 *Dict* *~ core - -%Dict.cpp %Dict.h: %.h %LinkDef.h - @ROOTCLING@ -v -f $*Dict.cpp -c -p $(INCLUDES) $^ - -lib_LTLIBRARIES = libBMWtools.la - -libBMWtools_la_SOURCES = $(h_sources) $(cpp_sources) $(dict_h_sources) $(dict_cpp_sources) -libBMWtools_la_LIBADD = $(CUBA_LIBS) $(ROOT_LIBS) -libBMWtools_la_LDFLAGS = -version-info $(PLUGIN_LIBRARY_VERSION) -release $(PLUGIN_RELEASE) $(AM_LDFLAGS) - -## For the moment do not build pkgconfig files for musrfit plug-ins... -## pkgconfigdir = $(libdir)/pkgconfig -## pkgconfig_DATA = PTFitPofB.pc - -## However, create some symbolic links to the shared library -## in order to unify the function call on different operating systems - -if IS_DARWIN -install-exec-hook: - $(LN_S) -f $(libdir)/libBMWtools.dylib $(libdir)/libBMWtools.so -uninstall-hook: - rm -f $(libdir)/libBMWtools.so -endif - -if IS_CYGWIN -install-exec-hook: - $(LN_S) -f $(bindir)/cygBMWtools-$(PLUGIN_MAJOR_VERSION)-$(PLUGIN_MINOR_VERSION)-$(PLUGIN_MAJOR_VERSION).dll $(libdir)/libBMWtools.so -uninstall-hook: - rm -f $(libdir)/libBMWtools.so -endif diff --git a/src/external/CMakeLists.txt b/src/external/CMakeLists.txt index fc7dd53c..b49e90e2 100644 --- a/src/external/CMakeLists.txt +++ b/src/external/CMakeLists.txt @@ -3,6 +3,7 @@ if (ASlibs) add_subdirectory(MagProximity) add_subdirectory(libPhotoMeissner) add_subdirectory(libSpinValve) + add_subdirectory(libGbGLF) endif (ASlibs) if (BMWlibs) diff --git a/src/external/MagProximity/Makefile.am b/src/external/MagProximity/Makefile.am deleted file mode 100644 index 23197c95..00000000 --- a/src/external/MagProximity/Makefile.am +++ /dev/null @@ -1,69 +0,0 @@ -## Process this file with automake to create Makefile.in - -h_sources = \ - PMagProximityFitter.h \ - PMPRgeHandler.h \ - PMPStartupHandler.h \ - PMagProximity.h - -h_linkdef = \ - PMagProximityFitterLinkDef.h \ - PMPStartupHandlerLinkDef.h - -dict_h_sources = \ - PMagProximityFitterDict.h \ - PMPStartupHandlerDict.h - -cpp_sources = \ - PMagProximityFitter.cpp \ - PMPRgeHandler.cpp \ - PMPStartupHandler.cpp - -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) - -AM_CPPFLAGS = -I$(top_srcdir)/src/include -I../include $(PMUSR_CFLAGS) $(FFTW3_CFLAGS) -I$(ROOTINCDIR) -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 *Dict* *~ core - -%Dict.cpp %Dict.h: %.h %LinkDef.h - @ROOTCLING@ -v -f $*Dict.cpp -c -p $(AM_CPPFLAGS) $^ - -lib_LTLIBRARIES = libPMagProximityFitter.la - -libPMagProximityFitter_la_SOURCES = $(h_sources) $(cpp_sources) $(dict_h_sources) $(dict_cpp_sources) -libPMagProximityFitter_la_LIBADD = $(USERFCN_LIBS) $(FFTW3_LIBS) $(ROOT_LIBS) -libPMagProximityFitter_la_LDFLAGS = -version-info $(PLUGIN_LIBRARY_VERSION) -release $(PLUGIN_RELEASE) $(AM_LDFLAGS) - -## For the moment do not build pkgconfig files for musrfit plug-ins... -## pkgconfigdir = $(libdir)/pkgconfig -## pkgconfig_DATA = PMagProximityFitter.pc - -## However, create some symbolic links to the shared library -## in order to unify the function call on different operating systems - -if IS_DARWIN -install-exec-hook: - $(LN_S) -f $(libdir)/libPMagProximityFitter.dylib $(libdir)/libPMagProximityFitter.so -uninstall-hook: - rm -f $(libdir)/libPMagProximityFitter.so -endif - -if IS_CYGWIN -install-exec-hook: - $(LN_S) -f $(bindir)/cygPMagProximityFitter-$(PLUGIN_MAJOR_VERSION)-$(PLUGIN_MINOR_VERSION)-$(PLUGIN_MAJOR_VERSION).dll $(libdir)/libPMagProximityFitter.so -uninstall-hook: - rm -f $(libdir)/libPMagProximityFitter.so -endif diff --git a/src/external/Makefile.am b/src/external/Makefile.am deleted file mode 100644 index c2d05957..00000000 --- a/src/external/Makefile.am +++ /dev/null @@ -1,27 +0,0 @@ - -if BUILD_ASLIBS - ASDIRS = Nonlocal \ - MagProximity \ - libSpinValve \ - libPhotoMeissner \ - libGbGLF -endif - -if BUILD_CUBALIB - CUBADIRS = libCuba -endif - -if BUILD_BMWLIBS - BMWDIRS = BMWtools \ - libFitPofB \ - libLFRelaxation \ - libZFRelaxation \ - libGapIntegrals \ - libCalcMeanFieldsLEM -endif - -if BUILD_BNMRLIBS - BNMRDIRS = libBNMR -endif - -SUBDIRS = $(ASDIRS) $(CUBADIRS) $(BMWDIRS) $(BNMRDIRS) diff --git a/src/external/MuSR_software/Class_MuSR_PSI/Makefile.am b/src/external/MuSR_software/Class_MuSR_PSI/Makefile.am deleted file mode 100644 index 1856a2be..00000000 --- a/src/external/MuSR_software/Class_MuSR_PSI/Makefile.am +++ /dev/null @@ -1,21 +0,0 @@ -## Process this file with automake to create Makefile.in - -h_sources = MuSR_td_PSI_bin.h -cpp_sources = MuSR_td_PSI_bin.cpp - -include_HEADERS = MuSR_td_PSI_bin.h - -AM_CPPFLAGS = -I. -AM_CXXFLAGS = $(LOCAL_PSIBIN_LIB_CXXFLAGS) - -AM_LDFLAGS = $(LOCAL_LIB_LDFLAGS) -CLEANFILES = *~ core - -lib_LTLIBRARIES = libClass_MuSR_PSI.la - -libClass_MuSR_PSI_la_SOURCES = $(h_sources) $(cpp_sources) -libClass_MuSR_PSI_la_LDFLAGS = $(AM_LDFLAGS) - -pkgconfigdir = $(libdir)/pkgconfig -pkgconfig_DATA = Class_MuSR_PSI.pc - diff --git a/src/external/MuSR_software/Makefile.am b/src/external/MuSR_software/Makefile.am deleted file mode 100644 index 9e7e4f47..00000000 --- a/src/external/MuSR_software/Makefile.am +++ /dev/null @@ -1,3 +0,0 @@ -## $Id$ - -SUBDIRS = Class_MuSR_PSI diff --git a/src/external/MusrRoot/Makefile.am b/src/external/MusrRoot/Makefile.am deleted file mode 100644 index 0b5dcb05..00000000 --- a/src/external/MusrRoot/Makefile.am +++ /dev/null @@ -1,42 +0,0 @@ -## Process this file with automake to create Makefile.in - -h_sources = \ - TMusrRunHeader.h - -h_linkdef = \ - TMusrRunHeaderLinkDef.h - -dict_h_sources = \ - TMusrRunHeaderDict.h - -cpp_sources = \ - TMusrRunHeader.cpp - -dict_cpp_sources = \ - TMusrRunHeaderDict.cpp - -pcmdir = $(libdir) -pcm_DATA = TMusrRunHeaderDict_rdict.pcm - -include_HEADERS = $(h_sources) -noinst_HEADERS = $(h_linkdef) $(dict_h_sources) - -AM_CPPFLAGS = -I. -I$(ROOTINCDIR) -AM_CXXFLAGS = $(LOCAL_LIB_CXXFLAGS) - -BUILT_SOURCES = $(dict_cpp_sources) $(dist_h_sources) -AM_LDFLAGS = $(LOCAL_LIB_LDFLAGS) -L@ROOTLIBDIR@ -CLEANFILES = *Dict.cpp *Dict.h *Dict* *~ core - -%Dict.cpp %Dict.h: %.h %LinkDef.h - @ROOTCLING@ -v -f $*Dict.cpp -c -p $(INCLUDES) $^ - -lib_LTLIBRARIES = libTMusrRunHeader.la - -libTMusrRunHeader_la_SOURCES = $(h_sources) $(cpp_sources) $(dict_h_sources) $(dict_cpp_sources) -libTMusrRunHeader_la_LIBADD = $(ROOT_LIBS) -libTMusrRunHeader_la_LDFLAGS = -version-info $(MUSR_ROOT_LIBRARY_VERSION) -release $(MUSR_ROOT_RELEASE) $(AM_LDFLAGS) - -pkgconfigdir = $(libdir)/pkgconfig -pkgconfig_DATA = TMusrRunHeader.pc - diff --git a/src/external/Nonlocal/Makefile.am b/src/external/Nonlocal/Makefile.am deleted file mode 100644 index 815f4e48..00000000 --- a/src/external/Nonlocal/Makefile.am +++ /dev/null @@ -1,70 +0,0 @@ -## Process this file with automake to create Makefile.in - -h_sources = \ - PNL_PippardFitter.h \ - PNL_RgeHandler.h \ - PNL_StartupHandler.h \ - PNonlocal.h - -h_linkdef = \ - PNL_PippardFitterLinkDef.h \ - PNL_StartupHandlerLinkDef.h - -dict_h_sources = \ - PNL_PippardFitterDict.h \ - PNL_StartupHandlerDict.h - -cpp_sources = \ - PNL_PippardFitter.cpp \ - PNL_RgeHandler.cpp \ - PNL_StartupHandler.cpp - -dict_cpp_sources = \ - PNL_PippardFitterDict.cpp \ - PNL_StartupHandlerDict.cpp - -pcmdir = $(libdir) -pcm_DATA = \ - PNL_PippardFitterDict_rdict.pcm \ - PNL_StartupHandlerDict_rdict.pcm - -include_HEADERS = $(h_sources) -noinst_HEADERS = $(h_linkdef) $(dict_h_sources) - -AM_CPPFLAGS = -I$(top_srcdir)/src/include -I../include $(PMUSR_CFLAGS) $(FFTW3_CFLAGS) -I$(ROOTINCDIR) -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 *Dict* *~ core - -%Dict.cpp %Dict.h: %.h %LinkDef.h - @ROOTCLING@ -v -f $*Dict.cpp -c -p $(AM_CPPFLAGS) $^ - -lib_LTLIBRARIES = libPNL_PippardFitter.la - -libPNL_PippardFitter_la_SOURCES = $(h_sources) $(cpp_sources) $(dict_h_sources) $(dict_cpp_sources) -libPNL_PippardFitter_la_LIBADD = $(USERFCN_LIBS) $(FFTW3_LIBS) $(ROOT_LIBS) -libPNL_PippardFitter_la_LDFLAGS = -version-info $(PLUGIN_LIBRARY_VERSION) -release $(PLUGIN_RELEASE) $(AM_LDFLAGS) - -## For the moment do not build pkgconfig files for musrfit plug-ins... -## pkgconfigdir = $(libdir)/pkgconfig -## pkgconfig_DATA = PNL_PippardFitter.pc - -## However, create some symbolic links to the shared library -## in order to unify the function call on different operating systems - -if IS_DARWIN -install-exec-hook: - $(LN_S) -f $(libdir)/libPNL_PippardFitter.dylib $(libdir)/libPNL_PippardFitter.so -uninstall-hook: - rm -f $(libdir)/libPNL_PippardFitter.so -endif - -if IS_CYGWIN -install-exec-hook: - $(LN_S) -f $(bindir)/cygPNL_PippardFitter-$(PLUGIN_MAJOR_VERSION)-$(PLUGIN_MINOR_VERSION)-$(PLUGIN_MAJOR_VERSION).dll $(libdir)/libPNL_PippardFitter.so -uninstall-hook: - rm -f $(libdir)/libPNL_PippardFitter.so -endif - diff --git a/src/external/TLemRunHeader/Makefile.am b/src/external/TLemRunHeader/Makefile.am deleted file mode 100644 index 782e1bea..00000000 --- a/src/external/TLemRunHeader/Makefile.am +++ /dev/null @@ -1,49 +0,0 @@ -## Process this file with automake to create Makefile.in - -h_sources = \ - TLemStats.h \ - TLemRunHeader.h - -h_linkdef = \ - TLemStatsLinkDef.h \ - TLemRunHeaderLinkDef.h - -dict_h_sources = \ - TLemStatsDict.h \ - TLemRunHeaderDict.h - -cpp_sources = \ - TLemStats.cxx \ - TLemRunHeader.cxx - -dict_cpp_sources = \ - TLemStatsDict.cxx \ - TLemRunHeaderDict.cxx - -pcmdir = $(libdir) -pcm_DATA = \ - TLemStatsDict_rdict.pcm \ - TLemRunHeaderDict_rdict.pcm - -include_HEADERS = $(h_sources) -noinst_HEADERS = $(h_linkdef) $(dict_h_sources) - -AM_CPPFLAGS = -I. -I$(ROOTINCDIR) -AM_CXXFLAGS = $(LOCAL_LIB_CXXFLAGS) - -BUILT_SOURCES = $(dict_cpp_sources) $(dist_h_sources) -AM_LDFLAGS = $(LOCAL_LIB_LDFLAGS) -L@ROOTLIBDIR@ -CLEANFILES = *Dict.cxx *Dict.h *Dict* *~ core - -%Dict.cxx %Dict.h: %.h %LinkDef.h - @ROOTCLING@ -v -f $*Dict.cxx -c -p $(INCLUDES) $^ - -lib_LTLIBRARIES = libTLemRunHeader.la - -libTLemRunHeader_la_SOURCES = $(h_sources) $(cpp_sources) $(dict_h_sources) $(dict_cpp_sources) -libTLemRunHeader_la_LIBADD = $(ROOT_LIBS) -libTLemRunHeader_la_LDFLAGS = -version-info $(LEM_LIBRARY_VERSION) -release $(LEM_RELEASE) $(AM_LDFLAGS) - -pkgconfigdir = $(libdir)/pkgconfig -pkgconfig_DATA = TLemRunHeader.pc - diff --git a/src/external/libBNMR/Makefile.am b/src/external/libBNMR/Makefile.am deleted file mode 100644 index 750017fe..00000000 --- a/src/external/libBNMR/Makefile.am +++ /dev/null @@ -1,53 +0,0 @@ -## Process this file with automake to create Makefile.in -SUBDIRS = libLineProfile - -h_sources = \ - TBNMR.h - -h_linkdef = \ - TBNMRLinkDef.h - -dict_h_sources = \ - TBNMRDict.h - -cpp_sources = \ - TBNMR.cpp - -dict_cpp_sources = \ - TBNMRDict.cpp - -include_HEADERS = $(h_sources) -noinst_HEADERS = $(h_linkdef) $(dict_h_sources) - -AM_CPPFLAGS = -I$(top_srcdir)/src/include $(PMUSR_CFLAGS) -I$(ROOTINCDIR) -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 - -%Dict.cpp %Dict.h: %.h %LinkDef.h - @ROOTCLING@ -v -f $*Dict.cpp -c -p $(AM_CPPFLAGS) $^ - -lib_LTLIBRARIES = libBNMR.la - -libBNMR_la_SOURCES = $(h_sources) $(cpp_sources) $(dict_h_sources) $(dict_cpp_sources) -libBNMR_la_LIBADD = $(ROOT_LIBS) -libBNMR_la_LDFLAGS = -version-info $(PLUGIN_LIBRARY_VERSION) -release $(PLUGIN_RELEASE) $(AM_LDFLAGS) - -## However, create some symbolic links to the shared library -## in order to unify the function call on different operating systems - -if IS_DARWIN -install-exec-hook: - $(LN_S) -f $(libdir)/libBNMR.dylib $(libdir)/libBNMR.so -uninstall-hook: - rm -f $(libdir)/libBNMR.so -endif - -if IS_CYGWIN -install-exec-hook: - $(LN_S) -f $(bindir)/cygBNMR-$(PLUGIN_MAJOR_VERSION)-$(PLUGIN_MINOR_VERSION)-$(PLUGIN_MAJOR_VERSION).dll $(libdir)/libBNMR.so -uninstall-hook: - rm -f $(libdir)/libBNMR.so -endif diff --git a/src/external/libBNMR/Makefile.libBNMR b/src/external/libBNMR/Makefile.libBNMR deleted file mode 100644 index d0fecfc6..00000000 --- a/src/external/libBNMR/Makefile.libBNMR +++ /dev/null @@ -1,60 +0,0 @@ -#--------------------------------------------------- -# get compilation flags from root-config - -ROOTCFLAGS = $(shell $(ROOTSYS)/bin/root-config --cflags) - -#--------------------------------------------------- - -OS = LINUX -CXX = g++ -CXXFLAGS = -O3 -Wall -Wno-trigraphs -fPIC -LOCALINCLUDE = . -ROOTINCLUDE = $(ROOTSYS)/include -INCLUDES = -I$(LOCALINCLUDE) -I$(ROOTINCLUDE) -LD = g++ -LDFLAGS = -SOFLAGS = -O -shared - -# the output from the root-config script: -CXXFLAGS += $(ROOTCFLAGS) -LDFLAGS += - -# some definitions: headers (used to generate *Dict* stuff), sources, objects,... -OBJS = -OBJS += TBNMR.o TlibBNMRDict.o - -SHLIB = libBNMR.so - -# make the shared lib: -# -all: $(SHLIB) - -$(SHLIB): $(OBJS) - @echo "---> Building shared library $(SHLIB) ..." - /bin/rm -f $(SHLIB) - $(LD) $(OBJS) $(SOFLAGS) -o $(SHLIB) - @echo "done" - -# clean up: remove all object file (and core files) -# semicolon needed to tell make there is no source -# for this target! -# -clean:; @rm -f $(OBJS) *Dict* core* - @echo "---> removing $(OBJS)" - -# -$(OBJS): %.o: %.cpp - $(CXX) $(INCLUDES) $(CXXFLAGS) -c $< - -# Generate the ROOT CLING dictionary - -TlibBNMRDict.cpp: TBNMR.h TBNMRLinkDef.h - @echo "Generating dictionary $@..." - rootcling -f $@ -c -p -I$(ROOTINCLUDE) $^ - -install: all - @echo "Installing shared lib: libTApproximation.so" -ifeq ($(OS),LINUX) - cp -pv $(SHLIB) $(ROOTSYS)/lib - cp -pv $(LOCALINCLUDE)/*.h $(ROOTSYS)/include -endif diff --git a/src/external/libBNMR/libLineProfile/Makefile.am b/src/external/libBNMR/libLineProfile/Makefile.am deleted file mode 100644 index 03874921..00000000 --- a/src/external/libBNMR/libLineProfile/Makefile.am +++ /dev/null @@ -1,52 +0,0 @@ -## Process this file with automake to create Makefile.in - -h_sources = \ - LineProfile.h - -h_linkdef = \ - LineProfile.h - -dict_h_sources = \ - LineProfileDict.h - -cpp_sources = \ - LineProfile.cpp - -dict_cpp_sources = \ - LineProfileDict.cpp - -include_HEADERS = $(h_sources) -noinst_HEADERS = $(h_linkdef) $(dict_h_sources) - -AM_CPPFLAGS = -I$(top_srcdir)/src/include $(PMUSR_CFLAGS) -I$(ROOTINCDIR) -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 - -%Dict.cpp %Dict.h: %.h %LinkDef.h - @ROOTCLING@ -v -f $*Dict.cpp -c -p $(AM_CPPFLAGS) $^ - -lib_LTLIBRARIES = libLineProfile.la - -libLineProfile_la_SOURCES = $(h_sources) $(cpp_sources) $(dict_h_sources) $(dict_cpp_sources) -libLineProfile_la_LIBADD = $(ROOT_LIBS) -libLineProfile_la_LDFLAGS = -version-info $(PLUGIN_LIBRARY_VERSION) -release $(PLUGIN_RELEASE) $(AM_LDFLAGS) - -## However, create some symbolic links to the shared library -## in order to unify the function call on different operating systems - -if IS_DARWIN -install-exec-hook: - $(LN_S) -f $(libdir)/libLineProfile.dylib $(libdir)/libLineProfile.so -uninstall-hook: - rm -f $(libdir)/libLineProfile.so -endif - -if IS_CYGWIN -install-exec-hook: - $(LN_S) -f $(bindir)/cygLineProfile-$(PLUGIN_MAJOR_VERSION)-$(PLUGIN_MINOR_VERSION)-$(PLUGIN_MAJOR_VERSION).dll $(libdir)/libLineProfile.so -uninstall-hook: - rm -f $(libdir)/libLineProfile.so -endif diff --git a/src/external/libBNMR/libLineProfile/Makefile.libLineProfile b/src/external/libBNMR/libLineProfile/Makefile.libLineProfile deleted file mode 100644 index 00bcc296..00000000 --- a/src/external/libBNMR/libLineProfile/Makefile.libLineProfile +++ /dev/null @@ -1,66 +0,0 @@ -#--------------------------------------------------- -# get compilation flags from root-config - -ROOTCFLAGS = $(shell $(ROOTSYS)/bin/root-config --cflags) - -#--------------------------------------------------- - -OS = LINUX -CXX = g++ -CXXFLAGS = -O3 -Wall -Wno-trigraphs -fPIC -LOCALINCLUDE = . -ROOTINCLUDE = $(ROOTSYS)/include -INCLUDES = -I$(LOCALINCLUDE) -I$(ROOTINCLUDE) -LD = g++ -LDFLAGS = -SOFLAGS = -O -shared - -# the output from the root-config script: -CXXFLAGS += $(ROOTCFLAGS) -LDFLAGS += - -# some definitions: headers (used to generate *Dict* stuff), sources, objects,... -OBJS = -OBJS += LineProfile.o LineProfileDict.o - -SHLIB = libLineProfile.so - -# make the shared lib: -# -all: $(SHLIB) - -$(SHLIB): $(OBJS) - @echo "---> Building shared library $(SHLIB) ..." - /bin/rm -f $(SHLIB) - $(LD) $(OBJS) $(SOFLAGS) -o $(SHLIB) - @echo "done" - -# clean up: remove all object file (and core files) -# semicolon needed to tell make there is no source -# for this target! -# -clean:; @rm -f $(OBJS) *Dict* core* - @echo "---> removing $(OBJS)" - -# -$(OBJS): %.o: %.cpp - $(CXX) $(INCLUDES) $(CXXFLAGS) -c $< - -# Generate the ROOT CINT dictionary - -LineProfileDict.cpp: LineProfile.h LineProfileLinkDef.h - @echo "Generating dictionary $@..." - rootcint -f $@ -c -p -I$(ROOTINCLUDE) $^ - -install: all - @echo "Installing shared lib: libLineProfile.so" -ifeq ($(OS),LINUX) - cp -pv $(SHLIB) $(ROOTSYS)/lib -endif - -uninstall:; -ifeq ($(OS),LINUX) - rm $(ROOTSYS)/lib/$(SHLIB) -endif - @echo "Installing shared lib: libLineProfile.so" - diff --git a/src/external/libCalcMeanFieldsLEM/Makefile.am b/src/external/libCalcMeanFieldsLEM/Makefile.am deleted file mode 100644 index 032aa1eb..00000000 --- a/src/external/libCalcMeanFieldsLEM/Makefile.am +++ /dev/null @@ -1,59 +0,0 @@ -## Process this file with automake to create Makefile.in - -h_sources = \ - TCalcMeanFieldsLEM.h - -h_linkdef = \ - TCalcMeanFieldsLEMLinkDef.h - -dict_h_sources = \ - TCalcMeanFieldsLEMDict.h - -cpp_sources = \ - TCalcMeanFieldsLEM.cpp - -dict_cpp_sources = \ - TCalcMeanFieldsLEMDict.cpp - -pcmdir = $(libdir) -pcm_DATA = TCalcMeanFieldsLEMDict_rdict.pcm - -include_HEADERS = $(h_sources) -noinst_HEADERS = $(h_linkdef) $(dict_h_sources) - -AM_CPPFLAGS = -I$(top_srcdir)/src/include $(BMWTOOLS_CFLAGS) $(FITPOFB_CFLAGS) $(PMUSR_CFLAGS) -I$(ROOTINCDIR) $(FFTW3_CFLAGS) -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 *Dict* *~ core - -%Dict.cpp %Dict.h: %.h %LinkDef.h - @ROOTCLING@ -v -f $*Dict.cpp -c -p $(AM_CPPFLAGS) $^ - -lib_LTLIBRARIES = libCalcMeanFieldsLEM.la - -libCalcMeanFieldsLEM_la_SOURCES = $(h_sources) $(cpp_sources) $(dict_h_sources) $(dict_cpp_sources) -libCalcMeanFieldsLEM_la_LIBADD = $(BMWTOOLS_LIBS) $(FITPOFB_LIBS) $(USERFCN_LIBS) $(ROOT_LIBS) -libCalcMeanFieldsLEM_la_LDFLAGS = -version-info $(PLUGIN_LIBRARY_VERSION) -release $(PLUGIN_RELEASE) $(AM_LDFLAGS) - -## For the moment do not build pkgconfig files for musrfit plug-ins... -## pkgconfigdir = $(libdir)/pkgconfig -## pkgconfig_DATA = CalcMeanFieldsLEM.pc - -## However, create some symbolic links to the shared library -## in order to unify the function call on different operating systems - -if IS_DARWIN -install-exec-hook: - $(LN_S) -f $(libdir)/libCalcMeanFieldsLEM.dylib $(libdir)/libCalcMeanFieldsLEM.so -uninstall-hook: - rm -f $(libdir)/libCalcMeanFieldsLEM.so -endif - -if IS_CYGWIN -install-exec-hook: - $(LN_S) -f $(bindir)/cygCalcMeanFieldsLEM-$(PLUGIN_MAJOR_VERSION)-$(PLUGIN_MINOR_VERSION)-$(PLUGIN_MAJOR_VERSION).dll $(libdir)/libCalcMeanFieldsLEM.so -uninstall-hook: - rm -f $(libdir)/libCalcMeanFieldsLEM.so -endif diff --git a/src/external/libCuba/Makefile.am b/src/external/libCuba/Makefile.am deleted file mode 100644 index af437a64..00000000 --- a/src/external/libCuba/Makefile.am +++ /dev/null @@ -1 +0,0 @@ -SUBDIRS = src diff --git a/src/external/libCuba/src/Makefile.am b/src/external/libCuba/src/Makefile.am deleted file mode 100644 index 9771bde9..00000000 --- a/src/external/libCuba/src/Makefile.am +++ /dev/null @@ -1,19 +0,0 @@ -## Process this file with automake to create Makefile.in - -SUBDIRS = cuhre divonne suave vegas common - -include_HEADERS = cuba.h - -AM_LDFLAGS = $(LOCAL_LIB_LDFLAGS) -CLEANFILES = common/*~ cuhre/*~ divonne/*~ suave/*~ vegas/*~ *~ core - -lib_LTLIBRARIES = libcuba.la - -libcuba_la_SOURCES = - -libcuba_la_LIBADD = common/libcommon.la cuhre/libcuhre.la divonne/libdivonne.la suave/libsuave.la vegas/libvegas.la -lm -libcuba_la_LDFLAGS = -version-info $(CUBA_LIBRARY_VERSION) -release $(CUBA_RELEASE) $(AM_LDFLAGS) - -pkgconfigdir = $(libdir)/pkgconfig -pkgconfig_DATA = cuba.pc - diff --git a/src/external/libCuba/src/common/Makefile.am b/src/external/libCuba/src/common/Makefile.am deleted file mode 100644 index d7f70508..00000000 --- a/src/external/libCuba/src/common/Makefile.am +++ /dev/null @@ -1,14 +0,0 @@ -## Process this file with automake to create Makefile.in - -c_sources = \ - Global.c \ - Data.c - -AM_CPPFLAGS = -I. -I.. -I../common -DNOUNDERSCORE -AM_CFLAGS = $(LOCAL_CUBA_LIB_CFLAGS) -AM_LDFLAGS = $(LOCAL_LIB_LDFLAGS) - -noinst_LTLIBRARIES = libcommon.la - -libcommon_la_SOURCES = $(c_sources) -libcommon_la_LDFLAGS = $(AM_LDFLAGS) diff --git a/src/external/libCuba/src/cuhre/Makefile.am b/src/external/libCuba/src/cuhre/Makefile.am deleted file mode 100644 index 820b8f64..00000000 --- a/src/external/libCuba/src/cuhre/Makefile.am +++ /dev/null @@ -1,12 +0,0 @@ -## Process this file with automake to create Makefile.in - -c_sources = Cuhre.c - -AM_CPPFLAGS = -I. -I.. -I../common -DNOUNDERSCORE -AM_CFLAGS = $(LOCAL_CUBA_LIB_CFLAGS) "-Dcubafun_=libCuhrecubafun_" -AM_LDFLAGS = $(LOCAL_LIB_LDFLAGS) - -noinst_LTLIBRARIES = libcuhre.la - -libcuhre_la_SOURCES = $(c_sources) -libcuhre_la_LDFLAGS = $(AM_LDFLAGS) diff --git a/src/external/libCuba/src/divonne/Makefile.am b/src/external/libCuba/src/divonne/Makefile.am deleted file mode 100644 index a86cd97c..00000000 --- a/src/external/libCuba/src/divonne/Makefile.am +++ /dev/null @@ -1,12 +0,0 @@ -## Process this file with automake to create Makefile.in - -c_sources = Divonne.c - -AM_CPPFLAGS = -I. -I.. -I../common -DNOUNDERSCORE -AM_CFLAGS = $(LOCAL_CUBA_LIB_CFLAGS) "-Dcubafun_=libDivonnecubafun_" -AM_LDFLAGS = $(LOCAL_LIB_LDFLAGS) - -noinst_LTLIBRARIES = libdivonne.la - -libdivonne_la_SOURCES = $(c_sources) -libdivonne_la_LDFLAGS = $(AM_LDFLAGS) diff --git a/src/external/libCuba/src/suave/Makefile.am b/src/external/libCuba/src/suave/Makefile.am deleted file mode 100644 index 47b77135..00000000 --- a/src/external/libCuba/src/suave/Makefile.am +++ /dev/null @@ -1,12 +0,0 @@ -## Process this file with automake to create Makefile.in - -c_sources = Suave.c - -AM_CPPFLAGS = -I. -I.. -I../common -DNOUNDERSCORE -AM_CFLAGS = $(LOCAL_CUBA_LIB_CFLAGS) "-Dcubafun_=libSuavecubafun_" -AM_LDFLAGS = $(LOCAL_LIB_LDFLAGS) - -noinst_LTLIBRARIES = libsuave.la - -libsuave_la_SOURCES = $(c_sources) -libsuave_la_LDFLAGS = $(AM_LDFLAGS) diff --git a/src/external/libCuba/src/vegas/Makefile.am b/src/external/libCuba/src/vegas/Makefile.am deleted file mode 100644 index e67499cd..00000000 --- a/src/external/libCuba/src/vegas/Makefile.am +++ /dev/null @@ -1,12 +0,0 @@ -## Process this file with automake to create Makefile.in - -c_sources = Vegas.c - -AM_CPPFLAGS = -I. -I.. -I../common -DNOUNDERSCORE -AM_CFLAGS = $(LOCAL_CUBA_LIB_CFLAGS) "-Dcubafun_=libVegascubafun_" -AM_LDFLAGS = $(LOCAL_LIB_LDFLAGS) - -noinst_LTLIBRARIES = libvegas.la - -libvegas_la_SOURCES = $(c_sources) -libvegas_la_LDFLAGS = $(AM_LDFLAGS) diff --git a/src/external/libFitPofB/Makefile.am b/src/external/libFitPofB/Makefile.am deleted file mode 100644 index be500d10..00000000 --- a/src/external/libFitPofB/Makefile.am +++ /dev/null @@ -1 +0,0 @@ -SUBDIRS = classes diff --git a/src/external/libFitPofB/classes/Makefile.am b/src/external/libFitPofB/classes/Makefile.am deleted file mode 100644 index 0726d0d0..00000000 --- a/src/external/libFitPofB/classes/Makefile.am +++ /dev/null @@ -1,80 +0,0 @@ -## Process this file with automake to create Makefile.in - -h_sources = \ - ../include/TBofZCalc.h \ - ../include/TBulkTriVortexFieldCalc.h \ - ../include/TLondon1D.h \ - ../include/TPofBCalc.h \ - ../include/TPofTCalc.h \ - ../include/TSkewedGss.h \ - ../include/TVortex.h - -h_linkdef = \ - ../include/TLondon1DLinkDef.h \ - ../include/TVortexLinkDef.h \ - ../include/TSkewedGssLinkDef.h - -dict_h_sources = \ - TLondon1DDict.h \ - TSkewedGssDict.h \ - TVortexDict.h - -cpp_sources = \ - TBulkTriVortexFieldCalc.cpp \ - TBofZCalc.cpp \ - TLondon1D.cpp \ - TPofBCalc.cpp \ - TPofTCalc.cpp \ - TSkewedGss.cpp \ - TVortex.cpp - -dict_cpp_sources = \ - TLondon1DDict.cpp \ - TSkewedGssDict.cpp \ - TVortexDict.cpp - -pcmdir = $(libdir) -pcm_DATA = \ - TLondon1DDict_rdict.pcm \ - TSkewedGssDict_rdict.pcm \ - TVortexDict_rdict.pcm - -include_HEADERS = $(h_sources) -noinst_HEADERS = $(h_linkdef) $(dict_h_sources) - -AM_CPPFLAGS = -I$(top_srcdir)/src/include -I../include $(BMWTOOLS_CFLAGS) $(LEM_CFLAGS) $(PMUSR_CFLAGS) $(FFTW3_CFLAGS) -I$(ROOTINCDIR) -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 *Dict* *~ ../include/*~ core - -%Dict.cpp %Dict.h: ../include/%.h ../include/%LinkDef.h - @ROOTCLING@ -v -f $*Dict.cpp -c -p $(AM_CPPFLAGS) $^ - -lib_LTLIBRARIES = libFitPofB.la - -libFitPofB_la_SOURCES = $(h_sources) $(cpp_sources) $(dict_h_sources) $(dict_cpp_sources) -libFitPofB_la_LIBADD = $(BMWTOOLS_LIBS) $(LEM_LIBS) $(USERFCN_LIBS) $(FFTW3_LIBS) $(ROOT_LIBS) -libFitPofB_la_LDFLAGS = -version-info $(PLUGIN_LIBRARY_VERSION) -release $(PLUGIN_RELEASE) $(AM_LDFLAGS) - -## For the moment do not build pkgconfig files for musrfit plug-ins... -## pkgconfigdir = $(libdir)/pkgconfig -## pkgconfig_DATA = PTFitPofB.pc - -## However, create some symbolic links to the shared library -## in order to unify the function call on different operating systems - -if IS_DARWIN -install-exec-hook: - $(LN_S) -f $(libdir)/libFitPofB.dylib $(libdir)/libFitPofB.so -uninstall-hook: - rm -f $(libdir)/libFitPofB.so -endif - -if IS_CYGWIN -install-exec-hook: - $(LN_S) -f $(bindir)/cygFitPofB-$(PLUGIN_MAJOR_VERSION)-$(PLUGIN_MINOR_VERSION)-$(PLUGIN_MAJOR_VERSION).dll $(libdir)/libFitPofB.so -uninstall-hook: - rm -f $(libdir)/libFitPofB.so -endif diff --git a/src/external/libGapIntegrals/INSTALL b/src/external/libGapIntegrals/INSTALL index 427a963e..d00431a5 100644 --- a/src/external/libGapIntegrals/INSTALL +++ b/src/external/libGapIntegrals/INSTALL @@ -4,7 +4,7 @@ Installation of the musrfit-plugin "libGapIntegrals" -* Configure musrfit with the option --enable-BMWlibs and the plugin will be built. +* Configure musrfit with the option -DBMWlibs=1 and the plugin will be built. * The plugin classes can be accessed inside THEORY blocks of musrfit msr files via: diff --git a/src/external/libGapIntegrals/Makefile.am b/src/external/libGapIntegrals/Makefile.am deleted file mode 100644 index 7edbd1c3..00000000 --- a/src/external/libGapIntegrals/Makefile.am +++ /dev/null @@ -1,59 +0,0 @@ -## Process this file with automake to create Makefile.in - -h_sources = \ - TGapIntegrals.h - -h_linkdef = \ - TGapIntegralsLinkDef.h - -dict_h_sources = \ - TGapIntegralsDict.h - -cpp_sources = \ - TGapIntegrals.cpp - -dict_cpp_sources = \ - TGapIntegralsDict.cpp - -pcmdir = $(libdir) -pcm_DATA = TGapIntegralsDict_rdict.pcm - -include_HEADERS = $(h_sources) -noinst_HEADERS = $(h_linkdef) $(dict_h_sources) - -AM_CPPFLAGS = -I$(top_srcdir)/src/include $(BMWTOOLS_CFLAGS) $(PMUSR_CFLAGS) $(GSL_CFLAGS) -I$(ROOTINCDIR) $(CUBA_CFLAGS) -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 *Dict* *~ core - -%Dict.cpp %Dict.h: %.h %LinkDef.h - @ROOTCLING@ -v -f $*Dict.cpp -c -p $(AM_CPPFLAGS) $^ - -lib_LTLIBRARIES = libGapIntegrals.la - -libGapIntegrals_la_SOURCES = $(h_sources) $(cpp_sources) $(dict_h_sources) $(dict_cpp_sources) -libGapIntegrals_la_LIBADD = $(BMWTOOLS_LIBS) $(USERFCN_LIBS) $(GSL_LIBS) $(ROOT_LIBS) $(CUBA_LIBS) -libGapIntegrals_la_LDFLAGS = -version-info $(PLUGIN_LIBRARY_VERSION) -release $(PLUGIN_RELEASE) $(AM_LDFLAGS) - -## For the moment do not build pkgconfig files for musrfit plug-ins... -## pkgconfigdir = $(libdir)/pkgconfig -## pkgconfig_DATA = GapIntegrals.pc - -## However, create some symbolic links to the shared library -## in order to unify the function call on different operating systems - -if IS_DARWIN -install-exec-hook: - $(LN_S) -f $(libdir)/libGapIntegrals.dylib $(libdir)/libGapIntegrals.so -uninstall-hook: - rm -f $(libdir)/libGapIntegrals.so -endif - -if IS_CYGWIN -install-exec-hook: - $(LN_S) -f $(bindir)/cygGapIntegrals-$(PLUGIN_MAJOR_VERSION)-$(PLUGIN_MINOR_VERSION)-$(PLUGIN_MAJOR_VERSION).dll $(libdir)/libGapIntegrals.so -uninstall-hook: - rm -f $(libdir)/libGapIntegrals.so -endif diff --git a/src/external/libGbGLF/CMakeLists.txt b/src/external/libGbGLF/CMakeLists.txt new file mode 100644 index 00000000..8b0b0eaf --- /dev/null +++ b/src/external/libGbGLF/CMakeLists.txt @@ -0,0 +1,64 @@ +# GbGLF library --------------------------------------------------------------- + +#--- generate necessary dictionaries ------------------------------------------ +set(MUSRFIT_INC ${CMAKE_SOURCE_DIR}/src/include) +set(GBGLF_INC ${CMAKE_SOURCE_DIR}/src/external/libGbGLF) +set(PREFIX_INC ${CMAKE_INSTALL_PREFIX}/include) + +root_generate_dictionary( + PGbGLFDict + -I${GBGLF_INC} + -I${CMAKE_CURRENT_SOURCE_DIR} + -I${PREFIX_INC} + PGbGLF.h + LINKDEF PGbGLFLinkDef.h + OPTIONS -inlineInputHeader + MODULE PGbGLF +) + +#--- create pkg-config info --------------------------------------------------- +set(PGBGLF_VERSION "1.0.0") +# nothing more for now + +#--- lib creation ------------------------------------------------------------- +add_library(PGbGLF SHARED + PGbGLF.cpp + PGbGLFDict.cxx +) +#--- make sure that the include directory is found ---------------------------- +target_include_directories( + PGbGLF BEFORE PRIVATE + $ + $ + $ +) + +#--- set target properties, e.g. version -------------------------------------- +set_target_properties(PGbGLF + PROPERTIES + VERSION ${PGBGLF_VERSION} +) + +#--- add library dependencies ------------------------------------------------- +target_link_libraries(PGbGLF ${FFTW3_LIBRARY} ${ROOT_LIBRARIES} PUserFcnBase) + +#--- install PGbGLF solib ----------------------------------------------------- +install(TARGETS PGbGLF DESTINATION lib) + +#--- install root pcm's and rootmaps ------------------------------------------ +install( + FILES ${CMAKE_CURRENT_BINARY_DIR}/libPGbGLF_rdict.pcm + ${CMAKE_CURRENT_BINARY_DIR}/libPGbGLF.rootmap + DESTINATION lib +) + +#--- install PGbGLF header ---------------------------------------------------- +install( + FILES + PGbGLF.h + DESTINATION + include +) + +#--- install pkg-config info -------------------------------------------------- +# nothing here for now diff --git a/src/external/libGbGLF/Makefile.am b/src/external/libGbGLF/Makefile.am deleted file mode 100644 index 61c9d2bc..00000000 --- a/src/external/libGbGLF/Makefile.am +++ /dev/null @@ -1,56 +0,0 @@ -## Process this file with automake to create Makefile.in - -h_sources = \ - PGbGLF.h - -h_linkdef = \ - PGbGLFLinkDef.h - -dict_h_sources = \ - PGbGLFDict.h - -cpp_sources = \ - PGbGLF.cpp - -dict_cpp_sources = \ - PGbGLFDict.cpp - -include_HEADERS = $(h_sources) -noinst_HEADERS = $(h_linkdef) $(dict_h_sources) - -AM_CPPFLAGS = -I$(top_srcdir)/src/include $(PMUSR_CFLAGS) $(FFTW3_CFLAGS) -I$(ROOTINCDIR) -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 - -%Dict.cpp %Dict.h: %.h %LinkDef.h - @ROOTCLING@ -v -f $*Dict.cpp -c -p $(AM_CPPFLAGS) $^ - -lib_LTLIBRARIES = libGbGLF.la - -libGbGLF_la_SOURCES = $(h_sources) $(cpp_sources) $(dict_h_sources) $(dict_cpp_sources) -libGbGLF_la_LIBADD = $(USERFCN_LIBS) -libGbGLF_la_LDFLAGS = -version-info $(PLUGIN_LIBRARY_VERSION) -release $(PLUGIN_RELEASE) $(AM_LDFLAGS) - -## For the moment do not build pkgconfig files for musrfit plug-ins... -## pkgconfigdir = $(libdir)/pkgconfig -## pkgconfig_DATA = LFRelaxation.pc - -## However, create some symbolic links to the shared library -## in order to unify the function call on different operating systems - -if IS_DARWIN -install-exec-hook: - $(LN_S) -f $(libdir)/libGbGLF.dylib $(libdir)/libGbGLF.so -uninstall-hook: - rm -f $(libdir)/libGbGLF.so -endif - -if IS_CYGWIN -install-exec-hook: - $(LN_S) -f $(bindir)/cygGbGLF-$(PLUGIN_MAJOR_VERSION)-$(PLUGIN_MINOR_VERSION)-$(PLUGIN_MAJOR_VERSION).dll $(libdir)/libGbGLF.so -uninstall-hook: - rm -f $(libdir)/libGbGLF.so -endif diff --git a/src/external/libGbGLF/doc/GbG-LF.pdf b/src/external/libGbGLF/doc/GbG-LF.pdf index f7493f5c18b128e0998b7caa54b2773d63d451f7..19fe32c88acc8335c88148bfab0746fc9e3e68cc 100644 GIT binary patch delta 159891 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ð_jkN_-)NKhalZ4NOyNg2uKM$bcf&S6YulB|NlAP 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 T2h0Yb$q!INz@ctL9P$Vk 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 delta 89381 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 diff --git a/src/external/libGbGLF/doc/GbG-LF.tex b/src/external/libGbGLF/doc/GbG-LF.tex index 96cf3370..0161a4be 100644 --- a/src/external/libGbGLF/doc/GbG-LF.tex +++ b/src/external/libGbGLF/doc/GbG-LF.tex @@ -89,7 +89,7 @@ The Gauss-Kubo-Toyabe LF polarization function is \noindent In Ref.\cite{yaouanc2011} a slightly different notation is used: $\sigma \to \Delta_{\rm G}$, $\sigma_0 \to \Delta_{0}$, and $\sigma_1 \to \Delta_{\rm GbG}$. -\noindent The GbG LF polarizatio function is given by +\noindent The GbG LF polarization function is given by \begin{equation} P_{Z,{\rm GbG}}^{\rm LF} = \int_0^\infty d\sigma \left\{ \varrho \cdot P_{Z,{\rm GKT}}^{\rm LF} \right\}. diff --git a/src/external/libLFRelaxation/Makefile.am b/src/external/libLFRelaxation/Makefile.am deleted file mode 100644 index 3b6ca9f3..00000000 --- a/src/external/libLFRelaxation/Makefile.am +++ /dev/null @@ -1,59 +0,0 @@ -## Process this file with automake to create Makefile.in - -h_sources = \ - TLFRelaxation.h - -h_linkdef = \ - TLFRelaxationLinkDef.h - -dict_h_sources = \ - TLFRelaxationDict.h - -cpp_sources = \ - TLFRelaxation.cpp - -dict_cpp_sources = \ - TLFRelaxationDict.cpp - -pcmdir = $(libdir) -pcm_DATA = TLFRelaxationDict_rdict.pcm - -include_HEADERS = $(h_sources) -noinst_HEADERS = $(h_linkdef) $(dict_h_sources) - -AM_CPPFLAGS = -I$(top_srcdir)/src/include $(BMWTOOLS_CFLAGS) $(PMUSR_CFLAGS) $(FFTW3_CFLAGS) $(GSL_CFLAGS) -I$(ROOTINCDIR) $(CUBA_CFLAGS) -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 *Dict* *~ core - -%Dict.cpp %Dict.h: %.h %LinkDef.h - @ROOTCLING@ -v -f $*Dict.cpp -c -p $(AM_CPPFLAGS) $^ - -lib_LTLIBRARIES = libLFRelaxation.la - -libLFRelaxation_la_SOURCES = $(h_sources) $(cpp_sources) $(dict_h_sources) $(dict_cpp_sources) -libLFRelaxation_la_LIBADD = $(BMWTOOLS_LIBS) $(USERFCN_LIBS) $(FFTW3_LIBS) $(GSL_LIBS) $(ROOT_LIBS) $(CUBA_LIBS) -libLFRelaxation_la_LDFLAGS = -version-info $(PLUGIN_LIBRARY_VERSION) -release $(PLUGIN_RELEASE) $(AM_LDFLAGS) - -## For the moment do not build pkgconfig files for musrfit plug-ins... -## pkgconfigdir = $(libdir)/pkgconfig -## pkgconfig_DATA = LFRelaxation.pc - -## However, create some symbolic links to the shared library -## in order to unify the function call on different operating systems - -if IS_DARWIN -install-exec-hook: - $(LN_S) -f $(libdir)/libLFRelaxation.dylib $(libdir)/libLFRelaxation.so -uninstall-hook: - rm -f $(libdir)/libLFRelaxation.so -endif - -if IS_CYGWIN -install-exec-hook: - $(LN_S) -f $(bindir)/cygLFRelaxation-$(PLUGIN_MAJOR_VERSION)-$(PLUGIN_MINOR_VERSION)-$(PLUGIN_MAJOR_VERSION).dll $(libdir)/libLFRelaxation.so -uninstall-hook: - rm -f $(libdir)/libLFRelaxation.so -endif diff --git a/src/external/libLFRelaxation/README b/src/external/libLFRelaxation/README index d8bddc0e..2a9f978a 100644 --- a/src/external/libLFRelaxation/README +++ b/src/external/libLFRelaxation/README @@ -8,7 +8,7 @@ Implementation of a userFcn-interface to Gaussian and Lorentzian static and dyna At the moment this is a simple alternative implementation to the functions provided by musrfit itself. Mostly, this effort should be regarded as a design study which is not really indended for production use. -If musrfit has been configured with --enable-BMWlibs the functions can be called as: +If musrfit has been configured with -DBMWlibs=1 the functions can be called as: userFcn libLFRelaxation TLFStatGssKT 1 2 (frequency rate) userFcn libLFRelaxation TLFStatExpKT 1 2 (frequency rate) diff --git a/src/external/libPhotoMeissner/Makefile.am b/src/external/libPhotoMeissner/Makefile.am deleted file mode 100644 index be500d10..00000000 --- a/src/external/libPhotoMeissner/Makefile.am +++ /dev/null @@ -1 +0,0 @@ -SUBDIRS = classes diff --git a/src/external/libPhotoMeissner/classes/Makefile.am b/src/external/libPhotoMeissner/classes/Makefile.am deleted file mode 100644 index 162fa3cd..00000000 --- a/src/external/libPhotoMeissner/classes/Makefile.am +++ /dev/null @@ -1,67 +0,0 @@ -## Process this file with automake to create Makefile.in - -h_sources = \ - ../include/PStartupHandler_PM.h \ - ../include/PPhotoMeissner.h - -h_linkdef = \ - ../include/PStartupHandler_PMLinkDef.h \ - ../include/PPhotoMeissnerLinkDef.h - -dict_h_sources = \ - ../include/PStartupHandler_PMDict.h \ - ../include/PPhotoMeissnerDict.h - -cpp_sources = \ - PStartupHandler_PM.cpp \ - PPhotoMeissner.cpp - -dict_cpp_sources = \ - PStartupHandler_PMDict.cpp \ - PPhotoMeissnerDict.cpp - -pcmdir = $(libdir) -pcm_DATA = \ - PPhotoMeissnerDict_rdict.pcm \ - PStartupHandler_PMDict_rdict.pcm - -include_HEADERS = $(h_sources) -noinst_HEADERS = $(h_linkdef) $(dict_h_sources) - -AM_CPPFLAGS = -I$(top_srcdir)/src/include -I../include $(PMUSR_CFLAGS) $(FFTW3_CFLAGS) -I$(ROOTINCDIR) $(GSL_CFLAGS) -AM_CXXFLAGS = $(LOCAL_LIB_CXXFLAGS) - -BUILT_SOURCES = $(dict_cpp_sources) $(dict_h_sources) -AM_LDFLAGS = $(LOCAL_LIB_LDFLAGS) -L@ROOTLIBDIR@ -CLEANFILES = ../classes/*Dict* ../include/*Dict.* *~ core - -%Dict.cpp %Dict.h: ../include/%.h ../include/%LinkDef.h - @ROOTCLING@ -v -f $*Dict.cpp -c -p $(AM_CPPFLAGS) $^ - -lib_LTLIBRARIES = libPPhotoMeissner.la - -libPPhotoMeissner_la_SOURCES = $(h_sources) $(cpp_sources) $(dict_h_sources) $(dict_cpp_sources) -libPPhotoMeissner_la_LIBADD = $(USERFCN_LIBS) $(FFTW3_LIBS) $(ROOT_LIBS) $(GSL_LIBS) -libPPhotoMeissner_la_LDFLAGS = -version-info $(PLUGIN_LIBRARY_VERSION) -release $(PLUGIN_RELEASE) $(AM_LDFLAGS) - -## For the moment do not build pkgconfig files for musrfit plug-ins... -## pkgconfigdir = $(libdir)/pkgconfig -## pkgconfig_DATA = PPhotoMeissner.pc - -## However, create some symbolic links to the shared library -## in order to unify the function call on different operating systems - -if IS_DARWIN -install-exec-hook: - $(LN_S) -f $(libdir)/libPPhotoMeissner.dylib $(libdir)/libPPhotoMeissner.so -uninstall-hook: - rm -f $(libdir)/libPPhotoMeissner.so -endif - -if IS_CYGWIN -install-exec-hook: - $(LN_S) -f $(bindir)/cygPPhotoMeissner-$(PLUGIN_MAJOR_VERSION)-$(PLUGIN_MINOR_VERSION)-$(PLUGIN_MAJOR_VERSION).dll $(libdir)/libPSpinValve.so -uninstall-hook: - rm -f $(libdir)/libPPhotoMeissner.so -endif - diff --git a/src/external/libSpinValve/Makefile.am b/src/external/libSpinValve/Makefile.am deleted file mode 100644 index be500d10..00000000 --- a/src/external/libSpinValve/Makefile.am +++ /dev/null @@ -1 +0,0 @@ -SUBDIRS = classes diff --git a/src/external/libSpinValve/classes/Makefile.am b/src/external/libSpinValve/classes/Makefile.am deleted file mode 100644 index f88b337f..00000000 --- a/src/external/libSpinValve/classes/Makefile.am +++ /dev/null @@ -1,67 +0,0 @@ -## Process this file with automake to create Makefile.in - -h_sources = \ - ../include/PStartupHandler_SV.h \ - ../include/PSkewedLorentzian.h - -h_linkdef = \ - ../include/PStartupHandler_SVLinkDef.h \ - ../include/PSkewedLorentzianLinkDef.h - -dict_h_sources = \ - ../include/PStartupHandler_SVDict.h \ - ../include/PSkewedLorentzianDict.h - -cpp_sources = \ - PStartupHandler_SV.cpp \ - PSkewedLorentzian.cpp - -dict_cpp_sources = \ - PStartupHandler_SVDict.cpp \ - PSkewedLorentzianDict.cpp - -pcmdir = $(libdir) -pcm_DATA = \ - PStartupHandler_SVDict_rdict.pcm \ - PSkewedLorentzianDict_rdict.pcm - -include_HEADERS = $(h_sources) -noinst_HEADERS = $(h_linkdef) $(dict_h_sources) - -AM_CPPFLAGS = -I$(top_srcdir)/src/include -I../include $(PMUSR_CFLAGS) $(FFTW3_CFLAGS) -I$(ROOTINCDIR) -AM_CXXFLAGS = $(LOCAL_LIB_CXXFLAGS) - -BUILT_SOURCES = $(dict_cpp_sources) $(dict_h_sources) -AM_LDFLAGS = $(LOCAL_LIB_LDFLAGS) -L@ROOTLIBDIR@ -CLEANFILES = ../classes/*Dict.* ../include/*Dict.* *~ core - -%Dict.cpp %Dict.h: ../include/%.h ../include/%LinkDef.h - @ROOTCLING@ -v -f $*Dict.cpp -c -p $(AM_CPPFLAGS) $^ - -lib_LTLIBRARIES = libPSpinValve.la - -libPSpinValve_la_SOURCES = $(h_sources) $(cpp_sources) $(dict_h_sources) $(dict_cpp_sources) -libPSpinValve_la_LIBADD = $(USERFCN_LIBS) $(FFTW3_LIBS) $(ROOT_LIBS) -libPSpinValve_la_LDFLAGS = -version-info $(PLUGIN_LIBRARY_VERSION) -release $(PLUGIN_RELEASE) $(AM_LDFLAGS) - -## For the moment do not build pkgconfig files for musrfit plug-ins... -## pkgconfigdir = $(libdir)/pkgconfig -## pkgconfig_DATA = PSpinValve.pc - -## However, create some symbolic links to the shared library -## in order to unify the function call on different operating systems - -if IS_DARWIN -install-exec-hook: - $(LN_S) -f $(libdir)/libPSpinValve.dylib $(libdir)/libPSpinValve.so -uninstall-hook: - rm -f $(libdir)/libPSpinValve.so -endif - -if IS_CYGWIN -install-exec-hook: - $(LN_S) -f $(bindir)/cygPSpinValve-$(PLUGIN_MAJOR_VERSION)-$(PLUGIN_MINOR_VERSION)-$(PLUGIN_MAJOR_VERSION).dll $(libdir)/libPSpinValve.so -uninstall-hook: - rm -f $(libdir)/libPSpinValve.so -endif - diff --git a/src/external/libZFRelaxation/Makefile.am b/src/external/libZFRelaxation/Makefile.am deleted file mode 100644 index 8389b0bf..00000000 --- a/src/external/libZFRelaxation/Makefile.am +++ /dev/null @@ -1,59 +0,0 @@ -## Process this file with automake to create Makefile.in - -h_sources = \ - ZFRelaxation.h - -h_linkdef = \ - ZFRelaxationLinkDef.h - -dict_h_sources = \ - ZFRelaxationDict.h - -cpp_sources = \ - ZFRelaxation.cpp - -dict_cpp_sources = \ - ZFRelaxationDict.cpp - -pcmdir = $(libdir) -pcm_DATA = ZFRelaxationDict_rdict.pcm - -include_HEADERS = $(h_sources) -noinst_HEADERS = $(h_linkdef) $(dict_h_sources) - -AM_CPPFLAGS = -I$(top_srcdir)/src/include $(BMWTOOLS_CFLAGS) $(PMUSR_CFLAGS) -I$(ROOTINCDIR) -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 *Dict* *~ core - -%Dict.cpp %Dict.h: %.h %LinkDef.h - @ROOTCLING@ -v -f $*Dict.cpp -c -p $(AM_CPPFLAGS) $^ - -lib_LTLIBRARIES = libZFRelaxation.la - -libZFRelaxation_la_SOURCES = $(h_sources) $(cpp_sources) $(dict_h_sources) $(dict_cpp_sources) -libZFRelaxation_la_LIBADD = $(BMWTOOLS_LIBS) $(USERFCN_LIBS) $(GSL_LIBS) $(ROOT_LIBS) -libZFRelaxation_la_LDFLAGS = -version-info $(PLUGIN_LIBRARY_VERSION) -release $(PLUGIN_RELEASE) $(AM_LDFLAGS) - -## For the moment do not build pkgconfig files for musrfit plug-ins... -## pkgconfigdir = $(libdir)/pkgconfig -## pkgconfig_DATA = ZFRelaxation.pc - -## However, create some symbolic links to the shared library -## in order to unify the function call on different operating systems - -if IS_DARWIN -install-exec-hook: - $(LN_S) -f $(libdir)/libZFRelaxation.dylib $(libdir)/libZFRelaxation.so -uninstall-hook: - rm -f $(libdir)/libZFRelaxation.so -endif - -if IS_CYGWIN -install-exec-hook: - $(LN_S) -f $(bindir)/cygZFRelaxation-$(PLUGIN_MAJOR_VERSION)-$(PLUGIN_MINOR_VERSION)-$(PLUGIN_MAJOR_VERSION).dll $(libdir)/libZFRelaxation.so -uninstall-hook: - rm -f $(libdir)/libZFRelaxation.so -endif diff --git a/src/external/mud/Makefile.am b/src/external/mud/Makefile.am deleted file mode 100644 index 2cad62a2..00000000 --- a/src/external/mud/Makefile.am +++ /dev/null @@ -1,2 +0,0 @@ - -SUBDIRS = src diff --git a/src/external/mud/src/Makefile.am b/src/external/mud/src/Makefile.am deleted file mode 100644 index 4faa5b9e..00000000 --- a/src/external/mud/src/Makefile.am +++ /dev/null @@ -1,27 +0,0 @@ -## Process this file with automake to create Makefile.in - -h_sources = mud.h -cpp_sources = mud_all.c \ - mud.c \ - mud_encode.c \ - mud_friendly.c \ - mud_gen.c \ - mud_new.c \ - mud_tri_ti.c - -include_HEADERS = mud.h - -AM_CPPFLAGS = -I. -AM_CFLAGS = $(LOCAL_MUD_LIB_CFLAGS) - -AM_LDFLAGS = $(LOCAL_LIB_LDFLAGS) -CLEANFILES = *~ core - -lib_LTLIBRARIES = libmud.la - -libmud_la_SOURCES = $(h_sources) $(cpp_sources) -libmud_la_LDFLAGS = $(AM_LDFLAGS) - -pkgconfigdir = $(libdir)/pkgconfig -pkgconfig_DATA = mud.pc - diff --git a/src/external/nexus/Makefile.am b/src/external/nexus/Makefile.am deleted file mode 100644 index 31ea2254..00000000 --- a/src/external/nexus/Makefile.am +++ /dev/null @@ -1,25 +0,0 @@ -## Process this file with automake to create Makefile.in - -h_sources = \ - PNeXus.h - -cpp_sources = \ - PNeXus.cpp - -include_HEADERS = $(h_sources) - -AM_CPPFLAGS = $(HDF5_CFLAGS) $(NEXUS_CFLAGS) -AM_CXXFLAGS = $(LOCAL_PNEXUS_LIB_CXXFLAGS) - -AM_LDFLAGS = $(LOCAL_LIB_LDFLAGS) -CLEANFILES = *~ core - -lib_LTLIBRARIES = libPNeXus.la - -libPNeXus_la_SOURCES = $(h_sources) $(cpp_sources) -libPNeXus_la_LIBADD = $(NEXUS_LIBS) -libPNeXus_la_LDFLAGS = -version-info $(PNEXUS_LIBRARY_VERSION) -release $(PNEXUS_RELEASE) $(AM_LDFLAGS) - -pkgconfigdir = $(libdir)/pkgconfig -pkgconfig_DATA = PNeXus.pc - diff --git a/src/musredit/Makefile.am b/src/musredit/Makefile.am deleted file mode 100644 index b940078e..00000000 --- a/src/musredit/Makefile.am +++ /dev/null @@ -1,5 +0,0 @@ -## Process this file with automake to create Makefile.in - -CLEANFILES = *~ core moc_* ui_* - - diff --git a/src/musredit_qt5/Makefile.am b/src/musredit_qt5/Makefile.am deleted file mode 100644 index 5b8f3d2e..00000000 --- a/src/musredit_qt5/Makefile.am +++ /dev/null @@ -1,4 +0,0 @@ -## Process this file with automake to create Makefile.in - -CLEANFILES = *~ core moc_* ui_* - diff --git a/src/musrgui/Makefile.am b/src/musrgui/Makefile.am deleted file mode 100644 index 2f509505..00000000 --- a/src/musrgui/Makefile.am +++ /dev/null @@ -1,5 +0,0 @@ -## Process this file with automake to create Makefile.in - -CLEANFILES = *~ core - - From 86d03d7132afc3c35975219652c4ada360882ff7 Mon Sep 17 00:00:00 2001 From: Andreas Suter Date: Fri, 8 Mar 2019 13:07:47 +0100 Subject: [PATCH 02/13] Docu updated Removed the automake tool chain description (hopefully) everywhere. --- doc/html/.buildinfo | 2 +- doc/html/_sources/setup-dks.txt | 42 +-- doc/html/_sources/setup-standard.txt | 284 ++++---------------- doc/html/acknowledgement.html | 12 +- doc/html/any2many.html | 12 +- doc/html/bugtracking.html | 12 +- doc/html/cite.html | 12 +- doc/html/genindex.html | 64 ++--- doc/html/index.html | 12 +- doc/html/msr2data.html | 12 +- doc/html/mupp.html | 12 +- doc/html/musr-root.html | 12 +- doc/html/musredit.html | 12 +- doc/html/objects.inv | Bin 1908 -> 1913 bytes doc/html/search.html | 12 +- doc/html/searchindex.js | 2 +- doc/html/setup-dks.html | 47 +--- doc/html/setup-standard.html | 386 ++++++++------------------- doc/html/tutorial.html | 12 +- doc/html/user-libs.html | 12 +- doc/html/user-manual.html | 12 +- 21 files changed, 274 insertions(+), 709 deletions(-) diff --git a/doc/html/.buildinfo b/doc/html/.buildinfo index a4002c7c..a71db440 100644 --- a/doc/html/.buildinfo +++ b/doc/html/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: 5c197f7d1a99bc4d9f1831306e12cc04 +config: 39df8dc76b5eba2fef9a1560a07e9143 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/doc/html/_sources/setup-dks.txt b/doc/html/_sources/setup-dks.txt index 70d9effd..0ea9328b 100644 --- a/doc/html/_sources/setup-dks.txt +++ b/doc/html/_sources/setup-dks.txt @@ -149,46 +149,6 @@ switch the working branch which is done by $ cd $HOME/Apps/musrfit $ git checkout dks6 -Install via automake -^^^^^^^^^^^^^^^^^^^^ - -.. note:: - - Currently ``automake`` is still supported but soon will be replaced by ``cmake``. Only follow - the ``automake`` procedure if you have good reasons. - -The configure script for musrfit has now a couple of more tags/options, which are: - -**- -enable-dks** - by default this is set to no, hence if you want to have GPU support you need to enable it. -**- -with-cuda** - with this tag you tell the configure script where it can find ``CUDA`` -**- -with-opencl** - with this tag you tell the configure script where it can find ``OpenCL`` -**- -with-dks** - with this tag you tell the configure script where it can find ``DKS`` - -For a typical setup on a RHEL system it could look like this - -.. code-block:: bash - - $ ./configure --enable-ASlibs --enable-BMWlibs --enable-NeXus --with-dks=$HOME/Apps/DKS/exec --enable-dks --prefix=$ROOTSYS - -After - -.. code-block:: bash - - $ make - $ make install - -and updating the shared library lookup table (*only* needed for Linux) - -.. code-block:: bash - - $ /sbin/ldconfig # as superuser / root - -you are done with the setup. - Install via cmake ^^^^^^^^^^^^^^^^^ @@ -201,7 +161,7 @@ For a typical setup on a RHEL or macOS system it could look like this .. code-block:: bash - $ cmake ../ -DCMAKE_INSTALL_PREFIX=$ROOTSYS -DASlibs=1 -DBMWlibs=1 -Dnexus=1 + $ cmake ../ -DCMAKE_INSTALL_PREFIX=$ROOTSYS -DASlibs=1 -DBMWlibs=1 -Dnexus=1 -Ddks=1 After diff --git a/doc/html/_sources/setup-standard.txt b/doc/html/_sources/setup-standard.txt index c2592605..a8dfab99 100644 --- a/doc/html/_sources/setup-standard.txt +++ b/doc/html/_sources/setup-standard.txt @@ -23,11 +23,9 @@ it can also be set up under **MS Windows** (cygwin, only for the *very brave*, p In case musrfit should be installed according to the description found on this page, the user is strongly encouraged to *read completely* each section dealing with the present installation step *before* starting the installation process! -Apart from `GCC, the GNU Compiler Collection `_ (``gcc``, ``g++``), the GNU build tools `autoconf `_, -`automake `_, and `libtool `_ are needed, if you want to build musrfit via the automake toolchain. -The ``automake`` toolchain will eventually be droped in upcoming releases. -If you plan to use the cmake toolchain (preferred way), `cmake `_. Furthermore the helper tool `pkg-config `_ is -needed and musrfit requires the installation of a few open-source libraries and programs including their header packages: +Apart from `GCC, the GNU Compiler Collection `_ (``gcc``, ``g++``), the build tool `cmake `_ is needed. Furthermore the helper +tool `pkg-config `_ needs to be in place, and musrfit requires the installation of a few open-source libraries and programs including +their header packages: .. index:: boost-c++ @@ -94,14 +92,15 @@ Before the installation procedure will be described, please note the following r **GNU/Linux** No serious problems are currently known. Tested distributions: `RHEL `_, `Fedora `_, - `Debian `_, `Ubuntu `_, `Mint `_, `openSUSE `_. + `Debian `_, `Ubuntu `_, `Mint `_, `openSUSE `_, + `manjaro `_, and `antergos `_. **Mac OS X/macOS** No serious problems are currently known for macOS ≥ 10.6. **MS Windows** Native *MS Windows* support is currently not available. Potential ways to get ``musrfit`` running are: * via installation of Linux via the Microsoft App store for Windows 10. - * via installation of the virtual machine on which you install Linux. + * via installation of the virtual machine on which you install Linux (probably the easiest for most Windows users). * via `cygwin`_. .. _cygwin: https://www.cygwin.com/ @@ -173,9 +172,18 @@ Installation of NeXus requirements (optional) *Only* if ``musrfit`` should support reading/writing data files in the ``NeXus`` format the further required 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 ``MXML``, ``HDF4``, and ``HDF5`` might be called ``mxml``, ``mxml-devel``, -``hdf``, ``hdf-devel``, ``hdf5``, ``hdf5-devel``, on Debian-like systems ``libmxml1``, ``libmxml-dev``, ``libhdf4-dev``, ``libhdf5-dev``. +GNU/Linux distribution or if this is not the case, the packages can be installed from the source code. The necessary +packages to build ``NeXus`` are ``MXML``, (``HDF4``), and ``HDF5``. This means, for a rpm-package based distro try something like: + + .. code-block:: bash + + $ yum install mxml-devel hdf-devel hdf5-devel + +and on a deb-package based distro try something like: + + .. code-block:: bash + + $ apt-get install libmxml-dev libhdf4-dev libhdf5-dev .. note:: @@ -213,10 +221,8 @@ A brief instruction how to get ``NeXus`` compiled from source (lines starting wi ROOT ^^^^ -ROOT 5.34/xx is supported as legacy version *only*! **The default now will be ROOT 6.xx/yy!** - The ROOT framework may or may not be part of the GNU/Linux distribution. Some distributions are packing ROOT in a -manner incompatible with the way it is needed for ``musrfit``, though the situation is improving. If you are +manner incompatible with the way it is needed by ``musrfit``, 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). **One Warning:** if the ROOT packages are upgraded after a yum update (apt-get update; apt-get upgrade) you might need to recompile ``musrfit``. *If you are not sure about @@ -247,12 +253,12 @@ be added starting with a '#' which can be omitted. They are only there to explai $ # creat the Apps directory if not already present $ mkdir Apps $ cd Apps - $ git clone http://root.cern.ch/git/root.git + $ git clone http://github.com/root-project/root.git $ cd root $ git tag -l - $ # git tag -l will list all available tags. In the next command choose the tag v6-14-00 + $ # git tag -l will list all available tags. In the next command choose the tag v6-16-00 $ # or the latest official release number - $ git checkout -b v6-14-00 v6-14-00 + $ git checkout -b v6-16-00 v6-16-00 $ # now ROOT is ready to be configured. Below you will find the minimal ROOT configuration needed. $ # since we are using cmake build now, first we will need to create the build directory. $ mkdir root_build @@ -299,7 +305,7 @@ If an update of ROOT is needed, simple do the following: musrfit +++++++ -When all required software has been set up with the ``musrfit`` installation can be proceeded. First, the most +When all required software has been set up you can proceed with the ``musrfit`` installatio. 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 ``$HOME/Apps`` this is achieved most easily calling from the terminal @@ -307,8 +313,7 @@ Assuming the code should be located in ``$HOME/Apps`` this is achieved most easi $ cd $HOME/Apps $ git clone https://bitbucket.org/muonspin/musrfit.git - $ # Only if legacy ROOT 5.xx.yy is used include the next line - $ cd musrfit; git checkout root5 + $ cd musrfit or @@ -316,8 +321,7 @@ or $ cd $HOME/Apps $ git clone git://gitlab.psi.ch/nemu/musrfit.git - $ # Only if legacy ROOT 5.xx.yy is used include the next line - $ cd musrfit; git checkout root5 + $ cd musrfit .. note:: @@ -331,24 +335,6 @@ or $ cd $HOME/Apps/musrfit $ git pull - -Now, depending whether you follow the ``automake`` or ``cmake`` tool chain you do - -**automake toolchain:** - -.. code-block:: bash - - $ make uninstall - $ make clean - $ make - $ make install - -or - -**cmake toolchain:** - -.. code-block:: bash - $ cd build $ xargs rm < install_manifest.txt $ cmake --build ./ --clean-first @@ -358,61 +344,6 @@ or As an alternative (if git is not available), the source code can also be downloaded from the following web-page: `musrfit at bitbucket`_ -.. index:: musrfit-build-automake-linux - -musrfit build with automake -^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -After the source-code extraction the ``autogen.sh`` script is called to prepare the build environment. -If it has been executed successfully the ``configure`` script should be ready to collect all the information needed -to create the Makefiles. If ``musrfit`` should support ``NeXus`` data files this has to be enabled by specifying the -``--enable-NeXus`` switch when calling configure. For an overview of all available options just call ``./configure --help``. -Besides the standard options there are a few special options which should be mentioned here: - -**- -prefix** - Specify the installation prefix, *e.g.* ``$ROOTSYS`` if already defined (by default: ``/usr/local``). -**- -with-rootsys** - Specify the top of the ``ROOT`` installation directory, *e.g.* ``$ROOTSYS`` if already defined. -**- -with-fftw3** - Specify the prefix of the ``FFTW3`` installation. *e.g.* ``/usr/local`` or ``/usr``. -**- -with-gsl** - Set the prefix of the ``GSL`` installation, *e.g.* ``/usr/local`` or ``/usr``. -**- -with-boostinc** - Set the path to the header files of the ``Boost`` installation, *e.g.* ``/usr/local/include`` or ``/usr/include``. -**- -with-hdf4** - Set the prefix of the ``HDF4`` installation, *e.g.* ``/usr/local`` (only useful in conjunction with the ``NeXus`` support). -**- -with-hdf5** - Set the prefix of the ``HDF5`` installation, *e.g.* ``/usr`` (only useful in conjunction with the ``NeXus`` support). -**- -with-nexus** - Set the prefix of the ``NeXus`` installation, *e.g.* ``/usr/local`` (only useful in conjunction with the ``NeXus`` support). -**- -with-qt3** - Set the prefix of the ``Qt3`` installation, *e.g.* ``/usr/lib/qt-3.3`` (only useful in conjunction with building ``musrgui``). -**- -with-qt4** - Set the prefix of the ``Qt4`` installation, *e.g.* ``/usr/lib/qt47`` (only useful in conjunction with building ``musredit``). -**- -with-qt5** - Set the prefix of the ``Qt5`` installation, *e.g.* ``/usr/lib64`` (only useful in conjunction with building ``musredit``). -**- -enable-NeXus** - Enable the support of ``NeXus`` data files (requires the ``HDF4``, ``HDF5`` and ``NeXus`` libraries to be installed). -**- -disable-editor** - Disable the integrated building of ``musredit``/``musrgui``. -**- -disable-omp** - Switches off the `OpenMP `_ features of ``musrfit`` (parallelization of the :math:`\chi^2` calculation when compiled with GCC ≥ 4.2). - -Normally it should not be necessary to make use of any of the options except for specifying the installation path with ``--prefix``. The -other paths should be detected automatically. If this does not work for some reason the configure script will terminate and ask for the -information. When the configure script has been called successfully everything is ready for building the ``musrfit`` libraries and executables. -A standard installation sequence (without ``NeXus`` support) might then look like (In case the normal user has no write permissions to the -``$ROOTSYS`` and the installation path the "make install" commands have to be executed as superuser.): - -.. code-block:: bash - - $ cd $HOME/Apps/musrfit - $ sh autogen.sh - $ ./configure --prefix=$ROOTSYS - $ make - $ make install - $ /sbin/ldconfig # (as superuser) - .. index:: musrfit-build-cmake-linux musrfit build with cmake @@ -484,8 +415,7 @@ musredit ++++++++ In the latest version of ``musrfit`` the configure script tries to determine automatically the highest available ``Qt`` version. -In case this is found, the editor ``musredit`` is built already together with ``musrfit``. If not, one can try to call -the configure script with the **- -with-qt5** option (``automake``). ``cmake`` will determine everthing automatically. +In case this is found, the editor ``musredit`` is built already together with ``musrfit``. To install this editor separately, *i.e.* by "hand" do .. code-block:: bash @@ -739,61 +669,7 @@ If the repository had been checked out already before, one can update the local As an alternative (if git is not available), the source code can also be downloaded from the following web-page: `musrfit at bitbucket`_. - -.. index:: musrfit-build-automake-windows - -musrfit build with automake -^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -After the source-code extraction the ``autogen.sh`` script is called to prepare the build environment. -If it has been executed successfully the ``configure`` script should be ready to collect all the information -needed to create the Makefiles. If ``musrfit`` should support ``NeXus`` data files this has to be enabled by -specifying the ``--enable-static --enable-NeXus`` switches when calling configure. For an overview of all -available options just call ``./configure --help``. Besides the standard options there are a few special -options which should be mentioned here: - -**- -prefix** - Specify the installation prefix, *e.g.* ``/opt/root-system`` (by default: ``/usr/local``) -**- -with-rootsys** - Specify the top of the ``ROOT`` installation directory, *e.g.* ``/opt/root-system`` -**- -with-fftw3** - Specify the prefix of the ``FFTW3`` installation. *e.g.* ``/usr/local`` or ``/usr`` -**- -with-gsl** - Set the prefix of the ``GSL`` installation, *e.g.* ``/usr/local`` or ``/usr`` -**- -with-boostinc** - Set the path to the header files of the ``Boost`` installation, *e.g.* ``/usr/local/include`` or ``/usr/include`` -**- -with-hdf4** - Set the prefix of the ``HDF4`` installation, *e.g.* ``/usr/local`` (only useful in conjunction with the ``NeXus`` support) -**- -with-hdf5** - Set the prefix of the ``HDF5`` installation, *e.g.* ``/usr`` (only useful in conjunction with the ``NeXus`` support) -**- -with-nexus** - Set the prefix of the ``NeXus`` installation, *e.g.* ``/usr/local`` (only useful in conjunction with the ``NeXus`` support) -**- -with-qt3** - Set the prefix of the ``Qt3`` installation, *e.g.* ``/usr/lib/qt-3.3`` (only useful in conjunction with building ``musrgui``) -**- -with-qt4** - Set the prefix of the ``Qt4`` installation, *e.g.* ``/usr/lib/qt47`` (only useful in conjunction with building ``musredit``) -**- -with-qt5** - Set the prefix of the ``Qt5`` installation, *e.g.* ``/usr/lib/qt56`` (only useful in conjunction with building ``musredit``) -**- -enable-NeXus** - Enable the support of ``NeXus`` data files (requires the ``HDF4``, ``HDF5`` and ``NeXus`` libraries to be installed). -**- -disable-editor** - Disable the integrated building of ``musredit``/``musrgui``. -**- -disable-omp** - Switches off the ``OpenMP`` features of ``musrfit`` (parallelization of the :math:`\chi^2` calculation when compiled with ``GCC`` ≥ 4.2) - -Normally it should not be necessary to make use of any of the options except for specifying the installation path with ``--prefix``. -The other paths should be detected automatically. If this does not work for some reason the ``configure`` script will terminate and -ask for the information. When the ``configure`` script has been called successfully everything is ready for building the ``musrfit`` -libraries and executables. A standard installation sequence (without ``NeXus`` support) might then look like: - -.. code-block:: bash - - $ cd musrfit - $ sh autogen.sh - $ ./configure --prefix=$ROOTSYS - $ make - $ make install - + .. index:: musrfit-build-cmake-windows musrfit build with cmake @@ -847,8 +723,7 @@ musredit In the latest version of ``musrfit`` the configure script tries to determine automatically if Qt4.5 or higher is set up on the machine. In case this is found, the editor ``musredit`` is built -readily with ``musrfit``. If not, one can either try to call the ``configure`` script with the -``--with-qt4`` option or install this editor separately, *.e.g.*: +readily with ``musrfit``. If not, try the following: .. code-block:: bash @@ -945,7 +820,7 @@ with OS X (on the installation DVD/CDs) should be installed: **X11** The X-window system is automatically installed on 10.5 Leopard and 10.6 Snow Leopard. For some other versions you also - will need to install `XQuartz `. If ``ROOT`` runs without ``XQuartz`` *do not* + will need to install `XQuartz `_. If ``ROOT`` runs without ``XQuartz`` *do not* install it. After installing the ``Xcode`` tools go to the `MacPorts install page `_, download @@ -1034,7 +909,7 @@ Only ``NeXus`` Version ≥ 4.4 is support!) this can be achieved for example by: ROOT ^^^^ -ROOT 5.34/xx is supported as legacy version only! **The default now will be ROOT 6.xx/yy!** +**The default ROOT version is based on ROOT 6.xx/yy!** ROOT installed via package installer """""""""""""""""""""""""""""""""""" @@ -1042,16 +917,16 @@ ROOT installed via package installer 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`` `download page `_. Choose the latest ``ROOT`` release and download you macOS version dmg-file, *e.g.* for macOS 10.13 (High Sierra) -it is at the time of writting ``root_v6.14.00.macosx64-10.13-clang91.dmg``. After the installation +it is at the time of writting ``root_v6.16.00.macosx64-10.13-clang91.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: .. code-block:: bash $ cd /Applications - $ sudo chown -R root_v6.14.00 - $ sudo chgrp -R staff root_v6.14.00 - $ sudo ln -s root_v6.14.00 root + $ sudo chown -R root_v6.16.00 + $ sudo chgrp -R staff root_v6.16.00 + $ sudo ln -s root_v6.16.00 root ROOT installed from source """""""""""""""""""""""""" @@ -1068,12 +943,12 @@ comments will be added starting with a '#' which can be omitted. They are only t .. code-block:: bash $ cd $HOME/Applications - $ git clone http://root.cern.ch/git/root.git + $ git clone http://github.com/root-project/root.git $ cd root $ git tag -l $ # git tag -l will list all available tags. In the next command choose the tag v6-10-xx - $ # where xx is the highest listed number, e.g. v6-14-00 - $ git checkout -b v6-14-00 v6-14-00 + $ # where xx is the highest listed number, e.g. v6-16-00 + $ git checkout -b v6-16-00 v6-16-00 $ # now ROOT is ready to be configured. Below you will find the minimal ROOT configuration needed. $ # We will use the cmake out-of-source approach here. $ mkdir root_build @@ -1158,7 +1033,7 @@ Before proceeding with the usage of the `Fink`_ system first a few useful tools **X11** The X-window system is automatically installed on 10.5 Leopard and 10.6 Snow Leopard. For some other versions you also - will need to install `XQuartz `. If ``ROOT`` runs without ``XQuartz`` *do not* + will need to install `XQuartz `_. If ``ROOT`` runs without ``XQuartz`` *do not* install it. After installing the ``Xcode`` tools go to the `Fink download page `_, @@ -1256,7 +1131,7 @@ this can be achieved for example by: ROOT ^^^^ -ROOT 5.34/xx is supported as legacy version only and will likely to be dropped in 2018. **The default now is ROOT 6.xx/yy!** +**The default ROOT version is based on ROOT 6.xx/yy!** ROOT installed via package installer """""""""""""""""""""""""""""""""""" @@ -1264,16 +1139,16 @@ ROOT installed via package installer 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`` `download page `_. Choose the latest ``ROOT`` release and download you macOS version dmg-file, *e.g.* for macOS 10.13 (High Sierra) -it is at the time of writting ``root_v6.14.00.macosx64-10.13-clang91.dmg``. After the installation +it is at the time of writting ``root_v6.16.00.macosx64-10.13-clang91.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: .. code-block:: bash $ cd /Applications - $ sudo chown -R root_v6.14.00 - $ sudo chgrp -R staff root_v6.14.00 - $ sudo ln -s root_v6.14.00 root + $ sudo chown -R root_v6.16.00 + $ sudo chgrp -R staff root_v6.16.00 + $ sudo ln -s root_v6.16.00 root ROOT installed from source """""""""""""""""""""""""" @@ -1290,12 +1165,12 @@ comments will be added starting with a '#' which can be omitted. They are only t .. code-block:: bash $ cd $HOME/Applications - $ git clone http://root.cern.ch/git/root.git + $ git clone http://github.com/root-project/root.git $ cd root $ git tag -l $ # git tag -l will list all available tags. In the next command choose the tag v6-10-xx - $ # where xx is the highest listed number, e.g. v6-14-00 - $ git checkout -b v6-14-00 v6-14-00 + $ # where xx is the highest listed number, e.g. v6-16-00 + $ git checkout -b v6-16-00 v6-16-00 $ # now ROOT is ready to be configured. Below you will find the minimal ROOT configuration needed. $ # We will use the cmake out-of-source approach here. $ mkdir root_build @@ -1374,8 +1249,7 @@ in ``~/Applications/musrfit`` this is achieved most easily calling from the term $ cd ~/Applications $ git clone https://bitbucket.org/muonspin/musrfit.git - $ # Only if legacy ROOT 5.xx.yy is used include the next line - $ cd musrfit; git checkout root5 + $ cd musrfit or @@ -1383,8 +1257,7 @@ or $ cd ~/Applications $ git clone git://gitlab.psi.ch/nemu/musrfit.git - $ # Only if legacy ROOT 5.xx.yy is used include the next line - $ cd musrfit; git checkout root5 + $ cd musrfit If a local repository clone is already present, one can update it using: @@ -1395,63 +1268,7 @@ If a local repository clone is already present, one can update it using: As an alternative (*if git is not available*), the source code can also be downloaded from the following web-page: `musrfit at bitbucket`_. - -.. index:: musrfit-build-automake-macos - -musrfit build with automake -^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -After the source-code extraction the ``autogen.sh`` script is called to prepare the build environment. -If it has been executed successfully the ``configure`` script should be ready to collect all the information needed -to create the Makefiles. If ``musrfit`` should support ``NeXus`` data files this has to be enabled by specifying the -``--enable-NeXus`` switch when calling configure. For an overview of all available options just call ``./configure --help``. -Besides the standard options there are a few special options which should be mentioned here: - -**- -prefix** - Specify the installation prefix, *e.g.* ``$ROOTSYS`` if already defined (by default: ``/usr/local``). -**- -with-rootsys** - Specify the top of the ``ROOT`` installation directory, *e.g.* ``$ROOTSYS`` if already defined. -**- -with-fftw3** - Specify the prefix of the ``FFTW3`` installation. *e.g.* ``/usr/local`` or ``/usr``. -**- -with-gsl** - Set the prefix of the ``GSL`` installation, *e.g.* ``/usr/local`` or ``/usr``. -**- -with-boostinc** - Set the path to the header files of the ``Boost`` installation, *e.g.* ``/usr/local/include`` or ``/usr/include``. -**- -with-hdf4** - Set the prefix of the ``HDF4`` installation, *e.g.* ``/usr/local`` (only useful in conjunction with the ``NeXus`` support). -**- -with-hdf5** - Set the prefix of the ``HDF5`` installation, *e.g.* ``/usr`` (only useful in conjunction with the ``NeXus`` support). -**- -with-nexus** - Set the prefix of the ``NeXus`` installation, *e.g.* ``/usr/local`` (only useful in conjunction with the ``NeXus`` support). -**- -with-qt3** - Set the prefix of the ``Qt3`` installation, *e.g.* ``/usr/lib/qt-3.3`` (only useful in conjunction with building ``musrgui``). -**- -with-qt4** - Set the prefix of the ``Qt4`` installation, *e.g.* ``/usr/lib/qt47`` (only useful in conjunction with building ``musredit``). -**- -with-qt5** - Set the prefix of the ``Qt5`` installation, *e.g.* ``/usr/lib64`` (only useful in conjunction with building ``musredit``). -**- -enable-NeXus** - Enable the support of ``NeXus`` data files (requires the ``HDF4``, ``HDF5`` and ``NeXus`` libraries to be installed). -**- -disable-editor** - Disable the integrated building of ``musredit``/``musrgui``. -**- -disable-omp** - Switches off the `OpenMP `_ features of ``musrfit`` (parallelization of the :math:`\chi^2` calculation when compiled with GCC ≥ 4.2). - -Normally it should not be necessary to make use of any of the options except for specifying the installation path with ``--prefix``. The -other paths should be detected automatically. If this does not work for some reason the configure script will terminate and ask for the -information. When the configure script has been called successfully everything is ready for building the ``musrfit`` libraries and executables. -A standard installation sequence (without ``NeXus`` support) might then look like (In case the normal user has no write permissions to the -``$ROOTSYS`` and the installation path the "make install" commands have to be executed as superuser.): - -.. code-block:: bash - - $ cd $HOME/Apps/musrfit - $ sh autogen.sh - $ ./configure --prefix=$ROOTSYS - $ make - $ make install - $ /sbin/ldconfig # (as superuser) - - + .. index:: musrfit-build-cmake-macos musrfit build with cmake @@ -1521,8 +1338,7 @@ musredit In the latest version of ``musrfit`` the configure script tries to determine automatically the highest available Qt version. In case this is found, the editor ``musredit`` is built already together with ``musrfit``. -If not, one can try to call the configure script with the **--with-qt5** option (``automake``). ``cmake`` will -determine everthing automatically. To install this editor separately, *i.e.* by “hand” do +If not, try the following: .. code-block:: bash diff --git a/doc/html/acknowledgement.html b/doc/html/acknowledgement.html index 7ec06c40..d9bc68bb 100644 --- a/doc/html/acknowledgement.html +++ b/doc/html/acknowledgement.html @@ -6,7 +6,7 @@ - Acknowledgements — musrfit 1.4.1 documentation + Acknowledgements — musrfit 1.4.2 documentation @@ -14,7 +14,7 @@ - + @@ -41,7 +41,7 @@

  • previous |
  • -
  • musrfit 1.4.1 documentation »
  • +
  • musrfit 1.4.2 documentation »
  • @@ -108,12 +108,12 @@ extremely competent way to deal with his projects as well as to deal with the ch
  • previous |
  • -
  • musrfit 1.4.1 documentation »
  • +
  • musrfit 1.4.2 documentation »
  • diff --git a/doc/html/any2many.html b/doc/html/any2many.html index 06d11a23..52765d73 100644 --- a/doc/html/any2many.html +++ b/doc/html/any2many.html @@ -6,7 +6,7 @@ - any2many - a Universal μSR-file-format converter — musrfit 1.4.1 documentation + any2many - a Universal μSR-file-format converter — musrfit 1.4.2 documentation @@ -14,7 +14,7 @@ - + @@ -41,7 +41,7 @@
  • previous |
  • -
  • musrfit 1.4.1 documentation »
  • +
  • musrfit 1.4.2 documentation »
  • @@ -102,12 +102,12 @@ For a detailed description see previous | -
  • musrfit 1.4.1 documentation »
  • +
  • musrfit 1.4.2 documentation »
  • diff --git a/doc/html/bugtracking.html b/doc/html/bugtracking.html index 82e9d3e8..8b71f07b 100644 --- a/doc/html/bugtracking.html +++ b/doc/html/bugtracking.html @@ -6,7 +6,7 @@ - Bugtracking — musrfit 1.4.1 documentation + Bugtracking — musrfit 1.4.2 documentation @@ -14,7 +14,7 @@ - + @@ -37,7 +37,7 @@
  • previous |
  • -
  • musrfit 1.4.1 documentation »
  • +
  • musrfit 1.4.2 documentation »
  • @@ -93,12 +93,12 @@ or send an e-mail to A. Suter at PSI.

  • previous |
  • -
  • musrfit 1.4.1 documentation »
  • +
  • musrfit 1.4.2 documentation »
  • diff --git a/doc/html/cite.html b/doc/html/cite.html index b07149b4..a49452a7 100644 --- a/doc/html/cite.html +++ b/doc/html/cite.html @@ -6,7 +6,7 @@ - How to Cite musrfit? — musrfit 1.4.1 documentation + How to Cite musrfit? — musrfit 1.4.2 documentation @@ -14,7 +14,7 @@ - + @@ -41,7 +41,7 @@
  • previous |
  • -
  • musrfit 1.4.1 documentation »
  • +
  • musrfit 1.4.2 documentation »
  • @@ -114,12 +114,12 @@
  • previous |
  • -
  • musrfit 1.4.1 documentation »
  • +
  • musrfit 1.4.2 documentation »
  • diff --git a/doc/html/genindex.html b/doc/html/genindex.html index 64483ab4..852f51ca 100644 --- a/doc/html/genindex.html +++ b/doc/html/genindex.html @@ -7,7 +7,7 @@ - Index — musrfit 1.4.1 documentation + Index — musrfit 1.4.2 documentation @@ -15,7 +15,7 @@ - + @@ -179,7 +179,7 @@
    -
    cygwin +
    cygwin
    @@ -243,7 +243,7 @@ -
    fink +
    fink
    @@ -407,7 +407,7 @@ + -
    -
    macports +
    macports
    @@ -542,6 +542,8 @@
    mupp-scripting
    +
    mupp-usage
    @@ -550,10 +552,8 @@
    musredit
    -
    -
    musredit-build-macos +
    musredit-build-macos
    @@ -561,11 +561,11 @@ -
    musredit-install-linux +
    musredit-install-linux
    -
    musredit-install-windows +
    musredit-install-windows
    @@ -577,27 +577,15 @@ -
    musrfit-build-automake-linux +
    musrfit-build-cmake-linux
    -
    musrfit-build-automake-macos +
    musrfit-build-cmake-macos
    -
    musrfit-build-automake-windows -
    - - -
    musrfit-build-cmake-linux -
    - - -
    musrfit-build-cmake-macos -
    - - -
    musrfit-build-cmake-windows +
    musrfit-build-cmake-windows
    @@ -605,15 +593,15 @@ -
    musrfit-build-macos +
    musrfit-build-macos
    -
    musrfit-build-windows +
    musrfit-build-windows
    -
    musrfit-post-install-linux +
    musrfit-post-install-linux
    @@ -707,7 +695,7 @@ -
    nexus-build-fink +
    nexus-build-fink
    @@ -717,11 +705,11 @@
    -
    nexus-build-macports +
    nexus-build-macports
    -
    nexus-build-windows +
    nexus-build-windows
    @@ -787,7 +775,7 @@
    -
    root-build-fink +
    root-build-fink
    @@ -795,13 +783,13 @@ -
    root-build-macports +
    root-build-macports
    -
    root-build-windows +
    root-build-windows
    @@ -982,12 +970,12 @@
  • index
  • -
  • musrfit 1.4.1 documentation »
  • +
  • musrfit 1.4.2 documentation »
  • diff --git a/doc/html/index.html b/doc/html/index.html index c0b77df7..f7876be4 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -6,7 +6,7 @@ - Welcome to the musrfit documentation! — musrfit 1.4.1 documentation + Welcome to the musrfit documentation! — musrfit 1.4.2 documentation @@ -14,7 +14,7 @@ - + @@ -37,7 +37,7 @@
  • next |
  • -
  • musrfit 1.4.1 documentation »
  • +
  • musrfit 1.4.2 documentation »
  • @@ -180,12 +180,12 @@
  • next |
  • -
  • musrfit 1.4.1 documentation »
  • +
  • musrfit 1.4.2 documentation »
  • diff --git a/doc/html/msr2data.html b/doc/html/msr2data.html index 41aa65a2..80c65ebe 100644 --- a/doc/html/msr2data.html +++ b/doc/html/msr2data.html @@ -6,7 +6,7 @@ - msr2data - A Program for Automatically Processing Multiple musrfit msr Files — musrfit 1.4.1 documentation + msr2data - A Program for Automatically Processing Multiple musrfit msr Files — musrfit 1.4.2 documentation @@ -14,7 +14,7 @@ - + @@ -41,7 +41,7 @@
  • previous |
  • -
  • musrfit 1.4.1 documentation »
  • +
  • musrfit 1.4.2 documentation »
  • @@ -434,12 +434,12 @@ fit serves as template for the second and so on. The template field stays empty
  • previous |
  • -
  • musrfit 1.4.1 documentation »
  • +
  • musrfit 1.4.2 documentation »
  • diff --git a/doc/html/mupp.html b/doc/html/mupp.html index a7cc9003..6dd42422 100644 --- a/doc/html/mupp.html +++ b/doc/html/mupp.html @@ -6,7 +6,7 @@ - mupp - μSR Parameter Plotter — musrfit 1.4.1 documentation + mupp - μSR Parameter Plotter — musrfit 1.4.2 documentation @@ -14,7 +14,7 @@ - + @@ -41,7 +41,7 @@
  • previous |
  • -
  • musrfit 1.4.1 documentation »
  • +
  • musrfit 1.4.2 documentation »
  • @@ -252,12 +252,12 @@ SCRIPT COMMANDS:
  • previous |
  • -
  • musrfit 1.4.1 documentation »
  • +
  • musrfit 1.4.2 documentation »
  • diff --git a/doc/html/musr-root.html b/doc/html/musr-root.html index 4dde6afb..46516485 100644 --- a/doc/html/musr-root.html +++ b/doc/html/musr-root.html @@ -6,7 +6,7 @@ - MusrRoot - an Extensible Open File Format for μSR — musrfit 1.4.1 documentation + MusrRoot - an Extensible Open File Format for μSR — musrfit 1.4.2 documentation @@ -14,7 +14,7 @@ - + @@ -41,7 +41,7 @@
  • previous |
  • -
  • musrfit 1.4.1 documentation »
  • +
  • musrfit 1.4.2 documentation »
  • @@ -923,12 +923,12 @@ the entry has been added. The last token, previous | -
  • musrfit 1.4.1 documentation »
  • +
  • musrfit 1.4.2 documentation »
  • diff --git a/doc/html/musredit.html b/doc/html/musredit.html index a0dd9c47..0ace91e9 100644 --- a/doc/html/musredit.html +++ b/doc/html/musredit.html @@ -6,7 +6,7 @@ - musredit: the GUI Based Interface to musrfit — musrfit 1.4.1 documentation + musredit: the GUI Based Interface to musrfit — musrfit 1.4.2 documentation @@ -14,7 +14,7 @@ - + @@ -41,7 +41,7 @@
  • previous |
  • -
  • musrfit 1.4.1 documentation »
  • +
  • musrfit 1.4.2 documentation »
  • @@ -550,12 +550,12 @@ the corresponding fit parameter value, except the phases where the step will be
  • previous |
  • -
  • musrfit 1.4.1 documentation »
  • +
  • musrfit 1.4.2 documentation »
  • diff --git a/doc/html/objects.inv b/doc/html/objects.inv index 155ccf9289c62ffb3051194c9628f4b63f7893f0..445706eb6ed6bd70f0a4002f7cd5d3e7e3d40fae 100644 GIT binary patch delta 1815 zcmV+y2k7|p4*3p{cYoV*+cpq==T~5+ovHnR#CFm)%}YnVMpMgDbxGSN4Mc(xY7$@o z(30|5eeO5po4N~LBw4Zvs!yiCbIvXn*u{dLb17uRSH#%pW5Q-UA@rQg%h5Lrni+r7@^Zjn#Q*bN#B)4ux(g!(5Vk7=_G2>cHY#O1}L&8g58rkSGg(9rs{-wiLz- zUIc`U@-$_79bm+@QuaB=Xo|xXu?GV~gi*pIxmj5*jenTI{QDV~MI>&OhQ)OYjUEQI z231d7KMB5UumOSX%2<(p2`?3385W#HT+>j=kY`P<%|cQP#Tr$Gb@7+R%U>0Fnj=VFGXkV2HpC!v+Z z+R#dNb%PC27z1YA0ojwZZyB zzvN6>Vb`9UX;AWhuV|DElqphR$TQ6iOu=mxkkBy;IhNqECI-2I6iCF(>}uA-_5M&{o_|)};KoG+al{k%80Ru{o7N|da_kd#B z<{3e2!Az!JGrz5EL)aLU*7a9TzWqZVdPCw4q?1d0EPQh8l*ybO@~L=H2~RL=#ZXWk zQGZPw>X7?o??q_btckGOu|wN44_PMH7cjQ=^#J#58F(L806#79Z(wQh1S}5AxHt-$ zG_JV`waBV{iaAgn{N-ulBq85GbC#&^u~8ED&lvHgGd8Qv$rb{)-SMC^?DTHNH$!rX zw8D=CS9;yXkxw`M;a^({Da)XoS*;rBJ%5&&J)_hCHyP%&ZR?~cB2xWo6OPHl)wtV# z7;VjDo~RjAQGb!U`~GF;eoFzXu|It{dD!BH3Yr%gwVA|Kzt`(LT#sH|3aut~C#^@rSftfNgg} zpgu))~vpN>-ae7;qdmE{P}6X%sPc~0vYL}*{RUagf6y)d>!0~ z?R)m_G?07_3;D!pnkz|NBjcm`P=C^(xrHk1t`@t}??JkiAb=0Zd?-&`-|8izi;L$4 zY*&CTgRruSFbljh`?E(0>Nv@ec`J zlsO*3g&4{ovZz@b%TwcJsG?)pEa+rZ(y^$HRBV?F@8d<6UwjOi%N$xlnXi0I+&xU* z-XnNJt1cQ&%|~O$dI8xxNb2ENg7_BCmXA<=<_j{)I7}Pz$AR2lfurOHQ?C|CK_3CG zBuRs%Zh@-r0`(4nTRIpF;(v3`-f$_tzJ8aXn|lvjhho!&Hi>R%=V>6=$^#>XQH`+p z!egS+CmPaA>75Vgy$|R|AJ9)epr3s}AACT+cm?y!3*{B_bDyANJHw&~I!jM5WP&@K zJf)Lt!RU-X|Ni+RK|&q$gw9y_IM;8QEBprRPUC`|h?rZE`c4F{A%DIBQW|P()DG?Z zYeB2$zG^e~)ec+bGNRkPUn|>=U3X-jRQIj-2$PQ2)|fpz#uTvH8iM>e&Q?KeYi_ls z`~OgQEnhv6*`a@kys~k(ZecW+!kVL)<*#X`mRx&m=7Vfnun*}+AzWIuh6a&GM>)tc z6^XA0zI}W0@v3cDobxG^mZ{U2mH}vo^z4XZ3Lq0kh-4MMuQ<37Gj!B;)@*nS= F6!mz6hadm| delta 1810 zcmV+t2krRz4)hL?cYn!p<2Dez>nl)|RK-4E#`a{H%q1nSqZ-Rnv`mtd3L-%XF$r)0 z(30k}a?Ur*H>Dd~v|0p}lPR#@>qetD&@(QD4Ed568-9q{l*fc#l3B6(W^R-CJJP}D zR-(cKqUnm3FAC|d3bU9OAj6ps=G%~bt&kq(0(~~)EfzdWwSS0tI7_&++o1J3jxTfc z_oThOY+BQ7W;F;4Iol@Kcu|6{*GsKHSiTLwl~VGfS`e$q4GJZh(UGvfwGyMRLT1@E ztXwUjl@ujy(${LHSwbSENjtMDVO9hzj#v05;KrcY-7K~ujVnz^LGDG&O{J1fnGpfa z47lyM`fC&FwjevDxtj+?P>7z_r5W0p8GD#j`-5E%R<@(xE zm0FrI-1Jd9d#M#lvKS%(WVz)UcAKT?4hmK($KqQ`zWqBKtU;t7D+_-e_Mm?@7)EoR zJA@3gBw>2hLXT^u>@LP=ipwRi3kw4jql8Ivx3pXuF@J^q_fjr%PuwdFhwBa+Eo@aB zRK0NhBKV?42RODPBSm_Jc)m)F7W+Je@=iOG8FU1h zEq{GfJUorxKBDj%Rz|U7^WoUio*5{Cv6${4tL3Ubs31$qXvAYd3F3ff?lH<_;35^0 zELr$acDXP{!Xor+?1ly+>NEOpNgo*;83d~4a5mu2ikzHXcmHr|of>?g%OtMRgbnJ? z?juMsjX{IjT2q;L?fkyd4Qa!mwXVK$@_+3g`qUi|H;|lN<6~}m;|2qEV}JNy{Ir1$6b!F2Y_f@)UbowRx*fjCvfo(` zMeL^`;rZ~32T%lU#hshOC7Z_BQGcMXx^4oOOK38&o0V^%w&l$yKM$2@(JVN7<3VRD zE>pMwG$80d_C_0MgN?%AT<1?Q9JNQC;iz*{@L=Jv?!r}vhPflZnziua2WdSA-R_1+ zeTwSPfnbm+K#uPWk*JP!9l)onq*2+H^}<1J{2&y+&~p}SIcecAA!0NAqXF!d0%u~-|8j8tE=4t zwoO2Bc2$`zYY|j>+pHv#f`Q}=WQ(7w>ECeAA}qkK6o+*GPsKi3;ifm2?!MwXc8p5I z!R}fP=-3k%N<-#edd>z5@qhLBU52jjJ#Zb0Or5lebgyn-;eQ$&Hj{StHGoxn zUpCqMatp088Pd((-$=JZR~^|C>b~`!pwi)*Dzg`-r~*_|MUX$I>B@mk)h$t^0s#i7p##?mBK>ehex+@w7~6g0(OF*hfd*z_n7Iga^p9(iC=;rKvtz;|KQYYdBSn4 z+3JL&($Q&Kz}w=hJ3!V*^DoUQ9qO=^9+`W{MhBzY_a-V5{0s8Iq)!p~53r*Y^$j$1 AL;wH) diff --git a/doc/html/search.html b/doc/html/search.html index 27da148d..67522441 100644 --- a/doc/html/search.html +++ b/doc/html/search.html @@ -6,7 +6,7 @@ - Search — musrfit 1.4.1 documentation + Search — musrfit 1.4.2 documentation @@ -14,7 +14,7 @@ - + @@ -41,7 +41,7 @@
  • index
  • -
  • musrfit 1.4.1 documentation »
  • +
  • musrfit 1.4.2 documentation »
  • @@ -89,12 +89,12 @@
  • index
  • -
  • musrfit 1.4.1 documentation »
  • +
  • musrfit 1.4.2 documentation »
  • diff --git a/doc/html/searchindex.js b/doc/html/searchindex.js index 058381e2..b403ced5 100644 --- a/doc/html/searchindex.js +++ b/doc/html/searchindex.js @@ -1 +1 @@ -Search.setIndex({filenames:["acknowledgement","any2many","bugtracking","cite","index","msr2data","mupp","musr-root","musredit","setup-dks","setup-standard","tutorial","user-libs","user-manual"],titles:["Acknowledgements","any2many - a Universal \u03bcSR-file-format converter","Bugtracking","How to Cite musrfit?","Welcome to the musrfit documentation!","msr2data - A Program for Automatically Processing Multiple musrfit msr Files","mupp - \u03bcSR Parameter Plotter","MusrRoot - an Extensible Open File Format for \u03bcSR","musredit: the GUI Based Interface to musrfit","Setting up musrfit / DKS: High Speed Fitting with GPU’s","Setting up musrfit on Different Platforms","Tutorial for musrfit","Documentation of user libs (user functions)","User manual"],terms:{"\u03b1":[8,5,12,10,1,11,13,0,9,3,7,6],"\u03b2":[],"\u03b4":[8,5,12,10,1,11,13,0,9,3,7,6],"\u03b7":[8,5,12,10,1,11,13,0,9,3,7,6],"\u03b5":[8,5,12,10,1,11,13,0,9,3,7,6],"\u03b3":[8,5,12,10,1,11,13,0,9,3,7,6],"\u03b9":[8,5,12,10,1,11,13,0,9,3,7,6],"\u03ba":[8,5,12,10,1,11,13,0,9,3,7,6],"\u03c7":[8,5,12,10,1,11,13,0,9,3,7,6],"\u03bb":[8,5,12,10,1,11,13,0,9,3,7,6],"\u03bc":[8,5,12,10,1,11,13,0,9,3,7,6,4],"\u03bd":[8,5,12,10,1,11,13,0,9,3,7,6],"\u03bf":[8,5,12,10,1,11,13,0,9,3,7,6],"\u03c9":[8,5,12,10,1,11,13,0,9,3,7,6],"\u03c0":[8,5,12,10,1,11,13,0,9,3,7,6],"\u03c6":[8,5,12,10,1,11,13,0,9,3,7,6],"\u03c8":[8,5,12,10,1,11,13,0,9,3,7,6],"\u03c1":[8,5,12,10,1,11,13,0,9,3,7,6],"\u03c2":[8,5,12,10,1,11,13,0,9,3,7,6],"\u03c3":[8,5,12,10,1,11,13,0,9,3,7,6],"\u03c4":[8,5,12,10,1,11,13,0,9,3,7,6],"\u03b8":[8,5,12,10,1,11,13,0,9,3,7,6],"\u03c5":[8,5,12,10,1,11,13,0,9,3,7,6],"\u03be":[8,5,12,10,1,11,13,0,9,3,7,6],"\u03b6":[8,5,12,10,1,11,13,0,9,3,7,6],bastian:0,wojek:[5,3,0],veri:[8,11,0,13,10,7],much:[8,13,0,6,7],indebt:0,bmw:[],rigor:0,test:[8,10,0],musrfit:[],mani:[8,5,12,0,13,10,7],suggest:[5,10,0],contribut:[11,12,13,0],largest:0,part:[8,12,0,11,13,10,3,7],user:[],manual:[],which:[8,5,12,10,11,13,0,6,9,7],make:[8,0,13,10,9,7],access:[],broader:0,audienc:0,thank:0,uldi:0,locan:[9,3,0],work:[8,5,12,10,13,0,9,7],enabl:[],gpu:[],support:[],kind:[12,7,0],calm:0,extrem:0,compet:0,wai:[8,5,12,10,11,13,0,6,9,7],deal:[12,11,0,13,10,9,7],project:0,well:[5,12,11,13,0,9],chao:0,physicist:0,think:0,admir:0,allow:[8,5,12,1,13,10,6,9,7],most:[5,12,1,13,10,9,7],from:[],other:[1,11,13,10,6,9,7],detail:[8,12,1,11,13,10,9,7],descript:[],see:[8,5,12,1,11,13,10,6,9,7],here:[8,5,1,11,13,10,6,9,7],report:2,bug:[8,2],request:[11,13,2,10,6],"new":[8,5,11,13,2,10,7],featur:[],improv:[12,2,10],pleas:[5,12,11,13,2,10,3,7],bitbucket:[13,2,10],repo:[9,2,10],prefer:[8,13,2,10],send:[13,2],mail:2,suter:[9,3,2],psi:[8,12,11,13,2,10,9,7],sinc:[5,11,13,10,9,3,7],quit:[8,13,10,3,7],some:[],effort:3,develop:[],mainten:[3,7],packag:[],you:[8,13,10,6,9,3,7],should:[8,5,12,11,13,10,6,9,3,7],least:[5,11,13,10,3],your:[8,5,13,10,9,3],"public":[12,3,13,10],have:[8,5,12,11,13,10,9,3,7],analyz:[],data:[],even:[5,13,10,3,7],better:[5,3,13],cours:[5,3,13,10],properli:[5,9,3,13],refer:[8,12,11,13,10,9,3,7],given:[8,5,12,11,13,10,6,9,3,7],beneath:[8,3],free:[8,12,13,10,3,7],platform:[],independ:[12,3,13],framework:[],analysi:[5,12,11,13,10,9,3,7],physic:[9,3,13,7],procedia:3,http:[8,12,13,10,9,3,7],doi:3,org:[3,10],phpro:3,high:[],speed:[],version:[8,12,13,10,6,9,3,7],util:[13,10,9,3,7],"case":[8,5,12,11,13,10,6,9,3,7],thi:[8,5,12,11,13,10,6,9,3,7],also:[8,5,12,11,13,10,6,9,3,7],add:[8,5,11,13,10,6,9,3,7],follow:[8,5,12,11,13,10,6,9,3,7],citat:3,adelmann:3,dynam:[9,3],kernel:[9,3],schedul:[9,3],comput:[9,3,10],commun:3,cpc:3,real:[11,13,10,9,3],time:[8,12,11,13,10,6,9,3,7],paramet:[],fit:[],imag:[3,13,11],reconstruct:3,graphic:[],process:[],unit:[3,13,7,11],conf:[9,3,10],proc:3,jpscp:3,tutori:[],singl:[],histogram:[],asymmteri:[],introduct:[],avail:[],execut:[],configur:[],basic:[],usag:[],msr:[],type:[],"function":[],technic:[],lib:[],meissner:[],profil:[],vortex:[],lattic:[],relat:[],nonloc:[],superconduct:[],screen:[],nmr:[],bnmr:[],set:[],differ:[],oper:[],system:[],softwar:[],requir:[],restrict:[],gnu:[],linux:[],window:[],mac:[],maco:[],tesla:[],k40c:[],nvidia:[],amd:[],card:[],radeon:[],"390x":[],opencl:[],musredit:[],gui:[],base:[],interfac:[],musrwiz:[],musrstep:[],mupp:[],plotter:[],script:[],summari:[],msr2data:[],program:[],automat:[],multipl:[],option:[],global:[],mode:[],known:[],limit:[],provid:[],musrroot:[],extens:[],open:[],concern:[],root:[],tmusrrunhead:[],concept:[],runinfo:[],detectorinfo:[],sampleenvironmentinfo:[],magneticfieldenvironmentinfo:[],beamlineinfo:[],exhaust:[],tree:[],includ:[],everyth:[],tmusrrunphysicalquant:[],possibl:[],represent:[],index:[5,13,4],search:[13,10,4],page:[8,11,10,9,7,4],origin:[5,8,13,12],written:[8,5,12,11,13,7],implement:[8,5,12,13,10,9,7],purpos:[5,13,11,10],input:[5,8,13,11],same:[5,12,11,13,10,6,9,7],summar:[5,11],result:[8,5,12,11,13,7],either:[8,5,12,11,13,10,6],triumf:[5,8,13,11],column:[8,5,11,13,7],ascii:[8,5,12,11,13],essenti:[5,8,13,7],collect:[8,5,12,11,13,10,6,7],old:[5,13,10],abridg:5,produc:[5,13,11,10],can:[8,5,12,11,13,10,6,9,7],view:[],instanc:[5,13,10,6,7],howev:[5,11,13,10,9],thei:[5,11,13,10,9,7],complet:[5,12,11,10,9],backward:[5,13,7],compat:[5,9,13,10],languag:5,name:[8,5,12,11,13,10,6,9,7],longer:5,than:[8,5,11,13,10,7],five:[5,11],six:5,charact:[5,13],order:[5,12,13,10,9,7],establish:5,need:[8,5,12,11,13,10,9,7],ensur:[5,13],correct:[8,5,11,13,10],length:[5,12,7],apart:[5,12,10],numer:[5,12,10],might:[8,5,12,13,10,6,7],principl:[5,12,10],four:5,call:[8,5,12,11,13,10,6,7],suppli:[5,12,9,13],number:[8,5,12,11,13,10,6,9,7],firstrunno:5,lastrunno:5,interv:[5,13],specifi:[8,5,12,11,13,10,7],through:[5,12,11,13,10,7],first:[8,5,12,11,13,10,6,9,7],last:[],condit:[5,12],necessari:[8,5,11,13,10,7],runlist:[5,13],where:[8,5,12,11,13,10,6,9,7],combin:[8,5,11,13,7],run0:5,run1:[5,13],run2:[5,13],runn:5,rang:[],step:[],sequenc:[5,13,11,10],posit:[5,13,7,11],integ:[5,13,7],etc:[8,5,13,10,9,7],runlistfilenam:5,contain:[],extern:[5,12,13,10,7],pass:[5,8,13],below:[5,12,11,13,10,7],all:[8,5,11,13,10,6,9,7],mandatori:[5,12,13,7],right:[5,12,11,13,10,7],after:[8,5,11,13,10,9,7],mean:[8,5,12,11,13,10,6,9,7],becom:[5,10],clear:[5,8,13,7],give:[5,11,13,10,7],exampl:[8,5,12,11,13,10,6,7],"_tf_h13":5,out:[8,5,11,13,10,6,9,7],chang:[8,5,13,10,9],"8472_tf_h13":5,"8473_tf_h13":5,"8474_tf_h13":5,"8470_tf_h13":5,directori:[8,5,12,11,13,10,9,7],put:[5,8,13,10],var1:5,var2:5,var3:5,comment:[8,5,13,10,6,9,7],empti:[5,8,13,6],line:[8,5,12,11,13,10,6,7],determin:[],label:[8,5,12,13,6,7],present:[8,5,12,11,13,10,6,9,7],preced:5,mention:[5,12,13,10,7],togeth:[8,5,11,13,10,7],abov:[8,5,12,11,13,10,6,9,7],output:[8,5,12,11,13,6],onli:[8,5,12,11,13,10,6,9,7],newli:[5,8,11],creat:[],did:[5,10],exist:[5,13,10],befor:[8,5,12,11,13,10,9,7],invok:[5,8,13,6],were:[5,8,13,7],alreadi:[8,5,13,10,9],would:[8,5,12,11,13,10,6,9,7],append:[5,13,10],been:[8,5,12,11,13,10,7],header:[],block:[],forc:[5,13],suppress:5,nohead:[5,8],shall:[8,5,12,11,13,10,7],seen:[5,7,11],later:[5,13,11,10],like:[8,5,12,13,10,6,9,7],behavior:[5,13],ani:[8,5,11,13,10,9,7],simpl:[5,12,11,13,10],"default":[8,5,13,10,9],dat:[8,5,12,11,13,6],delet:[5,7],inform:[],both:[5,12,13,10],none:[5,8,13,11],write:[],sole:[5,13],assum:[8,5,12,11,13,10,9,7],nosummari:[5,8],attempt:5,read:[],addit:[8,5,12,11,13,10,9,7],temperatur:[5,11,13,6,7],appli:[5,12,11,13,10,7],magnet:[5,8,7,12],field:[],paramlist:5,param:[5,8,13,6],select:[8,5,11,13,10,6,9,7],"export":[5,11,13,10,9],startno:5,endno:5,space:[5,12,13,10],separ:[8,5,11,13,10],outputfilenam:[5,13],instead:[5,12,13,10,9,6],equal:[5,13,11],insensit:5,addition:[8,5,11,13,10],"final":[5,12,11,13,10],templat:[5,8,13,11],perform:[8,5,11,13,10,6,7],mlog:[5,8,13],subsequ:[5,13],chain:[5,8,10],exclam:5,mark:[5,13],without:[],keep:[5,8,13,7],mn2:[5,13],done:[5,12,11,13,10,6,9,7],ignor:[5,13,6],titl:[],illustr:[5,13],few:[8,5,13,10,7],explan:[5,13],oabc:5,"8400_tf_h13":5,"8460_tf_h13":5,abc:5,about:[5,11,13,10,7],"_zf":5,def:5,"8472_zf":[5,8],"8500_zf":5,"8502_zf":5,"8503_zf":5,"8504_zf":5,"8507_zf":5,oghi:5,ouput:5,ghi:5,take:[5,12,11,13,10],"8471_tf_h13":5,"8475_tf_h13":5,bestdata:5,"8476_tf_h13":5,"8477_tf_h13":5,"8478_tf_h13":5,"8479_tf_h13":5,describ:[8,5,12,11,13,10,9,7],anoth:[8,5,13,6,7],each:[5,12,11,13,10,6,7],defin:[8,5,12,11,13,10,6,7],common:[5,13,10],specif:[8,5,12,11,13,10,7],when:[8,5,12,11,13,10,7],obtain:[5,12,7],valid:[],conjunct:[5,12,13,10],invoc:[5,13],state:[],idea:[5,13,7,11],basi:5,identifi:[5,13],tag:[8,5,12,11,13,10,9,6],current:[8,5,12,13,10,6,9,7],"0xu":5,digit:[5,13],lead:[8,5,12,13,7],zero:[8,5,11,13,7],end:[8,5,11,13,10,6,7],alpha0123:5,alpha00123456:5,fitparamet:[],exemplari:[5,13],"8472_exampl":5,could:[8,5,12,13,10,9,6],therefor:[5,12,11,13,10],look:[8,5,12,13,10,6,9,7],valu:[8,5,11,13,10,9,7],pos_error:[5,13,11],boundari:[8,5,12,11,13],phase:[8,5,12,11,13],asy8472:5,rate8472:5,treat:[5,10],wherea:[5,8,13],normal:[5,13,11,10],within:[8,5,12,11,13,10,6,7],appear:[5,13],explicitli:[5,8,13],theori:[],those:5,met:5,"try":[5,13,10],substitut:[5,13,11,10],them:[8,5,12,11,13,7],map:[],accordingli:[5,11,6,10],"_exampl":5,global_exampl:5,alwai:[5,12,13,7],start:[8,5,11,13,10,6,9,7],asy8471:5,rate8471:5,asy8470:5,rate8470:5,show:[8,5,11,13,6,7],reorgan:5,begin:[5,13,7,10],copi:[5,8,13,10],found:[8,5,12,11,13,10,9,7],dure:[5,12,13,10,6],affect:5,occurr:[5,10],awar:[5,13,10],fact:[5,10],propag:5,model:[],usual:[5,12],store:[8,5,12,10,7],reach:[5,13],goal:[5,13],obei:[5,13],certain:[5,12],rule:[5,8,13,7],match:[5,13],accord:[8,5,11,13,10],achiev:[5,11,10],easili:[5,8,9,10],shown:[8,5,11,13,6,7],globalfit:5,relev:[8,5,11,13,7],pre:[5,8],afterward:[5,12,13,10,6,9,7],special:[5,13,7,10],replac:[5,9,13,10],review:5,activ:[5,8,12,10],choos:[8,5,12,11,13,10],keyword:[5,13],onerunfit_exampl:5,onerunfit:5,everi:[5,13,6,10],similar:[5,10],explain:[8,5,12,11,13,10,9,7],moment:[5,12,7,10],peopl:[5,7,10],cannot:[5,12,13],behav:[5,12],integr:[5,12,10],filenam:[5,13,7],rightmost:5,highest:[5,10],treatabl:5,statist:[],itself:[5,11],more:[8,5,11,13,10,6,9,7],creativ:5,care:[5,13,10],addrun:[5,13],statement:[5,13],simpli:[5,13,10],probabl:[5,7,10],what:[5,12,11,13,10,9],two:[8,5,12,11,13,10,7],success:[5,13,7,11],encount:5,actual:[5,12,13,10],measur:[8,5,12,11,13,6,7],introduc:[5,13,7,11],reason:[5,11,13,10,9],shape:[5,12,13],design:[5,10],especi:[5,12,13,10,9,7],manipul:[5,8,13],front:[5,8,7,11],offer:[5,13,11],almost:[5,8,13],self:[5,8],explanatori:[5,8],depict:[5,13],under:[8,5,13,10,6,9,7],stai:5,enter:[5,8,9,10],otherwis:[5,9,13,10],serv:[5,13,11],second:[8,5,12,11,13,10],noth:[5,8,13,7],correspond:[8,5,11,13,10,6,7],littl:[8,13,6],helper:[8,7,6,10],quickli:[9,6],plot:[],handl:[8,12,13,10,6,7],heavili:[12,6],inspir:6,via:[],command:[],directli:[8,13,10,6,7],typic:[8,13,10,9,6],load:[12,6],dialog:[8,6],tri:[13,6,10],fly:[6,11],drag:[6,11],over:[13,6,10],axi:[12,11,13,6,7],wish:[13,6],click:[8,13,6],analog:6,remov:[13,6],often:[8,13,6,10],compar:[9,13,6,10],trend:6,hold:[13,7,6],energi:[12,7,6],scan:[13,6],now:[11,13,10,9,6],interest:[13,6,10],ditto:6,less:[13,6,10],error:[8,12,11,13,10,6,9,7],prone:[8,9,6],quicker:[13,6],button:[8,13,6,11],mupp_plot:6,applic:[8,12,13,10,9,6],refresh:6,reload:[8,6],beamtim:6,grow:6,task:6,mous:[13,6],gambl:6,futur:[8,6,10],plane:6,help:[8,13,10,9,6],cmd:[6,10],manner:[6,10],updat:[11,13,10,9,6],web:[8,13,10,6,7],interact:[12,13,6,11],figur:[13,7,6],loadpath:6,dir:6,path:[8,11,13,10,6,9,7],bash:[6,10],variabl:[],home:[8,12,13,10,6,9,7],accept:[8,13,6],coll:6,selectal:6,carri:[13,6,10],ybco:6,"40nm":6,t5k:6,fc150mt:6,escan:6,addx:6,addi:6,savepath:6,save:[8,12,11,13,10,6,7],place:[11,13,6,10],macro:6,fln:[13,6],txt:[6,10],t30k:6,t60k:6,t120k:6,fieldvsenergi:6,pdf:[13,6],"true":[12,13,7,6],best:[12,13,10,6,7],ever:[7,6],thie:6,labl:6,until:[13,7,11],bulk:[],instrument:[8,13,7],bin:[8,11,13,10,7],fix:[8,13,7,11],binari:[7,10],rather:[8,13,7,10],stringent:7,lem:[12,13,7],cern:[13,7,10],tightli:7,tailor:7,situat:[13,7,10],unsatisfactorili:7,henc:[11,13,10,9,7],decid:[13,7,10],move:[13,7,11],forward:[9,13,7,11],acquisit:7,mida:7,respons:[9,13,7],build:[],decai:[13,7,11],easi:[8,7],object:[],th1f:7,orient:[12,7],mine:7,frame:[9,13,7],tfile:7,eas:[13,7,10],understand:[13,7],upcom:[7,10],definit:[13,7,11],thing:[8,13,10,9,7],check:[],guid:[9,13,7],organ:[8,13,7],similarli:[13,7],browser:7,inspect:7,tbrowser:7,deriv:[13,7],tobject:7,small:[8,12,13,10,9,7],subset:[13,7],tfolder:7,top:[7,10],level:[13,7],tobjarrai:7,tobjstr:7,content:[13,7,10],form:[12,11,13,10,9,7],box:[8,9,7],entri:[13,7],sketch:[13,7],histo:[8,11,13,10,7],decayanamodul:7,hdecay001:7,hdecay002:7,scanamodul:7,hsampletemperatur:7,hsamplemagneticfield:7,detector001:7,detector002:7,hdecayxxx:7,xxx:7,"int":7,"03d":7,notat:[13,7],"class":[12,13,7],folder:[7,10],next:[8,12,13,10,9,7],section:[13,7,10],slow:7,control:[9,13,7],sampl:[12,9,7,11],versu:7,again:[8,13,10,9,7],meta:7,minim:[12,11,13,10,7],bracket:7,item:[13,7],detector:[8,12,11,13,7],environ:[],beamlin:[8,13,7,11],elabor:[9,7],word:7,sub:[11,13,7,10],intern:[8,13,7],tstring:7,git:[9,13,7,10],url:7,xsd:7,wrote:7,nemu_analyz:7,deltat_tdc_gps_4295:7,int_t:[13,7],iso:7,date:[13,7,11],stop:7,durat:7,sec:[13,7],laboratori:7,muon:[],beam:7,momentum:[12,7,11],mev:7,speci:7,neg:[],sourc:[],target:7,low:[12,13,7],setup:[9,13,7,10],cf1:7,wxy:7,resolut:[12,7],redgreen:[13,7],offset:[13,7],tintvector:7,except:[8,13,7,10],shortli:[13,7],discuss:[8,9,13,7],experi:[13,7],stimuli:7,electr:7,off:[13,7,10],doubl:[13,7],distinguish:7,easier:[7,10],let:7,sai:7,red:[11,13,10,9,7],green:[13,7,11],browsabl:7,string:[8,13,7,10],tobjstringv:7,quantiti:7,repres:[13,7,11],properti:[13,7],estim:[8,12,13,7],demand:[13,7],depend:[8,12,11,13,10,9,7],musrrootv:7,mock:7,print:[8,13,7],notic:[8,13,7],find:[8,13,10,9,7],encod:[8,12,13,10,7],price:7,pai:7,shade:7,"import":[13,7],approach:[13,7,10],standard:[9,13,7,10],"abstract":[13,7],text:[8,13,7,11],though:[8,7,10],clean:[9,7,10],lot:[13,7],"2nd":7,slightli:[8,9,13,7],advantag:[8,13,7,10],maintain:7,expand:7,classifi:7,group:[8,13,7,10],previou:[13,7],"float":7,point:[8,12,11,13,10,7],double_t:[13,7],tstringvector:7,tdoublevector:7,themselv:[12,7],vector:[12,13,7],code:[12,11,13,10,9,7],snippet:[13,7],reader:7,routin:[12,13,7,10],convers:[13,7],write_musrroot_runhead:7,full:[11,13,7,10],concentr:7,just:[12,13,10,9,7],prop:7,further:[],down:[8,13,7,11],deltat_tdc_gps_2871:7,come:[8,7,10],overload:7,pathnam:7,method:[13,7],tdc:[13,7],cf3:7,mrh_undefin:7,strang:7,fed:[13,7],whole:7,someth:[9,13,7,10],recreat:[8,7],iszombi:7,"return":[13,7],info:[],fillfold:7,close:[8,13,7,10],read_musrroot_runhead:7,getobject:7,cerr:[13,7],endl:[13,7],couldn:[13,7],get:[8,13,10,9,7],closefil:7,extractal:7,decod:7,fill:[13,7,11],getter:7,bool_t:[13,7],ival:7,cout:7,els:[8,13,7,10],getvalu:7,geterror:7,getunit:7,getdemand:7,getdescript:7,mechan:[13,7],inde:7,minimum:7,scheme:7,musrrootvalid:7,recurs:7,pars:7,temporari:7,xml:[],ampl:[13,7],parser:[7,10],hand:[13,7,10],decent:7,book:7,libxml2:[7,10],becaus:[8,7],suppos:[13,7,10],against:7,schema:7,lmu:[8,7],semant:7,preform:7,cross:[13,7,10],facil:[8,13,7],musrrootlem:7,poitiv:7,wew:7,hdecay023:7,detector023:7,potenti:[],discontinu:7,"break":7,element:7,left:[8,12,7],npp:[8,11,13,10,7],spectromet:[9,13,7,11],good:[8,13,10,9,7],enough:[13,7,10],cryo:7,cryostat:7,oven:7,konti:7,pim3:[13,7,11],hypothet:7,light:7,per:[8,13,7],bottom:7,split:[13,7,10],mind:7,symbol:[7,10],hdecay003:7,hdecay004:7,hdecay007:7,hdecay008:7,hdecay011:7,hdecay012:7,hdecay013:7,hdecay014:7,hdecay017:7,hdecay018:7,hdecay021:7,hdecay022:7,hdecay024:7,hdecay027:7,hdecay028:7,hdecay031:7,hdecay032:7,hdecay033:7,hdecay034:7,hdecay037:7,hdecay038:7,continu:7,"switch":[8,13,10,9,7],jump:[13,7],cpp:[13,7],"00z":7,nemu:[13,7,10],lem12_his_0234:7,said:7,detector038:7,insert:7,x123:7,perp:7,spin:[12,13,7,11],mue4:[8,13,7],scalerinfo:7,runsummari:7,wed:7,oct:7,lco:7,wtf:7,kev:[12,7],ledb:7,buc:7,edit:[8,11,7,10],euc:7,event:[7,11],event_0:7,mcp1:7,event_1:7,mcp2:7,event_2:7,lemusr:7,problem:[],deviat:[13,7],hereaft:7,snip:7,somewher:[8,7,10],token:[13,7],val:[13,7],err:7,cf4:7,cf5:7,editor:[8,11,10],suit:[8,12,13,11],intend:[8,13,10],eventu:[8,11,10],drop:[8,10],outdat:[8,13,10],earli:[8,13],anymor:[8,10],still:[8,12,13,10,9],urg:8,strongli:[8,13,10],recommend:[8,12,10],shell:[8,13,10],tab:[8,13],startup:[],displai:[8,12,13,10],locat:[8,12,11,13,10],proof:8,exec_path:8,path_to_exec:8,musrview:[],musrt0:[],insid:[8,12,13,10],default_save_path:8,save_path:8,msr_default_file_path:8,msr_def_path:8,timeout:[8,13],canva:[8,13,11],keep_minuit2_output:8,flag:[8,13],minuit2:[8,13,10],kept:[8,13],dump_ascii:8,dump:[8,13],dump_root:8,title_from_data_fil:8,chisq_pre_run_block:8,chisq:[8,13,11],estimate_n0:8,procedur:[8,12,11,13,10,9],musrview_show_fouri:8,fourier:[],transform:[8,12,11,13,10],domain:[8,13,11],musrview_show_avg:8,averag:[8,12,13],power:[8,11,13,10,9],spectra:[8,13],enable_musrt0:8,font_set:8,font:[8,10],font_nam:8,font_siz:8,size:[8,13],msr_file_default:8,institut:[8,13,11],inst:8,ral:8,jparc:8,file_format:[8,13],nexu:[],musr:[8,13],ppc:[8,13,11],mdu:[8,13,11],wkm:[8,13,11],mud:[8,13,11],lifetime_correct:8,lifetimecorrect:[8,13],msr2data_default:8,tick:8,chain_fit:8,write_data_head:8,ignore_data_header_info:8,write_column_data:8,create_msr_file_onli:8,fit_onli:8,global_plu:8,recreate_data_fil:8,open_file_after_fit:8,experienc:[8,10],who:8,help_sect:8,variou:[8,13,10],messag:[8,13],musr_web_x:8,link:[8,13,10],main:[8,11,10],musrft:[],func_pixmap_path:8,pix_path:8,latex:8,pixmap:8,visual:[8,11],theory_funct:8,syntax:[8,13],func:8,menu:[8,13,11,10],pictur:8,utf:[8,12,13,10],xmln:[8,13],html:8,usr:[8,10],local:[8,12,9,10],share:[8,9,13,10],doc:[8,13,11,10],chisq_per_run_block:8,recent_fil:8,path_file_nam:8,musr_web_main:8,musr_web_titl:8,thetitl:8,musr_web_paramet:8,thefitparameterblock:8,musr_web_theori:8,thetheoryblock:8,musr_web_funct:8,thefunctionsblock:8,musr_web_run:8,therunblock:8,musr_web_command:8,thecommandsblock:8,musr_web_fouri:8,thefourierblock:8,musr_web_plot:8,theplotblock:8,musr_web_statist:8,thestatisticblock:8,musr_web_msr2data:8,musr_web_musrft:8,a_2:8,"3_musrft":8,monospac:8,latex_imag:8,asymmetri:[],png:[8,13],statgsskt:[8,13],rate:[8,12,13,11],"static":[8,12,10],gauss:[8,12,13,11],respect:[8,12,11,13,10],bar:[8,13],keyboard:[8,11],shortcut:[],scratch:8,too:[8,10],priori:8,knowledg:8,calcul:[8,12,11,13,10],log:[8,12,13],max:[8,13],likelihood:[8,12,13],kei:[],alt:8,equival:[8,13,10],mai:[8,13,10],chosen:[8,13,10],swap:[8,13],vice:[8,13],versa:[8,13],adjust:[8,13,11,10],initi:[8,12,11,13,10],fitter:8,own:[8,13],docu:[8,9,13],raw:[8,13],dump_head:[],stage:[8,13],wand:8,coupl:[8,9,13],dialogu:8,briefli:8,explicit:[8,13],year:[8,9,13],pull:[8,10],choosen:8,rrf:[],minu:8,transvers:[8,13,11],longitudin:8,choic:[8,13,10],question:[8,13],ask:[8,10],correctli:[8,13,11,10],proper:[8,9,13],prompt:[8,9,13,10],peak:[8,12,13],pop:8,disadvantag:8,freeli:8,custom:[8,13],cost:8,yourself:8,stand:[8,9],whatev:[8,9],press:[8,13,11],syntact:8,appropri:[8,9],previous:8,handi:8,furthermor:[8,13,10],pack:[8,13,11,10],minuit:[8,12,13],reset:[8,13],sometim:[8,13],went:[8,10],wrong:8,leav:8,far:[8,13],iter:[8,12,13],individu:[8,13],tediou:[8,12],popup:8,asym:8,uncheck:8,unselect:8,modifi:[8,12],degre:[8,13,11],cancel:8,anyth:[8,13],scale:[8,13],factor:[8,13],absolut:[8,13,11,10],explor:[9,10],hal:[9,13],memo:[9,13],rotat:[9,13,11],tremend:[9,10],muonium:[9,13],appl:[9,10],cpu:[9,13,10],straight:9,multi:[9,13,10],thread:[9,13,10],doesn:9,openmp:[9,13,10],shop:9,bui:9,gamer:9,sure:[9,13,10],server:[9,10],suffici:[12,9],strong:[9,13,11],yet:[12,9,13,11],fall:[9,13],back:[9,13],conceptu:9,latest:[9,10],hardwar:9,crunch:9,readi:[9,13,10],acceler:[9,13],termin:[11,9,13,10],lspci:9,grep:[9,10],corpor:9,gk110bgl:9,rev:[12,9,13],recogn:9,download:[9,10],center:[12,9],hat:[9,10],enterpris:9,rhel:[9,10],rpm:[9,10],diag:9,rhel7:9,x86_64:9,conflict:9,nouveau:9,reboot:9,machin:[12,9,10],omit:[9,13,10],thin:[12,9],host:9,incorpor:9,paper:9,wiki:9,brief:[9,10],clone:[9,10],got:9,consist:[12,9,13],gitlab:[9,13,10],uldis_l:9,mkdir:[9,10],denable_musr:9,dcmake_install_prefix:[9,10],exec:9,non:[],librari:[12,9,13,10],"super":9,sbin:[9,10],ldconfig:[9,10],ld_library_path:[9,10],launchctl:[9,10],setenv:[9,10],checkout:[9,10],branch:[9,10],dks6:9,soon:[9,10],want:[9,13,10],tell:[9,13],aslib:[9,10],bmwlib:[9,10],prefix:[9,10],rootsi:[9,10],lookup:9,superus:[9,10],ddk:9,disabl:[9,13,10],daslib:[9,10],dbmwlib:[9,10],dnexu:[9,10],vga:9,advanc:9,micro:[9,13],devic:9,inc:9,ati:9,hawaii:9,grenada:9,"290x":9,amdgpu:9,pro:[9,10],unpack:[9,10],tar:[9,13,10],jxvf:9,blabla:9,usermod:9,video:9,technolog:9,materi:9,leverag:9,amp:9,xvjf:9,sdkinstal:9,linux64:9,bz2:[9,13],opt:[9,13,10],amdappsdk:9,note:[12,9,13,10],instruct:[9,13,10],compil:[9,13,10],xcode:[9,10],deliv:9,easiest:9,involv:[12,9],demonstr:10,"while":10,brave:10,virtual:10,encourag:10,gcc:[13,10],tool:[13,10],autoconf:10,libtool:10,toolchain:10,drope:10,releas:[13,10],plan:10,pkg:10,config:10,boost:10,spirit:10,scientif:[12,13,10],effici:[12,13,10],mathemat:[13,10],fftw:10,fast:10,discret:[11,10],toolkit:10,gnome:10,hdf4:[13,10],manag:10,hdf5:[13,10],minixml:10,neutron:10,rai:10,scienc:10,focus:10,seriou:10,distribut:[],fedora:10,debian:10,ubuntu:10,mint:10,opensus:10,nativ:10,microsoft:10,distributor:10,taken:[13,10],dev:10,devel:10,trick:10,never:10,qt4:10,yum:10,gsl:10,qtwebkit:10,qt5:10,epel:10,qtbase:10,qtsvg:10,dpkg:10,apt:10,libboost:10,libgsl:10,libfftw3:10,libqt4:10,libqtwebkit:10,qtbase5:10,libqt5svg5:10,libqt5webkit5:10,everyon:10,know:10,himself:10,doe:[13,10],websit:10,engin:10,mxml:10,hdf:10,libmxml1:10,libmxml:10,libhdf4:10,libhdf5:10,urgent:[13,10],isi:[13,10],safe:[13,10],master:10,repositori:10,github:10,com:10,nexusformat:10,denable_hdf5:10,denable_hdf4:10,denable_mxml:10,sudo:10,flavour:10,legaci:10,incompat:10,guess:[13,10],warn:[13,10],upgrad:10,recompil:10,redhat:10,libx11:10,libxft:10,libxpm:10,libxext:10,systemat:10,term:10,offici:10,root_build:10,dgminim:10,dasimag:10,dmathmor:10,dminuit2:10,dxml:10,root_exec:10,multicor:10,miss:[13,10],told:10,luke_skywalk:10,echo:10,bashrc:10,bash_profil:10,restart:10,onc:[11,12,13,10],proceed:10,recent:[13,10],muonspin:10,root5:10,root6:10,newer:10,dec:10,whether:[13,10],uninstal:10,xarg:10,install_manifest:10,altern:[13,10],autogen:10,prepar:10,successfulli:[13,10],makefil:[13,10],besid:10,fftw3:[12,10],boostinc:10,qt3:10,qt47:10,lib64:10,omp:[13,10],parallel:[11,12,13,10],detect:[11,10],permiss:10,dbnmrlib:10,bnmrlib:10,dqt_based_tool:10,dqt_version:10,auto:10,dtry_openmp:10,core:10,finish:[11,10],musrfitpath:10,musrfit_startup:[],built:[13,10],everth:10,src:10,musredit_qt5:10,qmake:10,fine:10,skip:10,higher:10,uic:10,quick:[13,10],hasn:10,adventur:10,advic:10,wonder:10,occur:10,great:10,gain:10,nice:[12,10],unix:10,revis:[13,10],fulfil:10,abl:10,a2p:10,passwd:10,binutil:10,bison:10,bzip2:10,colorgcc:10,coreutil:10,curl:10,cygutil:10,editright:10,findutil:10,flex:10,adob:10,dpi100:10,dpi75:10,alia:10,bitstream:10,ibm:10,type1:10,sun:10,misc:10,xfree86:10,fontconfig:10,freeglut:10,gawk:10,gcc4:10,fortran:10,gccmakedep:10,gettext:10,ghostscript:10,std:[13,10],giflib:10,gmp:10,groff:10,gzip:10,inputproto:10,jasper:10,jpeg:10,lapack:10,libbz2_1:10,libcharset1:10,libcurl4:10,libfftw3_3:10,libgcc1:10,libgd:10,libgif:10,libgl:10,libgl1:10,libglu:10,libglu1:10,libglut:10,libglut3:10,libgmp:10,libgmp3:10,libgomp1:10,libic:10,libice6:10,libjpeg:10,libjpeg62:10,liblapack:10,libmpfr:10,libmpfr1:10,libncurs:10,libncurses9:10,libosmesa:10,libosmesa7:10,libpng:10,libpng14:10,libreadline6:10,libsm:10,libsm6:10,libssh2_1:10,libstdc:10,libtiff:10,libtiff5:10,libx11_6:10,libxau:10,libxau6:10,libxaw7:10,libxcb:10,xlib:10,libxcursor:10,libxcursor1:10,libxdmcp:10,libxdmcp6:10,libxext6:10,libxfix:10,libxfixes3:10,libxfont:10,libxfont1:10,libxft2:10,libxi:10,libxi6:10,libxkbfile1:10,libxmu:10,libxmu6:10,libxpm4:10,libxrend:10,libxrender1:10,libxt:10,libxt6:10,login:10,makedepend:10,man:10,mpfr:10,nano:10,opengl:10,openssh:10,openssl:10,pdftk:10,perl:10,ping:10,psutil:10,python:10,readlin:10,rebas:10,rgb:[13,10],rsync:10,sed:10,subvers:10,tcltk:10,terminfo:10,unzip:10,vim:10,w32api:10,icon:[11,13,10],xauth:10,xextproto:10,xfontsel:10,xinit:10,xkbcomp:10,xkeyboard:10,xkill:10,xlogo:10,xlsfont:10,xorg:10,xproto:10,xrdb:10,xrefresh:10,xset:10,xterm:10,zip:10,zlib:10,zlib0:10,libqt3support4:10,libqtassistantclient4:10,libqtcore4:10,libqtdbus4:10,libqtdesigner4:10,libqtgui4:10,libqthelp4:10,libqtnetwork4:10,libqtopengl4:10,libqtscript4:10,libqtscripttools4:10,libqtsql4:10,libqtsvg4:10,libqttest4:10,libqtwebkit4:10,libqtxml4:10,libqtxmlpatterns4:10,posix:10,convent:[12,10],hard:10,drive:10,network:10,cygdriv:10,stick:10,had:10,x_yy_z:10,"1_33_1":10,librpc:10,sunrpc:10,track:10,patch1:10,www:[12,10],hdfgroup:10,ftp:10,jpegsrc:10,v6b:10,msweet:10,project3:10,hdf_current:10,precompil:10,xzf:10,root_v5:10,win32gcc:10,due:[12,13,10],visit:10,gminim:10,asimag:10,mathmor:10,accomplish:10,usernam:10,qtdir:10,i686:10,reopen:10,qt56:10,readili:10,startxwinrc:10,status_access_viol:10,ash:10,rebaseal:10,resolv:10,administr:10,privileg:10,extent:10,emploi:10,emphas:10,rout:10,dvd:10,xcodebuild:10,licens:[13,10],x11:10,leopard:10,snow:10,xquartz:10,macosforg:10,trac:10,newest:10,port:10,selfupd:10,remark:[13,10],synchron:10,frequent:10,happen:10,servic:10,firewal:10,svn:10,trunk:10,dport:10,sync:10,pkgconfig:10,qtwebengin:10,past:10,unfortun:10,subject:10,mini:10,michaelrsweet:10,lazi:10,dmg:10,sierra:10,writ:10,root_v6:10,macosx64:10,clang91:10,owner:10,life:[11,13,10],chown:10,chgrp:10,staff:10,exactli:[13,10],wisdom:[12,10],harder:10,adopt:[13,10],parenthes:[13,10],macosx:10,plist:10,doctyp:10,dtd:10,propertylist:10,dict:10,qt3mac:10,stabl:10,crypto:10,unstabl:10,finkcommand:10,boost1:10,nopython:10,shlib:10,libtool2:10,qtwebenginecor:10,qtwebenginewidget:10,bit:10,earlier:10,"1_63_0":10,cpp11:10,circumst:10,finder:10,workaround:10,dyld_library_path:10,mgui:10,differenti:[13,11],diamagnet:[12,11],approxim:11,geometri:11,positron:[12,11],counter:[13,11],precess:11,"3110_tutori":11,conveni:11,underli:11,divid:[12,11],xyz:11,normup:11,bgup:11,phaseup:11,normdown:11,bgdown:11,phasedown:11,normright:11,bgright:11,phaseright:11,asymsig1:11,ratesig1:11,fieldsig1:11,asymsig2:11,ratesig2:11,fieldsig2:11,uncertainti:[12,11],asymmetr:11,lower:[13,11],upper:[13,11],constant:[13,11],background:[13,11],uncorrel:11,three:[12,13,11],remain:11,signal:[12,13,11],holder:11,amplitud:11,depolar:[12,13,11],simplexpo:[13,11],tfieldco:[13,11],map1:[13,11],fun1:[13,11],frequenc:[12,13,11],simplegss:[13,11],fun2:[13,11],predefin:[13,11],multipli:[13,11],sign:11,fun:11,interrel:11,gamma_mu:[13,11],par12:[13,11],par15:11,altogeth:[13,11],deltat_pta_gps_3110:11,fittyp:[13,11],norm:[13,11],backgr:[13,11],map2:[13,11],map3:11,undefin:11,implant:[12,11],exce:11,mino:[12,13,11],mhz:[12,13,11],fourier_pow:[13,11],apod:[13,11],weak:[13,11],medium:[13,11],real_and_imag:[13,11],par3:[13,11],imaginari:[13,11],drawn:[13,11],abscissa:[13,11],ordin:[13,11],use_fit_rang:[13,11],third:[12,13,11],ndf:11,freedom:[13,11],converg:[12,13,11],blue:[13,11],maximum:[13,11],count:[13,11],zoom:[13,11],graph:[13,11],around:[13,11],cursor:[13,11],suitabl:11,repeat:[13,11],proce:11,comma:[13,11],between:[12,13,11],"short":[13,11],conclud:11,attent:[12,13,11],"3111_tutori":11,"3114_tutori":11,"_tutori":11,snapshot:11,dark:11,theme:11,facilit:12,gyromagnet:12,ratio:12,smu:12,outlin:12,literatur:12,reli:12,repeatedli:12,sizabl:12,worth:12,maxim:[12,13],trial:12,deserv:12,effect:[12,13],shift:[12,13],advis:12,prove:12,appreci:12,induct:12,vari:[12,13],dimens:12,incid:12,simul:12,trim:12,arrai:12,total:[12,13],thick:12,solv:12,equat:[12,13],layer:12,account:[12,13],superfluid:12,macroscop:12,dover:12,adjac:12,penetr:12,depth:12,constitu:12,half:12,film:12,userfcn:[12,13],tlondon1dh:12,deg:12,dead:12,tlondon1d1l:12,fraction:[12,13],substrat:12,bilay:12,heterostructur:12,tlondon1d2l:12,trilay:12,tlondon1d3l:12,investig:12,flux:12,probe:12,randomli:12,spatial:12,seri:12,reciproc:12,coeffici:[12,13],coher:[12,13],gaussian:12,cutoff:12,brandt:12,temp:12,phy:[12,13],riseman:[12,13],analyt:12,ginzburg:12,landau:12,yaouanc:[12,13],dalma:[12,13],réotier:[12,13],bessel:[12,13],region:[12,13],triangular:12,grid:12,inter:12,distanc:12,tbulktrivortexlondon:12,tbulktrivortexml:12,tbulktrivortexagl:12,tbulktrivortexngl:12,migrad:[12,13],proven:12,larg:[12,13],futil:12,strategi:[12,13],max_likelihood:[12,13],hess:[12,13],bmw_startup:12,debug:[12,13],one_or_zero:12,deactiv:12,path_to_fil:12,invalid:12,delta_t:12,rest:12,microsecond:12,delta_b:12,resb:12,vortexlattic:12,n_vortexgrid:12,data_path:[12,13],data_path_prefix:12,n_theori:12,invers:12,energy_list:12,energy_label:12,rge:12,expect:[12,13],belong:12,wordsofwisdom:12,trimsp:12,"02_0":12,"03_0":12,"03_6":12,"05_0":12,"05_3":12,relax:[12,13],slr:12,reson:[12,13],lineshap:12,puls:12,evolut:12,salman:12,prl:12,lifetim:[12,13],exponenti:[12,13],exprlx:12,stretch:12,sexprlx:12,expon:[12,13],chemic:12,anisotropi:12,powder:12,mehr:12,solid:[12,13],springer:12,axial:12,symmetr:12,observ:12,paralel:12,perpendicular:12,symmetri:12,anisotrop:12,along:[12,13],loss:12,ellipt:12,linegauss:12,fwhm:12,height:12,lorentzian:12,linelorentzian:12,laplacian:12,linelaplac:12,skew:12,lineskewlorentzian:12,width:[12,13],lineskewlorentzian2:12,convolut:12,powderlineaxiallor:12,powderlineaxialgss:12,powderlineasymlor:12,princip:12,powderlineasymgss:12,gpl:13,philosophi:13,abil:13,fcn:13,sever:13,correl:13,renam:13,msr_file_without_extens:13,msr_file:13,maxlh:13,estimaten0:13,timeout_tag:13,overwrit:13,prevent:13,orphan:13,jam:13,"8472_tf_histo":13,avg:13,graphic_format_extens:13,session:13,"8472_0":13,gif:13,jpg:13,svg:13,xpm:13,"8472_x":13,experiment:13,action:13,canvas:13,toggl:13,spectrum:13,area:13,hair:13,consid:13,beta:13,feed:13,exit:13,"3310_0":13,subtract:13,fopt:13,neither:13,nor:13,pad:13,angular:13,interpret:13,lem15_his_01234:13,rebin:13,fudg:13,elimin:13,sens:13,tweak:13,tdc_hifi_2014_00153:13,mnsi:13,"50k":13,unzoom:13,crosshair:13,gett0frompromptpeak:13,firstgoodbinoffset:13,argument:13,color:13,channel:13,interrupt:13,msr_file_in:13,msr_file_out:13,parc:13,wors:13,aim:13,idf1:13,idf2:13,nexus1:13,nexus2:13,flexibl:13,filenamelist:13,lem10_his_0111:13,lem10_his_0113:13,run3:13,runstart:13,runend:13,rrrr:13,rrrrrr:13,yyyi:13,unless:13,sent:13,stdout:13,compress:13,absent:13,lem10_his_0123:13,lem10_his_0123_v2:13,idf:13,deltat_tdc_gps_:13,d2001:13,deltat_tdc_gps_0123:13,deltat_tdc_gps_0137:13,deltat_tdc_alc_:13,rrr:13,spit:13,psi_gps_:13,psi_:13,"_gps_":13,psi_gps_run_100to117:13,archiv:13,lem10_his_0012:13,rebin25:13,lem10_his_0123_rebin25:13,runno:13,fileformat:13,pta:13,ltf:13,dolli:13,gpd:13,hifi:13,tdc_hifi_2015_00123:13,construct:13,path_to_data:13,write_per_run_block_chisq:13,pearson:13,fourier_set:13,phase_incr:13,phincr:13,increment:13,optim:13,root_set:13,marker_list:13,marker:13,color_list:13,intranet:13,mnt:13,unlik:13,headlin:13,style:13,lower_boundari:13,upper_boundari:13,init:13,alpha:13,asi:13,freq:13,constrain:13,semi:13,par:13,asy1:13,rate1:13,asy2:13,field2:13,rate2:13,whitespac:13,avoid:13,whenev:13,abbr:13,express:13,"const":13,generexpo:13,stg:13,statgssktlf:13,sgktlf:13,dyngssktlf:13,dgktlf:13,statexpkt:13,sekt:13,statexpktlf:13,sektlf:13,dynexpktlf:13,dektlf:13,combilgkt:13,lgkt:13,strkt:13,skt:13,spinglass:13,spg:13,rdanisohf:13,rahf:13,internfld:13,internbsl:13,abragam:13,skewedgss:13,skg:13,staticnkzf:13,snkzf:13,staticnktf:13,snktf:13,dynamicnkzf:13,dnkzf:13,dynamicnktf:13,dnktf:13,muminusexptf:13,mmsetf:13,polynom:13,hayano:13,conden:13,matter:13,keren:13,uemura:13,crook:13,cywinski:13,turner:13,harshman:13,noak:13,kalviu:13,oxford:13,simplifi:13,formula:13,ident:13,compact:13,difficulti:13,simultan:13,address:13,funx:13,complic:13,dictionari:13,libmylibrari:13,tmyfunct:13,auxiliari:13,arithmet:13,divis:13,sin:13,tan:13,aco:13,asin:13,atan:13,cosh:13,sinh:13,tanh:13,acosh:13,asinh:13,atanh:13,exp:13,sqrt:13,pow:13,parx:13,par5:13,mapi:13,denot:13,frac1:13,shorten:13,logic:13,fire:13,addt0:13,rrf_freq:13,rrf_pack:13,rrf_phase:13,exact:13,pie3:13,particular:13,run_file_nam:13,record:13,digress:13,musrfulldatapath:13,colon:13,smith:13,lem07_his_2018:13,musrfulldatapathtoken:13,runnam:13,ext:13,lem07_2018_rb1_npp:13,d2007:13,deltat_pta_gps_2650:13,d2010:13,deltat_tdc_gpd_8472:13,mue1:13,beauti:13,muminu:13,t0addrun1:13,t0addrun2:13,t0addrun1forward:13,t0addrun1backward:13,t0addrun2forward:13,t0addrun2backward:13,sum:13,onlin:13,angl:13,nanosecond:13,fun3:13,transfer:13,ten:13,fgb:13,lgb:13,larger:13,direct:13,span:13,meaningless:13,simplex:13,batch:13,anywher:13,contour:13,mnplot:13,optimum:13,list_of_param_to_be_fix:13,restor:13,freq1:13,freq2:13,complex:13,fit_rang:13,flavor:13,n00:13,n01:13,n10:13,n11:13,nn0:13,nn1:13,inlin:13,scale_n0_bkg:13,fals:13,print_level:13,footnot:13,bigger:13,phd:13,thesi:13,ubc:13,range_for_phase_correct:13,nsec:13,min:13,sub_rang:13,view_pack:13,logx:13,logarithm:13,logi:13,khz:13,par4:13,downward:13,upward:13,unwant:13,rid:13,filter:13,kaiser:13,fail:13,tricki:13,compon:13,ideal:13,uncontrol:13,ghost:13,imperfect:13,distort:13,dispers:13,fold:13,substanti:13,infer:13,math:13,mathrm:13,theoret:13,rearrang:13,unbin:13,histogramm:13,reserv:13,plug:13,simpler:13,why:13,although:13,declar:13,puserfcnbas:13,evalu:13,cassert:13,cmath:13,namespac:13,constructor:13,destructor:13,needglobalpart:13,"void":13,setglobalpart:13,globalpart:13,uint_t:13,idx:13,globalpartisvalid:13,classdef:13,destroi:13,peculiar:13,ness:13,introductori:13,topic:13,const_correct:13,herein:13,classimp:13,assert:13,arg:13,linkdef:13,tmylibrarylinkdef:13,ifdef:13,"__cint__":13,pragma:13,endif:13,wise:13,attach:13,tmylibrari:13,libtmylibrari:13,sensibl:13,bluish:13,node:13,uf1:13,uf2:13,entiti:13,ineffici:13,associ:13,ufx:13,g_ufx:13,consum:13,abrikosov:13,cycl:13,thu:13,overhead:13,tmyglobalfunct:13,isvalid:13,fvalid:13,fprevparam:13,calcsomethingcpuexpens:13,liklei:13,getwhatisneed:13,privat:13,finvokedglob:13,fidxglob:13,fglobaluserfcn:13,static_cast:13,sorri:13,resiz:13,pointer:13,dynamic_cast:13,retriev:13,pseudo:13,increas:13,safeti:13,val0:13,sep:13,val1:13,valn:13,parx0:13,parx1:13,parxn:13,par7:13,par17:13,par22:13,par27:13,par32:13,par37:13,par42:13,par47:13,par52:13,par57:13,par62:13,par67:13,par72:13,par77:13,par82:13,par8:13,fcp:13,bcp:13,relative_bcp:13,parrx0:13,rel:13,summ:13,parxj:13,parr:13,obvious:13,offest:13,internfldgk:13,ifgk:13,internfldl:13,ifll:13,kornilov:13,pomjakushin:13,letter:13,larkin:13,physica:13,condens:13},objects:{},objtypes:{},objnames:{},titleterms:{acknowledg:0,any2mani:[13,1],univers:1,"\u03bcsr":[12,1,13,6,7],file:[8,5,12,1,11,13,7],format:[13,1,7],convert:1,bugtrack:2,how:3,cite:3,musrfit:[8,5,11,13,10,9,3,4],welcom:4,document:[12,4],indic:4,tabl:4,msr2data:[5,13,11],program:5,automat:5,process:[5,11],multipl:[5,11],msr:[5,13,11],basic:[5,8,13,7],type:[5,13],usag:[5,8,13,6],run:[5,13,7],list:5,structur:5,option:[5,10],paramet:[5,8,6],global:[5,13],mode:5,gener:[5,13],extract:5,extend:5,known:5,limit:5,graphic:[5,9,6],user:[5,12,13,6,7],interfac:[5,8,7,6],provid:5,musredit:[5,8,10],mupp:6,plotter:6,script:6,summari:6,musrroot:7,extens:[13,7],open:7,some:7,concern:7,root:[7,10],inform:7,contain:7,runhead:7,runinfo:7,overview:7,tmusrrunhead:7,concept:7,header:7,write:7,read:[7,11],valid:7,requir:[7,10],detectorinfo:7,sampleenvironmentinfo:7,magneticfieldenvironmentinfo:7,beamlineinfo:7,exhaust:7,tree:7,includ:7,everyth:[7,10],tmusrrunphysicalquant:7,possibl:7,represent:7,gui:8,base:8,introduct:[8,12,13],avail:[8,13],execut:[8,13],configur:[8,13],musrgui:[8,10],musredit_startup:8,xml:[8,12,13],featur:8,musrwiz:8,theori:[8,13],"function":[8,12,13],map:[8,13],fit:[8,9,13,11],info:8,creat:8,musrstep:8,set:[9,10],high:9,speed:9,gpu:[9,13],tesla:9,k40c:9,nvidia:9,driver:9,instal:[9,10],cuda:9,via:[9,10],automak:[9,10],cmake:[9,10],amd:9,card:9,radeon:9,"390x":9,app:9,softwar:[9,10],develop:9,kit:9,sdk:9,enabl:[9,13],opencl:[9,13],support:[9,13,10],maco:[9,10],differ:10,platform:10,oper:10,system:10,restrict:10,gnu:10,linux:10,nexu:10,build:10,last:10,step:10,obsol:10,check:10,window:10,cygwin:10,potenti:10,problem:10,mac:10,macport:10,packag:10,from:10,sourc:10,environ:10,variabl:10,fink:10,obsolet:10,tutori:11,singl:[13,11],histogram:[13,11],determin:11,data:[12,11],rang:11,musrt0:[13,11],model:[12,11],view:11,musrview:[13,11],further:11,asymmteri:11,lib:12,meissner:12,profil:12,vortex:12,lattic:12,relat:12,bmw:12,libfitpofb:12,dimension:12,london:12,state:12,isotrop:12,superconductor:12,bulk:12,field:12,distribut:12,mix:12,startup:12,nonloc:12,superconduct:12,screen:12,analyz:12,"\u03b2":12,nmr:12,bnmr:12,libbnmr:12,liblineprofil:12,manual:13,kei:13,shortcut:13,musrft:13,msr2msr:13,dump_head:13,musrfit_startup:13,descript:13,titl:13,fitparamet:13,block:13,command:13,fourier:13,plot:13,statist:13,rrf:13,asymmetri:13,neg:13,muon:13,non:13,without:13,object:13,access:13,technic:13,framework:13},envversion:43}) \ No newline at end of file +Search.setIndex({filenames:["acknowledgement","any2many","bugtracking","cite","index","msr2data","mupp","musr-root","musredit","tutorial","user-libs","user-manual","setup-standard","setup-dks"],titles:["Acknowledgements","any2many - a Universal \u03bcSR-file-format converter","Bugtracking","How to Cite musrfit?","Welcome to the musrfit documentation!","msr2data - A Program for Automatically Processing Multiple musrfit msr Files","mupp - \u03bcSR Parameter Plotter","MusrRoot - an Extensible Open File Format for \u03bcSR","musredit: the GUI Based Interface to musrfit","Tutorial for musrfit","Documentation of user libs (user functions)","User manual","Setting up musrfit on Different Platforms","Setting up musrfit / DKS: High Speed Fitting with GPU’s"],terms:{"\u03b1":[1,10,13,5,0,3,11,9,6,12,7,8],"\u03b2":[],"\u03b4":[1,10,13,5,0,3,11,9,6,12,7,8],"\u03b7":[1,10,13,5,0,3,11,9,6,12,7,8],"\u03b5":[1,10,13,5,0,3,11,9,6,12,7,8],"\u03b3":[1,10,13,5,0,3,11,9,6,12,7,8],"\u03b9":[1,10,13,5,0,3,11,9,6,12,7,8],"\u03ba":[1,10,13,5,0,3,11,9,6,12,7,8],"\u03c7":[1,10,13,5,0,3,11,9,6,12,7,8],"\u03bb":[1,10,13,5,0,3,11,9,6,12,7,8],"\u03bc":[4,1,10,5,13,0,3,11,9,6,12,7,8],"\u03bd":[1,10,13,5,0,3,11,9,6,12,7,8],"\u03bf":[1,10,13,5,0,3,11,9,6,12,7,8],"\u03c9":[1,10,13,5,0,3,11,9,6,12,7,8],"\u03c0":[1,10,13,5,0,3,11,9,6,12,7,8],"\u03c6":[1,10,13,5,0,3,11,9,6,12,7,8],"\u03c8":[1,10,13,5,0,3,11,9,6,12,7,8],"\u03c1":[1,10,13,5,0,3,11,9,6,12,7,8],"\u03c2":[1,10,13,5,0,3,11,9,6,12,7,8],"\u03c3":[1,10,13,5,0,3,11,9,6,12,7,8],"\u03c4":[1,10,13,5,0,3,11,9,6,12,7,8],"\u03b8":[1,10,13,5,0,3,11,9,6,12,7,8],"\u03c5":[1,10,13,5,0,3,11,9,6,12,7,8],"\u03be":[1,10,13,5,0,3,11,9,6,12,7,8],"\u03b6":[1,10,13,5,0,3,11,9,6,12,7,8],bastian:0,wojek:[0,5,3],veri:[0,11,9,12,7,8],much:[0,11,6,7,8],indebt:0,bmw:[],rigor:0,test:[12,0,8],musrfit:[],mani:[10,5,0,11,12,7,8],suggest:[12,0,5],contribut:[9,10,0,11],largest:0,part:[10,0,3,11,9,12,7,8],user:[],manual:[],which:[10,13,5,0,11,9,6,12,7,8],make:[13,0,11,12,7,8],access:[],broader:0,audienc:0,thank:0,uldi:0,locan:[13,0,3],work:[10,13,5,0,11,12,7,8],enabl:[],gpu:[],support:[],kind:[7,10,0],calm:0,extrem:0,compet:0,wai:[10,13,5,0,11,9,6,12,7,8],deal:[10,13,0,11,9,12,7],project:[12,0],well:[10,13,5,0,11,9],chao:0,physicist:0,think:0,admir:0,allow:[1,10,13,5,11,6,12,7,8],most:[1,10,13,5,11,12,7],from:[],other:[1,13,11,9,6,12,7],detail:[1,10,13,11,9,12,7,8],descript:[],see:[1,10,13,5,11,9,6,12,7,8],here:[1,13,5,11,9,6,12,7,8],report:2,bug:[2,8],request:[11,9,6,2,12],"new":[5,11,9,2,12,7,8],featur:[],improv:[2,12,10],pleas:[10,5,3,11,9,2,12,7],bitbucket:[2,12,11],repo:[13,2,12],prefer:[2,12,11,8],send:[2,11],mail:2,suter:[2,13,3],psi:[10,13,11,9,2,12,7,8],sinc:[13,5,11,3,9,12,7],quit:[11,3,12,7,8],some:[],effort:3,develop:[],mainten:[7,3],packag:[],you:[13,11,3,6,12,7,8],should:[10,13,5,3,11,9,6,12,7,8],least:[5,11,3,9,12],your:[13,5,11,3,12,8],"public":[12,10,11,3],have:[10,13,5,3,11,9,12,7,8],analyz:[],data:[],even:[5,11,3,12,7],better:[11,5,3],cours:[12,11,5,3],properli:[13,11,5,3],refer:[10,13,3,11,9,12,7,8],given:[10,13,5,3,11,9,6,12,7,8],beneath:[8,3],free:[10,11,3,12,7,8],platform:[],independ:[10,11,3],framework:[],analysi:[10,13,5,3,11,9,12,7],physic:[13,11,7,3],procedia:3,http:[10,13,11,3,12,7,8],doi:3,org:[12,3],phpro:3,high:[],speed:[],version:[10,13,3,11,6,12,7,8],util:[13,11,3,12,7],"case":[10,13,5,3,11,9,6,12,7,8],thi:[10,13,5,3,11,9,6,12,7,8],also:[10,13,5,3,11,9,6,12,7,8],add:[13,5,3,11,9,6,12,7,8],follow:[10,13,5,3,11,9,6,12,7,8],citat:3,adelmann:3,dynam:[13,3],kernel:[13,3],schedul:[13,3],comput:[13,12,3],commun:3,cpc:3,real:[13,11,3,9,12],time:[10,13,3,11,9,6,12,7,8],paramet:[],fit:[],imag:[9,11,3],reconstruct:3,graphic:[],process:[],unit:[9,11,7,3],conf:[13,12,3],proc:3,jpscp:3,tutori:[],singl:[],histogram:[],asymmteri:[],introduct:[],avail:[],execut:[],configur:[],basic:[],usag:[],msr:[],type:[],"function":[],technic:[],lib:[],meissner:[],profil:[],vortex:[],lattic:[],relat:[],nonloc:[],superconduct:[],screen:[],nmr:[],bnmr:[],set:[],differ:[],oper:[],system:[],softwar:[],requir:[],restrict:[],gnu:[],linux:[],window:[],mac:[],maco:[],tesla:[],k40c:[],nvidia:[],amd:[],card:[],radeon:[],"390x":[],opencl:[],musredit:[],gui:[],base:[],interfac:[],musrwiz:[],musrstep:[],mupp:[],plotter:[],script:[],summari:[],msr2data:[],program:[],automat:[],multipl:[],option:[],global:[],mode:[],known:[],limit:[],provid:[],musrroot:[],extens:[],open:[],concern:[],root:[],tmusrrunhead:[],concept:[],runinfo:[],detectorinfo:[],sampleenvironmentinfo:[],magneticfieldenvironmentinfo:[],beamlineinfo:[],exhaust:[],tree:[],includ:[],everyth:[],tmusrrunphysicalquant:[],possibl:[],represent:[],index:[4,5,11],search:[12,4,11],page:[4,13,9,12,7,8],origin:[10,11,5,8],written:[10,5,11,9,7,8],implement:[10,13,5,11,12,7,8],purpos:[9,12,5,11],input:[9,11,5,8],same:[10,13,5,11,9,6,12,7],summar:[9,5],result:[10,5,11,9,7,8],either:[10,5,11,9,6,12,8],triumf:[9,11,5,8],column:[5,11,9,7,8],ascii:[10,5,11,9,8],essenti:[11,7,5,8],collect:[10,5,11,9,6,12,7,8],old:[12,5,11],abridg:5,produc:[9,12,5,11],can:[10,13,5,11,9,6,12,7,8],view:[],instanc:[5,11,6,12,7],howev:[13,5,11,9,12],thei:[13,5,11,9,12,7],complet:[13,10,5,9,12],backward:[7,5,11],compat:[13,12,5,11],languag:5,name:[10,13,5,11,9,6,12,7,8],longer:5,than:[5,11,9,12,7,8],five:[9,5],six:5,charact:[5,11],order:[10,13,5,11,12,7],establish:5,need:[10,13,5,11,9,12,7,8],ensur:[5,11],correct:[5,11,9,12,8],length:[10,7,5],apart:[12,10,5],numer:[12,10,5],might:[10,5,11,6,12,7,8],principl:[12,10,5],four:5,call:[10,5,11,9,6,12,7,8],suppli:[13,10,5,11],number:[10,13,5,11,9,6,12,7,8],firstrunno:5,lastrunno:5,interv:[5,11],specifi:[10,5,11,9,12,7,8],through:[10,5,11,9,12,7],first:[10,13,5,11,9,6,12,7,8],last:[],condit:[10,5],necessari:[5,11,9,12,7,8],runlist:[5,11],where:[10,13,5,11,9,6,12,7,8],combin:[5,11,9,7,8],run0:5,run1:[5,11],run2:[5,11],runn:5,rang:[],step:[],sequenc:[9,5,11],posit:[9,7,5,11],integ:[7,5,11],etc:[13,5,11,12,7,8],runlistfilenam:5,contain:[],extern:[10,5,11,12,7],pass:[11,5,8],below:[10,5,11,9,12,7],all:[13,5,11,9,6,12,7,8],mandatori:[10,7,5,11],right:[10,5,11,9,12,7],after:[13,5,11,9,12,7,8],mean:[10,13,5,11,9,6,12,7,8],becom:[12,5],clear:[11,7,5,8],give:[5,11,9,12,7],exampl:[10,5,11,9,6,12,7,8],"_tf_h13":5,out:[13,5,11,9,6,12,7,8],chang:[13,5,11,12,8],"8472_tf_h13":5,"8473_tf_h13":5,"8474_tf_h13":5,"8470_tf_h13":5,directori:[10,13,5,11,9,12,7,8],put:[12,11,5,8],var1:5,var2:5,var3:5,comment:[13,5,11,6,12,7,8],empti:[8,11,5,6],line:[10,5,11,9,6,12,7,8],determin:[],label:[10,5,11,6,7,8],present:[10,13,5,11,9,6,12,7,8],preced:5,mention:[10,5,11,12,7],togeth:[5,11,9,12,7,8],abov:[10,13,5,11,9,6,12,7,8],output:[10,5,11,9,6,8],onli:[10,13,5,11,9,6,12,7,8],newli:[9,5,8],creat:[],did:[12,5],exist:[12,5,11],befor:[10,13,5,11,9,12,7,8],invok:[8,11,5,6],were:[11,7,5,8],alreadi:[13,5,11,12,8],would:[10,13,5,11,9,6,12,7,8],append:[12,5,11],been:[10,5,11,9,12,7,8],header:[],block:[],forc:[5,11],suppress:5,nohead:[5,8],shall:[10,5,11,9,12,7,8],seen:[9,7,5],later:[9,12,5,11],like:[10,13,5,11,6,12,7,8],behavior:[5,11],ani:[13,5,11,9,12,7,8],simpl:[10,5,11,9,12],"default":[13,5,11,12,8],dat:[10,5,11,9,6,8],delet:[7,5],inform:[],both:[12,10,5,11],none:[9,11,5,8],write:[],sole:[5,11],assum:[10,13,5,11,9,12,7,8],nosummari:[5,8],attempt:5,read:[],addit:[10,13,5,11,9,12,7,8],temperatur:[5,11,9,6,7],appli:[10,5,11,9,12,7],magnet:[10,7,5,8],field:[],paramlist:5,param:[8,11,5,6],select:[13,5,11,9,6,12,7,8],"export":[13,5,11,9,12],startno:5,endno:5,space:[12,10,5,11],separ:[5,11,9,12,8],outputfilenam:[5,11],instead:[10,13,5,11,6,12],equal:[9,5,11],insensit:5,addition:[5,11,9,12,8],"final":[10,5,11,9,12],templat:[9,11,5,8],perform:[5,11,9,6,12,7,8],mlog:[11,5,8],subsequ:[5,11],chain:[5,8],exclam:5,mark:[5,11],without:[],keep:[11,7,5,8],mn2:[5,11],done:[10,13,5,11,9,6,12,7],ignor:[11,5,6],titl:[],illustr:[5,11],few:[5,11,12,7,8],explan:[5,11],oabc:5,"8400_tf_h13":5,"8460_tf_h13":5,abc:5,about:[5,11,9,12,7],"_zf":5,def:5,"8472_zf":[5,8],"8500_zf":5,"8502_zf":5,"8503_zf":5,"8504_zf":5,"8507_zf":5,oghi:5,ouput:5,ghi:5,take:[10,5,11,9,12],"8471_tf_h13":5,"8475_tf_h13":5,bestdata:5,"8476_tf_h13":5,"8477_tf_h13":5,"8478_tf_h13":5,"8479_tf_h13":5,describ:[10,13,5,11,9,12,7,8],anoth:[5,11,6,7,8],each:[10,5,11,9,6,12,7],defin:[10,5,11,9,6,12,7,8],common:[12,5,11],specif:[10,5,11,9,12,7,8],when:[10,5,11,9,12,7,8],obtain:[10,7,5],valid:[],conjunct:[10,5,11],invoc:[5,11],state:[],idea:[9,7,5,11],basi:5,identifi:[5,11],tag:[10,5,11,9,6,12,8],current:[10,13,5,11,6,12,7,8],"0xu":5,digit:[5,11],lead:[10,5,11,7,8],zero:[5,11,9,7,8],end:[5,11,9,6,12,7,8],alpha0123:5,alpha00123456:5,fitparamet:[],exemplari:[5,11],"8472_exampl":5,could:[10,13,5,11,6,12,8],therefor:[10,5,11,9,12],look:[10,13,5,11,6,12,7,8],valu:[13,5,11,9,12,7,8],pos_error:[9,5,11],boundari:[10,5,11,9,8],phase:[10,5,11,9,8],asy8472:5,rate8472:5,treat:[12,5],wherea:[11,5,8],normal:[9,12,5,11],within:[10,5,11,9,6,12,7,8],appear:[5,11],explicitli:[11,5,8],theori:[],those:5,met:5,"try":[12,5,11],substitut:[9,12,5,11],them:[10,5,11,9,7,8],map:[],accordingli:[9,12,5,6],"_exampl":5,global_exampl:5,alwai:[10,7,5,11],start:[13,5,11,9,6,12,7,8],asy8471:5,rate8471:5,asy8470:5,rate8470:5,show:[5,11,9,6,7,8],reorgan:5,begin:[12,7,5,11],copi:[12,11,5,8],found:[10,13,5,11,9,12,7,8],dure:[10,5,11,6,12],affect:5,occurr:[12,5],awar:[12,5,11],fact:[12,5],propag:5,model:[],usual:[10,5],store:[10,5,12,7,8],reach:[5,11],goal:[5,11],obei:[5,11],certain:[10,5],rule:[11,7,5,8],match:[5,11],accord:[5,11,9,12,8],achiev:[9,12,5],easili:[13,12,5,8],shown:[5,11,9,6,7,8],globalfit:5,relev:[5,11,9,7,8],pre:[5,8],afterward:[10,13,5,11,6,12,7],special:[7,5,11],replac:[12,5,11],review:5,activ:[12,10,5,8],choos:[10,5,11,9,12,8],keyword:[5,11],onerunfit_exampl:5,onerunfit:5,everi:[12,11,5,6],similar:[12,5],explain:[10,13,5,11,9,12,7,8],moment:[12,10,7,5],peopl:[12,7,5],cannot:[10,5,11],behav:[10,5],integr:[10,5],filenam:[7,5,11],rightmost:5,highest:[12,5],treatabl:5,statist:[],itself:[9,5],more:[13,5,11,9,6,12,7,8],creativ:5,care:[12,5,11],addrun:[5,11],statement:[5,11],simpli:[12,5,11],probabl:[12,7,5],what:[10,13,5,11,9,12],two:[10,5,11,9,12,7,8],success:[9,7,5,11],encount:5,actual:[12,10,5,11],measur:[10,5,11,9,6,7,8],introduc:[9,7,5,11],reason:[9,12,5,11],shape:[10,5,11],design:[12,5],especi:[10,13,5,11,12,7],manipul:[11,5,8],front:[9,7,5,8],offer:[9,5,11],almost:[11,5,8],self:[5,8],explanatori:[5,8],depict:[5,11],under:[13,5,11,6,12,7,8],stai:5,enter:[13,12,5,8],otherwis:[13,12,5,11],serv:[9,5,11],second:[10,5,11,9,12,8],noth:[11,7,5,8],correspond:[5,11,9,6,12,7,8],littl:[8,11,6],helper:[12,8,7,6],quickli:[13,6],plot:[],handl:[10,11,6,12,7,8],heavili:[10,6],inspir:6,via:[],command:[],directli:[11,6,12,7,8],typic:[13,11,6,12,8],load:[10,6],dialog:[8,6],tri:[12,11,6],fly:[9,6],drag:[9,6],over:[12,11,6],axi:[10,11,9,6,7],wish:[11,6],click:[8,11,6],analog:6,remov:[11,6],often:[12,8,11,6],compar:[13,12,11,6],trend:6,hold:[11,7,6],energi:[10,7,6],scan:[11,6],now:[13,11,9,6,12],interest:[12,11,6],ditto:6,less:[12,11,6],error:[10,13,11,9,6,12,7,8],prone:[13,8,6],quicker:[11,6],button:[9,8,11,6],mupp_plot:6,applic:[10,13,11,6,12,8],refresh:6,reload:[8,6],beamtim:6,grow:6,task:6,mous:[11,6],gambl:6,futur:[12,8,6],plane:6,help:[13,11,6,12,8],cmd:[12,6],manner:[12,6],updat:[13,11,9,6,12],web:[11,6,12,7,8],interact:[9,10,11,6],figur:[11,7,6],loadpath:6,dir:6,path:[13,11,9,6,12,7,8],bash:[12,6],variabl:[],home:[10,13,11,6,12,7,8],accept:[8,11,6],coll:6,selectal:6,carri:[12,11,6],ybco:6,"40nm":6,t5k:6,fc150mt:6,escan:6,addx:6,addi:6,savepath:6,save:[10,11,9,6,12,7,8],place:[9,12,11,6],macro:6,fln:[11,6],txt:[12,6],t30k:6,t60k:6,t120k:6,fieldvsenergi:6,pdf:[11,6],"true":[10,11,7,6],best:[10,11,6,12,7],ever:[7,6],thie:6,labl:6,until:[9,7,11],bulk:[],instrument:[11,7,8],bin:[11,9,12,7,8],fix:[9,11,7,8],binari:[12,7],rather:[12,11,7,8],stringent:7,lem:[10,7,11],cern:[12,7,11],tightli:7,tailor:7,situat:[12,7,11],unsatisfactorili:7,henc:[13,11,9,12,7],decid:[12,7,11],move:[9,7,11],forward:[9,13,7,11],acquisit:7,mida:7,respons:[13,7,11],build:[],decai:[9,7,11],easi:[7,8],object:[],th1f:7,orient:[10,7],mine:7,frame:[13,7,11],tfile:7,eas:[12,7,11],understand:[7,11],upcom:7,definit:[9,7,11],thing:[13,11,12,7,8],check:[],guid:[13,7,11],organ:[11,7,8],similarli:[7,11],browser:7,inspect:7,tbrowser:7,deriv:[7,11],tobject:7,small:[10,13,11,12,7,8],subset:[7,11],tfolder:7,top:7,level:[7,11],tobjarrai:7,tobjstr:7,content:[12,7,11],form:[10,13,11,9,12,7],box:[13,7,8],entri:[7,11],sketch:[7,11],histo:[11,9,12,7,8],decayanamodul:7,hdecay001:7,hdecay002:7,scanamodul:7,hsampletemperatur:7,hsamplemagneticfield:7,detector001:7,detector002:7,hdecayxxx:7,xxx:7,"int":7,"03d":7,notat:[7,11],"class":[10,7,11],folder:[12,7],next:[10,13,11,12,7,8],section:[12,7,11],slow:7,control:[13,7,11],sampl:[13,9,10,7],versu:7,again:[13,11,12,7,8],meta:7,minim:[10,11,9,12,7],bracket:7,item:[7,11],detector:[10,11,9,7,8],environ:[],beamlin:[9,11,7,8],elabor:[13,7],word:7,sub:[9,12,7,11],intern:[11,7,8],tstring:7,git:[13,12,7,11],url:7,xsd:7,wrote:7,nemu_analyz:7,deltat_tdc_gps_4295:7,int_t:[7,11],iso:7,date:[9,7,11],stop:7,durat:7,sec:[7,11],laboratori:7,muon:[],beam:7,momentum:[9,10,7],mev:7,speci:7,neg:[],sourc:[],target:7,low:[10,7,11],setup:[13,12,7,11],cf1:7,wxy:7,resolut:[10,7],redgreen:[7,11],offset:[7,11],tintvector:7,except:[12,11,7,8],shortli:[7,11],discuss:[13,11,7,8],experi:[7,11],stimuli:7,electr:7,off:[7,11],doubl:[7,11],distinguish:7,easier:[12,7],let:7,sai:7,red:[13,11,9,12,7],green:[9,7,11],browsabl:7,string:[12,11,7,8],tobjstringv:7,quantiti:7,repres:[9,7,11],properti:[7,11],estim:[10,11,7,8],demand:[7,11],depend:[10,13,11,9,12,7,8],musrrootv:7,mock:7,print:[11,7,8],notic:[11,7,8],find:[13,11,12,7,8],encod:[10,11,12,7,8],price:7,pai:7,shade:7,"import":[7,11],approach:[12,7,11],standard:[13,12,7,11],"abstract":[7,11],text:[9,11,7,8],though:[12,7,8],clean:[13,12,7],lot:[7,11],"2nd":7,slightli:[13,11,7,8],advantag:[12,11,7,8],maintain:7,expand:7,classifi:7,group:[12,11,7,8],previou:[7,11],"float":7,point:[10,11,9,12,7,8],double_t:[7,11],tstringvector:7,tdoublevector:7,themselv:[10,7],vector:[10,7,11],code:[10,13,11,9,12,7],snippet:[7,11],reader:7,routin:[12,10,7,11],convers:[7,11],write_musrroot_runhead:7,full:[9,12,7,11],concentr:7,just:[13,10,11,12,7],prop:7,further:[],down:[9,11,7,8],deltat_tdc_gps_2871:7,come:[12,7,8],overload:7,pathnam:7,method:[7,11],tdc:[7,11],cf3:7,mrh_undefin:7,strang:7,fed:[7,11],whole:7,someth:[13,12,7,11],recreat:[7,8],iszombi:7,"return":[7,11],info:[],fillfold:7,close:[12,11,7,8],read_musrroot_runhead:7,getobject:7,cerr:[7,11],endl:[7,11],couldn:[7,11],get:[13,11,12,7,8],closefil:7,extractal:7,decod:7,fill:[9,7,11],getter:7,bool_t:[7,11],ival:7,cout:7,els:[12,11,7,8],getvalu:7,geterror:7,getunit:7,getdemand:7,getdescript:7,mechan:[7,11],inde:7,minimum:7,scheme:7,musrrootvalid:7,recurs:7,pars:7,temporari:7,xml:[],ampl:[7,11],parser:[12,7],hand:[12,7,11],decent:7,book:7,libxml2:[12,7],becaus:[7,8],suppos:[12,7,11],against:7,schema:7,lmu:[7,8],semant:7,preform:7,cross:[12,7,11],facil:[11,7,8],musrrootlem:7,poitiv:7,wew:7,hdecay023:7,detector023:7,potenti:[],discontinu:7,"break":7,element:7,left:[10,7,8],npp:[11,9,12,7,8],spectromet:[9,13,7,11],good:[12,11,7,8],enough:[12,7,11],cryo:7,cryostat:7,oven:7,konti:7,pim3:[9,7,11],hypothet:7,light:7,per:[11,7,8],bottom:7,split:[12,7,11],mind:7,symbol:[12,7],hdecay003:7,hdecay004:7,hdecay007:7,hdecay008:7,hdecay011:7,hdecay012:7,hdecay013:7,hdecay014:7,hdecay017:7,hdecay018:7,hdecay021:7,hdecay022:7,hdecay024:7,hdecay027:7,hdecay028:7,hdecay031:7,hdecay032:7,hdecay033:7,hdecay034:7,hdecay037:7,hdecay038:7,continu:7,"switch":[13,11,12,7,8],jump:[7,11],cpp:[7,11],"00z":7,nemu:[12,7,11],lem12_his_0234:7,said:7,detector038:7,insert:7,x123:7,perp:7,spin:[9,10,7,11],mue4:[11,7,8],scalerinfo:7,runsummari:7,wed:7,oct:7,lco:7,wtf:7,kev:[10,7],ledb:7,buc:7,edit:[9,12,7,8],euc:7,event:[9,7],event_0:7,mcp1:7,event_1:7,mcp2:7,event_2:7,lemusr:7,problem:[],deviat:[7,11],hereaft:7,snip:7,somewher:[12,7,8],token:[7,11],val:[7,11],err:7,cf4:7,cf5:7,editor:[9,12,8],suit:[9,10,11,8],intend:[12,11,8],eventu:[9,8],drop:[12,8],outdat:[12,11,8],earli:[11,8],anymor:[12,8],still:[12,10,11,8],urg:8,strongli:[12,11,8],recommend:[12,10,8],shell:[12,11,8],tab:[11,8],startup:[],displai:[12,10,11,8],locat:[10,11,9,12,8],proof:8,exec_path:8,path_to_exec:8,musrview:[],musrt0:[],insid:[12,10,11,8],default_save_path:8,save_path:8,msr_default_file_path:8,msr_def_path:8,timeout:[11,8],canva:[9,11,8],keep_minuit2_output:8,flag:[11,8],minuit2:[12,11,8],kept:[11,8],dump_ascii:8,dump:[11,8],dump_root:8,title_from_data_fil:8,chisq_pre_run_block:8,chisq:[9,11,8],estimate_n0:8,procedur:[10,11,9,12,8],musrview_show_fouri:8,fourier:[],transform:[10,11,9,12,8],domain:[9,11,8],musrview_show_avg:8,averag:[10,11,8],power:[13,11,9,12,8],spectra:[11,8],enable_musrt0:8,font_set:8,font:[12,8],font_nam:8,font_siz:8,size:[11,8],msr_file_default:8,institut:[9,11,8],inst:8,ral:8,jparc:8,file_format:[11,8],nexu:[],musr:[11,8],ppc:[9,11,8],mdu:[9,11,8],wkm:[9,11,8],mud:[9,11,8],lifetime_correct:8,lifetimecorrect:[11,8],msr2data_default:8,tick:8,chain_fit:8,write_data_head:8,ignore_data_header_info:8,write_column_data:8,create_msr_file_onli:8,fit_onli:8,global_plu:8,recreate_data_fil:8,open_file_after_fit:8,experienc:[12,8],who:8,help_sect:8,variou:[12,11,8],messag:[11,8],musr_web_x:8,link:[12,11,8],main:[9,12,8],musrft:[],func_pixmap_path:8,pix_path:8,latex:8,pixmap:8,visual:[9,8],theory_funct:8,syntax:[11,8],func:8,menu:[9,12,11,8],pictur:8,utf:[12,10,11,8],xmln:[11,8],html:8,usr:[12,8],local:[13,12,10,8],share:[13,12,11,8],doc:[9,12,11,8],chisq_per_run_block:8,recent_fil:8,path_file_nam:8,musr_web_main:8,musr_web_titl:8,thetitl:8,musr_web_paramet:8,thefitparameterblock:8,musr_web_theori:8,thetheoryblock:8,musr_web_funct:8,thefunctionsblock:8,musr_web_run:8,therunblock:8,musr_web_command:8,thecommandsblock:8,musr_web_fouri:8,thefourierblock:8,musr_web_plot:8,theplotblock:8,musr_web_statist:8,thestatisticblock:8,musr_web_msr2data:8,musr_web_musrft:8,a_2:8,"3_musrft":8,monospac:8,latex_imag:8,asymmetri:[],png:[11,8],statgsskt:[11,8],rate:[9,10,11,8],"static":[12,10,8],gauss:[9,10,11,8],respect:[10,11,9,12,8],bar:[11,8],keyboard:[9,8],shortcut:[],scratch:8,too:[12,8],priori:8,knowledg:8,calcul:[9,10,11,8],log:[10,11,8],max:[11,8],likelihood:[10,11,8],kei:[],alt:8,equival:[12,11,8],mai:[12,11,8],chosen:[12,11,8],swap:[11,8],vice:[11,8],versa:[11,8],adjust:[9,12,11,8],initi:[10,11,9,12,8],fitter:8,own:[11,8],docu:[13,11,8],raw:[11,8],dump_head:[],stage:[11,8],wand:8,coupl:[13,11,8],dialogu:8,briefli:8,explicit:[11,8],year:[13,11,8],pull:[12,8],choosen:8,rrf:[],minu:8,transvers:[9,11,8],longitudin:8,choic:[12,11,8],question:[11,8],ask:[12,8],correctli:[9,12,11,8],proper:[13,11,8],prompt:[13,12,11,8],peak:[10,11,8],pop:8,disadvantag:8,freeli:8,custom:[11,8],cost:8,yourself:8,stand:[13,8],whatev:[13,8],press:[9,11,8],syntact:8,appropri:[13,8],previous:8,handi:8,furthermor:[12,11,8],pack:[9,12,11,8],minuit:[10,11,8],reset:[11,8],sometim:[11,8],went:[12,8],wrong:8,leav:8,far:[11,8],iter:[10,11,8],individu:[11,8],tediou:[10,8],popup:8,asym:8,uncheck:8,unselect:8,modifi:[10,8],degre:[9,11,8],cancel:8,anyth:[11,8],scale:[11,8],factor:[11,8],absolut:[9,12,11,8],explor:[13,12],hal:[13,11],memo:[13,11],rotat:[9,13,11],tremend:[13,12],muonium:[13,11],appl:[13,12],cpu:[13,12,11],straight:13,multi:[13,12,11],thread:[13,12,11],doesn:13,openmp:[13,12,11],shop:13,bui:13,gamer:13,sure:[13,12,11],server:[13,12],suffici:[13,10],strong:[9,13,11],yet:[13,9,10,11],fall:[13,11],back:[13,11],conceptu:13,latest:[13,12],hardwar:13,crunch:13,readi:[13,12,11],acceler:[13,11],termin:[13,9,12,11],lspci:13,grep:[13,12],corpor:13,gk110bgl:13,rev:[13,10,11],recogn:13,download:[13,12],center:[13,10],hat:[13,12],enterpris:13,rhel:[13,12],rpm:[13,12],diag:13,rhel7:13,x86_64:13,conflict:13,nouveau:13,reboot:13,machin:[13,12,10],omit:[13,12,11],thin:[13,10],host:13,incorpor:13,paper:13,wiki:13,brief:[13,12],clone:[13,12],got:13,consist:[13,10,11],gitlab:[13,12,11],uldis_l:13,mkdir:[13,12],denable_musr:13,dcmake_install_prefix:[13,12],exec:13,non:[],librari:[13,12,10,11],"super":13,sbin:[13,12],ldconfig:[13,12],ld_library_path:[13,12],launchctl:[13,12],setenv:[13,12],checkout:[13,12],branch:[13,12],dks6:13,soon:12,want:[12,11],tell:11,aslib:12,bmwlib:12,prefix:12,rootsi:[13,12],lookup:13,superus:[13,12],ddk:13,disabl:[13,12,11],daslib:[13,12],dbmwlib:[13,12],dnexu:[13,12],vga:13,advanc:13,micro:[13,11],devic:13,inc:13,ati:13,hawaii:13,grenada:13,"290x":13,amdgpu:13,pro:[13,12],unpack:[13,12],tar:[13,12,11],jxvf:13,blabla:13,usermod:13,video:13,technolog:13,materi:13,leverag:13,amp:13,xvjf:13,sdkinstal:13,linux64:13,bz2:[13,11],opt:[13,12,11],amdappsdk:13,note:[13,12,10,11],instruct:[13,12,11],compil:[13,12,11],xcode:[13,12],deliv:13,easiest:[13,12],involv:[13,10],demonstr:12,"while":12,brave:12,virtual:12,encourag:12,gcc:[12,11],tool:[12,11],autoconf:12,libtool:12,toolchain:[],drope:[],releas:[12,11],plan:[],pkg:12,config:12,boost:12,spirit:12,scientif:[12,10,11],effici:[12,10,11],mathemat:[12,11],fftw:12,fast:12,discret:[9,12],toolkit:12,gnome:12,hdf4:[12,11],manag:12,hdf5:[12,11],minixml:12,neutron:12,rai:12,scienc:12,focus:12,seriou:12,distribut:[],fedora:12,debian:12,ubuntu:12,mint:12,opensus:12,nativ:12,microsoft:12,distributor:12,taken:[12,11],dev:12,devel:12,trick:12,never:12,qt4:12,yum:12,gsl:12,qtwebkit:12,qt5:12,epel:12,qtbase:12,qtsvg:12,dpkg:12,apt:12,libboost:12,libgsl:12,libfftw3:12,libqt4:12,libqtwebkit:12,qtbase5:12,libqt5svg5:12,libqt5webkit5:12,everyon:12,know:12,himself:12,doe:[12,11],websit:12,engin:12,mxml:12,hdf:12,libmxml1:[],libmxml:12,libhdf4:12,libhdf5:12,urgent:[12,11],isi:[12,11],safe:[12,11],master:12,repositori:12,github:12,com:12,nexusformat:12,denable_hdf5:12,denable_hdf4:12,denable_mxml:12,sudo:12,flavour:12,legaci:12,incompat:12,guess:[12,11],warn:[12,11],upgrad:12,recompil:12,redhat:12,libx11:12,libxft:12,libxpm:12,libxext:12,systemat:12,term:12,offici:12,root_build:12,dgminim:12,dasimag:12,dmathmor:12,dminuit2:12,dxml:12,root_exec:12,multicor:12,miss:[12,11],told:12,luke_skywalk:12,echo:12,bashrc:12,bash_profil:12,restart:12,onc:[9,12,10,11],proceed:12,recent:[12,11],muonspin:12,root5:[],root6:12,newer:12,dec:12,whether:11,uninstal:[],xarg:12,install_manifest:12,altern:[12,11],autogen:[],prepar:12,successfulli:[12,11],makefil:11,besid:[],fftw3:[12,10],boostinc:[],qt3:12,qt47:[],lib64:[],omp:11,parallel:[9,10,11],detect:9,permiss:[],dbnmrlib:12,bnmrlib:12,dqt_based_tool:12,dqt_version:12,auto:12,dtry_openmp:12,core:12,finish:[9,12],musrfitpath:12,musrfit_startup:[],built:[12,11],everth:[],src:12,musredit_qt5:12,qmake:12,fine:12,skip:12,higher:12,uic:12,quick:[12,11],hasn:12,adventur:12,advic:12,wonder:12,occur:12,great:12,gain:12,nice:[12,10],unix:12,revis:[12,11],fulfil:12,abl:12,a2p:12,passwd:12,binutil:12,bison:12,bzip2:12,colorgcc:12,coreutil:12,curl:12,cygutil:12,editright:12,findutil:12,flex:12,adob:12,dpi100:12,dpi75:12,alia:12,bitstream:12,ibm:12,type1:12,sun:12,misc:12,xfree86:12,fontconfig:12,freeglut:12,gawk:12,gcc4:12,fortran:12,gccmakedep:12,gettext:12,ghostscript:12,std:[12,11],giflib:12,gmp:12,groff:12,gzip:12,inputproto:12,jasper:12,jpeg:12,lapack:12,libbz2_1:12,libcharset1:12,libcurl4:12,libfftw3_3:12,libgcc1:12,libgd:12,libgif:12,libgl:12,libgl1:12,libglu:12,libglu1:12,libglut:12,libglut3:12,libgmp:12,libgmp3:12,libgomp1:12,libic:12,libice6:12,libjpeg:12,libjpeg62:12,liblapack:12,libmpfr:12,libmpfr1:12,libncurs:12,libncurses9:12,libosmesa:12,libosmesa7:12,libpng:12,libpng14:12,libreadline6:12,libsm:12,libsm6:12,libssh2_1:12,libstdc:12,libtiff:12,libtiff5:12,libx11_6:12,libxau:12,libxau6:12,libxaw7:12,libxcb:12,xlib:12,libxcursor:12,libxcursor1:12,libxdmcp:12,libxdmcp6:12,libxext6:12,libxfix:12,libxfixes3:12,libxfont:12,libxfont1:12,libxft2:12,libxi:12,libxi6:12,libxkbfile1:12,libxmu:12,libxmu6:12,libxpm4:12,libxrend:12,libxrender1:12,libxt:12,libxt6:12,login:12,makedepend:12,man:12,mpfr:12,nano:12,opengl:12,openssh:12,openssl:12,pdftk:12,perl:12,ping:12,psutil:12,python:12,readlin:12,rebas:12,rgb:[12,11],rsync:12,sed:12,subvers:12,tcltk:12,terminfo:12,unzip:12,vim:12,w32api:12,icon:[9,12,11],xauth:12,xextproto:12,xfontsel:12,xinit:12,xkbcomp:12,xkeyboard:12,xkill:12,xlogo:12,xlsfont:12,xorg:12,xproto:12,xrdb:12,xrefresh:12,xset:12,xterm:12,zip:12,zlib:12,zlib0:12,libqt3support4:12,libqtassistantclient4:12,libqtcore4:12,libqtdbus4:12,libqtdesigner4:12,libqtgui4:12,libqthelp4:12,libqtnetwork4:12,libqtopengl4:12,libqtscript4:12,libqtscripttools4:12,libqtsql4:12,libqtsvg4:12,libqttest4:12,libqtwebkit4:12,libqtxml4:12,libqtxmlpatterns4:12,posix:12,convent:[12,10],hard:12,drive:12,network:12,cygdriv:12,stick:12,had:12,x_yy_z:12,"1_33_1":12,librpc:12,sunrpc:12,track:12,patch1:12,www:[12,10],hdfgroup:12,ftp:12,jpegsrc:12,v6b:12,msweet:12,project3:12,hdf_current:12,precompil:12,xzf:12,root_v5:12,win32gcc:12,due:[12,10,11],visit:12,gminim:12,asimag:12,mathmor:12,accomplish:12,usernam:12,qtdir:12,i686:12,reopen:12,qt56:[],readili:12,startxwinrc:12,status_access_viol:12,ash:12,rebaseal:12,resolv:12,administr:12,privileg:12,extent:12,emploi:12,emphas:12,rout:12,dvd:12,xcodebuild:12,licens:[12,11],x11:12,leopard:12,snow:12,xquartz:12,macosforg:[],trac:[],newest:12,port:12,selfupd:12,remark:[12,11],synchron:12,frequent:12,happen:12,servic:12,firewal:12,svn:12,trunk:12,dport:12,sync:12,pkgconfig:12,qtwebengin:12,past:12,unfortun:12,subject:12,mini:12,michaelrsweet:12,lazi:12,dmg:12,sierra:12,writ:12,root_v6:12,macosx64:12,clang91:12,owner:12,life:[9,12,11],chown:12,chgrp:12,staff:12,exactli:[12,11],wisdom:[12,10],harder:12,adopt:[12,11],parenthes:[12,11],macosx:12,plist:12,doctyp:12,dtd:12,propertylist:12,dict:12,qt3mac:12,stabl:12,crypto:12,unstabl:12,finkcommand:12,boost1:12,nopython:12,shlib:12,libtool2:12,qtwebenginecor:12,qtwebenginewidget:12,bit:12,earlier:12,"1_63_0":12,cpp11:12,circumst:12,finder:12,workaround:12,dyld_library_path:12,mgui:12,differenti:[9,11],diamagnet:[9,10],approxim:9,geometri:9,positron:[9,10],counter:[9,11],precess:9,"3110_tutori":9,conveni:9,underli:9,divid:[9,10],xyz:9,normup:9,bgup:9,phaseup:9,normdown:9,bgdown:9,phasedown:9,normright:9,bgright:9,phaseright:9,asymsig1:9,ratesig1:9,fieldsig1:9,asymsig2:9,ratesig2:9,fieldsig2:9,uncertainti:[9,10],asymmetr:9,lower:[9,11],upper:[9,11],constant:[9,11],background:[9,11],uncorrel:9,three:[9,10,11],remain:9,signal:[9,10,11],holder:9,amplitud:9,depolar:[9,10,11],simplexpo:[9,11],tfieldco:[9,11],map1:[9,11],fun1:[9,11],frequenc:[9,10,11],simplegss:[9,11],fun2:[9,11],predefin:[9,11],multipli:[9,11],sign:9,fun:9,interrel:9,gamma_mu:[9,11],par12:[9,11],par15:9,altogeth:[9,11],deltat_pta_gps_3110:9,fittyp:[9,11],norm:[9,11],backgr:[9,11],map2:[9,11],map3:9,undefin:9,implant:[9,10],exce:9,mino:[9,10,11],mhz:[9,10,11],fourier_pow:[9,11],apod:[9,11],weak:[9,11],medium:[9,11],real_and_imag:[9,11],par3:[9,11],imaginari:[9,11],drawn:[9,11],abscissa:[9,11],ordin:[9,11],use_fit_rang:[9,11],third:[9,10,11],ndf:9,freedom:[9,11],converg:[9,10,11],blue:[9,11],maximum:[9,11],count:[9,11],zoom:[9,11],graph:[9,11],around:[9,11],cursor:[9,11],suitabl:9,repeat:[9,11],proce:[9,12],comma:[9,11],between:[9,10,11],"short":[9,11],conclud:9,attent:[9,10,11],"3111_tutori":9,"3114_tutori":9,"_tutori":9,snapshot:9,dark:9,theme:9,facilit:10,gyromagnet:10,ratio:10,smu:10,outlin:10,literatur:10,reli:10,repeatedli:10,sizabl:10,worth:10,maxim:[10,11],trial:10,deserv:10,effect:[10,11],shift:[10,11],advis:10,prove:10,appreci:10,induct:10,vari:[10,11],dimens:10,incid:10,simul:10,trim:10,arrai:10,total:[10,11],thick:10,solv:10,equat:[10,11],layer:10,account:[10,11],superfluid:10,macroscop:10,dover:10,adjac:10,penetr:10,depth:10,constitu:10,half:10,film:10,userfcn:[10,11],tlondon1dh:10,deg:10,dead:10,tlondon1d1l:10,fraction:[10,11],substrat:10,bilay:10,heterostructur:10,tlondon1d2l:10,trilay:10,tlondon1d3l:10,investig:10,flux:10,probe:10,randomli:10,spatial:10,seri:10,reciproc:10,coeffici:[10,11],coher:[10,11],gaussian:10,cutoff:10,brandt:10,temp:10,phy:[10,11],riseman:[10,11],analyt:10,ginzburg:10,landau:10,yaouanc:[10,11],dalma:[10,11],réotier:[10,11],bessel:[10,11],region:[10,11],triangular:10,grid:10,inter:10,distanc:10,tbulktrivortexlondon:10,tbulktrivortexml:10,tbulktrivortexagl:10,tbulktrivortexngl:10,migrad:[10,11],proven:10,larg:[10,11],futil:10,strategi:[10,11],max_likelihood:[10,11],hess:[10,11],bmw_startup:10,debug:[10,11],one_or_zero:10,deactiv:10,path_to_fil:10,invalid:10,delta_t:10,rest:10,microsecond:10,delta_b:10,resb:10,vortexlattic:10,n_vortexgrid:10,data_path:[10,11],data_path_prefix:10,n_theori:10,invers:10,energy_list:10,energy_label:10,rge:10,expect:[10,11],belong:10,wordsofwisdom:10,trimsp:10,"02_0":10,"03_0":10,"03_6":10,"05_0":10,"05_3":10,relax:[10,11],slr:10,reson:[10,11],lineshap:10,puls:10,evolut:10,salman:10,prl:10,lifetim:[10,11],exponenti:[10,11],exprlx:10,stretch:10,sexprlx:10,expon:[10,11],chemic:10,anisotropi:10,powder:10,mehr:10,solid:[10,11],springer:10,axial:10,symmetr:10,observ:10,paralel:10,perpendicular:10,symmetri:10,anisotrop:10,along:[10,11],loss:10,ellipt:10,linegauss:10,fwhm:10,height:10,lorentzian:10,linelorentzian:10,laplacian:10,linelaplac:10,skew:10,lineskewlorentzian:10,width:[10,11],lineskewlorentzian2:10,convolut:10,powderlineaxiallor:10,powderlineaxialgss:10,powderlineasymlor:10,princip:10,powderlineasymgss:10,gpl:11,philosophi:11,abil:11,fcn:11,sever:11,correl:11,renam:11,msr_file_without_extens:11,msr_file:11,maxlh:11,estimaten0:11,timeout_tag:11,overwrit:11,prevent:11,orphan:11,jam:11,"8472_tf_histo":11,avg:11,graphic_format_extens:11,session:11,"8472_0":11,gif:11,jpg:11,svg:11,xpm:11,"8472_x":11,experiment:11,action:11,canvas:11,toggl:11,spectrum:11,area:11,hair:11,consid:11,beta:11,feed:11,exit:11,"3310_0":11,subtract:11,fopt:11,neither:11,nor:11,pad:11,angular:11,interpret:11,lem15_his_01234:11,rebin:11,fudg:11,elimin:11,sens:11,tweak:11,tdc_hifi_2014_00153:11,mnsi:11,"50k":11,unzoom:11,crosshair:11,gett0frompromptpeak:11,firstgoodbinoffset:11,argument:11,color:11,channel:11,interrupt:11,msr_file_in:11,msr_file_out:11,parc:11,wors:11,aim:11,idf1:11,idf2:11,nexus1:11,nexus2:11,flexibl:11,filenamelist:11,lem10_his_0111:11,lem10_his_0113:11,run3:11,runstart:11,runend:11,rrrr:11,rrrrrr:11,yyyi:11,unless:11,sent:11,stdout:11,compress:11,absent:11,lem10_his_0123:11,lem10_his_0123_v2:11,idf:11,deltat_tdc_gps_:11,d2001:11,deltat_tdc_gps_0123:11,deltat_tdc_gps_0137:11,deltat_tdc_alc_:11,rrr:11,spit:11,psi_gps_:11,psi_:11,"_gps_":11,psi_gps_run_100to117:11,archiv:11,lem10_his_0012:11,rebin25:11,lem10_his_0123_rebin25:11,runno:11,fileformat:11,pta:11,ltf:11,dolli:11,gpd:11,hifi:11,tdc_hifi_2015_00123:11,construct:11,path_to_data:11,write_per_run_block_chisq:11,pearson:11,fourier_set:11,phase_incr:11,phincr:11,increment:11,optim:11,root_set:11,marker_list:11,marker:11,color_list:11,intranet:11,mnt:11,unlik:11,headlin:11,style:11,lower_boundari:11,upper_boundari:11,init:11,alpha:11,asi:11,freq:11,constrain:11,semi:11,par:11,asy1:11,rate1:11,asy2:11,field2:11,rate2:11,whitespac:11,avoid:11,whenev:11,abbr:11,express:11,"const":11,generexpo:11,stg:11,statgssktlf:11,sgktlf:11,dyngssktlf:11,dgktlf:11,statexpkt:11,sekt:11,statexpktlf:11,sektlf:11,dynexpktlf:11,dektlf:11,combilgkt:11,lgkt:11,strkt:11,skt:11,spinglass:11,spg:11,rdanisohf:11,rahf:11,internfld:11,internbsl:11,internfldgk:11,ifgk:11,internfldl:11,ifll:11,abragam:11,skewedgss:11,skg:11,staticnkzf:11,snkzf:11,staticnktf:11,snktf:11,dynamicnkzf:11,dnkzf:11,dynamicnktf:11,dnktf:11,muminusexptf:11,mmsetf:11,polynom:11,hayano:11,conden:11,matter:11,keren:11,uemura:11,crook:11,cywinski:11,turner:11,harshman:11,kornilov:11,pomjakushin:11,letter:11,larkin:11,physica:11,condens:11,noak:11,kalviu:11,oxford:11,simplifi:11,formula:11,ident:11,compact:11,difficulti:11,simultan:11,address:11,funx:11,complic:11,dictionari:11,libmylibrari:11,tmyfunct:11,auxiliari:11,arithmet:11,divis:11,sin:11,tan:11,aco:11,asin:11,atan:11,cosh:11,sinh:11,tanh:11,acosh:11,asinh:11,atanh:11,exp:11,sqrt:11,pow:11,parx:11,par5:11,mapi:11,denot:11,frac1:11,shorten:11,logic:11,fire:11,addt0:11,rrf_freq:11,rrf_pack:11,rrf_phase:11,exact:11,pie3:11,particular:11,run_file_nam:11,record:11,digress:11,musrfulldatapath:11,colon:11,smith:11,lem07_his_2018:11,musrfulldatapathtoken:11,runnam:11,ext:11,lem07_2018_rb1_npp:11,d2007:11,deltat_pta_gps_2650:11,d2010:11,deltat_tdc_gpd_8472:11,mue1:11,beauti:11,muminu:11,t0addrun1:11,t0addrun2:11,t0addrun1forward:11,t0addrun1backward:11,t0addrun2forward:11,t0addrun2backward:11,sum:11,onlin:11,angl:11,nanosecond:11,fun3:11,transfer:11,ten:11,fgb:11,lgb:11,larger:11,direct:11,span:11,meaningless:11,simplex:11,batch:11,anywher:11,contour:11,mnplot:11,optimum:11,list_of_param_to_be_fix:11,restor:11,freq1:11,freq2:11,complex:11,fit_rang:11,flavor:11,n00:11,n01:11,n10:11,n11:11,nn0:11,nn1:11,inlin:11,scale_n0_bkg:11,fals:11,print_level:11,footnot:11,bigger:11,phd:11,thesi:11,ubc:11,val0:11,sep:11,val1:11,valn:11,parx0:11,parx1:11,parxn:11,par7:11,par17:11,par22:11,par27:11,par32:11,par37:11,par42:11,par47:11,par52:11,par57:11,par62:11,par67:11,par72:11,par77:11,par82:11,fcp:11,bcp:11,relative_bcp:11,parrx0:11,rel:11,summ:11,parxj:11,parr:11,obvious:11,offest:11,range_for_phase_correct:11,par8:11,nsec:11,min:11,sub_rang:11,view_pack:11,logx:11,logarithm:11,logi:11,khz:11,par4:11,downward:11,upward:11,unwant:11,rid:11,filter:11,kaiser:11,fail:11,tricki:11,compon:11,ideal:11,uncontrol:11,ghost:11,imperfect:11,distort:11,dispers:11,fold:11,substanti:11,infer:11,math:11,mathrm:11,theoret:11,rearrang:11,unbin:11,histogramm:11,reserv:11,plug:11,simpler:11,why:11,although:11,declar:11,puserfcnbas:11,evalu:11,cassert:11,cmath:11,namespac:11,constructor:11,destructor:11,needglobalpart:11,"void":11,setglobalpart:11,globalpart:11,uint_t:11,idx:11,globalpartisvalid:11,classdef:11,destroi:11,peculiar:11,ness:11,introductori:11,topic:11,const_correct:11,herein:11,classimp:11,assert:11,arg:11,linkdef:11,tmylibrarylinkdef:11,ifdef:11,"__cint__":11,pragma:11,endif:11,wise:11,attach:11,tmylibrari:11,libtmylibrari:11,sensibl:11,bluish:11,node:11,uf1:11,uf2:11,entiti:11,ineffici:11,associ:11,ufx:11,g_ufx:11,consum:11,abrikosov:11,cycl:11,thu:11,overhead:11,tmyglobalfunct:11,isvalid:11,fvalid:11,fprevparam:11,calcsomethingcpuexpens:11,liklei:11,getwhatisneed:11,privat:11,finvokedglob:11,fidxglob:11,fglobaluserfcn:11,static_cast:11,sorri:11,resiz:11,pointer:11,dynamic_cast:11,retriev:11,pseudo:11,increas:11,safeti:11,manjaro:12,antergo:12,distro:12,deb:12,installatio:12},objects:{},objtypes:{},objnames:{},titleterms:{acknowledg:0,any2mani:[1,11],univers:1,"\u03bcsr":[1,10,11,6,7],file:[1,10,5,11,9,7,8],format:[1,7,11],convert:1,bugtrack:2,how:3,cite:3,musrfit:[4,13,5,3,11,9,12,8],welcom:4,document:[4,10],indic:4,tabl:4,msr2data:[9,5,11],program:5,automat:5,process:[9,5],multipl:[9,5],msr:[9,5,11],basic:[11,7,5,8],type:[5,11],usag:[8,11,5,6],run:[7,5,11],list:5,structur:5,option:[12,5],paramet:[8,5,6],global:[5,11],mode:5,gener:[5,11],extract:5,extend:5,known:5,limit:5,graphic:[13,5,6],user:[10,5,11,6,7],interfac:[8,7,5,6],provid:5,musredit:[12,5,8],mupp:6,plotter:6,script:6,summari:6,musrroot:7,extens:[7,11],open:7,some:7,concern:7,root:[12,7],inform:7,contain:7,runhead:7,runinfo:7,overview:7,tmusrrunhead:7,concept:7,header:7,write:7,read:[9,7],valid:7,requir:[12,7],detectorinfo:7,sampleenvironmentinfo:7,magneticfieldenvironmentinfo:7,beamlineinfo:7,exhaust:7,tree:7,includ:7,everyth:[12,7],tmusrrunphysicalquant:7,possibl:7,represent:7,gui:8,base:8,introduct:[10,11,8],avail:[11,8],execut:[11,8],configur:[11,8],musrgui:[12,8],musredit_startup:8,xml:[10,11,8],featur:8,musrwiz:8,theori:[11,8],"function":[10,11,8],map:[11,8],fit:[9,13,11,8],info:8,creat:8,musrstep:8,set:[13,12],high:13,speed:13,gpu:[13,11],tesla:13,k40c:13,nvidia:13,driver:13,instal:[13,12],cuda:13,via:[13,12],automak:[],cmake:[13,12],amd:13,card:13,radeon:13,"390x":13,app:13,softwar:[13,12],develop:13,kit:13,sdk:13,enabl:[13,11],opencl:[13,11],support:[13,12,11],maco:[13,12],differ:12,platform:12,oper:12,system:12,restrict:12,gnu:12,linux:12,nexu:12,build:12,last:12,step:12,obsol:12,check:12,window:12,cygwin:12,potenti:12,problem:12,mac:12,macport:12,packag:12,from:12,sourc:12,environ:12,variabl:12,fink:12,obsolet:12,tutori:9,singl:[9,11],histogram:[9,11],determin:9,data:[9,10],rang:9,musrt0:[9,11],model:[9,10],view:9,musrview:[9,11],further:9,asymmteri:9,lib:10,meissner:10,profil:10,vortex:10,lattic:10,relat:10,bmw:10,libfitpofb:10,dimension:10,london:10,state:10,isotrop:10,superconductor:10,bulk:10,field:10,distribut:10,mix:10,startup:10,nonloc:10,superconduct:10,screen:10,analyz:10,"\u03b2":10,nmr:10,bnmr:10,libbnmr:10,liblineprofil:10,manual:11,kei:11,shortcut:11,musrft:11,msr2msr:11,dump_head:11,musrfit_startup:11,descript:11,titl:11,fitparamet:11,block:11,command:11,fourier:11,plot:11,statist:11,rrf:11,asymmetri:11,neg:11,muon:11,non:11,without:11,object:11,access:11,technic:11,framework:11},envversion:43}) \ No newline at end of file diff --git a/doc/html/setup-dks.html b/doc/html/setup-dks.html index bd141748..5ee2ebcc 100644 --- a/doc/html/setup-dks.html +++ b/doc/html/setup-dks.html @@ -6,7 +6,7 @@ - Setting up musrfit / DKS: High Speed Fitting with GPU’s — musrfit 1.4.1 documentation + Setting up musrfit / DKS: High Speed Fitting with GPU’s — musrfit 1.4.2 documentation @@ -14,7 +14,7 @@ - + @@ -41,7 +41,7 @@
  • previous |
  • -
  • musrfit 1.4.1 documentation »
  • +
  • musrfit 1.4.2 documentation »
  • @@ -160,39 +160,6 @@ switch the working branch which is done by

    $ git checkout dks6 -
    -

    Install via automake

    -
    -

    Note

    -

    Currently automake is still supported but soon will be replaced by cmake. Only follow -the automake procedure if you have good reasons.

    -
    -

    The configure script for musrfit has now a couple of more tags/options, which are:

    -
    -
    - -enable-dks
    -
    by default this is set to no, hence if you want to have GPU support you need to enable it.
    -
    - -with-cuda
    -
    with this tag you tell the configure script where it can find CUDA
    -
    - -with-opencl
    -
    with this tag you tell the configure script where it can find OpenCL
    -
    - -with-dks
    -
    with this tag you tell the configure script where it can find DKS
    -
    -

    For a typical setup on a RHEL system it could look like this

    -
    $ ./configure --enable-ASlibs --enable-BMWlibs --enable-NeXus --with-dks=$HOME/Apps/DKS/exec --enable-dks --prefix=$ROOTSYS
    -
    -
    -

    After

    -
    $ make
    -$ make install
    -
    -
    -

    and updating the shared library lookup table (only needed for Linux)

    -
    $ /sbin/ldconfig # as superuser / root
    -
    -
    -

    you are done with the setup.

    -

    Install via cmake

    There is on more configuration switch

    @@ -201,7 +168,7 @@ $ make install
    it allows to enable/disable DKS support. The default is <value>=1, i.e. enabled. To disable use <value>=0.

    For a typical setup on a RHEL or macOS system it could look like this

    -
    $ cmake ../ -DCMAKE_INSTALL_PREFIX=$ROOTSYS -DASlibs=1 -DBMWlibs=1 -Dnexus=1
    +
    $ cmake ../ -DCMAKE_INSTALL_PREFIX=$ROOTSYS -DASlibs=1 -DBMWlibs=1 -Dnexus=1 -Ddks=1
     

    After

    @@ -354,12 +321,12 @@ The only thing you need DKS previous | -
  • musrfit 1.4.1 documentation »
  • +
  • musrfit 1.4.2 documentation »
  • diff --git a/doc/html/setup-standard.html b/doc/html/setup-standard.html index e64c9cb0..c077e111 100644 --- a/doc/html/setup-standard.html +++ b/doc/html/setup-standard.html @@ -6,7 +6,7 @@ - Setting up musrfit on Different Platforms — musrfit 1.4.1 documentation + Setting up musrfit on Different Platforms — musrfit 1.4.2 documentation @@ -14,7 +14,7 @@ - + @@ -41,7 +41,7 @@
  • previous |
  • -
  • musrfit 1.4.1 documentation »
  • +
  • musrfit 1.4.2 documentation »
  • @@ -62,11 +62,9 @@ it can also be set up under MS Windows (cygwin, only for the In case musrfit should be installed according to the description found on this page, the user is strongly encouraged to read completely each section dealing with the present installation step before starting the installation process!

    -

    Apart from GCC, the GNU Compiler Collection (gcc, g++), the GNU build tools autoconf, -automake, and libtool are needed, if you want to build musrfit via the automake toolchain. -The automake toolchain will eventually be droped in upcoming releases. -If you plan to use the cmake toolchain (preferred way), cmake. Furthermore the helper tool pkg-config is -needed and musrfit requires the installation of a few open-source libraries and programs including their header packages:

    +

    Apart from GCC, the GNU Compiler Collection (gcc, g++), the build tool cmake is needed. Furthermore the helper +tool pkg-config needs to be in place, and musrfit requires the installation of a few open-source libraries and programs including +their header packages:

    boost C++ libraries
    The powerful Spirit parser framework used by musrfit is included in that collection of libraries. Required version ≥ 1.33 (see boost C++ libraries).
    @@ -117,14 +115,15 @@ needed and musrfit requires the installation of a few open-source libraries and
    GNU/Linux
    No serious problems are currently known. Tested distributions: RHEL, Fedora, -Debian, Ubuntu, Mint, openSUSE.
    +Debian, Ubuntu, Mint, openSUSE, +manjaro, and antergos.
    Mac OS X/macOS
    No serious problems are currently known for macOS ≥ 10.6.
    MS Windows

    Native MS Windows support is currently not available. Potential ways to get musrfit running are:

    • via installation of Linux via the Microsoft App store for Windows 10.
    • -
    • via installation of the virtual machine on which you install Linux.
    • +
    • via installation of the virtual machine on which you install Linux (probably the easiest for most Windows users).
    • via cygwin.
    @@ -178,9 +177,19 @@ the source code from the corresponding website, or to clone the git repo. If you

    Installation of NeXus requirements (optional)

    Only if musrfit should support reading/writing data files in the NeXus format the further required 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 MXML, HDF4, and HDF5 might be called mxml, mxml-devel, -hdf, hdf-devel, hdf5, hdf5-devel, on Debian-like systems libmxml1, libmxml-dev, libhdf4-dev, libhdf5-dev.

    +GNU/Linux distribution or if this is not the case, the packages can be installed from the source code. The necessary +packages to build NeXus are MXML, (HDF4), and HDF5. This means, for a rpm-package based distro try something like:

    +
    +
    $ yum install mxml-devel hdf-devel hdf5-devel
    +
    +
    +
    +

    and on a deb-package based distro try something like:

    +
    +
    $ apt-get install libmxml-dev libhdf4-dev libhdf5-dev
    +
    +
    +

    Note

    HDF4 support within NeXus will be dropped by musrfit in the near future. If you not urgently need @@ -211,9 +220,8 @@ $ sudo make install

    ROOT

    -

    ROOT 5.34/xx is supported as legacy version only! The default now will be ROOT 6.xx/yy!

    The ROOT framework may or may not be part of the GNU/Linux distribution. Some distributions are packing ROOT in a -manner incompatible with the way it is needed for musrfit, though the situation is improving. If you are +manner incompatible with the way it is needed by musrfit, 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). One Warning: if the ROOT packages are upgraded after a yum update (apt-get update; apt-get upgrade) you might need to recompile musrfit. If you are not sure about @@ -235,12 +243,12 @@ be added starting with a ‘#’ which can be omitted. They are only the $ # creat the Apps directory if not already present $ mkdir Apps $ cd Apps -$ git clone http://root.cern.ch/git/root.git +$ git clone http://github.com/root-project/root.git $ cd root $ git tag -l -$ # git tag -l will list all available tags. In the next command choose the tag v6-14-00 +$ # git tag -l will list all available tags. In the next command choose the tag v6-16-00 $ # or the latest official release number -$ git checkout -b v6-14-00 v6-14-00 +$ git checkout -b v6-16-00 v6-16-00 $ # now ROOT is ready to be configured. Below you will find the minimal ROOT configuration needed. $ # since we are using cmake build now, first we will need to create the build directory. $ mkdir root_build @@ -284,20 +292,18 @@ $ cmake --build ./ --clean-first

    musrfit

    -

    When all required software has been set up with the musrfit installation can be proceeded. First, the most +

    When all required software has been set up you can proceed with the musrfit installatio. 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 $HOME/Apps this is achieved most easily calling from the terminal

    $ cd $HOME/Apps
     $ git clone https://bitbucket.org/muonspin/musrfit.git
    -$ # Only if legacy ROOT 5.xx.yy is used include the next line
    -$ cd musrfit; git checkout root5
    +$ cd musrfit
     

    or

    $ cd $HOME/Apps
     $ git clone git://gitlab.psi.ch/nemu/musrfit.git
    -$ # Only if legacy ROOT 5.xx.yy is used include the next line
    -$ cd musrfit; git checkout root5
    +$ cd musrfit
     
    @@ -309,78 +315,15 @@ will needed to switch branches first.

    Update: If a local repository clone is already present (it needs to be newer than Dec. 2016), one can update it using:

    $ cd $HOME/Apps/musrfit
     $ git pull
    -
    -
    -

    Now, depending whether you follow the automake or cmake tool chain you do

    -

    automake toolchain:

    -
    $ make uninstall
    -$ make clean
    -$ make
    -$ make install
    -
    -
    -

    or

    -

    cmake toolchain:

    -
    $ cd build
    +$ cd build
     $ xargs rm < install_manifest.txt
     $ cmake --build ./ --clean-first
     $ make install
     

    As an alternative (if git is not available), the source code can also be downloaded from the following web-page: musrfit at bitbucket

    -
    -

    musrfit build with automake

    -

    After the source-code extraction the autogen.sh script is called to prepare the build environment. -If it has been executed successfully the configure script should be ready to collect all the information needed -to create the Makefiles. If musrfit should support NeXus data files this has to be enabled by specifying the ---enable-NeXus switch when calling configure. For an overview of all available options just call ./configure --help. -Besides the standard options there are a few special options which should be mentioned here:

    -
    -
    - -prefix
    -
    Specify the installation prefix, e.g. $ROOTSYS if already defined (by default: /usr/local).
    -
    - -with-rootsys
    -
    Specify the top of the ROOT installation directory, e.g. $ROOTSYS if already defined.
    -
    - -with-fftw3
    -
    Specify the prefix of the FFTW3 installation. e.g. /usr/local or /usr.
    -
    - -with-gsl
    -
    Set the prefix of the GSL installation, e.g. /usr/local or /usr.
    -
    - -with-boostinc
    -
    Set the path to the header files of the Boost installation, e.g. /usr/local/include or /usr/include.
    -
    - -with-hdf4
    -
    Set the prefix of the HDF4 installation, e.g. /usr/local (only useful in conjunction with the NeXus support).
    -
    - -with-hdf5
    -
    Set the prefix of the HDF5 installation, e.g. /usr (only useful in conjunction with the NeXus support).
    -
    - -with-nexus
    -
    Set the prefix of the NeXus installation, e.g. /usr/local (only useful in conjunction with the NeXus support).
    -
    - -with-qt3
    -
    Set the prefix of the Qt3 installation, e.g. /usr/lib/qt-3.3 (only useful in conjunction with building musrgui).
    -
    - -with-qt4
    -
    Set the prefix of the Qt4 installation, e.g. /usr/lib/qt47 (only useful in conjunction with building musredit).
    -
    - -with-qt5
    -
    Set the prefix of the Qt5 installation, e.g. /usr/lib64 (only useful in conjunction with building musredit).
    -
    - -enable-NeXus
    -
    Enable the support of NeXus data files (requires the HDF4, HDF5 and NeXus libraries to be installed).
    -
    - -disable-editor
    -
    Disable the integrated building of musredit/musrgui.
    -
    - -disable-omp
    -
    Switches off the OpenMP features of musrfit (parallelization of the \(\chi^2\) calculation when compiled with GCC ≥ 4.2).
    -
    -

    Normally it should not be necessary to make use of any of the options except for specifying the installation path with --prefix. The -other paths should be detected automatically. If this does not work for some reason the configure script will terminate and ask for the -information. When the configure script has been called successfully everything is ready for building the musrfit libraries and executables. -A standard installation sequence (without NeXus support) might then look like (In case the normal user has no write permissions to the -$ROOTSYS and the installation path the “make install” commands have to be executed as superuser.):

    -
    $ cd $HOME/Apps/musrfit
    -$ sh autogen.sh
    -$ ./configure --prefix=$ROOTSYS
    -$ make
    -$ make install
    -$ /sbin/ldconfig     # (as superuser)
    -
    -
    -
    -

    musrfit build with cmake

    +

    musrfit build with cmake

    Currently the following configuration switches for musrfit are available:

    -DCMAKE_INSTALL_PREFIX=<prefix-path>
    @@ -421,7 +364,7 @@ $ /sbin/ldconfig # (as superus
    -

    musrfit last step of the installation

    +

    musrfit last step of the installation

    In order to finish the installation of musrfit two more things should be done:

      @@ -440,10 +383,9 @@ detailed information on this XML file refer to the
    -

    musredit

    +

    musredit

    In the latest version of musrfit the configure script tries to determine automatically the highest available Qt version. -In case this is found, the editor musredit is built already together with musrfit. If not, one can try to call -the configure script with the - -with-qt5 option (automake). cmake will determine everthing automatically. +In case this is found, the editor musredit is built already together with musrfit. To install this editor separately, i.e. by “hand” do

    $ cd $HOME/Apps/musrfit/src/musredit_qt5
     $ # for some distributions you will need qmake-qt5 for the next command
    @@ -505,7 +447,7 @@ Please also be aware of the fact that the X server which is going to be installe
     

    Requirements

    -

    Setting up Cygwin

    +

    Setting up Cygwin

    For the start go to the Cygwin website, download the setup file and use it to install Cygwin 1.7 or newer. During the installation process you will be asked where you want to install Cygwin and normally the default choice should just be fine. At some point you will be asked which packages should be installed. Make sure that you choose at least the following (or packages with revisions close @@ -552,8 +494,8 @@ the later handling will be easier if a symbolic link to these files is created n

    Everything but ROOT and NeXus

    -
    -

    Installation of NeXus requirements (optional)

    +
    +

    Installation of NeXus requirements (optional)

    Only if musrfit should support reading data files in the NeXus format the further required software has to be set up. Under Cygwin of all the required libraries only HDF5 is available. The packages hdf5 and libhdf5-devel can be installed through the Cygwin setup. One should also make sure that bison, flex @@ -597,8 +539,8 @@ $ make install

    -
    -

    ROOT

    +
    +

    ROOT

    In order to install the ROOT system, there are two possibilities:

    • Download the precompiled Cygwin GCC 4.3 (or newer) package of the most recent ROOT version @@ -639,8 +581,8 @@ for the user Username

      Afterwards close the Cygwin shell and reopen it again for the installation of musrfit.

    -
    -

    musrfit

    +
    +

    musrfit

    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 ~/musrfit this is achieved most easily calling from the terminal

    $ cd
    @@ -659,58 +601,8 @@ $ git pull
     

    As an alternative (if git is not available), the source code can also be downloaded from the following web-page: musrfit at bitbucket.

    -
    -

    musrfit build with automake

    -

    After the source-code extraction the autogen.sh script is called to prepare the build environment. -If it has been executed successfully the configure script should be ready to collect all the information -needed to create the Makefiles. If musrfit should support NeXus data files this has to be enabled by -specifying the --enable-static --enable-NeXus switches when calling configure. For an overview of all -available options just call ./configure --help. Besides the standard options there are a few special -options which should be mentioned here:

    -
    -
    - -prefix
    -
    Specify the installation prefix, e.g. /opt/root-system (by default: /usr/local)
    -
    - -with-rootsys
    -
    Specify the top of the ROOT installation directory, e.g. /opt/root-system
    -
    - -with-fftw3
    -
    Specify the prefix of the FFTW3 installation. e.g. /usr/local or /usr
    -
    - -with-gsl
    -
    Set the prefix of the GSL installation, e.g. /usr/local or /usr
    -
    - -with-boostinc
    -
    Set the path to the header files of the Boost installation, e.g. /usr/local/include or /usr/include
    -
    - -with-hdf4
    -
    Set the prefix of the HDF4 installation, e.g. /usr/local (only useful in conjunction with the NeXus support)
    -
    - -with-hdf5
    -
    Set the prefix of the HDF5 installation, e.g. /usr (only useful in conjunction with the NeXus support)
    -
    - -with-nexus
    -
    Set the prefix of the NeXus installation, e.g. /usr/local (only useful in conjunction with the NeXus support)
    -
    - -with-qt3
    -
    Set the prefix of the Qt3 installation, e.g. /usr/lib/qt-3.3 (only useful in conjunction with building musrgui)
    -
    - -with-qt4
    -
    Set the prefix of the Qt4 installation, e.g. /usr/lib/qt47 (only useful in conjunction with building musredit)
    -
    - -with-qt5
    -
    Set the prefix of the Qt5 installation, e.g. /usr/lib/qt56 (only useful in conjunction with building musredit)
    -
    - -enable-NeXus
    -
    Enable the support of NeXus data files (requires the HDF4, HDF5 and NeXus libraries to be installed).
    -
    - -disable-editor
    -
    Disable the integrated building of musredit/musrgui.
    -
    - -disable-omp
    -
    Switches off the OpenMP features of musrfit (parallelization of the \(\chi^2\) calculation when compiled with GCC ≥ 4.2)
    -
    -

    Normally it should not be necessary to make use of any of the options except for specifying the installation path with --prefix. -The other paths should be detected automatically. If this does not work for some reason the configure script will terminate and -ask for the information. When the configure script has been called successfully everything is ready for building the musrfit -libraries and executables. A standard installation sequence (without NeXus support) might then look like:

    -
    $ cd musrfit
    -$ sh autogen.sh
    -$ ./configure --prefix=$ROOTSYS
    -$ make
    -$ make install
    -
    -
    -
    -
    -

    musrfit build with cmake

    +
    +

    musrfit build with cmake

    Currently the following configuration switches for musrfit are available:

    -DCMAKE_INSTALL_PREFIX=<prefix-path>
    @@ -751,12 +643,11 @@ $ /sbin/ldconfig # (as superus
    -
    -

    musredit

    +
    +

    musredit

    In the latest version of musrfit the configure script tries to determine automatically if Qt4.5 or higher is set up on the machine. In case this is found, the editor musredit is built -readily with musrfit. If not, one can either try to call the configure script with the ---with-qt4 option or install this editor separately, .e.g.:

    +readily with musrfit. If not, try the following:

    $ cd src/musredit
     $ qmake-qt4 musredit.pro
     
    @@ -780,14 +671,14 @@ musredit &
    -
    -

    musrgui (obsolate)

    +
    +

    musrgui (obsolate)

    If Qt4.5 or higher is not available but Qt3 is set up musrgui can be installed. For this please follow the instructions for the musredit installation where simply every musredit occurrence has to be replaced by musrgui, and qt4 is replaced by qt3.

    -
    -

    Check the installation

    +
    +

    Check the installation

    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 musrfit source tree at doc/examples/. @@ -819,7 +710,7 @@ or Fink — In the following, both possibilities (using MacPorts or Fink) are described but it is emphasized here that it should be followed only one of the possible routes .

    -

    Requirements (MacPorts)

    +

    Requirements (MacPorts)

    Before proceeding with the usage of the MacPorts system first a few useful tools provided by Apple together with OS X (on the installation DVD/CDs) should be installed:

    @@ -838,7 +729,7 @@ $ sudo xcodebuild -license
    X11
    The X-window system is automatically installed on 10.5 Leopard and 10.6 Snow Leopard. For some other versions you also -will need to install XQuartz <http://xquartz.macosforge.org/trac>. If ROOT runs without XQuartz do not +will need to install XQuartz. If ROOT runs without XQuartz do not install it.

    After installing the Xcode tools go to the MacPorts install page, download @@ -876,8 +767,8 @@ add a new line pointing to your local copy, e.g.

    With Qt5, musredit will be installed. If it happens that you used musrgui in the past, please change over to musredit since there will be no further development for musrgui anymore!

    -
    -

    Installation of NeXus requirements (optional)

    +
    +

    Installation of NeXus requirements (optional)

    Only if musrfit should support reading data files in the NeXus format the further required packages are set up:

    $ sudo port -v install hdf4 hdf5
     
    @@ -906,21 +797,21 @@ $ sudo make install
    -
    -

    ROOT

    -

    ROOT 5.34/xx is supported as legacy version only! The default now will be ROOT 6.xx/yy!

    +
    +

    ROOT

    +

    The default ROOT version is based on ROOT 6.xx/yy!

    ROOT installed via package installer

    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 download page. Choose the latest ROOT release and download you macOS version dmg-file, e.g. for macOS 10.13 (High Sierra) -it is at the time of writting root_v6.14.00.macosx64-10.13-clang91.dmg. After the installation +it is at the time of writting root_v6.16.00.macosx64-10.13-clang91.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:

    $ cd /Applications
    -$ sudo chown -R <username> root_v6.14.00
    -$ sudo chgrp -R staff root_v6.14.00
    -$ sudo ln -s root_v6.14.00 root
    +$ sudo chown -R <username> root_v6.16.00
    +$ sudo chgrp -R staff root_v6.16.00
    +$ sudo ln -s root_v6.16.00 root
     
    @@ -934,12 +825,12 @@ to install it somewhere else, just systematically replace the related terms of t For the following list of commands the ‘$’ will be given, 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.

    $ cd $HOME/Applications
    -$ git clone http://root.cern.ch/git/root.git
    +$ git clone http://github.com/root-project/root.git
     $ cd root
     $ git tag -l
     $ # git tag -l will list all available tags. In the next command choose the tag v6-10-xx
    -$ # where xx is the highest listed number, e.g. v6-14-00
    -$ git checkout -b v6-14-00 v6-14-00
    +$ # where xx is the highest listed number, e.g. v6-16-00
    +$ git checkout -b v6-16-00 v6-16-00
     $ # now ROOT is ready to be configured. Below you will find the minimal ROOT configuration needed.
     $ # We will use the cmake out-of-source approach here.
     $ mkdir root_build
    @@ -1000,7 +891,7 @@ launchctl setenv LD_LIBRARY_PATH $LD_LIBRARY_PATH
     
    -

    Requirements (Fink)

    +

    Requirements (Fink)

    Before proceeding with the usage of the Fink system first a few useful tools provided by Apple together with OS X (on the installation DVD/CDs) should be installed:

    Xcode
    @@ -1014,7 +905,7 @@ $ sudo xcodebuild -license
    X11
    The X-window system is automatically installed on 10.5 Leopard and 10.6 Snow Leopard. For some other versions you also -will need to install XQuartz <http://xquartz.macosforge.org/trac>. If ROOT runs without XQuartz do not +will need to install XQuartz. If ROOT runs without XQuartz do not install it.

    After installing the Xcode tools go to the Fink download page, @@ -1058,8 +949,8 @@ specific location, the later handling will be easier if a symbolic link to this

    where x_yy_z has to be substituted by the correct version number, e.g. 1_63_0.

    -
    -

    Installation of NeXus requirements (optional)

    +
    +

    Installation of NeXus requirements (optional)

    Only if musrfit should support reading data files in the NeXus format the further required packages can be installed through Fink (check for the most recent versions):

    libjpeg hdf hdf5-cpp11 hdf5-cpp11-shlibs
    @@ -1088,21 +979,21 @@ $ sudo make install
     
    -
    -

    ROOT

    -

    ROOT 5.34/xx is supported as legacy version only and will likely to be dropped in 2018. The default now is ROOT 6.xx/yy!

    +
    +

    ROOT

    +

    The default ROOT version is based on ROOT 6.xx/yy!

    ROOT installed via package installer

    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 download page. Choose the latest ROOT release and download you macOS version dmg-file, e.g. for macOS 10.13 (High Sierra) -it is at the time of writting root_v6.14.00.macosx64-10.13-clang91.dmg. After the installation +it is at the time of writting root_v6.16.00.macosx64-10.13-clang91.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:

    $ cd /Applications
    -$ sudo chown -R <username> root_v6.14.00
    -$ sudo chgrp -R staff root_v6.14.00
    -$ sudo ln -s root_v6.14.00 root
    +$ sudo chown -R <username> root_v6.16.00
    +$ sudo chgrp -R staff root_v6.16.00
    +$ sudo ln -s root_v6.16.00 root
     
    @@ -1116,12 +1007,12 @@ to install it somewhere else, just systematically replace the related terms of t For the following list of commands the ‘$’ will be given, 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.

    $ cd $HOME/Applications
    -$ git clone http://root.cern.ch/git/root.git
    +$ git clone http://github.com/root-project/root.git
     $ cd root
     $ git tag -l
     $ # git tag -l will list all available tags. In the next command choose the tag v6-10-xx
    -$ # where xx is the highest listed number, e.g. v6-14-00
    -$ git checkout -b v6-14-00 v6-14-00
    +$ # where xx is the highest listed number, e.g. v6-16-00
    +$ git checkout -b v6-16-00 v6-16-00
     $ # now ROOT is ready to be configured. Below you will find the minimal ROOT configuration needed.
     $ # We will use the cmake out-of-source approach here.
     $ mkdir root_build
    @@ -1181,22 +1072,20 @@ launchctl setenv LD_LIBRARY_PATH $LD_LIBRARY_PATH
     
    -
    -

    musrfit

    +
    +

    musrfit

    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 termin

    $ cd ~/Applications
     $ git clone https://bitbucket.org/muonspin/musrfit.git
    -$ # Only if legacy ROOT 5.xx.yy is used include the next line
    -$ cd musrfit; git checkout root5
    +$ cd musrfit
     

    or

    $ cd ~/Applications
     $ git clone git://gitlab.psi.ch/nemu/musrfit.git
    -$ # Only if legacy ROOT 5.xx.yy is used include the next line
    -$ cd musrfit; git checkout root5
    +$ cd musrfit
     

    If a local repository clone is already present, one can update it using:

    @@ -1206,59 +1095,8 @@ $ git pull

    As an alternative (if git is not available), the source code can also be downloaded from the following web-page: musrfit at bitbucket.

    -
    -

    musrfit build with automake

    -

    After the source-code extraction the autogen.sh script is called to prepare the build environment. -If it has been executed successfully the configure script should be ready to collect all the information needed -to create the Makefiles. If musrfit should support NeXus data files this has to be enabled by specifying the ---enable-NeXus switch when calling configure. For an overview of all available options just call ./configure --help. -Besides the standard options there are a few special options which should be mentioned here:

    -
    -
    - -prefix
    -
    Specify the installation prefix, e.g. $ROOTSYS if already defined (by default: /usr/local).
    -
    - -with-rootsys
    -
    Specify the top of the ROOT installation directory, e.g. $ROOTSYS if already defined.
    -
    - -with-fftw3
    -
    Specify the prefix of the FFTW3 installation. e.g. /usr/local or /usr.
    -
    - -with-gsl
    -
    Set the prefix of the GSL installation, e.g. /usr/local or /usr.
    -
    - -with-boostinc
    -
    Set the path to the header files of the Boost installation, e.g. /usr/local/include or /usr/include.
    -
    - -with-hdf4
    -
    Set the prefix of the HDF4 installation, e.g. /usr/local (only useful in conjunction with the NeXus support).
    -
    - -with-hdf5
    -
    Set the prefix of the HDF5 installation, e.g. /usr (only useful in conjunction with the NeXus support).
    -
    - -with-nexus
    -
    Set the prefix of the NeXus installation, e.g. /usr/local (only useful in conjunction with the NeXus support).
    -
    - -with-qt3
    -
    Set the prefix of the Qt3 installation, e.g. /usr/lib/qt-3.3 (only useful in conjunction with building musrgui).
    -
    - -with-qt4
    -
    Set the prefix of the Qt4 installation, e.g. /usr/lib/qt47 (only useful in conjunction with building musredit).
    -
    - -with-qt5
    -
    Set the prefix of the Qt5 installation, e.g. /usr/lib64 (only useful in conjunction with building musredit).
    -
    - -enable-NeXus
    -
    Enable the support of NeXus data files (requires the HDF4, HDF5 and NeXus libraries to be installed).
    -
    - -disable-editor
    -
    Disable the integrated building of musredit/musrgui.
    -
    - -disable-omp
    -
    Switches off the OpenMP features of musrfit (parallelization of the \(\chi^2\) calculation when compiled with GCC ≥ 4.2).
    -
    -

    Normally it should not be necessary to make use of any of the options except for specifying the installation path with --prefix. The -other paths should be detected automatically. If this does not work for some reason the configure script will terminate and ask for the -information. When the configure script has been called successfully everything is ready for building the musrfit libraries and executables. -A standard installation sequence (without NeXus support) might then look like (In case the normal user has no write permissions to the -$ROOTSYS and the installation path the “make install” commands have to be executed as superuser.):

    -
    $ cd $HOME/Apps/musrfit
    -$ sh autogen.sh
    -$ ./configure --prefix=$ROOTSYS
    -$ make
    -$ make install
    -$ /sbin/ldconfig     # (as superuser)
    -
    -
    -
    -
    -

    musrfit build with cmake

    +
    +

    musrfit build with cmake

    Currently the following configuration switches for musrfit are available:

    -DCMAKE_INSTALL_PREFIX=<prefix-path>
    @@ -1298,8 +1136,8 @@ $ /sbin/ldconfig # (as superus
    -
    -

    musrfit last step of the installation

    +
    +

    musrfit last step of the installation

    In order to finish the installation of musrfit two more things should be done:

    • Define the MUSRFITPATH environment variable containing the path to the musrfit executables and XML files. @@ -1315,12 +1153,11 @@ detailed information on this XML file refer to the
    -
    -

    musredit

    +
    +

    musredit

    In the latest version of musrfit the configure script tries to determine automatically the highest available Qt version. In case this is found, the editor musredit is built already together with musrfit. -If not, one can try to call the configure script with the –with-qt5 option (automake). cmake will -determine everthing automatically. To install this editor separately, i.e. by “hand” do

    +If not, try the following:

    $ cd $HOME/Apps/musrfit/src/musredit_qt5
     $ # for some distributions you will need qmake-qt5 for the next command
     $ qmake musredit.pro
    @@ -1353,8 +1190,8 @@ accomplish that, add the following lines to 
    -
    -

    Check the installation

    +
    +

    Check the installation

    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 musrfit source tree at doc/examples/. If musrgui has been installed, just open one of the test-*.msr files in the editor and test the musrfit @@ -1386,7 +1223,6 @@ $ musrview test-histo-ROOT-NPP.msr

  • musrfit @@ -1400,41 +1236,39 @@ $ musrview test-histo-ROOT-NPP.msr
  • Requirements
  • -
  • musrfit
  • Mac OS X / macOS @@ -1481,12 +1315,12 @@ $ musrview test-histo-ROOT-NPP.msr
  • previous |
  • -
  • musrfit 1.4.1 documentation »
  • +
  • musrfit 1.4.2 documentation »
  • diff --git a/doc/html/tutorial.html b/doc/html/tutorial.html index 14bc3db4..fea64867 100644 --- a/doc/html/tutorial.html +++ b/doc/html/tutorial.html @@ -6,7 +6,7 @@ - Tutorial for musrfit — musrfit 1.4.1 documentation + Tutorial for musrfit — musrfit 1.4.2 documentation @@ -14,7 +14,7 @@ - + @@ -41,7 +41,7 @@
  • previous |
  • -
  • musrfit 1.4.1 documentation »
  • +
  • musrfit 1.4.2 documentation »
  • @@ -443,12 +443,12 @@ For a complete description please refer to the manuals of previous | -
  • musrfit 1.4.1 documentation »
  • +
  • musrfit 1.4.2 documentation »
  • diff --git a/doc/html/user-libs.html b/doc/html/user-libs.html index 5dddef1f..0b91497e 100644 --- a/doc/html/user-libs.html +++ b/doc/html/user-libs.html @@ -6,7 +6,7 @@ - Documentation of user libs (user functions) — musrfit 1.4.1 documentation + Documentation of user libs (user functions) — musrfit 1.4.2 documentation @@ -14,7 +14,7 @@ - + @@ -41,7 +41,7 @@
  • previous |
  • -
  • musrfit 1.4.1 documentation »
  • +
  • musrfit 1.4.2 documentation »
  • @@ -662,12 +662,12 @@ K(m)&=\int_0^{\pi/2}\frac{\mathrm d\varphi}{\sqrt{1-m^2\sin^2{\varphi}}},\en
  • previous |
  • -
  • musrfit 1.4.1 documentation »
  • +
  • musrfit 1.4.2 documentation »
  • diff --git a/doc/html/user-manual.html b/doc/html/user-manual.html index 25a0005f..5b10f3a7 100644 --- a/doc/html/user-manual.html +++ b/doc/html/user-manual.html @@ -6,7 +6,7 @@ - User manual — musrfit 1.4.1 documentation + User manual — musrfit 1.4.2 documentation @@ -14,7 +14,7 @@ - + @@ -41,7 +41,7 @@
  • previous |
  • -
  • musrfit 1.4.1 documentation »
  • +
  • musrfit 1.4.2 documentation »
  • @@ -2238,12 +2238,12 @@ In case this cannot be ensured, the parallelization can be disabled by ̵
  • previous |
  • -
  • musrfit 1.4.1 documentation »
  • +
  • musrfit 1.4.2 documentation »
  • From 9cd35d13739ea64367088ab2a105ac110c7834af Mon Sep 17 00:00:00 2001 From: Andreas Suter Date: Fri, 8 Mar 2019 16:24:45 +0100 Subject: [PATCH 03/13] added missing include directory. --- src/external/libGbGLF/CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/src/external/libGbGLF/CMakeLists.txt b/src/external/libGbGLF/CMakeLists.txt index 8b0b0eaf..4edfdbf9 100644 --- a/src/external/libGbGLF/CMakeLists.txt +++ b/src/external/libGbGLF/CMakeLists.txt @@ -8,6 +8,7 @@ set(PREFIX_INC ${CMAKE_INSTALL_PREFIX}/include) root_generate_dictionary( PGbGLFDict -I${GBGLF_INC} + -I${MUSRFIT_INC} -I${CMAKE_CURRENT_SOURCE_DIR} -I${PREFIX_INC} PGbGLF.h From fec5017fc29e051c57ed2c53a89d39d1e5ab1f74 Mon Sep 17 00:00:00 2001 From: Andreas Suter Date: Mon, 11 Mar 2019 13:33:42 +0100 Subject: [PATCH 04/13] added log info for the cpack part. --- cmake/CPackOptions.cmake.in | 4 ++-- cmake/ChangeLogRPM | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/cmake/CPackOptions.cmake.in b/cmake/CPackOptions.cmake.in index 3a1c6a2b..49333f91 100644 --- a/cmake/CPackOptions.cmake.in +++ b/cmake/CPackOptions.cmake.in @@ -24,11 +24,11 @@ set (CPACK_SET_DESTDIR "OFF") set (CPACK_PACKAGE_RELOCATABLE "true") if (${CPACK_GENERATOR} STREQUAL "RPM") - set (CPACK_RPM_PACKAGE_REQUIRES "root >= 6.14.08") + set (CPACK_RPM_PACKAGE_REQUIRES "root >= 6.16.00") set (CPACK_INSTALL_PREFIX "@CMAKE_INSTALL_PREFIX@") set (CPACK_PACKAGING_INSTALL_PREFIX "@CMAKE_INSTALL_PREFIX@") set (CPACK_RPM_FILE_NAME "RPM-DEFAULT") - set (CPACK_RPM_PACKAGE_RELEASE "1") + set (CPACK_RPM_PACKAGE_RELEASE "2") # next variable for RHEL, CentOS, Fedfora set (CPACK_RPM_PACKAGE_RELEASE_DIST "") set (CPACK_RPM_PACKAGE_LICENSE "GPLv2") diff --git a/cmake/ChangeLogRPM b/cmake/ChangeLogRPM index eb75b666..f466dd30 100644 --- a/cmake/ChangeLogRPM +++ b/cmake/ChangeLogRPM @@ -1,2 +1,4 @@ +* Mon Mar 11 2019 Andreas Suter - 1.4.2-2 +- minor version update * Mon Jan 14 2019 Andreas Suter - 1.4.0-1 - first cpack/cmake version From 33d0e51a056f296b25b66ef56bf0c1c6713b6497 Mon Sep 17 00:00:00 2001 From: Zaher Salman Date: Wed, 13 Mar 2019 10:46:53 +0100 Subject: [PATCH 05/13] Resolving conflict. --- INSTALL | 2 ++ 1 file changed, 2 insertions(+) diff --git a/INSTALL b/INSTALL index 5cce2650..6f77a8bf 100644 --- a/INSTALL +++ b/INSTALL @@ -43,6 +43,8 @@ If all goes well, you should be good to go ;-) # Install using cmake tool chain #---------------------------------- +In the following it is assumed that the system variable ROOTSYS is already defined and pointing to the place where CERN/ROOT is installed. + cmake minimal required version is 3.6. musrfit supports only out-of-source cmake build! Hence, go to the musrfit From d66b132a0b58997af84b14290abb1445630c1367 Mon Sep 17 00:00:00 2001 From: Zaher Salman Date: Wed, 13 Mar 2019 10:50:28 +0100 Subject: [PATCH 06/13] Resolving conflict. --- INSTALL | 36 ------------------------------------ 1 file changed, 36 deletions(-) diff --git a/INSTALL b/INSTALL index 6f77a8bf..5e9fabd5 100644 --- a/INSTALL +++ b/INSTALL @@ -2,49 +2,13 @@ # INSTALL #--------------------------------------------------------------------- -There are currently two ways to build musrfit, - -1) using automake tool chain (this will be phased out until 2019) -2) using cmake tool chain (this will be the default starting from now) - In what follows we assume that the system variable ROOTSYS is already defined and points to the installation directory of CERN/ROOT. -#---------------------------------- -# Install using automake tool chain -#---------------------------------- - -To get it built: - - sh autogen.sh - ./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 execute - - ./configure --help - -or check under http://lmu.web.psi.ch/musrfit/user/MUSR/MusrFitSetup.html -for a detailed description. - -For example, to include NeXus support and BNMRlibs, - - sh autogen.sh - ./configure --enable-NeXus --enable-BNMRlibs --prefix=$ROOTSYS - make - make install (as superuser -- maybe) - /sbin/ldconfig (as superuser) - -If all goes well, you should be good to go ;-) - #---------------------------------- # Install using cmake tool chain #---------------------------------- -In the following it is assumed that the system variable ROOTSYS is already defined and pointing to the place where CERN/ROOT is installed. - cmake minimal required version is 3.6. musrfit supports only out-of-source cmake build! Hence, go to the musrfit From 95ea5b6f68196f324abcd98dd47a4b952f76cb5d Mon Sep 17 00:00:00 2001 From: Zaher Salman Date: Wed, 13 Mar 2019 10:52:05 +0100 Subject: [PATCH 07/13] Resolving conflict. --- INSTALL | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/INSTALL b/INSTALL index 5e9fabd5..980fd14c 100644 --- a/INSTALL +++ b/INSTALL @@ -2,7 +2,7 @@ # INSTALL #--------------------------------------------------------------------- -In what follows we assume that the system variable ROOTSYS is already +In the following it is assumed that the system variable ROOTSYS is already defined and points to the installation directory of CERN/ROOT. #---------------------------------- From a00b93f6cde975f6ab9aa444c30fb328b626c372 Mon Sep 17 00:00:00 2001 From: Zaher Salman Date: Wed, 13 Mar 2019 10:53:13 +0100 Subject: [PATCH 08/13] Resolving conflict. --- INSTALL | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/INSTALL b/INSTALL index 980fd14c..a8d15685 100644 --- a/INSTALL +++ b/INSTALL @@ -6,7 +6,7 @@ In the following it is assumed that the system variable ROOTSYS is already defined and points to the installation directory of CERN/ROOT. #---------------------------------- -# Install using cmake tool chain +# Install via cmake tool chain #---------------------------------- cmake minimal required version is 3.6. From ffae09354eb61ead0b7fb85937632320ebbb9784 Mon Sep 17 00:00:00 2001 From: Zaher Salman Date: Wed, 13 Mar 2019 10:54:33 +0100 Subject: [PATCH 09/13] Resolving conflict. --- INSTALL | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/INSTALL b/INSTALL index a8d15685..94bdd8c3 100644 --- a/INSTALL +++ b/INSTALL @@ -3,7 +3,7 @@ #--------------------------------------------------------------------- In the following it is assumed that the system variable ROOTSYS is already -defined and points to the installation directory of CERN/ROOT. +defined and defined and pointing to the place where CERN/ROOT is installed. #---------------------------------- # Install via cmake tool chain From 05a62506d8be8ac8ac580370b916539cf0f791e5 Mon Sep 17 00:00:00 2001 From: Zaher Salman Date: Wed, 13 Mar 2019 10:55:36 +0100 Subject: [PATCH 10/13] Resolving conflict. --- INSTALL | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/INSTALL b/INSTALL index 94bdd8c3..7e1dc31b 100644 --- a/INSTALL +++ b/INSTALL @@ -3,7 +3,7 @@ #--------------------------------------------------------------------- In the following it is assumed that the system variable ROOTSYS is already -defined and defined and pointing to the place where CERN/ROOT is installed. +defined and pointing to the place where CERN/ROOT is installed. #---------------------------------- # Install via cmake tool chain From 15692b89e7a97b6d88fad15c093c88840369793d Mon Sep 17 00:00:00 2001 From: Andreas Suter Date: Mon, 1 Apr 2019 09:03:29 +0200 Subject: [PATCH 11/13] Fix crash when trying to close empty tab --- src/musredit_qt5/musredit/PTextEdit.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/musredit_qt5/musredit/PTextEdit.cpp b/src/musredit_qt5/musredit/PTextEdit.cpp index 3f9d8ade..4f85f490 100644 --- a/src/musredit_qt5/musredit/PTextEdit.cpp +++ b/src/musredit_qt5/musredit/PTextEdit.cpp @@ -1368,8 +1368,13 @@ void PTextEdit::filePrint() */ void PTextEdit::fileClose(const bool check) { + // first check if there is any tab present + if (fTabWidget->count()==0) // no tabs present + return; + // check if the has modification int idx = fTabWidget->currentIndex(); + if ((fTabWidget->tabText(idx).indexOf("*")>0) && check) { int result = QMessageBox::warning(this, "**WARNING**", "Do you really want to close this file.\nChanges will be lost", From 36cc3444a26e6fd6d0ccb79779b288c2d37142e3 Mon Sep 17 00:00:00 2001 From: Andreas Suter Date: Mon, 1 Apr 2019 10:32:24 +0200 Subject: [PATCH 12/13] improve msr2data handling It is now checked if a msr-file is already open so that the corresponding tab is reloaded after msr2data is carried out with a file open request. --- src/musredit_qt5/musredit/PTextEdit.cpp | 70 +++++++++++++++++++------ src/musredit_qt5/musredit/PTextEdit.h | 2 + 2 files changed, 55 insertions(+), 17 deletions(-) diff --git a/src/musredit_qt5/musredit/PTextEdit.cpp b/src/musredit_qt5/musredit/PTextEdit.cpp index 4f85f490..7361e90e 100644 --- a/src/musredit_qt5/musredit/PTextEdit.cpp +++ b/src/musredit_qt5/musredit/PTextEdit.cpp @@ -1061,9 +1061,9 @@ void PTextEdit::fileOpen() tr( "msr-Files (*.msr);;msr-Files (*.msr *.mlog);;All Files (*)" )); QStringList::Iterator it = flns.begin(); - QFileInfo finfo1, finfo2; - QString tabFln; + QFileInfo finfo1; bool alreadyOpen = false; + int idx; // if flns are present, keep the corresponding directory if (flns.size() > 0) { @@ -1071,23 +1071,17 @@ void PTextEdit::fileOpen() fLastDirInUse = finfo1.absoluteFilePath(); } - while( it != flns.end() ) { + while( it != flns.end() ) { // check if the file is not already open finfo1.setFile(*it); - for (int i=0; icount(); i++) { - tabFln = *fFilenames.find( dynamic_cast(fTabWidget->widget(i))); - finfo2.setFile(tabFln); - if (finfo1.absoluteFilePath() == finfo2.absoluteFilePath()) { - alreadyOpen = true; - fTabWidget->setCurrentIndex(i); - break; - } - } + alreadyOpen = fileAlreadyOpen(finfo1, idx); - if (!alreadyOpen) + if (!alreadyOpen) { load(*it); - else + } else { + fTabWidget->setCurrentIndex(idx); fileReload(); + } ++it; } @@ -2058,7 +2052,6 @@ void PTextEdit::musrMsr2Data() } if (dlg->exec() == QDialog::Accepted) { - QString first, last; QString runList; QString runListFileName; QFileInfo fi; @@ -2251,6 +2244,9 @@ void PTextEdit::musrMsr2Data() QString fln; QFile *file; QTextStream *stream; + QFileInfo finfo; + bool alreadOpen=false; + int idx=0; if (!fMsr2DataParam->global) { // standard fits switch(dlg->getRunTag()) { @@ -2269,7 +2265,14 @@ void PTextEdit::musrMsr2Data() if (fTabWidget->count() != 0) { workDir = QFileInfo(*fFilenames.find( currentEditor() )).absolutePath(); } - load(workDir + "/" + fln); + finfo.setFile(workDir + "/" + fln); + alreadOpen = fileAlreadyOpen(finfo, idx); + if (!alreadOpen) { + load(workDir + "/" + fln); + } else { + fTabWidget->setCurrentIndex(idx); + fileReload(); + } } break; case 1: // run list file @@ -2295,7 +2298,14 @@ void PTextEdit::musrMsr2Data() if (fTabWidget->count() != 0) { workDir = QFileInfo(*fFilenames.find( currentEditor() )).absolutePath(); } - load(workDir + "/" + fln); + finfo.setFile(workDir + "/" + fln); + alreadOpen = fileAlreadyOpen(finfo, idx); + if (!alreadOpen) { + load(workDir + "/" + fln); + } else { + fTabWidget->setCurrentIndex(idx); + fileReload(); + } } } @@ -3201,6 +3211,32 @@ QStringList PTextEdit::getRunList(QString runListStr, bool &ok) return result; } +//---------------------------------------------------------------------------------------------------- +/** + * @brief PTextEdit::fileAlreadyOpen + * @param finfo + * @param idx + * @return + */ +bool PTextEdit::fileAlreadyOpen(QFileInfo &finfo, int &idx) +{ + bool result = false; + QFileInfo finfo2; + QString tabFln; + + for (int i=0; icount(); i++) { + tabFln = *fFilenames.find( dynamic_cast(fTabWidget->widget(i))); + finfo2.setFile(tabFln); + if (finfo.absoluteFilePath() == finfo2.absoluteFilePath()) { + result = true; + idx = i; + break; + } + } + + return result; +} + //---------------------------------------------------------------------------------------------------- // END //---------------------------------------------------------------------------------------------------- diff --git a/src/musredit_qt5/musredit/PTextEdit.h b/src/musredit_qt5/musredit/PTextEdit.h index 6f0c9615..3fc8e21a 100644 --- a/src/musredit_qt5/musredit/PTextEdit.h +++ b/src/musredit_qt5/musredit/PTextEdit.h @@ -38,6 +38,7 @@ #include #include #include +#include #include @@ -186,6 +187,7 @@ private: void getTheme(); void fillRecentFiles(); QStringList getRunList(QString runListStr, bool &ok); + bool fileAlreadyOpen(QFileInfo &finfo, int &idx); }; From e6d424e900218b7ca6d18ea418ea2416f05884ec Mon Sep 17 00:00:00 2001 From: Andreas Suter Date: Thu, 4 Apr 2019 15:52:21 +0200 Subject: [PATCH 13/13] removed outdated 'register' from code. --- src/classes/PTheory.cpp | 58 ++++++++++++++++++++--------------------- src/include/PTheory.h | 58 ++++++++++++++++++++--------------------- 2 files changed, 58 insertions(+), 58 deletions(-) diff --git a/src/classes/PTheory.cpp b/src/classes/PTheory.cpp index 49b1bc18..b9f19285 100644 --- a/src/classes/PTheory.cpp +++ b/src/classes/PTheory.cpp @@ -390,7 +390,7 @@ Bool_t PTheory::IsValid() * \param paramValues vector with the parameters * \param funcValues vector with the functions (i.e. functions of the parameters) */ -Double_t PTheory::Func(register Double_t t, const PDoubleVector& paramValues, const PDoubleVector& funcValues) const +Double_t PTheory::Func(Double_t t, const PDoubleVector& paramValues, const PDoubleVector& funcValues) const { if (fMul) { if (fAdd) { // fMul != 0 && fAdd != 0 @@ -1166,7 +1166,7 @@ Double_t PTheory::Asymmetry(const PDoubleVector& paramValues, const PDoubleVecto * \param paramValues parameter values * \param funcValues vector with the functions (i.e. functions of the parameters) */ -Double_t PTheory::SimpleExp(register Double_t t, const PDoubleVector& paramValues, const PDoubleVector& funcValues) const +Double_t PTheory::SimpleExp(Double_t t, const PDoubleVector& paramValues, const PDoubleVector& funcValues) const { // expected parameters: lambda [tshift] @@ -1206,7 +1206,7 @@ Double_t PTheory::SimpleExp(register Double_t t, const PDoubleVector& paramValue * \param paramValues parameter values * \param funcValues vector with the functions (i.e. functions of the parameters) */ -Double_t PTheory::GeneralExp(register Double_t t, const PDoubleVector& paramValues, const PDoubleVector& funcValues) const +Double_t PTheory::GeneralExp(Double_t t, const PDoubleVector& paramValues, const PDoubleVector& funcValues) const { // expected parameters: lambda beta [tshift] @@ -1254,7 +1254,7 @@ Double_t PTheory::GeneralExp(register Double_t t, const PDoubleVector& paramValu * \param paramValues parameter values * \param funcValues vector with the functions (i.e. functions of the parameters) */ -Double_t PTheory::SimpleGauss(register Double_t t, const PDoubleVector& paramValues, const PDoubleVector& funcValues) const +Double_t PTheory::SimpleGauss(Double_t t, const PDoubleVector& paramValues, const PDoubleVector& funcValues) const { // expected parameters: sigma [tshift] @@ -1294,7 +1294,7 @@ Double_t PTheory::SimpleGauss(register Double_t t, const PDoubleVector& paramVal * \param paramValues parameter values * \param funcValues vector with the functions (i.e. functions of the parameters) */ -Double_t PTheory::StaticGaussKT(register Double_t t, const PDoubleVector& paramValues, const PDoubleVector& funcValues) const +Double_t PTheory::StaticGaussKT(Double_t t, const PDoubleVector& paramValues, const PDoubleVector& funcValues) const { // expected parameters: sigma [tshift] @@ -1336,7 +1336,7 @@ Double_t PTheory::StaticGaussKT(register Double_t t, const PDoubleVector& paramV * \param paramValues parameter values * \param funcValues vector with the functions (i.e. functions of the parameters) */ -Double_t PTheory::StaticGaussKTLF(register Double_t t, const PDoubleVector& paramValues, const PDoubleVector& funcValues) const +Double_t PTheory::StaticGaussKTLF(Double_t t, const PDoubleVector& paramValues, const PDoubleVector& funcValues) const { // expected parameters: frequency damping [tshift] @@ -1425,7 +1425,7 @@ Double_t PTheory::StaticGaussKTLF(register Double_t t, const PDoubleVector& para * \param paramValues parameter values * \param funcValues vector with the functions (i.e. functions of the parameters) */ -Double_t PTheory::DynamicGaussKTLF(register Double_t t, const PDoubleVector& paramValues, const PDoubleVector& funcValues) const +Double_t PTheory::DynamicGaussKTLF(Double_t t, const PDoubleVector& paramValues, const PDoubleVector& funcValues) const { // expected parameters: frequency damping hopping [tshift] @@ -1523,7 +1523,7 @@ Double_t PTheory::DynamicGaussKTLF(register Double_t t, const PDoubleVector& par * \param paramValues parameter values * \param funcValues vector with the functions (i.e. functions of the parameters) */ -Double_t PTheory::StaticLorentzKT(register Double_t t, const PDoubleVector& paramValues, const PDoubleVector& funcValues) const +Double_t PTheory::StaticLorentzKT(Double_t t, const PDoubleVector& paramValues, const PDoubleVector& funcValues) const { // expected parameters: lambda [tshift] @@ -1566,7 +1566,7 @@ Double_t PTheory::StaticLorentzKT(register Double_t t, const PDoubleVector& para * \param paramValues parameter values * \param funcValues vector with the functions (i.e. functions of the parameters) */ -Double_t PTheory::StaticLorentzKTLF(register Double_t t, const PDoubleVector& paramValues, const PDoubleVector& funcValues) const +Double_t PTheory::StaticLorentzKTLF(Double_t t, const PDoubleVector& paramValues, const PDoubleVector& funcValues) const { // expected parameters: frequency damping [tshift] @@ -1663,7 +1663,7 @@ Double_t PTheory::StaticLorentzKTLF(register Double_t t, const PDoubleVector& pa * \param paramValues parameter values * \param funcValues vector with the functions (i.e. functions of the parameters) */ -Double_t PTheory::DynamicLorentzKTLF(register Double_t t, const PDoubleVector& paramValues, const PDoubleVector& funcValues) const +Double_t PTheory::DynamicLorentzKTLF(Double_t t, const PDoubleVector& paramValues, const PDoubleVector& funcValues) const { // expected parameters: frequency damping hopping [tshift] @@ -1773,7 +1773,7 @@ Double_t PTheory::DynamicLorentzKTLF(register Double_t t, const PDoubleVector& p * \param paramValues parameter values * \param funcValues vector with the functions (i.e. functions of the parameters) */ -Double_t PTheory::CombiLGKT(register Double_t t, const PDoubleVector& paramValues, const PDoubleVector& funcValues) const +Double_t PTheory::CombiLGKT(Double_t t, const PDoubleVector& paramValues, const PDoubleVector& funcValues) const { // expected parameters: lambdaL lambdaG [tshift] @@ -1819,7 +1819,7 @@ Double_t PTheory::CombiLGKT(register Double_t t, const PDoubleVector& paramValue * \param paramValues parameter values * \param funcValues vector with the functions (i.e. functions of the parameters) */ -Double_t PTheory::StrKT(register Double_t t, const PDoubleVector& paramValues, const PDoubleVector& funcValues) const +Double_t PTheory::StrKT(Double_t t, const PDoubleVector& paramValues, const PDoubleVector& funcValues) const { // expected parameters: sigma beta [tshift] @@ -1868,7 +1868,7 @@ Double_t PTheory::StrKT(register Double_t t, const PDoubleVector& paramValues, c * \param paramValues parameter values * \param funcValues vector with the functions (i.e. functions of the parameters) */ -Double_t PTheory::SpinGlass(register Double_t t, const PDoubleVector& paramValues, const PDoubleVector& funcValues) const +Double_t PTheory::SpinGlass(Double_t t, const PDoubleVector& paramValues, const PDoubleVector& funcValues) const { // expected parameters: lambda gamma q [tshift] @@ -1919,7 +1919,7 @@ Double_t PTheory::SpinGlass(register Double_t t, const PDoubleVector& paramValue * \param paramValues parameter values * \param funcValues vector with the functions (i.e. functions of the parameters) */ -Double_t PTheory::RandomAnisotropicHyperfine(register Double_t t, const PDoubleVector& paramValues, const PDoubleVector& funcValues) const +Double_t PTheory::RandomAnisotropicHyperfine(Double_t t, const PDoubleVector& paramValues, const PDoubleVector& funcValues) const { // expected parameters: nu lambda [tshift] @@ -1964,7 +1964,7 @@ Double_t PTheory::RandomAnisotropicHyperfine(register Double_t t, const PDoubleV * \param paramValues parameter values * \param funcValues vector with the functions (i.e. functions of the parameters) */ -Double_t PTheory::Abragam(register Double_t t, const PDoubleVector& paramValues, const PDoubleVector& funcValues) const +Double_t PTheory::Abragam(Double_t t, const PDoubleVector& paramValues, const PDoubleVector& funcValues) const { // expected parameters: sigma gamma [tshift] @@ -2008,7 +2008,7 @@ Double_t PTheory::Abragam(register Double_t t, const PDoubleVector& paramValues, * \param paramValues parameter values * \param funcValues vector with the functions (i.e. functions of the parameters) */ -Double_t PTheory::TFCos(register Double_t t, const PDoubleVector& paramValues, const PDoubleVector& funcValues) const +Double_t PTheory::TFCos(Double_t t, const PDoubleVector& paramValues, const PDoubleVector& funcValues) const { // expected parameters: phase frequency [tshift] @@ -2049,7 +2049,7 @@ Double_t PTheory::TFCos(register Double_t t, const PDoubleVector& paramValues, c * \param paramValues parameter values * \param funcValues vector with the functions (i.e. functions of the parameters) */ -Double_t PTheory::InternalField(register Double_t t, const PDoubleVector& paramValues, const PDoubleVector& funcValues) const +Double_t PTheory::InternalField(Double_t t, const PDoubleVector& paramValues, const PDoubleVector& funcValues) const { // expected parameters: fraction phase frequency rateT rateL [tshift] @@ -2091,7 +2091,7 @@ Double_t PTheory::InternalField(register Double_t t, const PDoubleVector& paramV * \param paramValues parameter values * \param funcValues vector with the functions (i.e. functions of the parameters) */ -Double_t PTheory::InternalFieldGK(register Double_t t, const PDoubleVector& paramValues, const PDoubleVector& funcValues) const +Double_t PTheory::InternalFieldGK(Double_t t, const PDoubleVector& paramValues, const PDoubleVector& funcValues) const { // expected parameters: [0]:fraction [1]:frequency [2]:sigma [3]:lambda [4]:beta [[5]:tshift] @@ -2143,7 +2143,7 @@ Double_t PTheory::InternalFieldGK(register Double_t t, const PDoubleVector& para * \param paramValues parameter values * \param funcValues vector with the functions (i.e. functions of the parameters) */ -Double_t PTheory::InternalFieldLL(register Double_t t, const PDoubleVector& paramValues, const PDoubleVector& funcValues) const +Double_t PTheory::InternalFieldLL(Double_t t, const PDoubleVector& paramValues, const PDoubleVector& funcValues) const { // expected parameters: [0]:fraction [1]:frequency [2]:a [3]:lambda [4]:beta [[5]:tshift] @@ -2195,7 +2195,7 @@ Double_t PTheory::InternalFieldLL(register Double_t t, const PDoubleVector& para * \param paramValues parameter values * \param funcValues vector with the functions (i.e. functions of the parameters) */ -Double_t PTheory::Bessel(register Double_t t, const PDoubleVector& paramValues, const PDoubleVector& funcValues) const +Double_t PTheory::Bessel(Double_t t, const PDoubleVector& paramValues, const PDoubleVector& funcValues) const { // expected parameters: phase frequency [tshift] @@ -2236,7 +2236,7 @@ Double_t PTheory::Bessel(register Double_t t, const PDoubleVector& paramValues, * \param paramValues parameter values * \param funcValues vector with the functions (i.e. functions of the parameters) */ -Double_t PTheory::InternalBessel(register Double_t t, const PDoubleVector& paramValues, const PDoubleVector& funcValues) const +Double_t PTheory::InternalBessel(Double_t t, const PDoubleVector& paramValues, const PDoubleVector& funcValues) const { // expected parameters: fraction phase frequency rateT rateL [tshift] @@ -2285,7 +2285,7 @@ Double_t PTheory::InternalBessel(register Double_t t, const PDoubleVector& param * \param paramValues parameter values * \param funcValues vector with the functions (i.e. functions of the parameters) */ -Double_t PTheory::SkewedGauss(register Double_t t, const PDoubleVector& paramValues, const PDoubleVector& funcValues) const +Double_t PTheory::SkewedGauss(Double_t t, const PDoubleVector& paramValues, const PDoubleVector& funcValues) const { // expected parameters: phase frequency sigma- sigma+ [tshift] @@ -2352,7 +2352,7 @@ Double_t PTheory::SkewedGauss(register Double_t t, const PDoubleVector& paramVal * \param paramValues parameter values * \param funcValues vector with the functions (i.e. functions of the parameters) */ -Double_t PTheory::StaticNKZF(register Double_t t, const PDoubleVector& paramValues, const PDoubleVector& funcValues) const +Double_t PTheory::StaticNKZF(Double_t t, const PDoubleVector& paramValues, const PDoubleVector& funcValues) const { // expected paramters: damping_D0 [0], R_b tshift [1] @@ -2407,7 +2407,7 @@ Double_t PTheory::StaticNKZF(register Double_t t, const PDoubleVector& paramValu * \param paramValues parameter values * \param funcValues vector with the functions (i.e. functions of the parameters) */ -Double_t PTheory::StaticNKTF(register Double_t t, const PDoubleVector& paramValues, const PDoubleVector& funcValues) const +Double_t PTheory::StaticNKTF(Double_t t, const PDoubleVector& paramValues, const PDoubleVector& funcValues) const { // expected paramters: phase [0], frequency [1], damping_D0 [2], R_b [3], [tshift [4]] @@ -2463,7 +2463,7 @@ Double_t PTheory::StaticNKTF(register Double_t t, const PDoubleVector& paramValu * \param paramValues parameter values * \param funcValues vector with the functions (i.e. functions of the parameters) */ -Double_t PTheory::DynamicNKZF(register Double_t t, const PDoubleVector& paramValues, const PDoubleVector& funcValues) const +Double_t PTheory::DynamicNKZF(Double_t t, const PDoubleVector& paramValues, const PDoubleVector& funcValues) const { // expected paramters: damping_D0 [0], R_b [1], nu_c [2], [tshift [3]] @@ -2524,7 +2524,7 @@ Double_t PTheory::DynamicNKZF(register Double_t t, const PDoubleVector& paramVal * \param paramValues parameter values * \param funcValues vector with the functions (i.e. functions of the parameters) */ -Double_t PTheory::DynamicNKTF(register Double_t t, const PDoubleVector& paramValues, const PDoubleVector& funcValues) const +Double_t PTheory::DynamicNKTF(Double_t t, const PDoubleVector& paramValues, const PDoubleVector& funcValues) const { // expected paramters: phase [0], frequency [1], damping_D0 [2], R_b [3], nu_c [4], [tshift [5]] @@ -2578,7 +2578,7 @@ Double_t PTheory::DynamicNKTF(register Double_t t, const PDoubleVector& paramVal * \param paramValues parameter values * \param funcValues vector with the functions (i.e. functions of the parameters) */ -Double_t PTheory::Polynom(register Double_t t, const PDoubleVector& paramValues, const PDoubleVector& funcValues) const +Double_t PTheory::Polynom(Double_t t, const PDoubleVector& paramValues, const PDoubleVector& funcValues) const { // expected parameters: tshift p0 p1 p2 ... @@ -2615,7 +2615,7 @@ Double_t PTheory::Polynom(register Double_t t, const PDoubleVector& paramValues, * \param paramValues parameter values * \param funcValues vector with the functions (i.e. functions of the parameters) */ -Double_t PTheory::UserFcn(register Double_t t, const PDoubleVector& paramValues, const PDoubleVector& funcValues) const +Double_t PTheory::UserFcn(Double_t t, const PDoubleVector& paramValues, const PDoubleVector& funcValues) const { // check if FUNCTIONS are used for (UInt_t i=0; i