Merge branch 'master' of gitorious:nemu/musrfit

This commit is contained in:
salman 2016-02-03 08:56:05 +01:00
commit 1cf7fe9ec3
290 changed files with 33355 additions and 5900 deletions

View File

@ -2,12 +2,90 @@
# ChangeLog
#---------------------------------------------------------------------
changes since 0.16.0
===================================
NEW 2016-01-22 update of the docu which now describes the RRF option.
changes since 0.15.0
===================================
NEW 2016-01-22 add RRF fit option. At the same time, the version has been
increased to 0.16.0. For details see the documentation.
FIXED 2015-10-29 TMusrRunHeader didn't map a double vector properly into a
string. The last element was a copy of the 2nd last instead
if the proper last. This is now fixed. Fixed also some
comment typo.
FIXED 2015-11-11 Fixes the crash of Fourier if the maximal range given in the
Fourier block is larger than the available.
CHANGED 2015-11-15 removed unnecessary check form musredit_qt5 msr2data interface.
changes since 0.14.0
===================================
NEW 2015-10-26 added a first ported musredit version (Qt4 -> Qt5). At the same
the version has been incremented to 0.15.0.
NEW 2015-09-24 adding a phase optimized real Fourier to musrFT. This is still VERY
experimental, and hence only available from within musrFT. Eventually
it should make its way into musrview as well. Furthermore the
documentation needs to be written yet. There is only a short not in
the command line present.
NEW 2015-02-23 implemented an average-per-data-set option for musrFT.
NEW 2015-02-21 add proper Mac icon to musredit
FIXED 2015-09-22 generating global fit msr-files including a GLOBAL block is working
now as expected.
FIXED 2015-09-17 in PMsr2Data::PrepareGlobalInputFile() there seem to be 'unmotivated'
break; commands in some loops. They prevent a proper map handling.
Since this is a real puzzle I contacted BMW for clarification.
2015-09-18: there is only one unmotivated break; cleaned up the code
accordingly.
FIXED 2015-09-14 any2many export of MusrRoot crashed when first histo group was != 0.
This happend when exporting to PSI-BIN or WKM. This is fixed now.
FIXED 2015-09-08 fixed error in view_packing for single histo (wrong norm of the theory).
FIXED 2015-09-04 minor change in Fourier-block output (PMsrHandler::WriteMsrLogFile
and PMsrHandler::WriteMsrLogFile) to avoid truncated range labels.
FIXED 2015-06-30 changed setf/unsetf bug (PMsr2Data.cpp)
FIXED 2015-05-15 another path check for HDF5 with ubuntu 15.04
FIXED 2015-03-16 some minor correction for ASCII export in any2many
FIXED 2015-02-26 some more bug fixing for average per data set.
FIXED 2015-02-20 for graphical export in the batch mode, menus mustn't be set.
CHANGED 2015-08-17 updated ChangeLog which was orphaned since V0.13.0
CHANGED 2015-08-16 updated the docu
CHANGED 2015-08-16 added the class PStringNumberList which allow to parse a
generic encoded list of numbers. Used this class to improve
PMsrHandler, and improved the runList feature of msr2data.
For details see the documentation of msr2data.
CHANGED 2015-06-25 adopted the temperature dependence of the gap function
(see Eq.(8) of the memo), which breaks the self-consistency.
Makes it more flexible but requires that the user is using
his brain.
CHANGED 2015-06-25 small correction of the skewed Gaussian for extrem parameter
values.
CHANGED 2015-05-29 updated docu and removed an unsed variable
CHANGED 2015-05-29 added a group histo selector in any2many for MusrRoot when
exporting to a too limited file format as PSI-BIN.
CHANGED 2015-04-01 update of the technical docu
CHANGED 2015-02-28 check that FOURIER block phase parameter as parX is not leading
to an error message.
CHANGED 2015-02-24 added missing background range from msr-file (musrFT)
CHANGED 2015-02-24 separated PSI-BIN and PSI-MDU file format
CHANGED 2015-02-21 make sure that musrFT is found
CHANGED 2015-02-21 needed to adopted includes for dictionary generation due to
adding fftw.h in PMusr.h
CHANGED 2015-02-21 have now README and README.md for automake and bitbucket,
respectively.
changes since 0.13.0
===================================
NEW 2015-02-23 implemented an average-per-data-set option for musrFT.
NEW 2015-02-20 add a switch to musrview that it plots initially the Fouier data rather
than the time domain data.
NEW 2015-02-19 added a first preliminary user interface for musrFT within musredit.
NEW 2015-02-16 changed the data export handling from musrview. It is now more
main line and follows the implementation of musrFT.
NEW 2015-02-13 first implementation of a standalone Fourier transform/plotter:
musrFT. Initially it is meant to be used for HAL-9500,
i.e. Fourier transform WITHOUT lifetime correction.
A first simple minded lifetime correction is implemented as well.
NEW 2015-02-04 Integration of libBNMR for fitting beta-NMR relaxation data
into automake of musrfit.
NEW 2014-12-18 first implementation of a GLOBAL block which allows to shorten
a typical msr-file. Duplicate entries from the RUN blocks can be
added here. Furthermore, the 'lifetimecorrection' flag is
@ -17,9 +95,6 @@ NEW 2014-12-18 first implementation of a GLOBAL block which allows to shorten
parameters (t0, data, fit) has been encapsulated into its own
functions.
NEW 2015-02-04 Integration of libBNMR for fitting beta-NMR relaxation data
into automake of musrfit.
changes since 0.12.0
===================================
NEW 2014-12-04 Fourier: added the unit 'Tesla' needed e.g. for HAL-9500

13
README
View File

@ -1,6 +1,9 @@
# musrfit - muSR data analysis package #
README
### Contents ###
musrfit - muSR data analysis package
Contents
--------
This is a data analysis package to analyze time differential muSR and beta-NMR data.
Currently it allows the following things:
@ -15,18 +18,18 @@ Currently it allows the following things:
* allows to implement more sophisticated user functions
(e.g. GL vortex lattice, Meissner screening including low-energy muon stopping profiles)
### Currently supported platforms: ###
Currently supported platforms:
* Linux
* Mac OS X
* Windows - not really, only for the very brave ones
### Documentation ####
Documentation
For a more exhaustive user documentation see:
http://lmu.web.psi.ch/musrfit/user/MUSR/WebHome.html
### Contact ###
Contact
<andreas.suter@psi.ch>

32
README.md Normal file
View File

@ -0,0 +1,32 @@
# musrfit - muSR data analysis package #
### Contents ###
This is a data analysis package to analyze time differential muSR and beta-NMR data.
Currently it allows the following things:
* setting up most commonly used fitting functions for muSR and beta-NMR
* fitting data, including global fits
* showing the fit results and the residuals
* showing the Fourier transform of the data
* extracting easily the fitting parameters to be used in other programs (gnuplot, qtiplot/origin, ...)
* allows to generate fitting input files for follow-up runs
* allows to generate global fitting input files based on a single run template
* allows to implement more sophisticated user functions
(e.g. GL vortex lattice, Meissner screening including low-energy muon stopping profiles)
### Currently supported platforms: ###
* Linux
* Mac OS X
* Windows - not really, only for the very brave ones
### Documentation ####
For a more exhaustive user documentation see:
http://lmu.web.psi.ch/musrfit/user/MUSR/WebHome.html
### Contact ###
<andreas.suter@psi.ch>

View File

@ -1,7 +1,7 @@
AC_REVISION([m4_esyscmd_s([git describe --always])])
AC_PREREQ(2.63)
AC_INIT([musrfit],[0.13.0],[andreas.suter@psi.ch])
AC_INIT([musrfit],[0.16.0],[andreas.suter@psi.ch])
AC_CONFIG_AUX_DIR(admin)
AC_CANONICAL_HOST
#AC_MSG_RESULT([${host} ${host_cpu} ${host_vendor} ${host_os}])
@ -35,7 +35,7 @@ dnl -----------------------------------------------
#release versioning
MUSR_MAJOR_VERSION=0
MUSR_MINOR_VERSION=13
MUSR_MINOR_VERSION=16
MUSR_MICRO_VERSION=0
#release versioning
@ -525,6 +525,9 @@ AC_ARG_ENABLE([NeXus], [AS_HELP_STRING([--enable-NeXus],[build optional NeXus su
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}])
@ -855,6 +858,8 @@ if test "x$enable_editor" != "xno"; then
echo "Additional checks for musredit/musrgui ..."
QT5MINVER=5.4
case "$host" in
*-*-cygwin)
QT4MINVER=4.5
@ -867,6 +872,7 @@ if test "x$enable_editor" != "xno"; then
QT3_FOUND=no
QT3MT_FOUND=no
QT4_FOUND=no
QT5_FOUND=no
QMAKEBIN=""
QTEDITOR=none
@ -940,14 +946,58 @@ if test "x$enable_editor" != "xno"; then
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
if test "x${QT3_FOUND}" = "xno" && test "x${QT3MT_FOUND}" = "xno" && test "x${QT4_FOUND}" = "xno"; then
AC_MSG_WARN([No suitable version of either Qt4 or Qt3 has been found! musredit/musrgui will not be built in this stage!])
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${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$QT4_FOUND" = "xyes"; then
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
@ -960,7 +1010,29 @@ if test "x$enable_editor" != "xno"; then
AC_MSG_CHECKING([for qmake])
if test "x${QTPATH}" != "xnone"; then
if test "x$QTEDITOR" = "xmusredit"; 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
@ -1007,13 +1079,14 @@ if test "x$enable_editor" != "xno"; then
fi
if test "x${QMAKEBIN}" = "x"; then
AC_MSG_RESULT([no])
AC_MSG_WARN([If Qt4 or Qt3 are present but have not been detected, try using the --with-qt4 or --with-qt3 options!])
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"])
@ -1167,6 +1240,10 @@ AC_CONFIG_FILES([Makefile \
src/external/libPhotoMeissner/Makefile \
src/external/libPhotoMeissner/classes/Makefile \
src/external/libBNMR/Makefile \
src/musredit_qt5/Makefile \
src/musredit/Makefile \
src/musrgui/Makefile \
src/musredit_qt5/musredit_startup.xml \
src/musredit/musredit_startup.xml \
src/musrgui/musrgui_startup.xml])
@ -1176,10 +1253,16 @@ 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"
echo "${QMAKEBIN} CC=${CC} CXX=${CXX} PREFIX=${INSTALLDIR} ${QTEDITOR_PRO}.pro"
cd src/${QTEDITOR}
${QMAKEBIN} CC=${CC} CXX=${CXX} PREFIX=${INSTALLDIR} ${QTEDITOR}.pro
${QMAKEBIN} CC=${CC} CXX=${CXX} PREFIX=${INSTALLDIR} ${QTEDITOR_PRO}.pro
cd ../..
fi
@ -1298,6 +1381,11 @@ else
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

View File

@ -12,15 +12,25 @@ ENERGY: 4200
# here the data will follow
data
# x, y, error y
0.02, 12.0, 0.5
0.1, 11.8, 0.8
0.2, 9.9, 0.4
0.33, 7.2, 0.15
0.41, 3.8, 0.38
0.5, 2.7, 0.5
0.64, 1.0, 0.7
0.7, 0.1, 0.2
0.8, 0.0, 0.8
0.9, 0.1, 0.5
1.2, 0.0, 0.1
0.0318411, 7.77455, 0.2
0.0629929, 7.9869, 0.15
0.113914, 7.64209, 0.15
0.202492, 7.37699, 0.15
0.302725, 7.70893, 0.12
0.447456, 7.77565, 0.12
0.611685, 7.45768, 0.12
0.813613, 7.19287, 0.12
1.00822, 7.57813, 0.12
1.24793, 7.31343, 0.12
1.50635, 7.16818, 0.12
1.74591, 6.99634, 0.12
1.99795, 6.90414, 0.12
2.25061, 6.41393, 0.12
2.4958, 6.66666, 0.12
2.75514, 5.93766, 0.12
3.00753, 5.61992, 0.12
3.26056, 4.89091, 0.12
3.49414, 4.52005, 0.08
3.75356, 3.73799, 0.08
3.99425, 2.84974, 0.08
4.30518, 1.35139, 0.08

View File

@ -2,18 +2,16 @@ Test superconductor data
###############################################################
FITPARAMETER
# Nr. Name Value Step Pos_Error Boundaries
1 lambdaInvSq0 11.69 0.39 none
2 Tc 0.558 0.018 none 0 2
3 Delta0 0.0673 0.0035 none
4 aG 1 0 none
1 lambdaInvSq0 7.983 -0.042 0.042
2 Tc 4.470 -0.015 0.016 0 5
3 Delta0 1.547 -0.026 0.027
4 c0 1.468 0 none
5 aG 1.33333 0 none
###############################################################
THEORY
asymmetry 1
userFcn libGapIntegrals TGapSWave 2 3 4
###############################################################
#FUNCTIONS
userFcn libGapIntegrals TGapDWave 2 3 4 5
###############################################################
RUN data/libGapIntegrals-test PIM3 PSI ASCII (name beamline institute data-file-format)
@ -26,15 +24,15 @@ packing 1
###############################################################
COMMANDS
MINIMIZE
HESSE
#MINOS
#HESSE
MINOS
SAVE
###############################################################
PLOT 8 (non muSR plot)
runs 1
range 0 1.5
range 0 6
###############################################################
STATISTIC --- 2014-10-28 10:40:31
chisq = 14.3, NDF = 8, chisq/NDF = 1.790471
STATISTIC --- 2015-06-25 08:39:03
chisq = 58.3, NDF = 19, chisq/NDF = 3.066272

View File

@ -0,0 +1,178 @@
MnSi, FLC68.2, 50 K
###############################################################
FITPARAMETER
# Nr. Name Value Step Pos_Error Boundaries
1 rate_1 1.680 0.019 none
2 field_1 1589.71 0.20 none
3 rate_2 1.863 0.065 none
4 field_2 788.86 0.49 none
5 alpha_f15 1.0029 0.0015 none
6 frac_f15 0.7350 0.0090 none
7 asym_f15 0.2713 0.0043 none 0 none
8 phase_f15 79.37 0.80 none
9 alpha_f26 0.9996 0.0015 none
10 frac_f26 0.7408 0.0085 none
11 asym_f26 0.3029 0.0046 none 0 none
12 phase_f26 30.22 0.73 none
13 alpha_f37 1.0003 0.0015 none
14 frac_f37 0.88 0.23 none
15 asym_f37 0.0126 0.0045 none 0 none
16 phase_f37 58.0 15.0 none
17 alpha_f48 0.9999 0.0015 none
18 frac_f48 0.7344 0.0084 none
19 asym_f48 0.2929 0.0043 none 0 none
20 phase_f48 -33.13 0.76 none
21 alpha_b15 0.9991 0.0013 none
22 frac_b15 0.7439 0.0077 none
23 asym_b15 0.2807 0.0038 none 0 none
24 phase_b15 164.98 0.68 none
25 alpha_b26 1.0003 0.0013 none
26 frac_b26 0.7331 0.0078 none
27 asym_b26 0.2810 0.0038 none 0 none
28 phase_b26 119.49 0.70 none
29 alpha_b37 0.9989 0.0012 none
30 frac_b37 0.7504 0.0078 none
31 asym_b37 0.2755 0.0037 none 0 none
32 phase_b37 102.07 0.69 none
33 alpha_b48 0.9990 0.0012 none
34 frac_b48 0.7391 0.0080 none
35 asym_b48 0.2763 0.0039 none 0 none
36 phase_b48 37.66 0.67 none
###############################################################
THEORY
asymmetry fun1
simplExpo 1 (rate)
TFieldCos map3 fun3 (phase frequency)
+
asymmetry fun2
simplExpo 3 (rate)
TFieldCos map3 fun4 (phase frequency)
###############################################################
FUNCTIONS
fun1 = map1 * map2
fun2 = (1 - map1) * map2
fun3 = gamma_mu * par2
fun4 = gamma_mu * par4
###############################################################
GLOBAL
fittype 3 (asymmetry RRF fit)
fit 0.0005 6
rrf_freq 7.15 T
rrf_packing 300
rrf_phase 0.00
###############################################################
# Fw1-Fw5 +++++++
RUN data/tdc_hifi_2014_00153 PIE3 PSI PSI-MDU (name beamline institute data-file-format)
alpha 5
map 6 7 8 0 0 0 0 0 0 0 0
forward 2
backward 6
background 500 15000 500 15000 # estimated bkg: 0.0492 / 0.0501
data 20158 409500 20130 409500
t0 20108.0 20080.0
# Fw2-Fw6 +++++++
RUN data/tdc_hifi_2014_00153 PIE3 PSI PSI-MDU (name beamline institute data-file-format)
alpha 9
map 10 11 12 0 0 0 0 0 0 0 0
forward 3
backward 7
background 500 15000 500 15000 # estimated bkg: 0.0501 / 0.0451
data 20138 409500 20121 409500
t0 20088.0 20071.0
# Fw3-Fw7 +++++++
RUN data/tdc_hifi_2014_00153 PIE3 PSI PSI-MDU (name beamline institute data-file-format)
alpha 13
map 14 15 16 0 0 0 0 0 0 0 0
forward 3
backward 8
background 500 15000 500 15000 # estimated bkg: 0.0501 / 0.0449
data 20111 409500 20116 409500
t0 20061.0 20066.0
# Fw4-Fw8 +++++++
RUN data/tdc_hifi_2014_00153 PIE3 PSI PSI-MDU (name beamline institute data-file-format)
alpha 17
map 18 19 20 0 0 0 0 0 0 0 0
forward 5
backward 9
background 500 15000 500 15000 # estimated bkg: 0.0560 / 0.0462
data 20121 409500 20082 409500
t0 20071.0 20032.0
# Bw1-Bw5 +++++++
RUN data/tdc_hifi_2014_00153 PIE3 PSI PSI-MDU (name beamline institute data-file-format)
alpha 21
map 22 23 24 0 0 0 0 0 0 0 0
forward 10
backward 14
background 500 15000 500 15000 # estimated bkg: 0.0641 / 0.0806
data 20072 409500 20067 409500
t0 20022.0 20017.0
# Bw2-Bw6 +++++++
RUN data/tdc_hifi_2014_00153 PIE3 PSI PSI-MDU (name beamline institute data-file-format)
alpha 25
map 26 27 28 0 0 0 0 0 0 0 0
forward 11
backward 15
background 500 15000 500 15000 # estimated bkg: 0.0689 / 0.0768
data 20076 409500 20069 409500
t0 20026.0 20019.0
# Bw3-Bw7 +++++++
RUN data/tdc_hifi_2014_00153 PIE3 PSI PSI-MDU (name beamline institute data-file-format)
alpha 29
map 30 31 32 0 0 0 0 0 0 0 0
forward 12
backward 16
background 500 15000 500 15000 # estimated bkg: 0.0769 / 0.0795
data 20060 409500 20069 409500
t0 20010.0 20019.0
# Bw4-Bw8 +++++++
RUN data/tdc_hifi_2014_00153 PIE3 PSI PSI-MDU (name beamline institute data-file-format)
alpha 33
map 34 35 36 0 0 0 0 0 0 0 0
forward 13
backward 17
background 500 15000 500 15000 # estimated bkg: 0.0761 / 0.0702
data 20063 409500 20089 409500
t0 20013.0 20039.0
###############################################################
COMMANDS
#MAX_LIKELIHOOD
PRINT_LEVEL 2
MINIMIZE
#MINOS
SAVE
###############################################################
PLOT 3 (asymmetry RRF plot)
runs 1 2 3 4 5 6 7 8
range 0 9.07 -0.5 0.5
###############################################################
FOURIER
units Gauss # units either 'Gauss', 'Tesla', 'MHz', or 'Mc/s'
fourier_power 11
apodization STRONG # NONE, WEAK, MEDIUM, STRONG
plot POWER # REAL, IMAG, REAL_AND_IMAG, POWER, PHASE
###############################################################
STATISTIC --- 2016-01-18 16:23:00
chisq = 7402.2, NDF = 6516, chisq/NDF = 1.135997

View File

@ -0,0 +1,235 @@
MnSi, FLC68.2, 50 K
###############################################################
FITPARAMETER
# Nr. Name Value Step Pos_Error Boundaries
1 Rate_1 1.678 0.018 none
2 Field_1_RRF 1589.66 0.19 none
3 Rate_2 1.948 0.064 none
4 Field_2_RRF 788.93 0.47 none
5 Asym_1 0.3102 0.0067 none
6 Frc_1 0.728 0.012 none
7 Phase_1 57.3 1.1 none
8 Asym_2 0.3073 0.0066 none
9 Frc_2 0.748 0.012 none
10 Phase_2 30.6 1.0 none
11 Asym_3 0.3245 0.0065 none
12 Frc_3 0.728 0.011 none
13 Phase_3 18.70 0.96 none
14 Asym_4 0.3290 0.0062 none
15 Frc_4 0.733 0.011 none
16 Phase_4 339.27 0.96 none
17 Asym_5 0.3213 0.0062 none
18 Frc_5 0.730 0.011 none
19 Phase_5 282.5 1.0 none
20 Asym_6 0.3424 0.0072 none
21 Frc_6 0.726 0.012 none
22 Phase_6 211.3 1.0 none
23 Asym_7 0.3321 0.0069 none
24 Frc_7 0.731 0.012 none
25 Phase_7 161.7 1.1 none
26 Asym_8 0.3219 0.0067 none
27 Frc_8 0.730 0.012 none
28 Phase_8 133.7 1.1 none
29 Asym_9 0.3030 0.0058 none
30 Frc_9 0.730 0.011 none
31 Phase_9 158.87 0.97 none
32 Asym_10 0.3046 0.0057 none
33 Frc_10 0.731 0.011 none
34 Phase_10 129.97 0.97 none
35 Asym_11 0.2898 0.0055 none
36 Frc_11 0.754 0.011 none
37 Phase_11 101.80 0.96 none
38 Asym_12 0.3013 0.0055 none
39 Frc_12 0.740 0.010 none
40 Phase_12 43.00 0.88 none
41 Asym_13 0.3009 0.0054 none
42 Frc_13 0.747 0.010 none
43 Phase_13 351.72 0.88 none
44 Asym_14 0.3054 0.0053 none
45 Frc_14 0.729 0.010 none
46 Phase_14 289.91 0.91 none
47 Asym_15 0.2931 0.0053 none
48 Frc_15 0.740 0.010 none
49 Phase_15 282.39 0.94 none
50 Asym_16 0.2814 0.0058 none
51 Frc_16 0.729 0.011 none
52 Phase_16 212.89 0.99 none
###############################################################
THEORY
asymmetry fun1
simplExpo 1 (rate)
TFieldCos map3 fun3 (phase frequency)
+
asymmetry fun2
simplExpo 3 (rate)
TFieldCos map3 fun4 (phase frequency)
###############################################################
FUNCTIONS
fun1 = map1 * map2
fun2 = map1 * (1 - map2)
fun3 = par2 * gamma_mu
fun4 = par4 * gamma_mu
###############################################################
GLOBAL
fittype 1 (single histogram RRF fit)
rrf_freq 7.15 T
rrf_packing 300
rrf_phase 0.00
fit 0.0005 10
###############################################################
RUN data/tdc_hifi_2014_00153 PIE3 PSI PSI-MDU (name beamline institute data-file-format)
map 5 6 7 0 0 0 0 0 0 0 0
forward 2
background 100 18000 # estimated bkg: 0.0476
data 20208 409500
t0 20108.0
#--------------------------------------------------------------
RUN data/tdc_hifi_2014_00153 PIE3 PSI PSI-MDU (name beamline institute data-file-format)
map 8 9 10 0 0 0 0 0 0 0 0
forward 3
background 100 18000 # estimated bkg: 0.0490
data 20188 409500
t0 20088.0
#--------------------------------------------------------------
RUN data/tdc_hifi_2014_00153 PIE3 PSI PSI-MDU (name beamline institute data-file-format)
map 11 12 13 0 0 0 0 0 0 0 0
forward 4
background 100 18000 # estimated bkg: 0.0582
data 20161 409500
t0 20061.0
#--------------------------------------------------------------
RUN data/tdc_hifi_2014_00153 PIE3 PSI PSI-MDU (name beamline institute data-file-format)
map 14 15 16 0 0 0 0 0 0 0 0
forward 5
background 100 18000 # estimated bkg: 0.0553
data 20171 409500
t0 20071.0
#--------------------------------------------------------------
RUN data/tdc_hifi_2014_00153 PIE3 PSI PSI-MDU (name beamline institute data-file-format)
map 17 18 19 0 0 0 0 0 0 0 0
forward 6
background 100 18000 # estimated bkg: 0.0515
data 20180 409500
t0 20080.0
#--------------------------------------------------------------
RUN data/tdc_hifi_2014_00153 PIE3 PSI PSI-MDU (name beamline institute data-file-format)
map 20 21 22 0 0 0 0 0 0 0 0
forward 7
background 100 18000 # estimated bkg: 0.0458
data 20171 409500
t0 20071.0
#--------------------------------------------------------------
RUN data/tdc_hifi_2014_00153 PIE3 PSI PSI-MDU (name beamline institute data-file-format)
map 23 24 25 0 0 0 0 0 0 0 0
forward 8
background 100 18000 # estimated bkg: 0.0466
data 20166 409500
t0 20066.0
#--------------------------------------------------------------
RUN data/tdc_hifi_2014_00153 PIE3 PSI PSI-MDU (name beamline institute data-file-format)
map 26 27 28 0 0 0 0 0 0 0 0
forward 9
background 100 18000 # estimated bkg: 0.0457
data 20132 409500
t0 20032.0
#--------------------------------------------------------------
RUN data/tdc_hifi_2014_00153 PIE3 PSI PSI-MDU (name beamline institute data-file-format)
map 29 30 31 0 0 0 0 0 0 0 0
forward 10
background 100 18000 # estimated bkg: 0.0635
data 20122 409500
t0 20022.0
#--------------------------------------------------------------
RUN data/tdc_hifi_2014_00153 PIE3 PSI PSI-MDU (name beamline institute data-file-format)
map 32 33 34 0 0 0 0 0 0 0 0
forward 11
background 100 18000 # estimated bkg: 0.0685
data 20126 409500
t0 20026.0
#--------------------------------------------------------------
RUN data/tdc_hifi_2014_00153 PIE3 PSI PSI-MDU (name beamline institute data-file-format)
map 35 36 37 0 0 0 0 0 0 0 0
forward 12
background 100 18000 # estimated bkg: 0.0752
data 20110 409500
t0 20010.0
#--------------------------------------------------------------
RUN data/tdc_hifi_2014_00153 PIE3 PSI PSI-MDU (name beamline institute data-file-format)
map 38 39 40 0 0 0 0 0 0 0 0
forward 13
background 100 18000 # estimated bkg: 0.0760
data 20113 409500
t0 20013.0
#--------------------------------------------------------------
RUN data/tdc_hifi_2014_00153 PIE3 PSI PSI-MDU (name beamline institute data-file-format)
map 41 42 43 0 0 0 0 0 0 0 0
forward 14
background 100 18000 # estimated bkg: 0.0809
data 20117 409500
t0 20017.0
#--------------------------------------------------------------
RUN data/tdc_hifi_2014_00153 PIE3 PSI PSI-MDU (name beamline institute data-file-format)
map 44 45 46 0 0 0 0 0 0 0 0
forward 15
background 100 18000 # estimated bkg: 0.0755
data 20119 409500
t0 20019.0
#--------------------------------------------------------------
RUN data/tdc_hifi_2014_00153 PIE3 PSI PSI-MDU (name beamline institute data-file-format)
map 47 48 49 0 0 0 0 0 0 0 0
forward 16
background 100 18000 # estimated bkg: 0.0796
data 20119 409500
t0 20019.0
#--------------------------------------------------------------
RUN data/tdc_hifi_2014_00153 PIE3 PSI PSI-MDU (name beamline institute data-file-format)
map 50 51 52 0 0 0 0 0 0 0 0
forward 17
background 100 18000 # estimated bkg: 0.0702
data 20139 409500
t0 20039.0
###############################################################
COMMANDS
#MAX_LIKELIHOOD
PRINT_LEVEL 2
MINIMIZE
#MINOS
SAVE
###############################################################
PLOT 1 (single histo RRF plot)
runs 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
range 0 9.07 -0.5 0.5
###############################################################
FOURIER
units Gauss # units either 'Gauss', 'Tesla', 'MHz', or 'Mc/s'
fourier_power 12
apodization MEDIUM # NONE, WEAK, MEDIUM, STRONG
plot POWER # REAL, IMAG, REAL_AND_IMAG, POWER, PHASE
#range 7.1 7.5
###############################################################
STATISTIC --- 2016-01-14 13:24:36
chisq = 22007.6, NDF = 20700, chisq/NDF = 1.063168

View File

@ -1,35 +1,38 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en_US" lang="en_US">
<!DOCTYPE html><html lang="en">
<!-- Mirrored from intranet.psi.ch/MUSR/BmwLibs?cover=print by HTTrack Website Copier/3.x [XR&CO'2010], Thu, 18 Dec 2014 13:46:44 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=iso-8859-1"><!-- /Added by HTTrack -->
<!-- Mirrored from intranet.psi.ch/MUSR/BmwLibs?cover=print by HTTrack Website Copier/3.x [XR&CO'2010], Fri, 22 Jan 2016 15:12:53 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=utf-8"><!-- /Added by HTTrack -->
<head>
<link rel="stylesheet" href="../pub/System/HeadlinesPlugin/style.css" type="text/css" media="all" />
<title> MUSR :: BmwLibs</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1.5, user-scalable=yes" />
<meta name="mobile-web-app-capable" content="yes" />
<meta name="mobile-web-app-status-bar-style" content="black-translucent" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
<link rel="icon" href="../pub/Main/WebPreferences/favicon.ico" type="image/x-icon" />
<link rel="shortcut icon" href="../pub/Main/WebPreferences/favicon.ico" type="image/x-icon" />
<link rel="alternate" href="https://intranet.psi.ch/wiki/bin/edit/MUSR/BmwLibs?t=1418910336" type="application/x-wiki" title="edit BmwLibs" />
<link rel="alternate" href="https://intranet.psi.ch/wiki/bin/edit/MUSR/BmwLibs?t=1453475525" type="application/x-wiki" title="edit BmwLibs" />
<meta name="TEXT_NUM_TOPICS" content="Number of topics:" />
<meta name="TEXT_MODIFY_SEARCH" content="Modify search" />
<meta name="robots" content="noindex" /><link rel="alternate" type="application/rss+xml" title="RSS Feed" href="WebRsshtml.html" />
<base /><!--[if IE]></base><![endif]-->
<link rel='stylesheet' href='../pub/System/ImagePlugin/style.css' media='all' />
<base /><!--[if IE]></base><![endif]--><link class='head JQUERYPLUGIN::COMMENT' rel='stylesheet' href='../pub/System/CommentPlugin/commentf5b6.css?version=3.0' type='text/css' media='all' /><!--JQUERYPLUGIN::COMMENT-->
<link class='head FOOTNOTEPLUGIN_LINKCSS' rel="stylesheet" href="../pub/System/FootNotePlugin/styles.css" type="text/css" media="all" /><!--FOOTNOTEPLUGIN_LINKCSS-->
<link class='head SMILIESPLUGIN' rel='stylesheet' href='../pub/System/SmiliesPlugin/smilies.css' type='text/css' media='all' /><!--SMILIESPLUGIN-->
<link class='head CLASSIFICATIONPLUGIN::CSS' rel="stylesheet" href="../pub/System/ClassificationPlugin/styles.css" media="all" /><!--CLASSIFICATIONPLUGIN::CSS--><link rel='stylesheet' href='../pub/System/SkinTemplates/base.css' media='all' type='text/css' />
<style type="text/css" media="all">
@import url('../pub/System/SkinTemplates/base.css');
</style>
<style type="text/css" media="all">
@import url('../pub/System/PatternSkinTheme2009/layout.css');
@import url('../pub/System/PatternSkinTheme/layout.css');
@import url('../pub/System/PatternSkinTheme2009/style.css');
@import url('../pub/System/PatternSkinTheme2009/colors.css');
</style>
<style type="text/css" media="all">
@import url('../pub/System/PatternSkinTheme2009/column_left.css');
@import url('../pub/System/PatternSkinTheme2009/variant_twiki.css');
</style><style type="text/css" media="all">
<link rel='stylesheet' href='../pub/System/PatternSkinTheme2009/column_left.css' media='all' type='text/css' />
<link rel='stylesheet' href='../pub/System/PatternSkinTheme2009/variant_twiki.css' media='all' type='text/css' /><style type="text/css" media="all">
/* Styles that are set using variables */
.patternBookView .foswikiTopRow,
.patternWebIndicator a img,
.patternWebIndicator a:hover img {
.patternWebIndicator,
.patternWebIndicator a {
background-color:#D0D0D0;
}
#patternTopBarContents { background-image:url(../pub/System/PatternSkin/header5.gif); background-repeat:repeat-x;}
@ -50,14 +53,8 @@
<style type="text/css" media="all">
@import url("../pub/System/PatternSkin/print.css");
</style>
<!--[if IE]><style type="text/css" media="screen">
pre {
height:1%;
overflow-x:auto;
}
<link rel='stylesheet' href='../pub/System/PatternSkin/print.css' media='all' type='text/css' />
<!--[if IE 7 ]><style type="text/css" media="screen">
.foswikiAttachments,
.foswikiForm,
.foswikiHelp,
@ -79,7 +76,17 @@ pre {
.foswikiFormStep {
height:100%;
}
#foswikiLogin,
#foswikiLogin {
margin-left: 25%;
margin-right: 25%;
}
#foswikiLogin .foswikiFormSteps {
width:auto;
}
#foswikiLogin input[type="text"],
#foswikiLogin input[type="password"] {
width: auto;
}
.patternShadow {
border:10px solid #fff;
margin-top:10px;
@ -87,118 +94,61 @@ pre {
border:2px solid #ccc;
}
</style><![endif]-->
<!--[if gt IE 8 ]><style type="text/css" media="screen">
#foswikiLogin,
.patternShadow {
border:10px solid #fff;
margin-top:10px;
margin-bottom:10px;
box-shadow: 0 0 10px #ccc;
}
</style><![endif]-->
<link rel="stylesheet" href="../pub/System/FootNotePlugin/styles.css" type="text/css" media="all" /><!--FOOTNOTEPLUGIN_LINKCSS-->
<!--[if lte IE 9]>
<![endif]-->
<!--[if gt IE 9]><!-->
<!--<![endif]-->
<!--JQUERYPLUGIN-->
<!--JQUERYPLUGIN::MIGRATE-->
<!--JQUERYPLUGIN::LIVEQUERY-->
<!--JQUERYPLUGIN::FOSWIKI-->
<!--JavascriptFiles/foswikiString-->
<!--JavascriptFiles/foswikiPref-->
<!--JavascriptFiles/foswikiForm-->
<!--PatternSkin/pattern-->
<!--JQUERYPLUGIN::FOSWIKI::PREFERENCES-->
<!--JQUERYPLUGIN::COMMENT--><link class='head FOOTNOTEPLUGIN_LINKCSS' rel="stylesheet" href="../pub/System/FootNotePlugin/styles.css" type="text/css" media="all" /><!--FOOTNOTEPLUGIN_LINKCSS-->
</head>
<body class="foswikiNoJs patternViewPage">
<a name="PageTop"></a><div class="foswikiPage"><div id="patternScreen">
<body class="foswikiNoJs patternViewPage patternPrintPage">
<span id="PageTop"></span><div class="foswikiPage"><div id="patternScreen">
<div id="patternPageShadow">
<div id="patternPage">
<div id="patternWrapper"><div id="patternOuter">
<div id="patternOuter" class="clear">
<div id="patternFloatWrap">
<div id="patternMain"><div id="patternClearHeaderCenter"></div>
<div id="patternMainContents"><div class="patternTop"><span class="patternHomePath foswikiLeft"></span><span class="patternToolBar foswikiRight"><span><a href='BmwLibsc99a.html?cover=print;cover=print' rel='nofollow' title='Printable version of this topic' accesskey='p'><span class='foswikiAccessKey'>P</span>rint version</a></span><a href="https://intranet.psi.ch/MUSR/BmwLibs?restrictions=on" id="restriction_link"><img src='../pub/System/PsiSkin/lock_open.png' class='lock' height='16' width='23' title='open in PSI - click for more information'/></a></span><div class="foswikiClear"></div></div><div class="foswikiContentHeader">
<div id="patternMain">
<div id="patternMainContents">
<div class="patternContent"><div class="foswikiTopic"> To be written...
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
</div><div class="patternContent"><div class="foswikiTopic">To be written...
<p></p>
<h1><a name="BMWlibs_for_61musrfit_61"></a> BMWlibs for <code>musrfit</code> </h1> <ul>
<h1 id="BMWlibs_for_61musrfit_61"> BMWlibs for <code>musrfit</code> </h1> <ul>
<li> <a href="LibFitPofB.html"> <code>libFitPofB</code>: routines for calculating transverse-field muon-spin depolarization functions from various static field distributions in superconductors</a>
</li> <li> <a href="LibZFRelaxation.html"> <code>libZFRelaxation</code>: routines for calculating zero-field muon-spin depolarization functions from various static field distributions</a>
</li></ul>
<p></p>
-- <a href="http://www.fsf.org/register_form?referrer=8369" target="_top">BMW</a> &amp; <a href="http://lmu.web.psi.ch/lem/group.html" target="_top">AS</a> </div>
<div class="foswikiContentFooter"></div><!-- -->
<!-- -->
<!-- -->
<!-- -->
<span class='foswikiClear'></span>
<div class="foswikiMetaData foswikiHideOnPrint foswikiMetaDataNotAllowed">
<div class="jqTabPane jqTabPanePlain {select:'1', autoMaxExpand:false, animate:true, minHeight:230}">
<!-- -->
<!-- -->
<!-- --><!-- -->
<!-- -->
<!-- --><!-- -->
<!-- --><!-- -->
<!-- -->
</div><!-- //ENDTABPANE -->
</div>
<!-- -->
<!-- -->
<div class="foswikiFormSteps">
<a name="topic-actions"></a>
<div class="patternTopicActions foswikiFormStep">
<span class="patternActionButtons"><span><a href='https://intranet.psi.ch/wiki/bin/edit/MUSR/BmwLibs?t=1418910336' rel='nofollow' title='Edit this topic text' accesskey='e'><span class='foswikiAccessKey'>E</span>dit</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span class="foswikiRequiresChangePermission"><a href='https://intranet.psi.ch/wiki/bin/attach/MUSR/BmwLibs' rel='nofollow' title='Attach an image or document to this topic' accesskey='a'><span class='foswikiAccessKey'>A</span>ttach</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span><a href='BmwLibsc99a.html?cover=print;cover=print' rel='nofollow' title='Printable version of this topic' accesskey='p'><span class='foswikiAccessKey'>P</span>rint version</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span><a href='https://intranet.psi.ch/print/php/pdf.php?url=MUSR/BmwLibs?cover=print' title='PDF version of this topic'>PDF</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span><span class="foswikiRequiresChangePermission"><a href='https://intranet.psi.ch/wiki/bin/oops/MUSR/BmwLibs?template=oopshistory' rel='nofollow' title='View total topic history' accesskey='h'><span class='foswikiAccessKey'>H</span>istory</a></span>: r5&nbsp;<a rel="nofollow" href="https://intranet.psi.ch/wiki/bin/compare/MUSR/BmwLibs?rev1=4;rev2=5">&lt;</a>&nbsp;<a rel="nofollow" href="https://intranet.psi.ch/MUSR/BmwLibs?rev=4">r4</a>&nbsp;<a rel="nofollow" href="https://intranet.psi.ch/wiki/bin/compare/MUSR/BmwLibs?rev1=3;rev2=4">&lt;</a>&nbsp;<a rel="nofollow" href="https://intranet.psi.ch/MUSR/BmwLibs?rev=3">r3</a>&nbsp;<a rel="nofollow" href="https://intranet.psi.ch/wiki/bin/compare/MUSR/BmwLibs?rev1=2;rev2=3">&lt;</a>&nbsp;<a rel="nofollow" href="https://intranet.psi.ch/MUSR/BmwLibs?rev=2">r2</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span><a href='https://intranet.psi.ch/MUSR/BmwLibs?template=backlinksweb' rel='nofollow' title='Search the MUSR Web for topics that link to here' accesskey='b'><span class='foswikiAccessKey'>B</span>acklinks</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span><a href='https://intranet.psi.ch/MUSR/BmwLibs?raw=on' rel='nofollow' title='View without formatting' accesskey='v'><span class='foswikiAccessKey'>V</span>iew wiki text</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span><a href='https://intranet.psi.ch/MUSR/BmwLibs?refresh=on' title='Refresh images and LaTeX charts'>Refresh</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span><a href='https://intranet.psi.ch/MUSR/BmwLibs?template=more&amp;maxrev=5&amp;currrev=5' rel='nofollow' title='Delete or rename this topic; set parent topic; view and compare revisions' accesskey='m'><span class='foswikiAccessKey'>M</span>ore topic actions</a></span></span>
</div>
</div></div><div class="patternInfo"><span class="patternRevInfo">Topic revision: r5 - 10 Jul 2011, wojek</span></div>
</div>
</div><div id="patternSideBar"><div id="patternClearHeaderLeft"></div>
<div id="patternSideBarContents">
<div class="patternLeftBarPersonal">
<ul><li class="patternLogIn"><a href="https://intranet.psi.ch/wiki/bin/logon/MUSR/BmwLibs">Log In</a> or <a href="https://intranet.psi.ch/System/UserRegistration">Register</a></li></ul>
</div>
-- <a href="http://www.fsf.org/register_form?referrer=8369">BMW</a> &amp; <a href="http://www.psi.ch/low-energy-muons/people">AS</a></div>
<p></p>
<p></p>
<b>PSI Webs</b> <ul>
<li> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/psi.png" width="16" height="16" alt="psi" /></span> <a href="https://intranet.psi.ch/Main/WebHome">Main</a>
</li> <li> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/psi.png" width="16" height="16" alt="psi" /></span> <a href="https://intranet.psi.ch/Main/WebList">weitere Webs</a>
</li></ul>
<hr />
<b>System Webs</b> <ul>
<li> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/foswiki.png" width="16" height="16" alt="foswiki" /></span> <a href="https://intranet.psi.ch/Sandbox/WebHome">Sandbox</a>
</li> <li> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/foswiki.png" width="16" height="16" alt="foswiki" /></span> <a href="https://intranet.psi.ch/System/WebHome">Documentation</a>
</li></ul>
<hr /> <ul>
<li> <a href="https://intranet.psi.ch/MUSR/WebCreateNewTopic?parent=BmwLibs" target="_top"><span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/newtopic.png" width="16" height="16" alt="newtopic" /></span> Create New Topic</a>
</li> <li> <a href="WebTopicList.html"> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/index.png" width="16" height="16" alt="index" /></span> Show All Topics</a>
</li> <li> <a href="WebSearch.html"> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/searchtopic.png" width="16" height="16" alt="searchtopic" /></span> Search in Topics</a>
</li> <li> <a href="WebChanges.html"> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/changes.png" width="16" height="16" alt="changes" /></span> Recent Changes</a>
</li> <li> <a href="WebNotify.html"> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/notify.png" width="16" height="16" alt="notify" /></span> Define Notifications</a>
</li></ul>
<p></p>
</div></div>
</div>
<div class="clear">&nbsp;</div>
</div></div><div id="patternTopBar">
<div id="patternTopBarContentsWrapper">
<div id="patternTopBarContents"><table border="0" cellpadding="0" cellspacing="0" style="width:100%" summary="">
<tr><td valign="middle"><span id="foswikiLogo" class="foswikiImage"><a href="WebHome.html"><img src="../pub/Main/WebPreferences/psi_logo_150.gif" border="0" alt="Paul Scherrer Institut" style="border:none; margin: -8px 0 0 15px;" /></a></span></td>
<td align="right" valign="top" class="patternMetaMenu" id="psimetanav">
<p></p> <ul>
<li> <form name="quickSearchForm" id="solrSearchForm" action="https://intranet.psi.ch/PSI/Search"><input type="hidden" name="filter" value="web:MUSR" /><input type="text" class="foswikiInputField" id="quickSearchBox" name="search" value="" size="18" /><input type="hidden" name="scope" value="all" /><!-- <input type="hidden" name="web" value="MUSR" /> --> <noscript>&nbsp;<input type="submit" size="5" class="foswikiButton" name="submit" value="Search" />&nbsp;</noscript><input type="image" class="searchsubmit" alt="Search" value="Suche..." name="sa" src="../webbase/img/search.png"> </form>
</li> <li> <form name="changeLanguage" action="https://intranet.psi.ch/wiki/bin/oops/MUSR/BmwLibs" method="get"> <input type="hidden" name="redirectto" value="/MUSR/BmwLibs?cover=print" /> <select name="language" class="foswikiSelect" onchange="document.changeLanguage.submit()"> <option value="de">Deutsch</option> <option selected="selected" value="en">English</option></select> <input type="hidden" name="template" value="oopslanguagechanged" /> <noscript> <input class="foswikiButton" type="submit" value="Change language" /> </noscript> </form>
</li></ul>
<p></p>
<p></p>
<p></p>
</td></tr></table>
</div><!--/patternTopBarContents-->
</div><!--/patternTopBarContentsWrapper-->
</div><!-- /patternTopBar--><div id="patternBottomBar"><div id="patternBottomBarContents"><div id="patternWebBottomBar">Ideas, requests, problems regarding <a href="https://intranet.psi.ch/Main/WebHome">PSI Wiki</a>? <a href="mailto&#58;psi&#46;intranet&#64;psi&#46;ch&#63;subject&#61;PSI&#32;Wiki&#37;20Feedback&#37;20on&#37;20MUSR&#46;BmwLibs">Send feedback</a></div></div></div>
<div class="patternInfo">This topic: MUSR<span class='foswikiSeparator'>&nbsp;&gt;&nbsp;</span><a href="WebHome.html" class="foswikiCurrentWebHomeLink">WebHome</a> &gt; <a href="MusrFit.html">MusrFit</a><span class='foswikiSeparator'>&nbsp;&gt;&nbsp;</span>BmwLibs <br />
Topic revision: <span class='patternRevInfo'>03 Jul 2015, suter_a</span></div>
</div>
</div>
</div>
</div></body>
<!-- Mirrored from intranet.psi.ch/MUSR/BmwLibs?cover=print by HTTrack Website Copier/3.x [XR&CO'2010], Thu, 18 Dec 2014 13:46:47 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=iso-8859-1"><!-- /Added by HTTrack -->
</div><div id="patternBottomBar"><div id="patternBottomBarContents"><div id="patternWebBottomBar"><span class="foswikiRight"> <a href="http://foswiki.org/"><img src="../pub/System/ProjectLogos/foswiki-badge.png" alt="This site is powered by Foswiki" title="This site is powered by Foswiki" /></a></span>Copyright &copy; by the contributing authors. All material on this collaboration platform is the property of the contributing authors. <br /> Ideas, requests, problems regarding PSI Wiki? <a href='mailto:andre.lichtsteiner@psi.ch?subject=PSI Wiki %20Feedback%20on%20MUSR.BmwLibs'>Send feedback</a></div></div></div>
</div>
</div>
</div>
</div></div><!-- /endWrap -->
<p></p>
<!-- Piwik -->
<noscript><p><img src="../piwik/piwikf832.gif?idsite=7" style="border:0" alt=""></p></noscript>
<!-- End Piwik Tag -->
</body>
<!-- Mirrored from intranet.psi.ch/MUSR/BmwLibs?cover=print by HTTrack Website Copier/3.x [XR&CO'2010], Fri, 22 Jan 2016 15:12:54 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=utf-8"><!-- /Added by HTTrack -->
</html>
<p></p>
<p></p>
<p></p>
<p></p>

View File

@ -1,35 +1,38 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en_US" lang="en_US">
<!DOCTYPE html><html lang="en">
<!-- Mirrored from intranet.psi.ch/MUSR/CiteMusrFit?cover=print by HTTrack Website Copier/3.x [XR&CO'2010], Thu, 18 Dec 2014 13:46:34 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=iso-8859-1"><!-- /Added by HTTrack -->
<!-- Mirrored from intranet.psi.ch/MUSR/CiteMusrFit?cover=print by HTTrack Website Copier/3.x [XR&CO'2010], Fri, 22 Jan 2016 15:12:46 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=utf-8"><!-- /Added by HTTrack -->
<head>
<link rel="stylesheet" href="../pub/System/HeadlinesPlugin/style.css" type="text/css" media="all" />
<title> MUSR :: CiteMusrFit</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1.5, user-scalable=yes" />
<meta name="mobile-web-app-capable" content="yes" />
<meta name="mobile-web-app-status-bar-style" content="black-translucent" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
<link rel="icon" href="../pub/Main/WebPreferences/favicon.ico" type="image/x-icon" />
<link rel="shortcut icon" href="../pub/Main/WebPreferences/favicon.ico" type="image/x-icon" />
<link rel="alternate" href="https://intranet.psi.ch/wiki/bin/edit/MUSR/CiteMusrFit?t=1418910332" type="application/x-wiki" title="edit CiteMusrFit" />
<link rel="alternate" href="https://intranet.psi.ch/wiki/bin/edit/MUSR/CiteMusrFit?t=1453475524" type="application/x-wiki" title="edit CiteMusrFit" />
<meta name="TEXT_NUM_TOPICS" content="Number of topics:" />
<meta name="TEXT_MODIFY_SEARCH" content="Modify search" />
<meta name="robots" content="noindex" /><link rel="alternate" type="application/rss+xml" title="RSS Feed" href="WebRsshtml.html" />
<base /><!--[if IE]></base><![endif]-->
<link rel='stylesheet' href='../pub/System/ImagePlugin/style.css' media='all' />
<base /><!--[if IE]></base><![endif]--><link class='head SMILIESPLUGIN' rel='stylesheet' href='../pub/System/SmiliesPlugin/smilies.css' type='text/css' media='all' /><!--SMILIESPLUGIN-->
<link class='head CLASSIFICATIONPLUGIN::CSS' rel="stylesheet" href="../pub/System/ClassificationPlugin/styles.css" media="all" /><!--CLASSIFICATIONPLUGIN::CSS-->
<link class='head JQUERYPLUGIN::COMMENT' rel='stylesheet' href='../pub/System/CommentPlugin/commentf5b6.css?version=3.0' type='text/css' media='all' /><!--JQUERYPLUGIN::COMMENT-->
<link class='head FOOTNOTEPLUGIN_LINKCSS' rel="stylesheet" href="../pub/System/FootNotePlugin/styles.css" type="text/css" media="all" /><!--FOOTNOTEPLUGIN_LINKCSS--><link rel='stylesheet' href='../pub/System/SkinTemplates/base.css' media='all' type='text/css' />
<style type="text/css" media="all">
@import url('../pub/System/SkinTemplates/base.css');
</style>
<style type="text/css" media="all">
@import url('../pub/System/PatternSkinTheme2009/layout.css');
@import url('../pub/System/PatternSkinTheme/layout.css');
@import url('../pub/System/PatternSkinTheme2009/style.css');
@import url('../pub/System/PatternSkinTheme2009/colors.css');
</style>
<style type="text/css" media="all">
@import url('../pub/System/PatternSkinTheme2009/column_left.css');
@import url('../pub/System/PatternSkinTheme2009/variant_twiki.css');
</style><style type="text/css" media="all">
<link rel='stylesheet' href='../pub/System/PatternSkinTheme2009/column_left.css' media='all' type='text/css' />
<link rel='stylesheet' href='../pub/System/PatternSkinTheme2009/variant_twiki.css' media='all' type='text/css' /><style type="text/css" media="all">
/* Styles that are set using variables */
.patternBookView .foswikiTopRow,
.patternWebIndicator a img,
.patternWebIndicator a:hover img {
.patternWebIndicator,
.patternWebIndicator a {
background-color:#D0D0D0;
}
#patternTopBarContents { background-image:url(../pub/System/PatternSkin/header5.gif); background-repeat:repeat-x;}
@ -50,14 +53,8 @@
<style type="text/css" media="all">
@import url("../pub/System/PatternSkin/print.css");
</style>
<!--[if IE]><style type="text/css" media="screen">
pre {
height:1%;
overflow-x:auto;
}
<link rel='stylesheet' href='../pub/System/PatternSkin/print.css' media='all' type='text/css' />
<!--[if IE 7 ]><style type="text/css" media="screen">
.foswikiAttachments,
.foswikiForm,
.foswikiHelp,
@ -79,7 +76,17 @@ pre {
.foswikiFormStep {
height:100%;
}
#foswikiLogin,
#foswikiLogin {
margin-left: 25%;
margin-right: 25%;
}
#foswikiLogin .foswikiFormSteps {
width:auto;
}
#foswikiLogin input[type="text"],
#foswikiLogin input[type="password"] {
width: auto;
}
.patternShadow {
border:10px solid #fff;
margin-top:10px;
@ -87,116 +94,59 @@ pre {
border:2px solid #ccc;
}
</style><![endif]-->
<!--[if gt IE 8 ]><style type="text/css" media="screen">
#foswikiLogin,
.patternShadow {
border:10px solid #fff;
margin-top:10px;
margin-bottom:10px;
box-shadow: 0 0 10px #ccc;
}
</style><![endif]-->
<link rel="stylesheet" href="../pub/System/FootNotePlugin/styles.css" type="text/css" media="all" /><!--FOOTNOTEPLUGIN_LINKCSS-->
<!--[if lte IE 9]>
<![endif]-->
<!--[if gt IE 9]><!-->
<!--<![endif]-->
<!--JQUERYPLUGIN-->
<!--JQUERYPLUGIN::MIGRATE-->
<!--JQUERYPLUGIN::LIVEQUERY-->
<!--JQUERYPLUGIN::FOSWIKI-->
<!--JavascriptFiles/foswikiString-->
<!--JavascriptFiles/foswikiPref-->
<!--JavascriptFiles/foswikiForm-->
<!--PatternSkin/pattern-->
<!--JQUERYPLUGIN::FOSWIKI::PREFERENCES-->
<!--JQUERYPLUGIN::COMMENT--><link class='head FOOTNOTEPLUGIN_LINKCSS' rel="stylesheet" href="../pub/System/FootNotePlugin/styles.css" type="text/css" media="all" /><!--FOOTNOTEPLUGIN_LINKCSS-->
</head>
<body class="foswikiNoJs patternViewPage">
<a name="PageTop"></a><div class="foswikiPage"><div id="patternScreen">
<body class="foswikiNoJs patternViewPage patternPrintPage">
<span id="PageTop"></span><div class="foswikiPage"><div id="patternScreen">
<div id="patternPageShadow">
<div id="patternPage">
<div id="patternWrapper"><div id="patternOuter">
<div id="patternOuter" class="clear">
<div id="patternFloatWrap">
<div id="patternMain"><div id="patternClearHeaderCenter"></div>
<div id="patternMainContents"><div class="patternTop"><span class="patternHomePath foswikiLeft"></span><span class="patternToolBar foswikiRight"><span><a href='CiteMusrFitc99a.html?cover=print;cover=print' rel='nofollow' title='Printable version of this topic' accesskey='p'><span class='foswikiAccessKey'>P</span>rint version</a></span><a href="https://intranet.psi.ch/MUSR/CiteMusrFit?restrictions=on" id="restriction_link"><img src='../pub/System/PsiSkin/lock_open.png' class='lock' height='16' width='23' title='open in PSI - click for more information'/></a></span><div class="foswikiClear"></div></div><div class="foswikiContentHeader">
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
</div><div class="patternContent"><div class="foswikiTopic"><h1><a name="How_to_Cite_61musrfit_61_63"></a> How to Cite <code>musrfit</code>? </h1>
<div id="patternMain">
<div id="patternMainContents">
<div class="patternContent"><div class="foswikiTopic"> <h1 id="How_to_Cite_61musrfit_61_63"> How to Cite <code>musrfit</code>? </h1>
<p></p>
Since quite some effort is going into the development and maintenance of the <code>musrfit</code> package, you should at least acknowledge it in your publication if you have used it to analyze your data. Even better of course is to cite it properly by the reference given beneath
<p></p> <ul>
<li> <a href="http://dx.doi.org/10.1016/j.phpro.2012.04.042" target="_top">A. Suter, B.M. Wojek, "Musrfit: A Free Platform-Independent Framework for &mu;SR Data Analysis", Physics Procedia 30, 69 (2012).</a>
<li> <a href="http://dx.doi.org/10.1016/j.phpro.2012.04.042">A. Suter, B.M. Wojek, "Musrfit: A Free Platform-Independent Framework for &mu;SR Data Analysis", Physics Procedia 30, 69 (2012).</a>
</li></ul> </div>
<div class="foswikiContentFooter"></div><!-- -->
<!-- -->
<!-- -->
<!-- -->
<span class='foswikiClear'></span>
<div class="foswikiMetaData foswikiHideOnPrint foswikiMetaDataNotAllowed">
<div class="jqTabPane jqTabPanePlain {select:'1', autoMaxExpand:false, animate:true, minHeight:230}">
<!-- -->
<!-- -->
<!-- --><!-- -->
<!-- -->
<!-- --><!-- -->
<!-- --><!-- -->
<!-- -->
</div><!-- //ENDTABPANE -->
</div>
<!-- -->
<!-- -->
<div class="foswikiFormSteps">
<a name="topic-actions"></a>
<div class="patternTopicActions foswikiFormStep">
<span class="patternActionButtons"><span><a href='https://intranet.psi.ch/wiki/bin/edit/MUSR/CiteMusrFit?t=1418910333' rel='nofollow' title='Edit this topic text' accesskey='e'><span class='foswikiAccessKey'>E</span>dit</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span class="foswikiRequiresChangePermission"><a href='https://intranet.psi.ch/wiki/bin/attach/MUSR/CiteMusrFit' rel='nofollow' title='Attach an image or document to this topic' accesskey='a'><span class='foswikiAccessKey'>A</span>ttach</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span><a href='CiteMusrFitc99a.html?cover=print;cover=print' rel='nofollow' title='Printable version of this topic' accesskey='p'><span class='foswikiAccessKey'>P</span>rint version</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span><a href='https://intranet.psi.ch/print/php/pdf.php?url=MUSR/CiteMusrFit?cover=print' title='PDF version of this topic'>PDF</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span><span class="foswikiRequiresChangePermission"><a href='https://intranet.psi.ch/wiki/bin/oops/MUSR/CiteMusrFit?template=oopshistory' rel='nofollow' title='View total topic history' accesskey='h'><span class='foswikiAccessKey'>H</span>istory</a></span>: r2&nbsp;<a rel="nofollow" href="https://intranet.psi.ch/wiki/bin/compare/MUSR/CiteMusrFit?rev1=1;rev2=2">&lt;</a>&nbsp;<a rel="nofollow" href="https://intranet.psi.ch/MUSR/CiteMusrFit?rev=1">r1</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span><a href='https://intranet.psi.ch/MUSR/CiteMusrFit?template=backlinksweb' rel='nofollow' title='Search the MUSR Web for topics that link to here' accesskey='b'><span class='foswikiAccessKey'>B</span>acklinks</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span><a href='https://intranet.psi.ch/MUSR/CiteMusrFit?raw=on' rel='nofollow' title='View without formatting' accesskey='v'><span class='foswikiAccessKey'>V</span>iew wiki text</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span><a href='https://intranet.psi.ch/MUSR/CiteMusrFit?refresh=on' title='Refresh images and LaTeX charts'>Refresh</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span><a href='https://intranet.psi.ch/MUSR/CiteMusrFit?template=more&amp;maxrev=2&amp;currrev=2' rel='nofollow' title='Delete or rename this topic; set parent topic; view and compare revisions' accesskey='m'><span class='foswikiAccessKey'>M</span>ore topic actions</a></span></span>
</div>
</div></div><div class="patternInfo"><span class="patternRevInfo">Topic revision: r2 - 19 Jun 2012, <a href="https://intranet.psi.ch/Main/AndreasSuter">AndreasSuter</a></span></div>
</div>
</div><div id="patternSideBar"><div id="patternClearHeaderLeft"></div>
<div id="patternSideBarContents">
<div class="patternLeftBarPersonal">
<ul><li class="patternLogIn"><a href="https://intranet.psi.ch/wiki/bin/logon/MUSR/CiteMusrFit">Log In</a> or <a href="https://intranet.psi.ch/System/UserRegistration">Register</a></li></ul>
</div>
<p></p>
<p></p>
<b>PSI Webs</b> <ul>
<li> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/psi.png" width="16" height="16" alt="psi" /></span> <a href="https://intranet.psi.ch/Main/WebHome">Main</a>
</li> <li> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/psi.png" width="16" height="16" alt="psi" /></span> <a href="https://intranet.psi.ch/Main/WebList">weitere Webs</a>
</li></ul>
<hr />
<b>System Webs</b> <ul>
<li> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/foswiki.png" width="16" height="16" alt="foswiki" /></span> <a href="https://intranet.psi.ch/Sandbox/WebHome">Sandbox</a>
</li> <li> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/foswiki.png" width="16" height="16" alt="foswiki" /></span> <a href="https://intranet.psi.ch/System/WebHome">Documentation</a>
</li></ul>
<hr /> <ul>
<li> <a href="https://intranet.psi.ch/MUSR/WebCreateNewTopic?parent=CiteMusrFit" target="_top"><span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/newtopic.png" width="16" height="16" alt="newtopic" /></span> Create New Topic</a>
</li> <li> <a href="WebTopicList.html"> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/index.png" width="16" height="16" alt="index" /></span> Show All Topics</a>
</li> <li> <a href="WebSearch.html"> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/searchtopic.png" width="16" height="16" alt="searchtopic" /></span> Search in Topics</a>
</li> <li> <a href="WebChanges.html"> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/changes.png" width="16" height="16" alt="changes" /></span> Recent Changes</a>
</li> <li> <a href="WebNotify.html"> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/notify.png" width="16" height="16" alt="notify" /></span> Define Notifications</a>
</li></ul>
<p></p>
</div></div>
</div>
<div class="clear">&nbsp;</div>
</div></div><div id="patternTopBar">
<div id="patternTopBarContentsWrapper">
<div id="patternTopBarContents"><table border="0" cellpadding="0" cellspacing="0" style="width:100%" summary="">
<tr><td valign="middle"><span id="foswikiLogo" class="foswikiImage"><a href="WebHome.html"><img src="../pub/Main/WebPreferences/psi_logo_150.gif" border="0" alt="Paul Scherrer Institut" style="border:none; margin: -8px 0 0 15px;" /></a></span></td>
<td align="right" valign="top" class="patternMetaMenu" id="psimetanav">
<p></p> <ul>
<li> <form name="quickSearchForm" id="solrSearchForm" action="https://intranet.psi.ch/PSI/Search"><input type="hidden" name="filter" value="web:MUSR" /><input type="text" class="foswikiInputField" id="quickSearchBox" name="search" value="" size="18" /><input type="hidden" name="scope" value="all" /><!-- <input type="hidden" name="web" value="MUSR" /> --> <noscript>&nbsp;<input type="submit" size="5" class="foswikiButton" name="submit" value="Search" />&nbsp;</noscript><input type="image" class="searchsubmit" alt="Search" value="Suche..." name="sa" src="../webbase/img/search.png"> </form>
</li> <li> <form name="changeLanguage" action="https://intranet.psi.ch/wiki/bin/oops/MUSR/CiteMusrFit" method="get"> <input type="hidden" name="redirectto" value="/MUSR/CiteMusrFit?cover=print" /> <select name="language" class="foswikiSelect" onchange="document.changeLanguage.submit()"> <option value="de">Deutsch</option> <option selected="selected" value="en">English</option></select> <input type="hidden" name="template" value="oopslanguagechanged" /> <noscript> <input class="foswikiButton" type="submit" value="Change language" /> </noscript> </form>
</li></ul>
<p></p>
<p></p>
<p></p>
</td></tr></table>
</div><!--/patternTopBarContents-->
</div><!--/patternTopBarContentsWrapper-->
</div><!-- /patternTopBar--><div id="patternBottomBar"><div id="patternBottomBarContents"><div id="patternWebBottomBar">Ideas, requests, problems regarding <a href="https://intranet.psi.ch/Main/WebHome">PSI Wiki</a>? <a href="mailto&#58;psi&#46;intranet&#64;psi&#46;ch&#63;subject&#61;PSI&#32;Wiki&#37;20Feedback&#37;20on&#37;20MUSR&#46;CiteMusrFit">Send feedback</a></div></div></div>
<div class="patternInfo">This topic: MUSR<span class='foswikiSeparator'>&nbsp;&gt;&nbsp;</span><a class="foswikiCurrentWebHomeLink" href="WebHome.html">WebHome</a><span class='foswikiSeparator'>&nbsp;&gt;&nbsp;</span>CiteMusrFit <br />
Topic revision: <span class='patternRevInfo'>19 Jun 2012, suter_a</span></div>
</div>
</div>
</div>
</div></body>
<!-- Mirrored from intranet.psi.ch/MUSR/CiteMusrFit?cover=print by HTTrack Website Copier/3.x [XR&CO'2010], Thu, 18 Dec 2014 13:46:35 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=iso-8859-1"><!-- /Added by HTTrack -->
</div><div id="patternBottomBar"><div id="patternBottomBarContents"><div id="patternWebBottomBar"><span class="foswikiRight"> <a href="http://foswiki.org/"><img src="../pub/System/ProjectLogos/foswiki-badge.png" alt="This site is powered by Foswiki" title="This site is powered by Foswiki" /></a></span>Copyright &copy; by the contributing authors. All material on this collaboration platform is the property of the contributing authors. <br /> Ideas, requests, problems regarding PSI Wiki? <a href='mailto:andre.lichtsteiner@psi.ch?subject=PSI Wiki %20Feedback%20on%20MUSR.CiteMusrFit'>Send feedback</a></div></div></div>
</div>
</div>
</div>
</div></div><!-- /endWrap -->
<p></p>
<!-- Piwik -->
<noscript><p><img src="../piwik/piwikf832.gif?idsite=7" style="border:0" alt=""></p></noscript>
<!-- End Piwik Tag -->
</body>
<!-- Mirrored from intranet.psi.ch/MUSR/CiteMusrFit?cover=print by HTTrack Website Copier/3.x [XR&CO'2010], Fri, 22 Jan 2016 15:12:46 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=utf-8"><!-- /Added by HTTrack -->
</html>
<p></p>
<p></p>
<p></p>
<p></p>

View File

@ -1,35 +1,38 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en_US" lang="en_US">
<!DOCTYPE html><html lang="en">
<!-- Mirrored from intranet.psi.ch/MUSR/LibFitPofB?cover=print by HTTrack Website Copier/3.x [XR&CO'2010], Thu, 18 Dec 2014 13:46:37 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=iso-8859-1"><!-- /Added by HTTrack -->
<!-- Mirrored from intranet.psi.ch/MUSR/LibFitPofB?cover=print by HTTrack Website Copier/3.x [XR&CO'2010], Fri, 22 Jan 2016 15:12:47 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=utf-8"><!-- /Added by HTTrack -->
<head>
<link rel="stylesheet" href="../pub/System/HeadlinesPlugin/style.css" type="text/css" media="all" />
<title> MUSR :: LibFitPofB</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1.5, user-scalable=yes" />
<meta name="mobile-web-app-capable" content="yes" />
<meta name="mobile-web-app-status-bar-style" content="black-translucent" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
<link rel="icon" href="../pub/Main/WebPreferences/favicon.ico" type="image/x-icon" />
<link rel="shortcut icon" href="../pub/Main/WebPreferences/favicon.ico" type="image/x-icon" />
<link rel="alternate" href="https://intranet.psi.ch/wiki/bin/edit/MUSR/LibFitPofB?t=1418910335" type="application/x-wiki" title="edit LibFitPofB" />
<link rel="alternate" href="https://intranet.psi.ch/wiki/bin/edit/MUSR/LibFitPofB?t=1453475524" type="application/x-wiki" title="edit LibFitPofB" />
<meta name="TEXT_NUM_TOPICS" content="Number of topics:" />
<meta name="TEXT_MODIFY_SEARCH" content="Modify search" />
<meta name="robots" content="noindex" /><link rel="alternate" type="application/rss+xml" title="RSS Feed" href="WebRsshtml.html" />
<base /><!--[if IE]></base><![endif]-->
<link rel='stylesheet' href='../pub/System/ImagePlugin/style.css' media='all' />
<base /><!--[if IE]></base><![endif]--><link class='head JQUERYPLUGIN::COMMENT' rel='stylesheet' href='../pub/System/CommentPlugin/commentf5b6.css?version=3.0' type='text/css' media='all' /><!--JQUERYPLUGIN::COMMENT-->
<link class='head FOOTNOTEPLUGIN_LINKCSS' rel="stylesheet" href="../pub/System/FootNotePlugin/styles.css" type="text/css" media="all" /><!--FOOTNOTEPLUGIN_LINKCSS-->
<link class='head SMILIESPLUGIN' rel='stylesheet' href='../pub/System/SmiliesPlugin/smilies.css' type='text/css' media='all' /><!--SMILIESPLUGIN-->
<link class='head CLASSIFICATIONPLUGIN::CSS' rel="stylesheet" href="../pub/System/ClassificationPlugin/styles.css" media="all" /><!--CLASSIFICATIONPLUGIN::CSS--><link rel='stylesheet' href='../pub/System/SkinTemplates/base.css' media='all' type='text/css' />
<style type="text/css" media="all">
@import url('../pub/System/SkinTemplates/base.css');
</style>
<style type="text/css" media="all">
@import url('../pub/System/PatternSkinTheme2009/layout.css');
@import url('../pub/System/PatternSkinTheme/layout.css');
@import url('../pub/System/PatternSkinTheme2009/style.css');
@import url('../pub/System/PatternSkinTheme2009/colors.css');
</style>
<style type="text/css" media="all">
@import url('../pub/System/PatternSkinTheme2009/column_left.css');
@import url('../pub/System/PatternSkinTheme2009/variant_twiki.css');
</style><style type="text/css" media="all">
<link rel='stylesheet' href='../pub/System/PatternSkinTheme2009/column_left.css' media='all' type='text/css' />
<link rel='stylesheet' href='../pub/System/PatternSkinTheme2009/variant_twiki.css' media='all' type='text/css' /><style type="text/css" media="all">
/* Styles that are set using variables */
.patternBookView .foswikiTopRow,
.patternWebIndicator a img,
.patternWebIndicator a:hover img {
.patternWebIndicator,
.patternWebIndicator a {
background-color:#D0D0D0;
}
#patternTopBarContents { background-image:url(../pub/System/PatternSkin/header5.gif); background-repeat:repeat-x;}
@ -50,14 +53,8 @@
<style type="text/css" media="all">
@import url("../pub/System/PatternSkin/print.css");
</style>
<!--[if IE]><style type="text/css" media="screen">
pre {
height:1%;
overflow-x:auto;
}
<link rel='stylesheet' href='../pub/System/PatternSkin/print.css' media='all' type='text/css' />
<!--[if IE 7 ]><style type="text/css" media="screen">
.foswikiAttachments,
.foswikiForm,
.foswikiHelp,
@ -79,7 +76,17 @@ pre {
.foswikiFormStep {
height:100%;
}
#foswikiLogin,
#foswikiLogin {
margin-left: 25%;
margin-right: 25%;
}
#foswikiLogin .foswikiFormSteps {
width:auto;
}
#foswikiLogin input[type="text"],
#foswikiLogin input[type="password"] {
width: auto;
}
.patternShadow {
border:10px solid #fff;
margin-top:10px;
@ -87,38 +94,38 @@ pre {
border:2px solid #ccc;
}
</style><![endif]-->
<!--[if gt IE 8 ]><style type="text/css" media="screen">
#foswikiLogin,
.patternShadow {
border:10px solid #fff;
margin-top:10px;
margin-bottom:10px;
box-shadow: 0 0 10px #ccc;
}
</style><![endif]-->
<link rel="stylesheet" href="../pub/System/FootNotePlugin/styles.css" type="text/css" media="all" /><!--FOOTNOTEPLUGIN_LINKCSS-->
<!--[if lte IE 9]>
<![endif]-->
<!--[if gt IE 9]><!-->
<!--<![endif]-->
<!--JQUERYPLUGIN-->
<!--JQUERYPLUGIN::MIGRATE-->
<!--JQUERYPLUGIN::LIVEQUERY-->
<!--JQUERYPLUGIN::FOSWIKI-->
<!--JavascriptFiles/foswikiString-->
<!--JavascriptFiles/foswikiForm-->
<!--JQUERYPLUGIN::METADATA-->
<!--JQUERYPLUGIN::CHILI-->
<!--JQUERYPLUGIN::COMMENT-->
<!--JavascriptFiles/foswikiPref-->
<!--JQUERYPLUGIN::FOSWIKI::PREFERENCES-->
<!--PatternSkin/pattern--><link class='head FOOTNOTEPLUGIN_LINKCSS' rel="stylesheet" href="../pub/System/FootNotePlugin/styles.css" type="text/css" media="all" /><!--FOOTNOTEPLUGIN_LINKCSS-->
</head>
<body class="foswikiNoJs patternViewPage">
<a name="PageTop"></a><div class="foswikiPage"><div id="patternScreen">
<body class="foswikiNoJs patternViewPage patternPrintPage">
<span id="PageTop"></span><div class="foswikiPage"><div id="patternScreen">
<div id="patternPageShadow">
<div id="patternPage">
<div id="patternWrapper"><div id="patternOuter">
<div id="patternOuter" class="clear">
<div id="patternFloatWrap">
<div id="patternMain"><div id="patternClearHeaderCenter"></div>
<div id="patternMainContents"><div class="patternTop"><span class="patternHomePath foswikiLeft"></span><span class="patternToolBar foswikiRight"><span><a href='LibFitPofBc99a.html?cover=print;cover=print' rel='nofollow' title='Printable version of this topic' accesskey='p'><span class='foswikiAccessKey'>P</span>rint version</a></span><a href="https://intranet.psi.ch/MUSR/LibFitPofB?restrictions=on" id="restriction_link"><img src='../pub/System/PsiSkin/lock_open.png' class='lock' height='16' width='23' title='open in PSI - click for more information'/></a></span><div class="foswikiClear"></div></div><div class="foswikiContentHeader">
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
</div><div class="patternContent"><div class="foswikiTopic">
<a name="TopIc"></a>
<h1><a name="libFitPofB"></a> libFitPofB </h1>
<a name="foswikiTOC"></a><div class="foswikiToc"> <ul>
<div id="patternMain">
<div id="patternMainContents">
<div class="patternContent"><div class="foswikiTopic">
<span id="TopIc"></span>
<h1 id="libFitPofB"> libFitPofB </h1>
<div id="foswikiTOC" class="foswikiToc"> <ul>
<li> <a href="LibFitPofB.html#libFitPofB"> libFitPofB </a>
</li> <li> <a href="LibFitPofB.html#A_1_Introduction"> 1 Introduction </a>
</li> <li> <a href="LibFitPofB.html#A_2_LE_45SR"> 2 LE-&mu;SR </a> <ul>
@ -130,28 +137,28 @@ pre {
</li> <li> <a href="LibFitPofB.html#A_4_The_XML_startup_file"> 4 The XML startup file </a>
</li></ul>
</div>
<a name="IntroDuction"></a>
<h1><a name="A_1_Introduction"></a> 1 Introduction </h1>
<span id="IntroDuction"></span>
<h1 id="A_1_Introduction"> 1 Introduction </h1>
<p></p>
<code>libFitPofB</code> is a collection of <code>C++</code> classes using the <code><a href="MusrFit.html">musrfit</a></code> <code><a href="MusrFit.html#UserFunctions1">user-function interface</a></code> in order to facilitate the usage in conjunction with <code>musrfit</code>. The classes contained in this library generally implement calculations of one-dimensional static magnetic field distributions <img alt="P(B)" class="mmpImage" src="../pub/MUSR/LibFitPofB/_MathModePlugin_9cc0fd47eedada7247b14775bd308deb.png" title="PofB" /> which lead to muon-spin depolarization functions
<p style="text-align:center">
<img alt="\mathcal{P}(t) &#61; \int P(B)\cos\left(\gamma&#95;{\mu} B t + \varphi\right) \mathrm{d}B," class="mmpImage" src="../pub/MUSR/LibFitPofB/_MathModePlugin_70e57aa1afa7d337fa46f427b34feb54.png" title="PofT" />
</p>
where <img alt="\gamma&#95;{\mu} &#61; 2\pi\times 135.54~\mathrm{MHz/T}" class="mmpImage" src="../pub/MUSR/LibFitPofB/_MathModePlugin_9bb7e08c8e276a92650d89d6918b3769.png" title="gamma_mu" /> is the gyromagnetic ratio of the muon and <img alt="\varphi" class="mmpImage" src="../pub/MUSR/LibFitPofB/_MathModePlugin_2339fd9b358ebe241da05c665668d48b.png" title="phi" /> is the initial phase of the muon spins with respect to the positron detector.<br>
At the moment the only available implementations deal with field distributions measured in local isotropic superconductors, either by means of <a href="http://lmu.web.psi.ch/lem/" target="_top">low-energy &mu;SR</a> in the Meissner state or by conventional &mu;SR in the mixed state. In the following the basic usage of the library in <code>musrfit</code> is explained&mdash;the calculations by themselves are only outlined. For further information please refer to the original literature and/or the source code of the implementation.
At the moment the only available implementations deal with field distributions measured in local isotropic superconductors, either by means of <a href="http://lmu.web.psi.ch/lem/">low-energy &mu;SR</a> in the Meissner state or by conventional &mu;SR in the mixed state. In the following the basic usage of the library in <code>musrfit</code> is explained&mdash;the calculations by themselves are only outlined. For further information please refer to the original literature and/or the source code of the implementation.
<p></p>
<hr />
<strong><span class='foswikiBlackFG'>Remark 1:</span></strong> In order to supply certain information needed for the calculations but not suited to be stored in the <code>musrfit</code> msr files an XML configuration file in the working directory is used. For details, see <a href="#XmlFile" class="foswikiCurrentTopicLink">below</a>.
<p></p>
<strong><span class='foswikiBlackFG'>Remark 2:</span></strong> The implementations in this library heavily rely on <code><a href="http://www.fftw.org/" target="_top">FFTW3</a></code>. In principle, it always checks what is the best way to do efficient Fourier transforms for a given machine before the transforms are actually done. If repeatedly Fourier transforms of the same (sizable) length should be done, it might be worth storing the once obtained information in an external file and just load it the next time this information is needed (<a href="http://fftw.org/fftw3_doc/Wisdom.html" target="_top">"wisdom handling"</a>). In case this feature shall be used, a valid wisdom file has to be specified in the <a href="#XmlFile" class="foswikiCurrentTopicLink">XML file</a>.
<strong><span class='foswikiBlackFG'>Remark 2:</span></strong> The implementations in this library heavily rely on <code><a href="http://www.fftw.org/">FFTW3</a></code>. In principle, it always checks what is the best way to do efficient Fourier transforms for a given machine before the transforms are actually done. If repeatedly Fourier transforms of the same (sizable) length should be done, it might be worth storing the once obtained information in an external file and just load it the next time this information is needed (<a href="http://fftw.org/fftw3_doc/Wisdom.html">"wisdom handling"</a>). In case this feature shall be used, a valid wisdom file has to be specified in the <a class="foswikiCurrentTopicLink" href="#XmlFile">XML file</a>.
<p></p>
<strong><span class='foswikiBlackFG'>Remark 3:</span></strong> The model functions described in the following do generally not behave nicely in conjunction with <code>MINUIT</code> function minimizations (or maximizations). The analysis process at the moment in most cases involves some tedious <em>trial-and-error</em> procedure, where the displayed <code>MINUIT</code> information as always deserves attention. This is especially true if small effects should be analyzed (e.g. small diamagnetic shifts in superconductors). The parameter uncertainty in many cases has to be estimated independently. Due to these limitations, also the use of the fit option of <code><a href="Msr2Data.html">msr2data</a></code> cannot be advised.
<p></p>
<strong><span class='foswikiBlackFG'>Remark 4:</span></strong> If these classes still prove useful and results obtained through them are part of scientific publications,
an acknowledgement of the use of the library is appreciated.
<p></p>
<h1><a name="A_2_LE_45SR"></a> 2 LE-&mu;SR </h1>
<h2><a name="A_2.1_One_45dimensional_London_model_for_the_Meissner_state_of_isotropic_superconductors"></a> 2.1 One-dimensional London model for the Meissner state of isotropic superconductors </h2>
<h1 id="A_2_LE_45SR"> 2 LE-&mu;SR </h1>
<h2 id="A_2.1_One_45dimensional_London_model_for_the_Meissner_state_of_isotropic_superconductors"> 2.1 One-dimensional London model for the Meissner state of isotropic superconductors </h2>
<p></p>
The models for analyzing LE-&mu;SR data assume the magnetic induction <img alt="B(z)" class="mmpImage" src="../pub/MUSR/LibFitPofB/_MathModePlugin_532f98969690650ac4d127919a0eda38.png" title="BofZ" /> to vary only in the dimension parallel to the momentum of the incident muons. In such a case the magnetic field distribution is given by
<p style="text-align:center">
@ -163,7 +170,7 @@ Assuming an array of <img alt="N" class="mmpImage" src="../pub/MUSR/LibFitPofB/_
<p style="text-align:center">
<img alt="\frac{\partial^2}{\partial z^2}B&#95;i(z) &#61; \frac{1}{\lambda&#95;i^2}B&#95;i(z)" class="mmpImage" src="../pub/MUSR/LibFitPofB/_MathModePlugin_dfd02951094e1cb98f48e3f6d4562f38.png" title="London-eq" />
</p>
for each layer <img alt="i" class="mmpImage" src="../pub/MUSR/LibFitPofB/_MathModePlugin_c465118a8d86d5f25bba37cc1dcb38a0.png" title="i" /> taking into account the boundary conditions<a name="FootNote1text"></a><span class='FootNoteTextLink' title='F. London, Superfluids: Macroscopic Theory of Superconductivity, Dover (1961), p. 34'><a href="#FootNote1note" class="foswikiCurrentTopicLink">(1)</a></span>
for each layer <img alt="i" class="mmpImage" src="../pub/MUSR/LibFitPofB/_MathModePlugin_c465118a8d86d5f25bba37cc1dcb38a0.png" title="i" /> taking into account the boundary conditions<a name="FootNote1text"></a><span class="FootNoteTextLink" title="F&#46; London&#44; Superfluids&#58; Macroscopic Theory of Superconductivity&#44; Dover &#40;1961&#41;&#44; p&#46; 34"><a class="foswikiCurrentTopicLink" href="#FootNote1note">(1)</a></span>
<p style="text-align:center">
<img alt="B&#95;1(0) &#61; B&#95;N(d) &#61; \mu&#95;0H" class="mmpImage" src="../pub/MUSR/LibFitPofB/_MathModePlugin_432d7664e0756ded77e7423dd256c122.png" title="cond1" />
</p>
@ -182,19 +189,19 @@ userFcn libFitPofB TLondon1DHS 1 2 3 4 5
</dd></dl>
The parameters are: <ol>
<li> phase (deg)
</li> <li> muon implantation energy as specified in the <a href="#XmlFile" class="foswikiCurrentTopicLink">XML startup file</a> (keV)
</li> <li> muon implantation energy as specified in the <a class="foswikiCurrentTopicLink" href="#XmlFile">XML startup file</a> (keV)
</li> <li> applied field (G)
</li> <li> thickness of the dead layer (nm)
</li> <li> magnetic field penetration depth (nm)
</li></ol>
<p></p> <dl>
<dt> Superconducting thin film (one layer) </dt><dd> <pre>
userFcn libFitPofB TLondon1D1L 1 2 3 4 5 6 &#91;a b]
userFcn libFitPofB TLondon1D1L 1 2 3 4 5 6 &#91;a b&#93;
</pre>
</dd></dl>
The mandatory parameters are: <ol>
<li> phase (deg)
</li> <li> muon implantation energy as specified in the <a href="#XmlFile" class="foswikiCurrentTopicLink">XML startup file</a> (keV)
</li> <li> muon implantation energy as specified in the <a class="foswikiCurrentTopicLink" href="#XmlFile">XML startup file</a> (keV)
</li> <li> applied field (G)
</li> <li> thickness of the dead layer (nm)
</li> <li> thickness of the actually superconducting layer (nm)
@ -202,17 +209,17 @@ The mandatory parameters are: <ol>
</li></ol>
<p></p>
The optional parameters are: <ol>
<li type="a"> fraction <i>f</i><sub>1</sub> of muons in the thin film contributing to the signal (0 &le; <i>f</i><sub>1</sub> &le; 1)
</li> <li type="a"> fraction <i>f</i><sub>s</sub> of muons in the substrate contributing to the signal (0 &le; <i>f</i><sub>s</sub> &le; 1)
<li style="list-style-type:lower-alpha"> fraction <i>f</i><sub>1</sub> of muons in the thin film contributing to the signal (0 &le; <i>f</i><sub>1</sub> &le; 1)
</li> <li style="list-style-type:lower-alpha"> fraction <i>f</i><sub>s</sub> of muons in the substrate contributing to the signal (0 &le; <i>f</i><sub>s</sub> &le; 1)
</li></ol>
<p></p> <dl>
<dt> Superconducting thin-film bilayer heterostructure </dt><dd> <pre>
userFcn libFitPofB TLondon1D2L 1 2 3 4 5 6 7 8 &#91;a b c]
userFcn libFitPofB TLondon1D2L 1 2 3 4 5 6 7 8 &#91;a b c&#93;
</pre>
</dd></dl>
The mandatory parameters are: <ol>
<li> phase (deg)
</li> <li> muon implantation energy as specified in the <a href="#XmlFile" class="foswikiCurrentTopicLink">XML startup file</a> (keV)
</li> <li> muon implantation energy as specified in the <a class="foswikiCurrentTopicLink" href="#XmlFile">XML startup file</a> (keV)
</li> <li> applied field (G)
</li> <li> thickness of the dead layer (nm)
</li> <li> thickness of the actually superconducting first layer (nm)
@ -222,18 +229,18 @@ The mandatory parameters are: <ol>
</li></ol>
<p></p>
The optional parameters are: <ol>
<li type="a"> fraction <i>f</i><sub>1</sub> of muons in the dead and first layer contributing to the signal (0 &le; <i>f</i><sub>1</sub> &le; 1)
</li> <li type="a"> fraction <i>f</i><sub>2</sub> of muons in the second layer contributing to the signal (0 &le; <i>f</i><sub>2</sub> &le; 1)
</li> <li type="a"> fraction <i>f</i><sub>s</sub> of muons in the substrate contributing to the signal (0 &le; <i>f</i><sub>s</sub> &le; 1)
<li style="list-style-type:lower-alpha"> fraction <i>f</i><sub>1</sub> of muons in the dead and first layer contributing to the signal (0 &le; <i>f</i><sub>1</sub> &le; 1)
</li> <li style="list-style-type:lower-alpha"> fraction <i>f</i><sub>2</sub> of muons in the second layer contributing to the signal (0 &le; <i>f</i><sub>2</sub> &le; 1)
</li> <li style="list-style-type:lower-alpha"> fraction <i>f</i><sub>s</sub> of muons in the substrate contributing to the signal (0 &le; <i>f</i><sub>s</sub> &le; 1)
</li></ol>
<p></p> <dl>
<dt> Superconducting thin-film trilayer heterostructure </dt><dd> <pre>
userFcn libFitPofB TLondon1D3L 1 2 3 4 5 6 7 8 9 10 &#91;a b c d]
userFcn libFitPofB TLondon1D3L 1 2 3 4 5 6 7 8 9 10 &#91;a b c d&#93;
</pre>
</dd></dl>
The mandatory parameters are: <ol>
<li> phase (deg)
</li> <li> muon implantation energy as specified in the <a href="#XmlFile" class="foswikiCurrentTopicLink">XML startup file</a> (keV)
</li> <li> muon implantation energy as specified in the <a class="foswikiCurrentTopicLink" href="#XmlFile">XML startup file</a> (keV)
</li> <li> applied field (G)
</li> <li> thickness of the dead layer (nm)
</li> <li> thickness of the actually superconducting first layer (nm)
@ -245,39 +252,39 @@ The mandatory parameters are: <ol>
</li></ol>
<p></p>
The optional parameters are: <ol>
<li type="a"> fraction <i>f</i><sub>1</sub> of muons in the dead and first layer contributing to the signal (0 &le; <i>f</i><sub>1</sub> &le; 1)
</li> <li type="a"> fraction <i>f</i><sub>2</sub> of muons in the second layer contributing to the signal (0 &le; <i>f</i><sub>2</sub> &le; 1)
</li> <li type="a"> fraction <i>f</i><sub>3</sub> of muons in the third layer contributing to the signal (0 &le; <i>f</i><sub>3</sub> &le; 1)
</li> <li type="a"> fraction <i>f</i><sub>s</sub> of muons in the substrate contributing to the signal (0 &le; <i>f</i><sub>s</sub> &le; 1)
<li style="list-style-type:lower-alpha"> fraction <i>f</i><sub>1</sub> of muons in the dead and first layer contributing to the signal (0 &le; <i>f</i><sub>1</sub> &le; 1)
</li> <li style="list-style-type:lower-alpha"> fraction <i>f</i><sub>2</sub> of muons in the second layer contributing to the signal (0 &le; <i>f</i><sub>2</sub> &le; 1)
</li> <li style="list-style-type:lower-alpha"> fraction <i>f</i><sub>3</sub> of muons in the third layer contributing to the signal (0 &le; <i>f</i><sub>3</sub> &le; 1)
</li> <li style="list-style-type:lower-alpha"> fraction <i>f</i><sub>s</sub> of muons in the substrate contributing to the signal (0 &le; <i>f</i><sub>s</sub> &le; 1)
</li></ol>
<p></p>
<p></p>
<p></p>
Notes
<p></p>
<a name="FootNote1note"></a><span class="FootNoteLabel"><a href="#FootNote1text" class="foswikiCurrentTopicLink"> <strong>1</strong> </a></span>: <span class="FootNote">F. London, Superfluids: Macroscopic Theory of Superconductivity, Dover (1961), p. 34</span>
<a name="FootNote1note"></a><span class="FootNoteLabel"><a class="foswikiCurrentWebHomeLink" href="LibFitPofB.html#FootNote1text"> <strong>1</strong> </a></span>: <span class="FootNote">F. London, Superfluids: Macroscopic Theory of Superconductivity, Dover (1961), p. 34</span>
<p></p>
<p></p>
<p></p>
<hr />
<p></p>
<h1><a name="A_3_Conventional_40bulk_41_SR"></a> 3 Conventional (bulk) &mu;SR </h1>
<h2><a name="A_3.1_Field_distributions_in_the_mixed_state_of_isotropic_superconductors"></a> 3.1 Field distributions in the mixed state of isotropic superconductors </h2>
<h1 id="A_3_Conventional_40bulk_41_SR"> 3 Conventional (bulk) &mu;SR </h1>
<h2 id="A_3.1_Field_distributions_in_the_mixed_state_of_isotropic_superconductors"> 3.1 Field distributions in the mixed state of isotropic superconductors </h2>
<p></p>
When investigating superconductors in the mixed state by means of conventional &mu;SR a two-dimensional flux-line lattice is probed randomly by the muons. The spatial field distributions within such an ordered lattice are modeled using the Fourier series
<p style="text-align:center">
<img alt="B(\mathbf{r}) &#61; \langle B \rangle \sum\limits&#95;{\mathbf{K}}B&#95;{\mathbf{K}}\exp(-\imath\mathbf{K}\mathbf{r})," class="mmpImage" src="../pub/MUSR/LibFitPofB/_MathModePlugin_c25933e91d56089992506f463d71de8f.png" title="spatialB" />
</p>
where <img alt="\mathbf{r}&#61;(x,y)" class="mmpImage" src="../pub/MUSR/LibFitPofB/_MathModePlugin_e47f33589d28eaa3f9baccb7a80fdbaa.png" title="r" />, <img alt="\mathbf{K}" class="mmpImage" src="../pub/MUSR/LibFitPofB/_MathModePlugin_e6688a12ee4e821abc31b4c1dd511539.png" title="K" /> are the reciprocal lattice vectors of a two-dimensional vortex lattice and the <img alt="B&#95;{\mathbf{K}}" class="mmpImage" src="../pub/MUSR/LibFitPofB/_MathModePlugin_8fa3ac8f18b7bc49eb89163d6528684c.png" title="Bk" /> are the Fourier coefficients depending on the magnetic penetration depth <img alt="\lambda" class="mmpImage" src="../pub/MUSR/LibFitPofB/_MathModePlugin_28f3ed750a4819b4256c2f9be649f594.png" title="lambda" /> and the superconducting coherence length <img alt="\xi" class="mmpImage" src="../pub/MUSR/LibFitPofB/_MathModePlugin_e8414d477977d226317c020980b7d34f.png" title="xi" />. The <img alt="B&#95;{\mathbf{K}}" class="mmpImage" src="../pub/MUSR/LibFitPofB/_MathModePlugin_8fa3ac8f18b7bc49eb89163d6528684c.png" title="Bk" /> for some specific models are as follows: <dl>
<dt> London model with Gaussian cutoff<a name="FootNote2text"></a><span class='FootNoteTextLink' title='E.H. Brandt, <a href="http://dx.doi.org/10.1007/BF00683568" target="_top">J. Low Temp. Phys. <strong>73</strong>, 355 (1988)</a>.'><a href="#FootNote2note" class="foswikiCurrentTopicLink">(2)</a></span> </dt><dd> <p style="text-align:center"><img alt="B&#95;{\mathbf{K}} &#61; \frac{\exp\left({-K^2\xi^2/2}\right)}{1 + K^2\lambda^2}" class="mmpImage" src="../pub/MUSR/LibFitPofB/_MathModePlugin_469d5d1b83125e4915e2f073d8150b12.png" title="BkLondon" /></p>
</dd> <dt> Modified London model<a name="FootNote3text"></a><span class='FootNoteTextLink' title='T.M. Riseman <em>et al.</em>, <a href="http://dx.doi.org/10.1103/PhysRevB.52.10569" target="_top">Phys. Rev. B <strong>52</strong>, 10569 (1995)</a>.'><a href="#FootNote3note" class="foswikiCurrentTopicLink">(3)</a></span> </dt><dd> <p style="text-align:center"><img alt="B&#95;{\mathbf{K}} &#61; \frac{\exp\left({-K^2\xi^2/2(1-b)}\right)}{1 + K^2\lambda^2/(1-b)}," class="mmpImage" src="../pub/MUSR/LibFitPofB/_MathModePlugin_b6719fad8e30208538b34bc94040b7a5.png" title="BkML" /></p> where <img alt="b &#61; \langle B \rangle/\mu&#95;0H&#95;{\mathrm{c}2}." class="mmpImage" src="../pub/MUSR/LibFitPofB/_MathModePlugin_039b3b38df7c6f284089c14f1efdf643.png" title="b" />
</dd> <dt> Analytical Ginzburg-Landau model<a name="FootNote4text"></a><span class='FootNoteTextLink' title='A. Yaouanc, P. Dalmas de R&eacute;otier and E.H. Brandt, <a href="http://dx.doi.org/10.1103/PhysRevB.55.11107" target="_top">Phys. Rev. B <strong>55</strong>, 11107 (1997)</a>.'><a href="#FootNote4note" class="foswikiCurrentTopicLink">(4)</a></span> </dt><dd> <p style="text-align:center"><img alt="B&#95;{\mathbf{K}} &#61; \frac{f&#95;{\infty}K&#95;1\left(\frac{\xi&#95;v}{\lambda}\sqrt{f&#95;{\infty}^2+\lambda^2K^2}\right)}{K&#95;1\left(\frac{\xi&#95;v}{\lambda}f&#95;{\infty}\right)\sqrt{f&#95;{\infty}^2+\lambda^2K^2}}," class="mmpImage" src="../pub/MUSR/LibFitPofB/_MathModePlugin_3146cb17887e3a20cc2078f103605af5.png" title="BkAGL" /></p> where <img alt="f&#95;{\infty} &#61; 1 - b^4,~\xi&#95;v &#61; \xi\left(\sqrt{2}-{3\xi}/\left({4\lambda}\right)\right)\sqrt{(1+b^4)(1-2b(1-b)^2)}" class="mmpImage" src="../pub/MUSR/LibFitPofB/_MathModePlugin_e0b0e98f9a3974249b42b6910523c8a4.png" title="f_inf_and_xi_v" /> and <img alt="K&#95;1" class="mmpImage" src="../pub/MUSR/LibFitPofB/_MathModePlugin_3cee3cc69dbe918398ec39a72a465014.png" title="K1" /> is a modified Bessel function.
<dt> London model with Gaussian cutoff<a name="FootNote2text"></a><span class="FootNoteTextLink" title="E&#46;H&#46; Brandt&#44; &#91;&#91;http&#58;&#47;&#47;dx&#46;doi&#46;org&#47;10&#46;1007&#47;BF00683568&#93;&#91;J&#46; Low Temp&#46; Phys&#46; &#42;73&#42;&#44; 355 &#40;1988&#41;&#93;&#93;&#46;"><a class="foswikiCurrentTopicLink" href="#FootNote2note">(2)</a></span> </dt><dd> <p style="text-align:center"><img alt="B&#95;{\mathbf{K}} &#61; \frac{\exp\left({-K^2\xi^2/2}\right)}{1 + K^2\lambda^2}" class="mmpImage" src="../pub/MUSR/LibFitPofB/_MathModePlugin_469d5d1b83125e4915e2f073d8150b12.png" title="BkLondon" /></p>
</dd> <dt> Modified London model<a name="FootNote3text"></a><span class="FootNoteTextLink" title="T&#46;M&#46; Riseman _et al&#46;_&#44; &#91;&#91;http&#58;&#47;&#47;dx&#46;doi&#46;org&#47;10&#46;1103&#47;PhysRevB&#46;52&#46;10569&#93;&#91;Phys&#46; Rev&#46; B &#42;52&#42;&#44; 10569 &#40;1995&#41;&#93;&#93;&#46;"><a href="#FootNote3note" class="foswikiCurrentTopicLink">(3)</a></span> </dt><dd> <p style="text-align:center"><img alt="B&#95;{\mathbf{K}} &#61; \frac{\exp\left({-K^2\xi^2/2(1-b)}\right)}{1 + K^2\lambda^2/(1-b)}," class="mmpImage" src="../pub/MUSR/LibFitPofB/_MathModePlugin_b6719fad8e30208538b34bc94040b7a5.png" title="BkML" /></p> where <img alt="b &#61; \langle B \rangle/\mu&#95;0H&#95;{\mathrm{c}2}." class="mmpImage" src="../pub/MUSR/LibFitPofB/_MathModePlugin_039b3b38df7c6f284089c14f1efdf643.png" title="b" />
</dd> <dt> Analytical Ginzburg-Landau model<a name="FootNote4text"></a><span class="FootNoteTextLink" title="A&#46; Yaouanc&#44; P&#46; Dalmas de R&#38;eacute&#59;otier and E&#46;H&#46; Brandt&#44; &#91;&#91;http&#58;&#47;&#47;dx&#46;doi&#46;org&#47;10&#46;1103&#47;PhysRevB&#46;55&#46;11107&#93;&#91;Phys&#46; Rev&#46; B &#42;55&#42;&#44; 11107 &#40;1997&#41;&#93;&#93;&#46;"><a href="#FootNote4note" class="foswikiCurrentTopicLink">(4)</a></span> </dt><dd> <p style="text-align:center"><img alt="B&#95;{\mathbf{K}} &#61; \frac{f&#95;{\infty}K&#95;1\left(\frac{\xi&#95;v}{\lambda}\sqrt{f&#95;{\infty}^2+\lambda^2K^2}\right)}{K&#95;1\left(\frac{\xi&#95;v}{\lambda}f&#95;{\infty}\right)\sqrt{f&#95;{\infty}^2+\lambda^2K^2}}," class="mmpImage" src="../pub/MUSR/LibFitPofB/_MathModePlugin_3146cb17887e3a20cc2078f103605af5.png" title="BkAGL" /></p> where <img alt="f&#95;{\infty} &#61; 1 - b^4,~\xi&#95;v &#61; \xi\left(\sqrt{2}-{3\xi}/\left({4\lambda}\right)\right)\sqrt{(1+b^4)(1-2b(1-b)^2)}" class="mmpImage" src="../pub/MUSR/LibFitPofB/_MathModePlugin_e0b0e98f9a3974249b42b6910523c8a4.png" title="f_inf_and_xi_v" /> and <img alt="K&#95;1" class="mmpImage" src="../pub/MUSR/LibFitPofB/_MathModePlugin_3cee3cc69dbe918398ec39a72a465014.png" title="K1" /> is a modified Bessel function.
</dd></dl>
Apart from the mentioned analytical models the <strong>numerical Ginzburg-Landau model</strong> <a name="FootNote5text"></a><span class='FootNoteTextLink' title='E.H. Brandt, <a href="http://dx.doi.org/10.1103/PhysRevB.68.054506" target="_top">Phys. Rev. B <strong>68</strong>, 054506 (2003)</a>.'><a href="#FootNote5note" class="foswikiCurrentTopicLink">(5)</a></span> is available. In this case <img alt="B(\mathbf{r})" class="mmpImage" src="../pub/MUSR/LibFitPofB/_MathModePlugin_373e9bf1fc97e2c6aacf93bcc090402c.png" title="BofR" /> is obtained by an iterative minimization of the free energy of the vortex lattice.
Apart from the mentioned analytical models the <strong>numerical Ginzburg-Landau model</strong> <a name="FootNote5text"></a><span class="FootNoteTextLink" title="E&#46;H&#46; Brandt&#44; &#91;&#91;http&#58;&#47;&#47;dx&#46;doi&#46;org&#47;10&#46;1103&#47;PhysRevB&#46;68&#46;054506&#93;&#91;Phys&#46; Rev&#46; B &#42;68&#42;&#44; 054506 &#40;2003&#41;&#93;&#93;&#46;"><a class="foswikiCurrentTopicLink" href="#FootNote5note">(5)</a></span> is available. In this case <img alt="B(\mathbf{r})" class="mmpImage" src="../pub/MUSR/LibFitPofB/_MathModePlugin_373e9bf1fc97e2c6aacf93bcc090402c.png" title="BofR" /> is obtained by an iterative minimization of the free energy of the vortex lattice.
<p></p>
<span class='foswikiRedFG'>Concerning the applicability (e.g. field regions) of each of the mentioned models please refer to the original publications!</span>
<p></p>
At the moment, the calculation of the field distribution has been implemented for triangular flux-line lattices. The number of grid lines in which the inter-vortex distance is divided for the calculations to be specified through the <a href="#XmlFile" class="foswikiCurrentTopicLink">XML file</a>.<br>The muon-spin depolarization functions finally are calculated using the following lines in the THEORY block of a <code>musrfit</code> msr file: <dl>
At the moment, the calculation of the field distribution has been implemented for triangular flux-line lattices. The number of grid lines in which the inter-vortex distance is divided for the calculations to be specified through the <a class="foswikiCurrentTopicLink" href="#XmlFile">XML file</a>.<br>The muon-spin depolarization functions finally are calculated using the following lines in the THEORY block of a <code>musrfit</code> msr file: <dl>
<dt> 2D triangular vortex lattice, London model with Gaussian cutoff </dt><dd> <pre>
userFcn libFitPofB TBulkTriVortexLondon 1 2 3 4
</pre>
@ -336,23 +343,23 @@ SAVE
<p></p>
Notes
<p></p>
<a name="FootNote2note"></a><span class="FootNoteLabel"><a href="#FootNote2text" class="foswikiCurrentTopicLink"> <strong>2</strong> </a></span>: <span class="FootNote">E.H. Brandt, <a href="http://dx.doi.org/10.1007/BF00683568" target="_top">J. Low Temp. Phys. <strong>73</strong>, 355 (1988)</a>.</span>
<a name="FootNote2note"></a><span class="FootNoteLabel"><a class="foswikiCurrentWebHomeLink" href="LibFitPofB.html#FootNote2text"> <strong>2</strong> </a></span>: <span class="FootNote">E.H. Brandt, <a href="http://dx.doi.org/10.1007/BF00683568">J. Low Temp. Phys. <strong>73</strong>, 355 (1988)</a>.</span>
<p></p>
<a name="FootNote3note"></a><span class="FootNoteLabel"><a href="#FootNote3text" class="foswikiCurrentTopicLink"> <strong>3</strong> </a></span>: <span class="FootNote">T.M. Riseman <em>et al.</em>, <a href="http://dx.doi.org/10.1103/PhysRevB.52.10569" target="_top">Phys. Rev. B <strong>52</strong>, 10569 (1995)</a>.</span>
<a name="FootNote3note"></a><span class="FootNoteLabel"><a class="foswikiCurrentWebHomeLink" href="LibFitPofB.html#FootNote3text"> <strong>3</strong> </a></span>: <span class="FootNote">T.M. Riseman <em>et al.</em>, <a href="http://dx.doi.org/10.1103/PhysRevB.52.10569">Phys. Rev. B <strong>52</strong>, 10569 (1995)</a>.</span>
<p></p>
<a name="FootNote4note"></a><span class="FootNoteLabel"><a href="#FootNote4text" class="foswikiCurrentTopicLink"> <strong>4</strong> </a></span>: <span class="FootNote">A. Yaouanc, P. Dalmas de R&eacute;otier and E.H. Brandt, <a href="http://dx.doi.org/10.1103/PhysRevB.55.11107" target="_top">Phys. Rev. B <strong>55</strong>, 11107 (1997)</a>.</span>
<a name="FootNote4note"></a><span class="FootNoteLabel"><a class="foswikiCurrentWebHomeLink" href="LibFitPofB.html#FootNote4text"> <strong>4</strong> </a></span>: <span class="FootNote">A. Yaouanc, P. Dalmas de R&eacute;otier and E.H. Brandt, <a href="http://dx.doi.org/10.1103/PhysRevB.55.11107">Phys. Rev. B <strong>55</strong>, 11107 (1997)</a>.</span>
<p></p>
<a name="FootNote5note"></a><span class="FootNoteLabel"><a href="#FootNote5text" class="foswikiCurrentTopicLink"> <strong>5</strong> </a></span>: <span class="FootNote">E.H. Brandt, <a href="http://dx.doi.org/10.1103/PhysRevB.68.054506" target="_top">Phys. Rev. B <strong>68</strong>, 054506 (2003)</a>.</span>
<a name="FootNote5note"></a><span class="FootNoteLabel"><a class="foswikiCurrentWebHomeLink" href="LibFitPofB.html#FootNote5text"> <strong>5</strong> </a></span>: <span class="FootNote">E.H. Brandt, <a href="http://dx.doi.org/10.1103/PhysRevB.68.054506">Phys. Rev. B <strong>68</strong>, 054506 (2003)</a>.</span>
<p></p>
<p></p>
<p></p>
<hr />
<p></p>
<a name="XmlFile"></a>
<h1><a name="A_4_The_XML_startup_file"></a> 4 The XML startup file </h1>
<span id="XmlFile"></span>
<h1 id="A_4_The_XML_startup_file"> 4 The XML startup file </h1>
<code><b>BMW_startup.xml</b></code> is a configuration file located in the working directory. In this file some settings like the time and field resolution of the calculations as well as the present muon implantation profiles for a LE-&mu;SR analysis have to be defined. The following XML tags are allowed to define settings: <dl>
<dt> &lt;debug&gt;ONE_OR_ZERO&lt;/debug&gt; </dt><dd> activate the debugging output of the settings read from the XML file by setting <strong>1</strong>, deactivate it with <strong>0</strong>
</dd> <dt> &lt;wisdom&gt;PATH_TO_FILE&lt;/wisdom&gt; </dt><dd> specify the <strong>PATH_TO_FILE</strong> to an <a href="http://fftw.org/fftw3_doc/Wisdom.html#Wisdom" target="_top">FFTW3 wisdom file</a> that should be used; if the <strong>PATH_TO_FILE</strong> is invalid, no FFTW3 wisdom will be used
</dd> <dt> &lt;wisdom&gt;PATH_TO_FILE&lt;/wisdom&gt; </dt><dd> specify the <strong>PATH_TO_FILE</strong> to an <a href="http://fftw.org/fftw3_doc/Wisdom.html#Wisdom">FFTW3 wisdom file</a> that should be used; if the <strong>PATH_TO_FILE</strong> is invalid, no FFTW3 wisdom will be used
</dd> <dt> &lt;delta_t&gt;ResT&lt;/delta_t&gt; </dt><dd> set the time resolution <strong>ResT</strong> for the calculated depolarization function in <strong>microseconds</strong>
</dd> <dt> &lt;delta_B&gt;ResB&lt;/delta_B&gt; </dt><dd> set the field resolution <strong>ResB</strong> for the calculated field distribution in <strong>Gauss</strong>
</dd> <dt> &lt;VortexLattice&gt;&lt;/VortexLattice&gt; </dt><dd> set the parameters used for the calculation of the spatial field distribution of a vortex lattice <dl>
@ -398,83 +405,29 @@ An example XML file looks as follows:
&#60;/BMW&#62;
</pre>
<p></p>
-- <a href="http://www.fsf.org/register_form?referrer=8369" target="_top">BMW</a> &amp; <a href="http://lmu.web.psi.ch/lem/group.html" target="_top">AS</a> </div>
<div class="foswikiContentFooter"></div><!-- -->
<!-- -->
<!-- -->
<!-- -->
<span class='foswikiClear'></span>
<div class="foswikiMetaData foswikiHideOnPrint foswikiMetaDataNotAllowed">
<div class="jqTabPane jqTabPanePlain {select:'1', autoMaxExpand:false, animate:true, minHeight:230}">
<!-- -->
<!-- -->
<!-- --><!-- -->
<!-- -->
<!-- --><!-- -->
<!-- --><!-- -->
<!-- -->
</div><!-- //ENDTABPANE -->
</div>
<!-- -->
<!-- -->
<div class="foswikiFormSteps">
<a name="topic-actions"></a>
<div class="patternTopicActions foswikiFormStep">
<span class="patternActionButtons"><span><a href='https://intranet.psi.ch/wiki/bin/edit/MUSR/LibFitPofB?t=1418910335' rel='nofollow' title='Edit this topic text' accesskey='e'><span class='foswikiAccessKey'>E</span>dit</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span class="foswikiRequiresChangePermission"><a href='https://intranet.psi.ch/wiki/bin/attach/MUSR/LibFitPofB' rel='nofollow' title='Attach an image or document to this topic' accesskey='a'><span class='foswikiAccessKey'>A</span>ttach</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span><a href='LibFitPofBc99a.html?cover=print;cover=print' rel='nofollow' title='Printable version of this topic' accesskey='p'><span class='foswikiAccessKey'>P</span>rint version</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span><a href='https://intranet.psi.ch/print/php/pdf.php?url=MUSR/LibFitPofB?cover=print' title='PDF version of this topic'>PDF</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span><span class="foswikiRequiresChangePermission"><a href='https://intranet.psi.ch/wiki/bin/oops/MUSR/LibFitPofB?template=oopshistory' rel='nofollow' title='View total topic history' accesskey='h'><span class='foswikiAccessKey'>H</span>istory</a></span>: r16&nbsp;<a rel="nofollow" href="https://intranet.psi.ch/wiki/bin/compare/MUSR/LibFitPofB?rev1=15;rev2=16">&lt;</a>&nbsp;<a rel="nofollow" href="https://intranet.psi.ch/MUSR/LibFitPofB?rev=15">r15</a>&nbsp;<a rel="nofollow" href="https://intranet.psi.ch/wiki/bin/compare/MUSR/LibFitPofB?rev1=14;rev2=15">&lt;</a>&nbsp;<a rel="nofollow" href="https://intranet.psi.ch/MUSR/LibFitPofB?rev=14">r14</a>&nbsp;<a rel="nofollow" href="https://intranet.psi.ch/wiki/bin/compare/MUSR/LibFitPofB?rev1=13;rev2=14">&lt;</a>&nbsp;<a rel="nofollow" href="https://intranet.psi.ch/MUSR/LibFitPofB?rev=13">r13</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span><a href='https://intranet.psi.ch/MUSR/LibFitPofB?template=backlinksweb' rel='nofollow' title='Search the MUSR Web for topics that link to here' accesskey='b'><span class='foswikiAccessKey'>B</span>acklinks</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span><a href='https://intranet.psi.ch/MUSR/LibFitPofB?raw=on' rel='nofollow' title='View without formatting' accesskey='v'><span class='foswikiAccessKey'>V</span>iew wiki text</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span><a href='https://intranet.psi.ch/MUSR/LibFitPofB?refresh=on' title='Refresh images and LaTeX charts'>Refresh</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span><a href='https://intranet.psi.ch/MUSR/LibFitPofB?template=more&amp;maxrev=16&amp;currrev=16' rel='nofollow' title='Delete or rename this topic; set parent topic; view and compare revisions' accesskey='m'><span class='foswikiAccessKey'>M</span>ore topic actions</a></span></span>
</div>
</div></div><div class="patternInfo"><span class="patternRevInfo">Topic revision: r16 - 10 Jul 2011, wojek</span></div>
</div>
</div><div id="patternSideBar"><div id="patternClearHeaderLeft"></div>
<div id="patternSideBarContents">
<div class="patternLeftBarPersonal">
<ul><li class="patternLogIn"><a href="https://intranet.psi.ch/wiki/bin/logon/MUSR/LibFitPofB">Log In</a> or <a href="https://intranet.psi.ch/System/UserRegistration">Register</a></li></ul>
</div>
-- <a href="http://www.fsf.org/register_form?referrer=8369">BMW</a> &amp; <a href="http://www.psi.ch/low-energy-muons/people">AS</a></div>
<p></p>
<p></p>
<b>PSI Webs</b> <ul>
<li> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/psi.png" width="16" height="16" alt="psi" /></span> <a href="https://intranet.psi.ch/Main/WebHome">Main</a>
</li> <li> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/psi.png" width="16" height="16" alt="psi" /></span> <a href="https://intranet.psi.ch/Main/WebList">weitere Webs</a>
</li></ul>
<hr />
<b>System Webs</b> <ul>
<li> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/foswiki.png" width="16" height="16" alt="foswiki" /></span> <a href="https://intranet.psi.ch/Sandbox/WebHome">Sandbox</a>
</li> <li> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/foswiki.png" width="16" height="16" alt="foswiki" /></span> <a href="https://intranet.psi.ch/System/WebHome">Documentation</a>
</li></ul>
<hr /> <ul>
<li> <a href="https://intranet.psi.ch/MUSR/WebCreateNewTopic?parent=LibFitPofB" target="_top"><span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/newtopic.png" width="16" height="16" alt="newtopic" /></span> Create New Topic</a>
</li> <li> <a href="WebTopicList.html"> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/index.png" width="16" height="16" alt="index" /></span> Show All Topics</a>
</li> <li> <a href="WebSearch.html"> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/searchtopic.png" width="16" height="16" alt="searchtopic" /></span> Search in Topics</a>
</li> <li> <a href="WebChanges.html"> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/changes.png" width="16" height="16" alt="changes" /></span> Recent Changes</a>
</li> <li> <a href="WebNotify.html"> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/notify.png" width="16" height="16" alt="notify" /></span> Define Notifications</a>
</li></ul>
<p></p>
</div></div>
</div>
<div class="clear">&nbsp;</div>
</div></div><div id="patternTopBar">
<div id="patternTopBarContentsWrapper">
<div id="patternTopBarContents"><table border="0" cellpadding="0" cellspacing="0" style="width:100%" summary="">
<tr><td valign="middle"><span id="foswikiLogo" class="foswikiImage"><a href="WebHome.html"><img src="../pub/Main/WebPreferences/psi_logo_150.gif" border="0" alt="Paul Scherrer Institut" style="border:none; margin: -8px 0 0 15px;" /></a></span></td>
<td align="right" valign="top" class="patternMetaMenu" id="psimetanav">
<p></p> <ul>
<li> <form name="quickSearchForm" id="solrSearchForm" action="https://intranet.psi.ch/PSI/Search"><input type="hidden" name="filter" value="web:MUSR" /><input type="text" class="foswikiInputField" id="quickSearchBox" name="search" value="" size="18" /><input type="hidden" name="scope" value="all" /><!-- <input type="hidden" name="web" value="MUSR" /> --> <noscript>&nbsp;<input type="submit" size="5" class="foswikiButton" name="submit" value="Search" />&nbsp;</noscript><input type="image" class="searchsubmit" alt="Search" value="Suche..." name="sa" src="../webbase/img/search.png"> </form>
</li> <li> <form name="changeLanguage" action="https://intranet.psi.ch/wiki/bin/oops/MUSR/LibFitPofB" method="get"> <input type="hidden" name="redirectto" value="/MUSR/LibFitPofB?cover=print" /> <select name="language" class="foswikiSelect" onchange="document.changeLanguage.submit()"> <option value="de">Deutsch</option> <option selected="selected" value="en">English</option></select> <input type="hidden" name="template" value="oopslanguagechanged" /> <noscript> <input class="foswikiButton" type="submit" value="Change language" /> </noscript> </form>
</li></ul>
<p></p>
<p></p>
<p></p>
</td></tr></table>
</div><!--/patternTopBarContents-->
</div><!--/patternTopBarContentsWrapper-->
</div><!-- /patternTopBar--><div id="patternBottomBar"><div id="patternBottomBarContents"><div id="patternWebBottomBar">Ideas, requests, problems regarding <a href="https://intranet.psi.ch/Main/WebHome">PSI Wiki</a>? <a href="mailto&#58;psi&#46;intranet&#64;psi&#46;ch&#63;subject&#61;PSI&#32;Wiki&#37;20Feedback&#37;20on&#37;20MUSR&#46;LibFitPofB">Send feedback</a></div></div></div>
<div class="patternInfo">This topic: MUSR<span class='foswikiSeparator'>&nbsp;&gt;&nbsp;</span><a href="WebHome.html" class="foswikiCurrentWebHomeLink">WebHome</a> &gt; <a href="MusrFit.html">MusrFit</a> &gt; <a href="BmwLibs.html">BmwLibs</a><span class='foswikiSeparator'>&nbsp;&gt;&nbsp;</span>LibFitPofB <br />
Topic revision: <span class='patternRevInfo'>03 Jul 2015, suter_a</span></div>
</div>
</div>
</div>
</div></body>
<!-- Mirrored from intranet.psi.ch/MUSR/LibFitPofB?cover=print by HTTrack Website Copier/3.x [XR&CO'2010], Thu, 18 Dec 2014 13:46:44 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=iso-8859-1"><!-- /Added by HTTrack -->
</div><div id="patternBottomBar"><div id="patternBottomBarContents"><div id="patternWebBottomBar"><span class="foswikiRight"> <a href="http://foswiki.org/"><img src="../pub/System/ProjectLogos/foswiki-badge.png" alt="This site is powered by Foswiki" title="This site is powered by Foswiki" /></a></span>Copyright &copy; by the contributing authors. All material on this collaboration platform is the property of the contributing authors. <br /> Ideas, requests, problems regarding PSI Wiki? <a href='mailto:andre.lichtsteiner@psi.ch?subject=PSI Wiki %20Feedback%20on%20MUSR.LibFitPofB'>Send feedback</a></div></div></div>
</div>
</div>
</div>
</div></div><!-- /endWrap -->
<p></p>
<!-- Piwik -->
<noscript><p><img src="../piwik/piwikf832.gif?idsite=7" style="border:0" alt=""></p></noscript>
<!-- End Piwik Tag -->
</body>
<!-- Mirrored from intranet.psi.ch/MUSR/LibFitPofB?cover=print by HTTrack Website Copier/3.x [XR&CO'2010], Fri, 22 Jan 2016 15:12:52 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=utf-8"><!-- /Added by HTTrack -->
</html>
<p></p>
<p></p>
<p></p>
<p></p>

View File

@ -1,35 +1,38 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en_US" lang="en_US">
<!DOCTYPE html><html lang="en">
<!-- Mirrored from intranet.psi.ch/MUSR/LibZFRelaxation?cover=print by HTTrack Website Copier/3.x [XR&CO'2010], Thu, 18 Dec 2014 13:45:53 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=iso-8859-1"><!-- /Added by HTTrack -->
<!-- Mirrored from intranet.psi.ch/MUSR/LibZFRelaxation?cover=print by HTTrack Website Copier/3.x [XR&CO'2010], Fri, 22 Jan 2016 15:12:11 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=utf-8"><!-- /Added by HTTrack -->
<head>
<link rel="stylesheet" href="../pub/System/HeadlinesPlugin/style.css" type="text/css" media="all" />
<title> MUSR :: LibZFRelaxation</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1.5, user-scalable=yes" />
<meta name="mobile-web-app-capable" content="yes" />
<meta name="mobile-web-app-status-bar-style" content="black-translucent" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
<link rel="icon" href="../pub/Main/WebPreferences/favicon.ico" type="image/x-icon" />
<link rel="shortcut icon" href="../pub/Main/WebPreferences/favicon.ico" type="image/x-icon" />
<link rel="alternate" href="https://intranet.psi.ch/wiki/bin/edit/MUSR/LibZFRelaxation?t=1418910324" type="application/x-wiki" title="edit LibZFRelaxation" />
<link rel="alternate" href="https://intranet.psi.ch/wiki/bin/edit/MUSR/LibZFRelaxation?t=1453475519" type="application/x-wiki" title="edit LibZFRelaxation" />
<meta name="TEXT_NUM_TOPICS" content="Number of topics:" />
<meta name="TEXT_MODIFY_SEARCH" content="Modify search" />
<meta name="robots" content="noindex" /><link rel="alternate" type="application/rss+xml" title="RSS Feed" href="WebRsshtml.html" />
<base /><!--[if IE]></base><![endif]-->
<link rel='stylesheet' href='../pub/System/ImagePlugin/style.css' media='all' />
<base /><!--[if IE]></base><![endif]--><link class='head FOOTNOTEPLUGIN_LINKCSS' rel="stylesheet" href="../pub/System/FootNotePlugin/styles.css" type="text/css" media="all" /><!--FOOTNOTEPLUGIN_LINKCSS-->
<link class='head SMILIESPLUGIN' rel='stylesheet' href='../pub/System/SmiliesPlugin/smilies.css' type='text/css' media='all' /><!--SMILIESPLUGIN-->
<link class='head JQUERYPLUGIN::COMMENT' rel='stylesheet' href='../pub/System/CommentPlugin/commentf5b6.css?version=3.0' type='text/css' media='all' /><!--JQUERYPLUGIN::COMMENT-->
<link class='head CLASSIFICATIONPLUGIN::CSS' rel="stylesheet" href="../pub/System/ClassificationPlugin/styles.css" media="all" /><!--CLASSIFICATIONPLUGIN::CSS--><link rel='stylesheet' href='../pub/System/SkinTemplates/base.css' media='all' type='text/css' />
<style type="text/css" media="all">
@import url('../pub/System/SkinTemplates/base.css');
</style>
<style type="text/css" media="all">
@import url('../pub/System/PatternSkinTheme2009/layout.css');
@import url('../pub/System/PatternSkinTheme/layout.css');
@import url('../pub/System/PatternSkinTheme2009/style.css');
@import url('../pub/System/PatternSkinTheme2009/colors.css');
</style>
<style type="text/css" media="all">
@import url('../pub/System/PatternSkinTheme2009/column_left.css');
@import url('../pub/System/PatternSkinTheme2009/variant_twiki.css');
</style><style type="text/css" media="all">
<link rel='stylesheet' href='../pub/System/PatternSkinTheme2009/column_left.css' media='all' type='text/css' />
<link rel='stylesheet' href='../pub/System/PatternSkinTheme2009/variant_twiki.css' media='all' type='text/css' /><style type="text/css" media="all">
/* Styles that are set using variables */
.patternBookView .foswikiTopRow,
.patternWebIndicator a img,
.patternWebIndicator a:hover img {
.patternWebIndicator,
.patternWebIndicator a {
background-color:#D0D0D0;
}
#patternTopBarContents { background-image:url(../pub/System/PatternSkin/header5.gif); background-repeat:repeat-x;}
@ -50,14 +53,8 @@
<style type="text/css" media="all">
@import url("../pub/System/PatternSkin/print.css");
</style>
<!--[if IE]><style type="text/css" media="screen">
pre {
height:1%;
overflow-x:auto;
}
<link rel='stylesheet' href='../pub/System/PatternSkin/print.css' media='all' type='text/css' />
<!--[if IE 7 ]><style type="text/css" media="screen">
.foswikiAttachments,
.foswikiForm,
.foswikiHelp,
@ -79,7 +76,17 @@ pre {
.foswikiFormStep {
height:100%;
}
#foswikiLogin,
#foswikiLogin {
margin-left: 25%;
margin-right: 25%;
}
#foswikiLogin .foswikiFormSteps {
width:auto;
}
#foswikiLogin input[type="text"],
#foswikiLogin input[type="password"] {
width: auto;
}
.patternShadow {
border:10px solid #fff;
margin-top:10px;
@ -87,38 +94,38 @@ pre {
border:2px solid #ccc;
}
</style><![endif]-->
<!--[if gt IE 8 ]><style type="text/css" media="screen">
#foswikiLogin,
.patternShadow {
border:10px solid #fff;
margin-top:10px;
margin-bottom:10px;
box-shadow: 0 0 10px #ccc;
}
</style><![endif]-->
<link rel="stylesheet" href="../pub/System/FootNotePlugin/styles.css" type="text/css" media="all" /><!--FOOTNOTEPLUGIN_LINKCSS-->
<!--[if lte IE 9]>
<![endif]-->
<!--[if gt IE 9]><!-->
<!--<![endif]-->
<!--JQUERYPLUGIN-->
<!--JQUERYPLUGIN::MIGRATE-->
<!--JQUERYPLUGIN::LIVEQUERY-->
<!--JQUERYPLUGIN::FOSWIKI-->
<!--JavascriptFiles/foswikiString-->
<!--JavascriptFiles/foswikiPref-->
<!--JavascriptFiles/foswikiForm-->
<!--PatternSkin/pattern-->
<!--JQUERYPLUGIN::METADATA-->
<!--JQUERYPLUGIN::CHILI-->
<!--JQUERYPLUGIN::COMMENT-->
<!--JQUERYPLUGIN::FOSWIKI::PREFERENCES--><link class='head FOOTNOTEPLUGIN_LINKCSS' rel="stylesheet" href="../pub/System/FootNotePlugin/styles.css" type="text/css" media="all" /><!--FOOTNOTEPLUGIN_LINKCSS-->
</head>
<body class="foswikiNoJs patternViewPage">
<a name="PageTop"></a><div class="foswikiPage"><div id="patternScreen">
<body class="foswikiNoJs patternViewPage patternPrintPage">
<span id="PageTop"></span><div class="foswikiPage"><div id="patternScreen">
<div id="patternPageShadow">
<div id="patternPage">
<div id="patternWrapper"><div id="patternOuter">
<div id="patternOuter" class="clear">
<div id="patternFloatWrap">
<div id="patternMain"><div id="patternClearHeaderCenter"></div>
<div id="patternMainContents"><div class="patternTop"><span class="patternHomePath foswikiLeft"></span><span class="patternToolBar foswikiRight"><span><a href='LibZFRelaxationc99a.html?cover=print;cover=print' rel='nofollow' title='Printable version of this topic' accesskey='p'><span class='foswikiAccessKey'>P</span>rint version</a></span><a href="https://intranet.psi.ch/MUSR/LibZFRelaxation?restrictions=on" id="restriction_link"><img src='../pub/System/PsiSkin/lock_open.png' class='lock' height='16' width='23' title='open in PSI - click for more information'/></a></span><div class="foswikiClear"></div></div><div class="foswikiContentHeader">
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
</div><div class="patternContent"><div class="foswikiTopic">
<a name="TopIc"></a>
<h1><a name="libZFRelaxation"></a> libZFRelaxation </h1>
<a name="foswikiTOC"></a><div class="foswikiToc"> <ul>
<div id="patternMain">
<div id="patternMainContents">
<div class="patternContent"><div class="foswikiTopic">
<span id="TopIc"></span>
<h1 id="libZFRelaxation"> libZFRelaxation </h1>
<div id="foswikiTOC" class="foswikiToc"> <ul>
<li> <a href="LibZFRelaxation.html#libZFRelaxation"> libZFRelaxation </a>
</li> <li> <a href="LibZFRelaxation.html#A_1_Introduction"> 1 Introduction </a>
</li> <li> <a href="LibZFRelaxation.html#A_2_Isotropic_static_Gaussian_broadened_randomly_oriented_internal_fields"> 2 Isotropic static Gaussian broadened randomly oriented internal fields </a>
@ -126,8 +133,8 @@ pre {
</li> <li> <a href="LibZFRelaxation.html#A_4_Static_Gaussian_distributed_fields_with_uniaxial_anisotropy"> 4 Static Gaussian distributed fields with uniaxial anisotropy </a>
</li></ul>
</div>
<a name="IntroDuction"></a>
<h1><a name="A_1_Introduction"></a> 1 Introduction </h1>
<span id="IntroDuction"></span>
<h1 id="A_1_Introduction"> 1 Introduction </h1>
<p></p>
<code>libZFRelaxation</code> is a collection of <code>C++</code> classes using the <code><a href="MusrFit.html">musrfit</a></code> <code><a href="MusrFit.html#UserFunctions1">user-function interface</a></code> in order to facilitate the usage in conjunction with <code>musrfit</code>. The classes contained in this library implement the calculation of some additional zero-field &mu;SR relaxation functions which are not built-in into <code>musrfit</code>.
<p></p>
@ -136,9 +143,9 @@ In the following the use of the implemented functions is shortly introduced&mdas
If these classes prove useful and results obtained through them are part of scientific publications,
an acknowledgement of the use of the library is appreciated.
<p></p>
<h1><a name="A_2_Isotropic_static_Gaussian_broadened_randomly_oriented_internal_fields"></a> 2 Isotropic static Gaussian broadened randomly oriented internal fields </h1>
<h1 id="A_2_Isotropic_static_Gaussian_broadened_randomly_oriented_internal_fields"> 2 Isotropic static Gaussian broadened randomly oriented internal fields </h1>
<p></p>
E. I. Kornilov and V. Yu. Pomjakushin, Phys. Lett. A <b>153</b>, 364&#150;367 (1991), doi: <a href="http://dx.doi.org/10.1016/0375-9601(91)90959-C" target="_top">10.1016/0375-9601(91)90959-C</a>
E. I. Kornilov and V. Yu. Pomjakushin, Phys. Lett. A <b>153</b>, 364&#150;367 (1991), doi: <a href="http://dx.doi.org/10.1016/0375-9601(91)90959-C">10.1016/0375-9601(91)90959-C</a>
<p></p>
<p style="text-align:center">
<img alt="\mathcal{P}(t) &#61; \left(1-\alpha\right)\exp\left(-\frac{\sigma&#95;{\mathrm{L}}^2t^2}{2}\right)+\alpha\left(\cos\left(2\pi\nu t\right)-\frac{\sigma&#95;{\mathrm{T}}^2t}{2\pi\nu}\sin\left(2\pi\nu t\right)\right)\exp\left(-\frac{\sigma&#95;{\mathrm{T}}^2t^2}{2}\right)" class="mmpImage" src="../pub/MUSR/LibZFRelaxation/_MathModePlugin_fca91646b118061038b53ada5563c17c.png" title="ZFMagGss" />
@ -154,9 +161,9 @@ The parameters are: <ol>
</li> <li> the "longitudinal depolarization rate" &sigma;<sub>L</sub> (&mu;s<sup>-1</sup>) (= 0 in the article).
</li></ol>
<p></p>
<h1><a name="A_3_Isotropic_static_Lorentzian_broadened_randomly_oriented_internal_fields"></a> 3 Isotropic static Lorentzian broadened randomly oriented internal fields </h1>
<h1 id="A_3_Isotropic_static_Lorentzian_broadened_randomly_oriented_internal_fields"> 3 Isotropic static Lorentzian broadened randomly oriented internal fields </h1>
<p></p>
M. I. Larkin, Y. Fudamoto, I. M. Gat, A. Kinkhabwala, K. M. Kojima, G. M. Luke, J. Merrin, B. Nachumi, Y. J. Uemura, M. Azuma, T. Saito, and M. Takano, Physica B <b>289&#150;290</b>, 153&#150;156 (2000), doi: <a href="http://dx.doi.org/10.1016/S0921-4526(00)00337-9"" target="_top">10.1016/S0921-4526(00)00337-9</a>
M. I. Larkin, Y. Fudamoto, I. M. Gat, A. Kinkhabwala, K. M. Kojima, G. M. Luke, J. Merrin, B. Nachumi, Y. J. Uemura, M. Azuma, T. Saito, and M. Takano, Physica B <b>289&#150;290</b>, 153&#150;156 (2000), doi: <a href="http://dx.doi.org/10.1016/S0921-4526(00)00337-9"">10.1016/S0921-4526(00)00337-9</a>
<p></p>
<p style="text-align:center">
<img alt="\mathcal{P}(t) &#61; \left(1-\alpha\right)\exp\left(-a&#95;{\mathrm{L}}t\right) + \alpha\left(\cos\left(2\pi\nu t\right)-\frac{a&#95;{\mathrm{T}}}{2\pi\nu}\sin\left(2\pi\nu t\right)\right)\exp\left(-a&#95;{\mathrm{T}}t\right)" class="mmpImage" src="../pub/MUSR/LibZFRelaxation/_MathModePlugin_975f948b57199037b2b8bfb5e986b6a9.png" title="ZFMagExp" />
@ -172,9 +179,9 @@ The parameters are: <ol>
</li> <li> the "longitudinal depolarization rate" a<sub>L</sub> (&mu;s<sup>-1</sup>) (= 0 in the article).
</li></ol>
<p></p>
<h1><a name="A_4_Static_Gaussian_distributed_fields_with_uniaxial_anisotropy"></a> 4 Static Gaussian distributed fields with uniaxial anisotropy </h1>
<h1 id="A_4_Static_Gaussian_distributed_fields_with_uniaxial_anisotropy"> 4 Static Gaussian distributed fields with uniaxial anisotropy </h1>
<p></p>
G. Solt, Hyperfine Interactions <b>96</b>, 167&#150;175 (1995), doi: <a href="http://dx.doi.org/10.1007/BF02066280" target="_top">10.1007/BF02066280</a>
G. Solt, Hyperfine Interactions <b>96</b>, 167&#150;175 (1995), doi: <a href="http://dx.doi.org/10.1007/BF02066280">10.1007/BF02066280</a>
<p></p>
<p style="text-align:center">
<img alt="\mathcal{P}(t) &#61; \frac{1}{2}\sin^2\Theta + \left(\frac{3}{2}\cos^2\Theta-\frac{1}{2}\right)f&#95;1\left(\epsilon\right) + \sin^2\Theta f&#95;2(\epsilon, \sigma&#95;1, t) + \left(\frac{3}{2}\cos^2\Theta-\frac{1}{2}\right)f&#95;3\left(\epsilon, \sigma&#95;1, t\right)," class="mmpImage" src="../pub/MUSR/LibZFRelaxation/_MathModePlugin_4611c56f1556464dd8a6eaabbe070c05.png" title="UniaxialStatGssKT" />
@ -203,83 +210,29 @@ The parameters are: <ol>
</li> <li> &Theta; (&deg;).
</li></ol>
<p></p>
-- <a href="http://www.fsf.org/register_form?referrer=8369" target="_top">BMW</a> &amp; <a href="http://lmu.web.psi.ch/lem/group.html" target="_top">AS</a> </div>
<div class="foswikiContentFooter"></div><!-- -->
<!-- -->
<!-- -->
<!-- -->
<span class='foswikiClear'></span>
<div class="foswikiMetaData foswikiHideOnPrint foswikiMetaDataNotAllowed">
<div class="jqTabPane jqTabPanePlain {select:'1', autoMaxExpand:false, animate:true, minHeight:230}">
<!-- -->
<!-- -->
<!-- --><!-- -->
<!-- -->
<!-- --><!-- -->
<!-- --><!-- -->
<!-- -->
</div><!-- //ENDTABPANE -->
</div>
<!-- -->
<!-- -->
<div class="foswikiFormSteps">
<a name="topic-actions"></a>
<div class="patternTopicActions foswikiFormStep">
<span class="patternActionButtons"><span><a href='https://intranet.psi.ch/wiki/bin/edit/MUSR/LibZFRelaxation?t=1418910324' rel='nofollow' title='Edit this topic text' accesskey='e'><span class='foswikiAccessKey'>E</span>dit</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span class="foswikiRequiresChangePermission"><a href='https://intranet.psi.ch/wiki/bin/attach/MUSR/LibZFRelaxation' rel='nofollow' title='Attach an image or document to this topic' accesskey='a'><span class='foswikiAccessKey'>A</span>ttach</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span><a href='LibZFRelaxationc99a.html?cover=print;cover=print' rel='nofollow' title='Printable version of this topic' accesskey='p'><span class='foswikiAccessKey'>P</span>rint version</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span><a href='https://intranet.psi.ch/print/php/pdf.php?url=MUSR/LibZFRelaxation?cover=print' title='PDF version of this topic'>PDF</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span><span class="foswikiRequiresChangePermission"><a href='https://intranet.psi.ch/wiki/bin/oops/MUSR/LibZFRelaxation?template=oopshistory' rel='nofollow' title='View total topic history' accesskey='h'><span class='foswikiAccessKey'>H</span>istory</a></span>: r2&nbsp;<a rel="nofollow" href="https://intranet.psi.ch/wiki/bin/compare/MUSR/LibZFRelaxation?rev1=1;rev2=2">&lt;</a>&nbsp;<a rel="nofollow" href="https://intranet.psi.ch/MUSR/LibZFRelaxation?rev=1">r1</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span><a href='https://intranet.psi.ch/MUSR/LibZFRelaxation?template=backlinksweb' rel='nofollow' title='Search the MUSR Web for topics that link to here' accesskey='b'><span class='foswikiAccessKey'>B</span>acklinks</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span><a href='https://intranet.psi.ch/MUSR/LibZFRelaxation?raw=on' rel='nofollow' title='View without formatting' accesskey='v'><span class='foswikiAccessKey'>V</span>iew wiki text</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span><a href='https://intranet.psi.ch/MUSR/LibZFRelaxation?refresh=on' title='Refresh images and LaTeX charts'>Refresh</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span><a href='https://intranet.psi.ch/MUSR/LibZFRelaxation?template=more&amp;maxrev=2&amp;currrev=2' rel='nofollow' title='Delete or rename this topic; set parent topic; view and compare revisions' accesskey='m'><span class='foswikiAccessKey'>M</span>ore topic actions</a></span></span>
</div>
</div></div><div class="patternInfo"><span class="patternRevInfo">Topic revision: r2 - 10 Jul 2011, wojek</span></div>
</div>
</div><div id="patternSideBar"><div id="patternClearHeaderLeft"></div>
<div id="patternSideBarContents">
<div class="patternLeftBarPersonal">
<ul><li class="patternLogIn"><a href="https://intranet.psi.ch/wiki/bin/logon/MUSR/LibZFRelaxation">Log In</a> or <a href="https://intranet.psi.ch/System/UserRegistration">Register</a></li></ul>
</div>
-- <a href="http://www.fsf.org/register_form?referrer=8369">BMW</a> &amp; <a href="http://www.psi.ch/low-energy-muons/people">AS</a></div>
<p></p>
<p></p>
<b>PSI Webs</b> <ul>
<li> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/psi.png" width="16" height="16" alt="psi" /></span> <a href="https://intranet.psi.ch/Main/WebHome">Main</a>
</li> <li> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/psi.png" width="16" height="16" alt="psi" /></span> <a href="https://intranet.psi.ch/Main/WebList">weitere Webs</a>
</li></ul>
<hr />
<b>System Webs</b> <ul>
<li> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/foswiki.png" width="16" height="16" alt="foswiki" /></span> <a href="https://intranet.psi.ch/Sandbox/WebHome">Sandbox</a>
</li> <li> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/foswiki.png" width="16" height="16" alt="foswiki" /></span> <a href="https://intranet.psi.ch/System/WebHome">Documentation</a>
</li></ul>
<hr /> <ul>
<li> <a href="https://intranet.psi.ch/MUSR/WebCreateNewTopic?parent=LibZFRelaxation" target="_top"><span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/newtopic.png" width="16" height="16" alt="newtopic" /></span> Create New Topic</a>
</li> <li> <a href="WebTopicList.html"> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/index.png" width="16" height="16" alt="index" /></span> Show All Topics</a>
</li> <li> <a href="WebSearch.html"> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/searchtopic.png" width="16" height="16" alt="searchtopic" /></span> Search in Topics</a>
</li> <li> <a href="WebChanges.html"> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/changes.png" width="16" height="16" alt="changes" /></span> Recent Changes</a>
</li> <li> <a href="WebNotify.html"> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/notify.png" width="16" height="16" alt="notify" /></span> Define Notifications</a>
</li></ul>
<p></p>
</div></div>
</div>
<div class="clear">&nbsp;</div>
</div></div><div id="patternTopBar">
<div id="patternTopBarContentsWrapper">
<div id="patternTopBarContents"><table border="0" cellpadding="0" cellspacing="0" style="width:100%" summary="">
<tr><td valign="middle"><span id="foswikiLogo" class="foswikiImage"><a href="WebHome.html"><img src="../pub/Main/WebPreferences/psi_logo_150.gif" border="0" alt="Paul Scherrer Institut" style="border:none; margin: -8px 0 0 15px;" /></a></span></td>
<td align="right" valign="top" class="patternMetaMenu" id="psimetanav">
<p></p> <ul>
<li> <form name="quickSearchForm" id="solrSearchForm" action="https://intranet.psi.ch/PSI/Search"><input type="hidden" name="filter" value="web:MUSR" /><input type="text" class="foswikiInputField" id="quickSearchBox" name="search" value="" size="18" /><input type="hidden" name="scope" value="all" /><!-- <input type="hidden" name="web" value="MUSR" /> --> <noscript>&nbsp;<input type="submit" size="5" class="foswikiButton" name="submit" value="Search" />&nbsp;</noscript><input type="image" class="searchsubmit" alt="Search" value="Suche..." name="sa" src="../webbase/img/search.png"> </form>
</li> <li> <form name="changeLanguage" action="https://intranet.psi.ch/wiki/bin/oops/MUSR/LibZFRelaxation" method="get"> <input type="hidden" name="redirectto" value="/MUSR/LibZFRelaxation?cover=print" /> <select name="language" class="foswikiSelect" onchange="document.changeLanguage.submit()"> <option value="de">Deutsch</option> <option selected="selected" value="en">English</option></select> <input type="hidden" name="template" value="oopslanguagechanged" /> <noscript> <input class="foswikiButton" type="submit" value="Change language" /> </noscript> </form>
</li></ul>
<p></p>
<p></p>
<p></p>
</td></tr></table>
</div><!--/patternTopBarContents-->
</div><!--/patternTopBarContentsWrapper-->
</div><!-- /patternTopBar--><div id="patternBottomBar"><div id="patternBottomBarContents"><div id="patternWebBottomBar">Ideas, requests, problems regarding <a href="https://intranet.psi.ch/Main/WebHome">PSI Wiki</a>? <a href="mailto&#58;psi&#46;intranet&#64;psi&#46;ch&#63;subject&#61;PSI&#32;Wiki&#37;20Feedback&#37;20on&#37;20MUSR&#46;LibZFRelaxation">Send feedback</a></div></div></div>
<div class="patternInfo">This topic: MUSR<span class='foswikiSeparator'>&nbsp;&gt;&nbsp;</span><a href="WebHome.html" class="foswikiCurrentWebHomeLink">WebHome</a> &gt; <a href="MusrFit.html">MusrFit</a> &gt; <a href="BmwLibs.html">BmwLibs</a><span class='foswikiSeparator'>&nbsp;&gt;&nbsp;</span>LibZFRelaxation <br />
Topic revision: <span class='patternRevInfo'>03 Jul 2015, suter_a</span></div>
</div>
</div>
</div>
</div></body>
<!-- Mirrored from intranet.psi.ch/MUSR/LibZFRelaxation?cover=print by HTTrack Website Copier/3.x [XR&CO'2010], Thu, 18 Dec 2014 13:45:57 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=iso-8859-1"><!-- /Added by HTTrack -->
</div><div id="patternBottomBar"><div id="patternBottomBarContents"><div id="patternWebBottomBar"><span class="foswikiRight"> <a href="http://foswiki.org/"><img src="../pub/System/ProjectLogos/foswiki-badge.png" alt="This site is powered by Foswiki" title="This site is powered by Foswiki" /></a></span>Copyright &copy; by the contributing authors. All material on this collaboration platform is the property of the contributing authors. <br /> Ideas, requests, problems regarding PSI Wiki? <a href='mailto:andre.lichtsteiner@psi.ch?subject=PSI Wiki %20Feedback%20on%20MUSR.LibZFRelaxation'>Send feedback</a></div></div></div>
</div>
</div>
</div>
</div></div><!-- /endWrap -->
<p></p>
<!-- Piwik -->
<noscript><p><img src="../piwik/piwikf832.gif?idsite=7" style="border:0" alt=""></p></noscript>
<!-- End Piwik Tag -->
</body>
<!-- Mirrored from intranet.psi.ch/MUSR/LibZFRelaxation?cover=print by HTTrack Website Copier/3.x [XR&CO'2010], Fri, 22 Jan 2016 15:12:16 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=utf-8"><!-- /Added by HTTrack -->
</html>
<p></p>
<p></p>
<p></p>
<p></p>

View File

@ -1,35 +1,72 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en_US" lang="en_US">
<!DOCTYPE html><html lang="en">
<!-- Mirrored from intranet.psi.ch/MUSR/Msr2Data?cover=print by HTTrack Website Copier/3.x [XR&CO'2010], Thu, 18 Dec 2014 13:46:35 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=iso-8859-1"><!-- /Added by HTTrack -->
<!-- Mirrored from intranet.psi.ch/MUSR/Msr2Data?cover=print by HTTrack Website Copier/3.x [XR&CO'2010], Fri, 22 Jan 2016 15:12:46 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=utf-8"><!-- /Added by HTTrack -->
<head>
<link rel="stylesheet" href="../pub/System/HeadlinesPlugin/style.css" type="text/css" media="all" />
<title> MUSR :: Msr2Data</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1.5, user-scalable=yes" />
<meta name="mobile-web-app-capable" content="yes" />
<meta name="mobile-web-app-status-bar-style" content="black-translucent" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
<link rel="icon" href="../pub/Main/WebPreferences/favicon.ico" type="image/x-icon" />
<link rel="shortcut icon" href="../pub/Main/WebPreferences/favicon.ico" type="image/x-icon" />
<link rel="alternate" href="https://intranet.psi.ch/wiki/bin/edit/MUSR/Msr2Data?t=1418910334" type="application/x-wiki" title="edit Msr2Data" />
<link rel="alternate" href="https://intranet.psi.ch/wiki/bin/edit/MUSR/Msr2Data?t=1453475524" type="application/x-wiki" title="edit Msr2Data" />
<meta name="TEXT_NUM_TOPICS" content="Number of topics:" />
<meta name="TEXT_MODIFY_SEARCH" content="Modify search" />
<meta name="robots" content="noindex" /><link rel="alternate" type="application/rss+xml" title="RSS Feed" href="WebRsshtml.html" />
<base /><!--[if IE]></base><![endif]-->
<link rel='stylesheet' href='../pub/System/ImagePlugin/style.css' media='all' />
<base /><!--[if IE]></base><![endif]--><style class='head TABLEPLUGIN_default' type="text/css" media="all">
body .foswikiTable {border-width:1px}
body .foswikiTable .tableSortIcon img {padding-left:.3em; vertical-align:text-bottom}
body .foswikiTable td {border-style:solid none; vertical-align:top}
body .foswikiTable th {border-style:none solid; vertical-align:top; background-color:#d6d3cf; color:#000000}
body .foswikiTable th a:link {color:#000000}
body .foswikiTable th a:visited {color:#000000}
body .foswikiTable th a:hover {color:#000000; background-color:#d6d3cf}
body .foswikiTable th.foswikiSortedCol {background-color:#c4c1ba}
body .foswikiTable tr.foswikiTableRowdataBg0 td {background-color:#ffffff}
body .foswikiTable tr.foswikiTableRowdataBg0 td.foswikiSortedCol {background-color:#f7f7f6}
body .foswikiTable tr.foswikiTableRowdataBg1 td {background-color:#f7f7f6}
body .foswikiTable tr.foswikiTableRowdataBg1 td.foswikiSortedCol {background-color:#f0f0ee}
</style><!--TABLEPLUGIN_default-->
<link class='head FOOTNOTEPLUGIN_LINKCSS' rel="stylesheet" href="../pub/System/FootNotePlugin/styles.css" type="text/css" media="all" /><!--FOOTNOTEPLUGIN_LINKCSS-->
<style class='head TABLEPLUGIN_specific' type="text/css" media="all">
body .foswikiTable#tableMsr2Data1 td {vertical-align:middle; vertical-align:top}
body .foswikiTable#tableMsr2Data1 td.foswikiTableCol0 {text-align:left}
body .foswikiTable#tableMsr2Data1 td.foswikiTableCol1 {text-align:left}
body .foswikiTable#tableMsr2Data1 td.foswikiTableCol2 {text-align:left}
body .foswikiTable#tableMsr2Data1 td.foswikiTableCol3 {text-align:right}
body .foswikiTable#tableMsr2Data1 td.foswikiTableCol4 {text-align:left}
body .foswikiTable#tableMsr2Data1 td.foswikiTableCol5 {text-align:left}
body .foswikiTable#tableMsr2Data1 td.foswikiTableCol6 {text-align:left}
body .foswikiTable#tableMsr2Data1 td.foswikiTableCol7 {text-align:left}
body .foswikiTable#tableMsr2Data1 th {vertical-align:middle; background-color:#ffffff; color:#0066cc; text-align:left}
body .foswikiTable#tableMsr2Data1 th a:link {color:#0066cc}
body .foswikiTable#tableMsr2Data1 th a:visited {color:#0066cc}
body .foswikiTable#tableMsr2Data1 th a:hover {color:#0066cc; background-color:#ffffff}
body .foswikiTable#tableMsr2Data1 th.foswikiSortedCol {background-color:#eeeeee}
body .foswikiTable#tableMsr2Data1 tr.foswikiTableRowdataBg0 td {background-color:#ffffff}
body .foswikiTable#tableMsr2Data1 tr.foswikiTableRowdataBg0 td.foswikiSortedCol {background-color:#f5f5f5}
</style><!--TABLEPLUGIN_specific-->
<link class='head JQUERYPLUGIN::COMMENT' rel='stylesheet' href='../pub/System/CommentPlugin/commentf5b6.css?version=3.0' type='text/css' media='all' /><!--JQUERYPLUGIN::COMMENT-->
<link class='head IMAGEPLUGIN' rel="stylesheet" href="../pub/System/ImagePlugin/style.css" type="text/css" media="all" /><!--IMAGEPLUGIN-->
<link class='head CLASSIFICATIONPLUGIN::CSS' rel="stylesheet" href="../pub/System/ClassificationPlugin/styles.css" media="all" /><!--CLASSIFICATIONPLUGIN::CSS-->
<link class='head JQUERYPLUGIN::TWISTY' rel='stylesheet' href='../pub/System/TwistyPlugin/twisty327a.css?version=1.6.0' type='text/css' media='all' /><!--JQUERYPLUGIN::TWISTY: requires= missing ids: JavascriptFiles/foswikiPref-->
<link class='head SMILIESPLUGIN' rel='stylesheet' href='../pub/System/SmiliesPlugin/smilies.css' type='text/css' media='all' /><!--SMILIESPLUGIN--><link rel='stylesheet' href='../pub/System/SkinTemplates/base.css' media='all' type='text/css' />
<style type="text/css" media="all">
@import url('../pub/System/SkinTemplates/base.css');
</style>
<style type="text/css" media="all">
@import url('../pub/System/PatternSkinTheme2009/layout.css');
@import url('../pub/System/PatternSkinTheme/layout.css');
@import url('../pub/System/PatternSkinTheme2009/style.css');
@import url('../pub/System/PatternSkinTheme2009/colors.css');
</style>
<style type="text/css" media="all">
@import url('../pub/System/PatternSkinTheme2009/column_left.css');
@import url('../pub/System/PatternSkinTheme2009/variant_twiki.css');
</style><style type="text/css" media="all">
<link rel='stylesheet' href='../pub/System/PatternSkinTheme2009/column_left.css' media='all' type='text/css' />
<link rel='stylesheet' href='../pub/System/PatternSkinTheme2009/variant_twiki.css' media='all' type='text/css' /><style type="text/css" media="all">
/* Styles that are set using variables */
.patternBookView .foswikiTopRow,
.patternWebIndicator a img,
.patternWebIndicator a:hover img {
.patternWebIndicator,
.patternWebIndicator a {
background-color:#D0D0D0;
}
#patternTopBarContents { background-image:url(../pub/System/PatternSkin/header5.gif); background-repeat:repeat-x;}
@ -50,14 +87,8 @@
<style type="text/css" media="all">
@import url("../pub/System/PatternSkin/print.css");
</style>
<!--[if IE]><style type="text/css" media="screen">
pre {
height:1%;
overflow-x:auto;
}
<link rel='stylesheet' href='../pub/System/PatternSkin/print.css' media='all' type='text/css' />
<!--[if IE 7 ]><style type="text/css" media="screen">
.foswikiAttachments,
.foswikiForm,
.foswikiHelp,
@ -79,7 +110,17 @@ pre {
.foswikiFormStep {
height:100%;
}
#foswikiLogin,
#foswikiLogin {
margin-left: 25%;
margin-right: 25%;
}
#foswikiLogin .foswikiFormSteps {
width:auto;
}
#foswikiLogin input[type="text"],
#foswikiLogin input[type="password"] {
width: auto;
}
.patternShadow {
border:10px solid #fff;
margin-top:10px;
@ -87,38 +128,39 @@ pre {
border:2px solid #ccc;
}
</style><![endif]-->
<!--[if gt IE 8 ]><style type="text/css" media="screen">
#foswikiLogin,
.patternShadow {
border:10px solid #fff;
margin-top:10px;
margin-bottom:10px;
box-shadow: 0 0 10px #ccc;
}
</style><![endif]-->
<link rel="stylesheet" href="../pub/System/FootNotePlugin/styles.css" type="text/css" media="all" /><!--FOOTNOTEPLUGIN_LINKCSS-->
<!--[if lte IE 9]>
<![endif]-->
<!--[if gt IE 9]><!-->
<!--<![endif]-->
<!--JQUERYPLUGIN-->
<!--JQUERYPLUGIN::MIGRATE-->
<!--JQUERYPLUGIN::LIVEQUERY-->
<!--JQUERYPLUGIN::FOSWIKI-->
<!--JavascriptFiles/foswikiString-->
<!--JavascriptFiles/foswikiPref-->
<!--JQUERYPLUGIN::TWISTY-->
<!--JavascriptFiles/foswikiForm-->
<!--PatternSkin/pattern-->
<!--JQUERYPLUGIN::FOSWIKI::PREFERENCES-->
<!--JQUERYPLUGIN::METADATA-->
<!--JQUERYPLUGIN::CHILI-->
<!--JQUERYPLUGIN::COMMENT--><link class='head FOOTNOTEPLUGIN_LINKCSS' rel="stylesheet" href="../pub/System/FootNotePlugin/styles.css" type="text/css" media="all" /><!--FOOTNOTEPLUGIN_LINKCSS-->
</head>
<body class="foswikiNoJs patternViewPage">
<a name="PageTop"></a><div class="foswikiPage"><div id="patternScreen">
<body class="foswikiNoJs patternViewPage patternPrintPage">
<span id="PageTop"></span><div class="foswikiPage"><div id="patternScreen">
<div id="patternPageShadow">
<div id="patternPage">
<div id="patternWrapper"><div id="patternOuter">
<div id="patternOuter" class="clear">
<div id="patternFloatWrap">
<div id="patternMain"><div id="patternClearHeaderCenter"></div>
<div id="patternMainContents"><div class="patternTop"><span class="patternHomePath foswikiLeft"></span><span class="patternToolBar foswikiRight"><span><a href='Msr2Datac99a.html?cover=print;cover=print' rel='nofollow' title='Printable version of this topic' accesskey='p'><span class='foswikiAccessKey'>P</span>rint version</a></span><a href="https://intranet.psi.ch/MUSR/Msr2Data?restrictions=on" id="restriction_link"><img src='../pub/System/PsiSkin/lock_open.png' class='lock' height='16' width='23' title='open in PSI - click for more information'/></a></span><div class="foswikiClear"></div></div><div class="foswikiContentHeader">
<div id="patternMain">
<div id="patternMainContents">
<div class="patternContent"><div class="foswikiTopic">
<h1 id="A_61_61msr2data_61_61"> <code><b>msr2data</b></code> </h1>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
</div><div class="patternContent"><div class="foswikiTopic">
<h1><a name="A_61_61msr2data_61_61"></a> <code><b>msr2data</b></code> </h1>
<p></p>
<a name="foswikiTOC"></a><div class="foswikiToc"> <ul>
<div id="foswikiTOC" class="foswikiToc"> <ul>
<li> <a href="Msr2Data.html#A_61_61msr2data_61_61"> msr2data </a>
</li> <li> <a href="Msr2Data.html#A_1_Introduction"> 1 Introduction </a>
</li> <li> <a href="Msr2Data.html#A_2_Basic_Types_of_Usage"> 2 Basic Types of Usage </a>
@ -134,10 +176,10 @@ pre {
</li></ul>
</div>
<p></p>
<a name="IntroDuction"></a>
<h1><a name="A_1_Introduction"></a> 1 Introduction </h1>
<code>msr2data</code> (originally written by B. M. Wojek) is a program implemented in <code>C++</code>. Its purpose is to process multiple <code><a href="MusrFit.html">musrfit</a></code> msr files with the same parameters and summarize the fitting results either in a TRIUMF <strong>DB</strong> <a name="FootNote1text"></a><span class='FootNoteTextLink' title=' For an abridged description of this format see <a href="http://musr.org/xyfit/dbformat.html" target="_top">here</a>. The <strong>DB</strong> files produced by <code>msr2data</code> can be viewed for instance with <a href="http://musr.org/muview/" target="_top">&mu;View</a>, however, they are <em>not completely</em> backward-compatible to the original "db language" since the parameter names can be longer than five or six characters! In order to establish this backward compatibility (if needed) the user has to ensure the correct length of the parameter names in the msr files!'><a href="#FootNote1note" class="foswikiCurrentTopicLink">(1)</a></span> or a <strong>column ASCII</strong> file. It evolved from a script called <code>mlog2db</code> which has been written only for collecting fit results of <a href="http://lmu.web.psi.ch/lem/" target="_top">LEM</a> data stored in mlog files generated by <code>musrfit</code> and putting them together in a file with the <strong>DB</strong> format for further analysis. Therefore, any peculiarities, e.g. in supplying options to <code>msr2data</code> are owed its original purpose.
<code>msr2data</code> is <a href="http://www.gnu.org/philosophy/free-sw.html" target="_top">free software</a> and licensed under the <a href="http://www.gnu.org/licenses/old-licenses/gpl-2.0.html" target="_top">GNU GPL version 2</a> or any later version (at your option).
<span id="IntroDuction"></span>
<h1 id="A_1_Introduction"> 1 Introduction </h1>
<code>msr2data</code> (originally written by B. M. Wojek) is a program implemented in <code>C++</code>. Its purpose is to process multiple <code><a href="MusrFit.html">musrfit</a></code> msr files with the same parameters and summarize the fitting results either in a TRIUMF <strong>DB</strong> <a name="FootNote1text"></a><span class="FootNoteTextLink" title=" For an abridged description of this format see &#91;&#91;http&#58;&#47;&#47;musr&#46;org&#47;xyfit&#47;dbformat&#46;html&#93;&#91;here&#93;&#93;&#46; The &#42;DB&#42; files produced by &#61;msr2data&#61; can be viewed for instance with &#91;&#91;http&#58;&#47;&#47;musr&#46;org&#47;muview&#47;&#93;&#91;&#38;mu&#59;View&#93;&#93;&#44; however&#44; they are <em>not completely</em> backward&#45;compatible to the original &#34;db language&#34; since the parameter names can be longer than five or six characters&#33; In order to establish this backward compatibility &#40;if needed&#41; the user has to ensure the correct length of the parameter names in the msr files&#33;"><a href="#FootNote1note" class="foswikiCurrentTopicLink">(1)</a></span> or a <strong>column ASCII</strong> file. It evolved from a script called <code>mlog2db</code> which has been written only for collecting fit results of <a href="http://lmu.web.psi.ch/lem/">LEM</a> data stored in mlog files generated by <code>musrfit</code> and putting them together in a file with the <strong>DB</strong> format for further analysis. Therefore, any peculiarities, e.g. in supplying options to <code>msr2data</code> are owed its original purpose.
<code>msr2data</code> is <a href="http://www.gnu.org/philosophy/free-sw.html">free software</a> and licensed under the <a href="http://www.gnu.org/licenses/old-licenses/gpl-2.0.html">GNU GPL version 2</a> or any later version (at your option).
<p></p>
Before the usage of msr2data will be explained in greater detail first be aware of the following:
<p></p>
@ -147,35 +189,36 @@ Before the usage of msr2data will be explained in greater detail first be aware
<p></p>
Notes
<p></p>
<a name="FootNote1note"></a><span class="FootNoteLabel"><a href="#FootNote1text" class="foswikiCurrentTopicLink"> <strong>1</strong> </a></span>: <span class="FootNote"> For an abridged description of this format see <a href="http://musr.org/xyfit/dbformat.html" target="_top">here</a>. The <strong>DB</strong> files produced by <code>msr2data</code> can be viewed for instance with <a href="http://musr.org/muview/" target="_top">&mu;View</a>, however, they are <em>not completely</em> backward-compatible to the original "db language" since the parameter names can be longer than five or six characters! In order to establish this backward compatibility (if needed) the user has to ensure the correct length of the parameter names in the msr files!</span>
<a name="FootNote1note"></a><span class="FootNoteLabel"><a href="Msr2Data.html#FootNote1text" class="foswikiCurrentWebHomeLink"> <strong>1</strong> </a></span>: <span class="FootNote"> For an abridged description of this format see <a href="http://musr.org/xyfit/dbformat.html">here</a>. The <strong>DB</strong> files produced by <code>msr2data</code> can be viewed for instance with <a href="http://musr.org/muview/">&mu;View</a>, however, they are <em>not completely</em> backward-compatible to the original "db language" since the parameter names can be longer than five or six characters! In order to establish this backward compatibility (if needed) the user has to ensure the correct length of the parameter names in the msr files!</span>
<p></p>
<p></p>
<p></p>
<hr />
<p></p>
<a name="BasicTypesOfUsage"></a>
<h1><a name="A_2_Basic_Types_of_Usage"></a> 2 Basic Types of Usage </h1>
<span id="BasicTypesOfUsage"></span>
<h1 id="A_2_Basic_Types_of_Usage"> 2 Basic Types of Usage </h1>
Apart from numerous <a href="#OptionalParameters" class="foswikiCurrentTopicLink">optional parameters</a> that might be set or not, in principle there are four different ways of calling <code>msr2data</code>. These differ in how the list of runs which should be processed is supplied: <dl>
<dt> msr2data &lt;run&gt; &lt;extension&gt; [optional parameters] </dt><dd> A single run number.
</dd> <dt> msr2data &lt;firstRunNo&gt; &lt;lastRunNo&gt; &lt;extension&gt; [optional parameters] </dt><dd> An interval of run numbers is specified through the first and the last run number. The condition <strong>&lt;firstRunNo&gt; &lt; &lt;lastRunNo&gt;</strong> is <em>not</em> necessary.
</dd> <dt> msr2data \[&lt;run1&gt; &lt;run2&gt; ... &lt;runN&gt; \] &lt;extension&gt; [optional parameters] </dt><dd> A space separated list of run numbers can be enclosed in <strong>[</strong> and <strong>]</strong>. Every run that should be processed has to be specified explicitly by its run number.
</dd> <dt> msr2data \[ &lt;runList&gt; \] &lt;extension&gt; [optional parameters] </dt><dd> Where &lt;runList&gt; is one or a combination of the following:(i) <strong>&lt;run0&gt;, &lt;run1&gt;, &lt;run2&gt;, ... &lt;runN&gt;</strong> : run numbers, e.g. 123 124, (ii) <strong>&lt;run0&gt;-&lt;runN&gt;</strong> : a range, e.g. 123-125 -&gt; 123 124 125, (iii) <strong>&lt;run0&gt;:&lt;runN&gt;:&lt;step&gt;</strong> : a sequence, e.g. 123:127:2 -&gt; 123 125 127. &lt;step&gt; has to be a <strong>positive</strong> integer. A &lt;runList&gt; can also combine (i)-(iii), e.g. 123 128-130 133, etc.
</dd> <dt> msr2data &lt;runListFileName&gt; &lt;extension&gt; [optional parameters] </dt><dd> An ASCII file containing a list of run numbers and optional external parameters is passed to <code>msr2data</code>. For the structure of the ASCII file see <a href="#RunListStructure" class="foswikiCurrentTopicLink">below</a>.
</dd></dl>
<p></p>
All four basic types of calling <code>msr2data</code> contain the <em>mandatory</em> file-name <strong>&lt;extension&gt;</strong> passed right after the list of runs. The meaning of this <strong>&lt;extension&gt;</strong> should become clear after giving examples for all four cases:
<pre class="bash">msr2data 8472 &#95;tf&#95;h13</pre> generates the <strong>DB</strong> file <code><b>out.db</b></code> (can be changed by using <a href="#OptionalParameters" class="foswikiCurrentTopicLink">the -o option</a>) from <code><b>8472_tf_h13.msr</b></code>.
<pre class="bash">msr2data 8472 &#95;tf&#95;h13</pre> generates the <strong>DB</strong> file <code><b>out.db</b></code> (can be changed by using <a class="foswikiCurrentTopicLink" href="#OptionalParameters">the -o option</a>) from <code><b>8472_tf_h13.msr</b></code>.
<pre class="bash">msr2data 8472 8474 &#95;tf&#95;h13</pre> generates the <strong>DB</strong> file <code><b>out.db</b></code> (can be changed by using <a href="#OptionalParameters" class="foswikiCurrentTopicLink">the -o option</a>) from <code><b>8472_tf_h13.msr</b></code>, <code><b>8473_tf_h13.msr</b></code>, and <code><b>8474_tf_h13.msr</b></code>.
<pre class="bash">msr2data &#91;8472 8470] &#95;tf&#95;h13</pre> generates the <strong>DB</strong> file <code><b>out.db</b></code> (can be changed by using <a href="#OptionalParameters" class="foswikiCurrentTopicLink">the -o option</a>) from <code><b>8472_tf_h13.msr</b></code> and <code><b>8470_tf_h13.msr</b></code>.
<pre class="bash">msr2data &#91;8472 8470&#93; &#95;tf&#95;h13</pre> generates the <strong>DB</strong> file <code><b>out.db</b></code> (can be changed by using <a class="foswikiCurrentTopicLink" href="#OptionalParameters">the -o option</a>) from <code><b>8472_tf_h13.msr</b></code> and <code><b>8470_tf_h13.msr</b></code>.
<pre class="bash">msr2data &#91;8470:8474:2&#93; &#95;tf&#95;h13</pre> generates the <strong>DB</strong> file <code><b>out.db</b></code> (can be changed by using <a class="foswikiCurrentTopicLink" href="#OptionalParameters">the -o option</a>) from <code><b>8470_tf_h13.msr</b></code>, <code><b>8472_tf_h13.msr</b></code>, and <code><b>8474_tf_h13.msr</b></code>.
<pre class="bash">msr2data run.list &#95;tf&#95;h13</pre> generates the <strong>DB</strong> file <code><b>out.db</b></code> (can be changed by using <a href="#OptionalParameters" class="foswikiCurrentTopicLink">the -o option</a>) from all runs listed in the ASCII file <code><b>run.list</b></code> in the working directory. In this file it is also possible to include external parameters which should be put in the resulting <strong>DB</strong> file. The structure of the <code><b>run.list</b></code> is the following:
<a name="RunListStructure"></a>
<span id="RunListStructure"></span>
<pre>
RUN VAR1 VAR2 VAR3 ...
8460 200 27.1 46.2 ...
8472 205 27.1 46.3 ...
8453 210 27.2 45.9 ...
· · · ·
· · · ·
· · · ·
· · · ·
· · · ·
· · · ·
</pre>
<span class='foswikiRedFG'>The first not commented and not empty line determines the parameter names and labels and has to be present!</span><br/>
It is allowed to add comments (with a preceding <strong>#</strong>) or empty lines to the run-list file.
@ -184,14 +227,14 @@ The following should be mentioned together with the above examples: <ul>
<li> The output files in the examples above are only newly created if they did not exist before invoking <strong>msr2data</strong>. If the files were already present the msr-file data would be appended!
</li> <li> If the files have been newly created, also the <strong>DB</strong> file header is written. If the files were present before, only the data blocks are appended. The output of the header can either be forced or completely suppressed with the <a href="#OptionalParameters" class="foswikiCurrentTopicLink">header and noheader options</a> as shall be seen later.
</li></ul>
<a name="NoExtension"></a> <ul>
<span id="NoExtension"></span> <ul>
<li> <span class='foswikiRedFG'>If the <code>musrfit</code> output files do not have an &lt;extension&gt; as specified above like <code><b>8472.msr</b></code> one has to call <code>msr2data</code> like in the following example:</span> <pre class="bash">
msr2data 8472 8460 &#34;&#34;
</pre>
</li></ul>
<p></p>
<a name="OptionalParameters"></a>
<h1><a name="A_3_Optional_Parameters"></a> 3 Optional Parameters </h1>
<span id="OptionalParameters"></span>
<h1 id="A_3_Optional_Parameters"> 3 Optional Parameters </h1>
As mentioned already above there are some optional parameters which change the behavior of <code>msr2data</code> and can be passed in any order. Here is a complete list: <dl>
<dt> data </dt><dd> The output file format is changed to a simple column ASCII file (default output file name: <code><b>out.dat</b></code>).
</dd> <dt> new </dt><dd> An existing output file is deleted before new information is written to it.
@ -212,9 +255,9 @@ msr2data 8400 8460 &#95;tf&#95;h13 -oABC.db fit-8472
</pre>
Using <code><b>8472_tf_h13.msr</b></code> as first template, <code>msr2data</code> generates subsequent msr input files <code><b>8400_tf_h13.msr</b></code> through <code><b>8460_tf_h13.msr</b></code>, calls <code>musrfit</code> to perform a fit of these files and collects the results of the fits together with the <strong>DB</strong> header in the new file <code><b>ABC.db</b></code>. Additionally, some information about external parameters like the temperature will be passed to <code><b>ABC.db</b></code> if it is present in the data files.
<pre class="bash">
msr2data &#91;8500 8505] &#95;zf fit-8472 noheader nosummary -o DEF.db
msr2data &#91;8500 8502-8504 8507&#93; &#95;zf fit-8472 noheader nosummary -o DEF.db
</pre>
Using <code><b>8472_zf.msr</b></code> as first template, <code>msr2data</code> generates subsequent msr input files <code><b>8500_zf.msr</b></code> and <code><b>8505_zf.msr</b></code>, calls <code>musrfit</code> to perform a fit of these files and collects the results of the fits in the file <code><b>DEF.db</b></code> without writing the <strong>DB</strong> file header or attempting to read additional information from the data files.
Using <code><b>8472_zf.msr</b></code> as first template, <code>msr2data</code> generates subsequent msr input files <code><b>8500_zf.msr</b></code>, <code><b>8502_zf.msr</b></code>, <code><b>8503_zf.msr</b></code>, <code><b>8504_zf.msr</b></code> and <code><b>8507_zf.msr</b></code>, calls <code>musrfit</code> to perform a fit of these files and collects the results of the fits in the file <code><b>DEF.db</b></code> without writing the <strong>DB</strong> file header or attempting to read additional information from the data files.
<pre class="bash">
msr2data 8595 8585 &#34;&#34; noheader fit-8472! -oGHI.dat data nosummary -k
</pre>
@ -228,12 +271,12 @@ msr2data 8472 8475 &#95;tf&#95;h13 msr-8471!
</pre>
Using <code><b>8471_tf_h13.msr</b></code> as template for <em>all</em> runs, <code>msr2data</code> generates the msr input files <code><b>8472_tf_h13.msr</b></code> through <code><b>8475_tf_h13.msr</b></code>. <span class='foswikiRedFG'>No fitting will be performed and no DB or ASCII output will be generated!</span>
<p></p>
<a name="TheGlobalMode"></a>
<h1><a name="A_4_The_Global_Mode"></a> 4 The Global Mode </h1>
<span id="TheGlobalMode"></span>
<h1 id="A_4_The_Global_Mode"> 4 The Global Mode </h1>
Apart from all the options described <a href="#OptionalParameters" class="foswikiCurrentTopicLink">above</a> there is another program option: <strong>global</strong>. This option changes the general behavior of <code>msr2data</code> in that way that instead of processing one msr file for each run it combines all specified runs in one single msr file with the possibility to define common parameters for all runs as well as run-specific parameters. When writing the obtained parameters to a DB file or a column-structured ASCII file that single msr file is read and the parameters valid for each run are extracted. The <strong>global</strong> option can be used in conjunction with any of the described <a href="#BasicTypesOfUsage" class="foswikiCurrentTopicLink">invocations</a> of <code>msr2data</code> and together with all options stated <a href="#OptionalParameters" class="foswikiCurrentTopicLink">above</a>.
<p></p>
<a name="GlobalFileGeneration"></a>
<h2><a name="A_4.1_File_Generation"></a> 4.1 File Generation </h2>
<span id="GlobalFileGeneration"></span>
<h2 id="A_4.1_File_Generation"> 4.1 File Generation </h2>
The general idea of this mode is to generate a global msr file on the basis of a working single-run msr file. For this purpose a single-run template containing information about common and run-specific parameters should be created. These parameters are identified through their parameter names: <dl>
<dt> run-specific parameters </dt><dd> these parameters are tagged with the current run number in the format <strong>%0Xu</strong>, i.e. <strong>X</strong> digits with leading zeros, at the end of the parameter name, e.g. for a 4-digit-formatted run number <strong>alpha0123</strong> if the run number was <strong>123</strong> or for a 8-digit-formatted run number <strong>alpha00123456</strong> if the run number was <strong>123456</strong>. <strong>X</strong> has to be at least 4.
</dd> <dt> common parameters </dt><dd> all parameters that are not run specific
@ -278,19 +321,19 @@ During this reorganization all the affected parameter occurrences are changed ac
<p></p>
<span class='foswikiRedFG'>Please be aware of the fact that comments in the template msr file are <em>not</em> propagated to the newly generated global msr file!</span>
<p></p>
<h2><a name="A_4.2_Parameter_Extraction"></a> 4.2 Parameter Extraction </h2>
<h2 id="A_4.2_Parameter_Extraction"> 4.2 Parameter Extraction </h2>
After fitting some model to the specified data the fit parameters can be extracted from the global msr file to a <strong>DB</strong> or column-structured ASCII file&mdash;as usual this includes also parameters stored in the run data files or externally specified parameters given in a <a href="#RunListStructure" class="foswikiCurrentTopicLink">run-list file</a>.
In order to reach this goal the global msr file has to obey certain rules: <ul>
<li> The order of the parameters has to match the one described <a href="#GlobalFileGeneration" class="foswikiCurrentTopicLink">above</a>, meaning the common parameters are listed first followed by the same number of parameters specific to each run tagged by the according run numbers at the end of the parameter names and having the same order as the specified list of runs.
</li> <li> The RUN blocks have to be ordered according to the list of runs to be processed.
</li></ul>
Following these rules&mdash;which is achieved most easily by generating the global msr file using <code>msr2data</code> as shown <a href="#GlobalFileGeneration" class="foswikiCurrentTopicLink">above</a>&mdash;the parameters can be extracted e.g. like <pre class="bash">
Following these rules&mdash;which is achieved most easily by generating the global msr file using <code>msr2data</code> as shown <a class="foswikiCurrentTopicLink" href="#GlobalFileGeneration">above</a>&mdash;the parameters can be extracted e.g. like <pre class="bash">
msr2data 8471 8470 &#95;example global data -o globalFit.dat
</pre>
This will read in the file <code><b>8471+global_example.msr</b></code>, extract for each run all relevant parameters from the msr file as well as from the according data files (if available) and append all of them in columns to the ASCII file <code><b>globalFit.dat</b></code>.
<p></p>
<a name="GlobalPlus"></a>
<h2><a name="A_4.3_The_Extended_Global_Mode"></a> 4.3 The Extended Global Mode </h2>
<span id="GlobalPlus"></span>
<h2 id="A_4.3_The_Extended_Global_Mode"> 4.3 The Extended Global Mode </h2>
If a new global input file is generated, it is also possible to do an automatic pre-analysis for each single run using the specified template first; afterwards the run-specific parameters of these single-run msr files are collected in the global msr file. In special cases this might be useful to obtain a better set of starting values for the parameters, however, in most cases it will not replace the "manual review" of the generated global input file. The option is activated by choosing the keyword <strong>global+</strong>. For example <pre class="bash">
msr2data 8471 8470 &#95;example global+ msr-8472
</pre>
@ -302,8 +345,8 @@ msr2data 8471 8470 -OneRunFit&#95;example -o OneRunFits.db
<p></p>
<span class='foswikiRedFG'>Please be aware that the program in this mode always generates new single-run msr files and always calls <code>musrfit</code> for them. In case there are already single-run fits present, these cannot be used in conjunction with this option. The program on purpose behaves in this way in order to ensure the file integrity and correct parameter order within these files.</span>
<p></p>
<a name="KnownLimitations"></a>
<h1><a name="A_5_Known_Limitations"></a> 5 Known Limitations </h1> <ul>
<span id="KnownLimitations"></span>
<h1 id="A_5_Known_Limitations"> 5 Known Limitations </h1> <ul>
<li> The indexing run number of the msr file has to be at the begin of every filename.
</li> <li> Within the data file name the <strong>RUN#</strong> has the format <strong>%0Xu</strong>, i.e. <strong>X</strong> digits with leading zeros, and has to be the rightmost number given in this format in the file name. <strong>X</strong> has to be at least 4. The highest treatable run number is 2<sup>32</sup>-1 = 4294967295.
</li> <li> In order to keep <code>msr2data</code> working properly the msr files should only contain <em><span class='foswikiRedFG'>one</span> STATISTIC block at the end of the file</em> and <i><span class='foswikiRedFG'>one</span> FITPARAMETER block right after the TITLE</i>&mdash;<code>musrfit</code> itself allows to have more creative msr files...
@ -311,11 +354,11 @@ msr2data 8471 8470 -OneRunFit&#95;example -o OneRunFits.db
</li> <li> <code>msr2data</code> will write only up to <em>two successive</em> empty lines in newly generated msr files. In case more subsequent empty lines are encountered in a template file, these are <em>not</em> copied! Actually, this measure is not a limitation but has been introduced to keep the msr files in a reasonable shape.
</li></ul>
<p></p>
<a name="MusrGuiInterface"></a>
<h1><a name="A_6_The_Graphical_User_Interface_Provided_by_61_61musrgui_61_61_47_61_61musredit_61_61"></a> 6 The Graphical User Interface Provided by <code><b>musrgui</b></code> / <code><b>musredit</b></code> </h1>
<span id="MusrGuiInterface"></span>
<h1 id="A_6_The_Graphical_User_Interface_Provided_by_61_61musrgui_61_61_47_61_61musredit_61_61"> 6 The Graphical User Interface Provided by <code><b>musrgui</b></code> / <code><b>musredit</b></code> </h1>
<code><a href="MusrGui.html">musrgui/musredit</a></code>, editors designed especially for the manipulation of <code>musrfit</code> msr files and graphical front ends to <code><a href="MusrFit.html">musrfit</a></code>, offer an almost self-explanatory graphical user interface to <code>msr2data</code> depicted below:<br>
<img src="../pub/MUSR/Msr2Data/msr2data-input-tabs.png" alt="msr2data-input-tabs.png" width='612' height='605' align="right" /> <dl>
<dt> <span class='foswikiRedFG'>1&ndash;3</span> </dt><dd> Choose one of the <a href="#BasicTypesOfUsage" class="foswikiCurrentTopicLink">ways</a> to specify your list of runs.
<img class='imagePlain imagePlain_right ' src='../pub/MUSR/Msr2Data/igp_1c17a5bfb1fd01add8e3c7933ca421d5_msr2data-input-tabs.png' alt='msr2data-input-tabs.png' title='msr2data-input-tabs.png' width='612' height='605' style='' /> <dl>
<dt> <span class='foswikiRedFG'>1&ndash;3</span> </dt><dd> Choose one of the <a class="foswikiCurrentTopicLink" href="#BasicTypesOfUsage">ways</a> to specify your list of runs.
</dd> <dt> <span class='foswikiRedFG'>4</span> </dt><dd> Give the file extension here, e.g. <strong>_zf</strong> for files like <code><b>8472_zf.msr</b></code>. If the files do not have an extension this field stays empty. <code>musrgui</code> / <code>musredit</code> take care of passing the <strong>""</strong> to <code>msr2data</code> as mentioned <a href="#NoExtension" class="foswikiCurrentTopicLink">above</a>.
</dd> <dt> <span class='foswikiRedFG'>5</span> </dt><dd> Activates the <strong>fit-&lt;template&gt;</strong> option if <strong>&lt;template&gt;</strong> is entered. In case the option "Chain Fit" is <em>not</em> set the given template will be used for the input-file generation for <em>all</em> runs to be fitted&mdash;otherwise the output of the first fit serves as template for the second and so on. The template field stays empty if no fits should be performed!
</dd> <dt> <span class='foswikiRedFG'>6</span> </dt><dd> Activates the <strong>-o&lt;outputFileName&gt;</strong> option if <strong>&lt;outputFileName&gt;</strong> is entered. If nothing is entered the default output file <code><b>out.db</b></code> or <code><b>out.dat</b></code> is used.
@ -328,104 +371,63 @@ msr2data 8471 8470 -OneRunFit&#95;example -o OneRunFits.db
</dd> <dt> <span class='foswikiRedFG'>13</span> </dt><dd> If set, the <strong>-t</strong> option is passed to <code>msr2data</code>.
</dd> <dt> <span class='foswikiRedFG'>14</span> </dt><dd> If set, <code>msr2data</code> is called with the option <strong>msr-&lt;template&gt;</strong> (instead of <strong>fit-&lt;template&gt;</strong>) and hence is only producing the msr input files without any fitting.
</dd> <dt> <span class='foswikiRedFG'>15</span> </dt><dd> If set, <code>msr2data</code> is called with the option <strong>fit</strong>, i.e. no template will be used to generate new msr input files; only existing files are fed to <code>musrfit</code>.
</dd> <dt> <span class='foswikiRedFG'>16</span> </dt><dd> If set, <code>msr2data</code> is operating in the <a href="#TheGlobalMode" class="foswikiCurrentTopicLink">global mode</a>.
</dd> <dt> <span class='foswikiRedFG'>16</span> </dt><dd> If set, <code>msr2data</code> is operating in the <a class="foswikiCurrentTopicLink" href="#TheGlobalMode">global mode</a>.
</dd> <dt> <span class='foswikiRedFG'>17</span> </dt><dd> If set, <code>msr2data</code> is operating in the <a href="#GlobalPlus" class="foswikiCurrentTopicLink">extended global mode</a>.
</dd></dl>
<p></p>
<a name="BugTracking"></a>
<h1><a name="A_7_Bugtracking"></a> 7 Bugtracking </h1>
<span id="BugTracking"></span>
<h1 id="A_7_Bugtracking"> 7 Bugtracking </h1>
<p></p>
For reporting bugs or requesting new features and improvements please use the <a href="https://tracker.intranet.psi.ch/jira/browse/MUSR" target="_top">PSI Tracker</a> or send an e-mail to A. Suter.
For reporting bugs or requesting new features and improvements please use the <a href="https://bitbucket.org/muonspin/musrfit/issues?status=new&amp;status=open">Bitbucket Issues</a>, <a href="https://tracker.psi.ch/jira/browse/MUSR">PSI Tracker</a> or send an e-mail to A. Suter.
<p></p>
-- <a href="http://www.fsf.org/register_form?referrer=8369" target="_top">BMW</a> &amp; <a href="http://lmu.web.psi.ch/lem/group.html" target="_top">AS</a> </div>
<div class="foswikiContentFooter"></div><!-- -->
<!-- -->
<!-- -->
<!-- -->
<span class='foswikiClear'></span>
<div class="foswikiMetaData foswikiHideOnPrint foswikiMetaDataNotAllowed">
<div class="jqTabPane jqTabPanePlain {select:'1', autoMaxExpand:false, animate:true, minHeight:230}">
<!-- -->
<!-- -->
<!-- --><!-- -->
<!-- -->
<!-- TAB --><div id='jqTab2816' class="attachments jqAjaxTab jqTab {url: 'https://intranet.psi.ch/wiki/bin/rest/RenderPlugin/template?name=metadata;expand=attachments;topic=MUSR.Msr2Data;render=on;1418910334'}">
<h2 class='jqTabLabel'>Attachments <span class='foswikiAttachmentsCount'>(1)</span></h2>
<div class='jqTabContents' >
<div class='foswikiFormSteps foswikiAttachmentsProcess'><span class='jqAjaxLoader'>&nbsp;</span></div>
</div></div><!-- //ENDTAB --><!-- -->
<!-- -->
<!-- -->
<!-- --><!-- -->
<!-- --><!-- -->
<!-- --><!-- -->
<!-- -->
<!-- -->
<!-- --><!-- --><!-- -->
<!-- --><!-- -->
<!-- -->
</div><!-- //ENDTABPANE -->
</div>
<!-- -->
<!-- -->
<div class="foswikiFormSteps">
<a name="topic-actions"></a>
<div class="patternTopicActions foswikiFormStep">
<span class="patternActionButtons"><span><a href='https://intranet.psi.ch/wiki/bin/edit/MUSR/Msr2Data?t=1418910334' rel='nofollow' title='Edit this topic text' accesskey='e'><span class='foswikiAccessKey'>E</span>dit</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span class="foswikiRequiresChangePermission"><a href='https://intranet.psi.ch/wiki/bin/attach/MUSR/Msr2Data' rel='nofollow' title='Attach an image or document to this topic' accesskey='a'><span class='foswikiAccessKey'>A</span>ttach</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span><a href='Msr2Datac99a.html?cover=print;cover=print' rel='nofollow' title='Printable version of this topic' accesskey='p'><span class='foswikiAccessKey'>P</span>rint version</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span><a href='https://intranet.psi.ch/print/php/pdf.php?url=MUSR/Msr2Data?cover=print' title='PDF version of this topic'>PDF</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span><span class="foswikiRequiresChangePermission"><a href='https://intranet.psi.ch/wiki/bin/oops/MUSR/Msr2Data?template=oopshistory' rel='nofollow' title='View total topic history' accesskey='h'><span class='foswikiAccessKey'>H</span>istory</a></span>: r38&nbsp;<a rel="nofollow" href="https://intranet.psi.ch/wiki/bin/compare/MUSR/Msr2Data?rev1=37;rev2=38">&lt;</a>&nbsp;<a rel="nofollow" href="https://intranet.psi.ch/MUSR/Msr2Data?rev=37">r37</a>&nbsp;<a rel="nofollow" href="https://intranet.psi.ch/wiki/bin/compare/MUSR/Msr2Data?rev1=36;rev2=37">&lt;</a>&nbsp;<a rel="nofollow" href="https://intranet.psi.ch/MUSR/Msr2Data?rev=36">r36</a>&nbsp;<a rel="nofollow" href="https://intranet.psi.ch/wiki/bin/compare/MUSR/Msr2Data?rev1=35;rev2=36">&lt;</a>&nbsp;<a rel="nofollow" href="https://intranet.psi.ch/MUSR/Msr2Data?rev=35">r35</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span><a href='https://intranet.psi.ch/MUSR/Msr2Data?template=backlinksweb' rel='nofollow' title='Search the MUSR Web for topics that link to here' accesskey='b'><span class='foswikiAccessKey'>B</span>acklinks</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span><a href='https://intranet.psi.ch/MUSR/Msr2Data?raw=on' rel='nofollow' title='View without formatting' accesskey='v'><span class='foswikiAccessKey'>V</span>iew wiki text</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span><a href='https://intranet.psi.ch/MUSR/Msr2Data?refresh=on' title='Refresh images and LaTeX charts'>Refresh</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span><a href='https://intranet.psi.ch/MUSR/Msr2Data?template=more&amp;maxrev=38&amp;currrev=38' rel='nofollow' title='Delete or rename this topic; set parent topic; view and compare revisions' accesskey='m'><span class='foswikiAccessKey'>M</span>ore topic actions</a></span></span>
</div>
</div></div><div class="patternInfo"><span class="patternRevInfo">Topic revision: r38 - 20 Jul 2011, wojek</span></div>
</div>
</div><div id="patternSideBar"><div id="patternClearHeaderLeft"></div>
<div id="patternSideBarContents">
<div class="patternLeftBarPersonal">
<ul><li class="patternLogIn"><a href="https://intranet.psi.ch/wiki/bin/logon/MUSR/Msr2Data">Log In</a> or <a href="https://intranet.psi.ch/System/UserRegistration">Register</a></li></ul>
</div>
-- <a href="http://www.fsf.org/register_form?referrer=8369">BMW</a> &amp; <a href="http://lmu.web.psi.ch/lem/group.html">AS</a></div>
<p></p>
<p></p>
<b>PSI Webs</b> <ul>
<li> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/psi.png" width="16" height="16" alt="psi" /></span> <a href="https://intranet.psi.ch/Main/WebHome">Main</a>
</li> <li> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/psi.png" width="16" height="16" alt="psi" /></span> <a href="https://intranet.psi.ch/Main/WebList">weitere Webs</a>
</li></ul>
<hr />
<b>System Webs</b> <ul>
<li> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/foswiki.png" width="16" height="16" alt="foswiki" /></span> <a href="https://intranet.psi.ch/Sandbox/WebHome">Sandbox</a>
</li> <li> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/foswiki.png" width="16" height="16" alt="foswiki" /></span> <a href="https://intranet.psi.ch/System/WebHome">Documentation</a>
</li></ul>
<hr /> <ul>
<li> <a href="https://intranet.psi.ch/MUSR/WebCreateNewTopic?parent=Msr2Data" target="_top"><span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/newtopic.png" width="16" height="16" alt="newtopic" /></span> Create New Topic</a>
</li> <li> <a href="WebTopicList.html"> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/index.png" width="16" height="16" alt="index" /></span> Show All Topics</a>
</li> <li> <a href="WebSearch.html"> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/searchtopic.png" width="16" height="16" alt="searchtopic" /></span> Search in Topics</a>
</li> <li> <a href="WebChanges.html"> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/changes.png" width="16" height="16" alt="changes" /></span> Recent Changes</a>
</li> <li> <a href="WebNotify.html"> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/notify.png" width="16" height="16" alt="notify" /></span> Define Notifications</a>
</li></ul>
<p></p>
</div></div>
</div>
<div class="clear">&nbsp;</div>
</div></div><div id="patternTopBar">
<div id="patternTopBarContentsWrapper">
<div id="patternTopBarContents"><table border="0" cellpadding="0" cellspacing="0" style="width:100%" summary="">
<tr><td valign="middle"><span id="foswikiLogo" class="foswikiImage"><a href="WebHome.html"><img src="../pub/Main/WebPreferences/psi_logo_150.gif" border="0" alt="Paul Scherrer Institut" style="border:none; margin: -8px 0 0 15px;" /></a></span></td>
<td align="right" valign="top" class="patternMetaMenu" id="psimetanav">
<p></p> <ul>
<li> <form name="quickSearchForm" id="solrSearchForm" action="https://intranet.psi.ch/PSI/Search"><input type="hidden" name="filter" value="web:MUSR" /><input type="text" class="foswikiInputField" id="quickSearchBox" name="search" value="" size="18" /><input type="hidden" name="scope" value="all" /><!-- <input type="hidden" name="web" value="MUSR" /> --> <noscript>&nbsp;<input type="submit" size="5" class="foswikiButton" name="submit" value="Search" />&nbsp;</noscript><input type="image" class="searchsubmit" alt="Search" value="Suche..." name="sa" src="../webbase/img/search.png"> </form>
</li> <li> <form name="changeLanguage" action="https://intranet.psi.ch/wiki/bin/oops/MUSR/Msr2Data" method="get"> <input type="hidden" name="redirectto" value="/MUSR/Msr2Data?cover=print" /> <select name="language" class="foswikiSelect" onchange="document.changeLanguage.submit()"> <option value="de">Deutsch</option> <option selected="selected" value="en">English</option></select> <input type="hidden" name="template" value="oopslanguagechanged" /> <noscript> <input class="foswikiButton" type="submit" value="Change language" /> </noscript> </form>
</li></ul>
<p></p>
<p></p>
<p></p>
</td></tr></table>
</div><!--/patternTopBarContents-->
</div><!--/patternTopBarContentsWrapper-->
</div><!-- /patternTopBar--><div id="patternBottomBar"><div id="patternBottomBarContents"><div id="patternWebBottomBar">Ideas, requests, problems regarding <a href="https://intranet.psi.ch/Main/WebHome">PSI Wiki</a>? <a href="mailto&#58;psi&#46;intranet&#64;psi&#46;ch&#63;subject&#61;PSI&#32;Wiki&#37;20Feedback&#37;20on&#37;20MUSR&#46;Msr2Data">Send feedback</a></div></div></div>
<br class="imageClear" clear="all"/><div class="foswikiAttachments">
<div class="twistyPlugin foswikiMakeVisible"><span id="topicattachmentslist1show" style="display:none" class="twistyRememberSetting twistyTrigger foswikiUnvisited twistyInited"><a class="patternTwistyButton" href="#"><img src="../pub/System/DocumentGraphics/toggleopen.png" border="0" alt="" /><span class="foswikiLinkLabel foswikiUnvisited">Attachments <span class='foswikiSmall foswikiGrayText'>1</span></span></a></span><span id="topicattachmentslist1hide" style="display:none" class="twistyRememberSetting twistyTrigger foswikiUnvisited twistyInited"><a href="#" class="patternTwistyButton"><img src="../pub/System/DocumentGraphics/toggleclose.png" border="0" alt="" /><span class="foswikiLinkLabel foswikiUnvisited">Attachments <span class='foswikiSmall foswikiGrayText'>1</span></span></a></span></div><div class="twistyPlugin"><div id="topicattachmentslist1toggle" style="" class="twistyRememberSetting twistyContent twistyInited">
<table id="tableMsr2Data1" rules="none" class="foswikiTable" summary="Topic attachments" border="1"><caption>Topic attachments</caption>
<thead>
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
<th class="foswikiTableCol0 foswikiFirstCol"> <a rel="nofollow" title="Sort by this column" href="https://intranet.psi.ch/MUSR/Msr2Data?cover=print;sortcol=0;table=1;up=0#sorted_table">I</a> </th>
<th class="foswikiTableCol1"> <a title="Sort by this column" rel="nofollow" href="https://intranet.psi.ch/MUSR/Msr2Data?cover=print;sortcol=1;table=1;up=0#sorted_table">Attachment</a> </th>
<th class="foswikiTableCol2"> <a title="Sort by this column" rel="nofollow" href="https://intranet.psi.ch/MUSR/Msr2Data?cover=print;sortcol=2;table=1;up=0#sorted_table">Action</a> </th>
<th class="foswikiTableCol3"> <a href="https://intranet.psi.ch/MUSR/Msr2Data?cover=print;sortcol=3;table=1;up=0#sorted_table" rel="nofollow" title="Sort by this column">Size</a> </th>
<th class="foswikiTableCol4"> <a title="Sort by this column" rel="nofollow" href="https://intranet.psi.ch/MUSR/Msr2Data?cover=print;sortcol=4;table=1;up=0#sorted_table">Date</a> </th>
<th class="foswikiTableCol5"> <a href="https://intranet.psi.ch/MUSR/Msr2Data?cover=print;sortcol=5;table=1;up=0#sorted_table" title="Sort by this column" rel="nofollow">Who</a> </th>
<th class="foswikiTableCol6 foswikiLastCol"> <a title="Sort by this column" rel="nofollow" href="https://intranet.psi.ch/MUSR/Msr2Data?cover=print;sortcol=6;table=1;up=0#sorted_table">Comment</a> </th>
</tr>
</thead>
<tbody>
<tr class="foswikiTableEven foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
<td class="foswikiTableCol0 foswikiFirstCol foswikiLast"> <span class='foswikiIcon'><img src='../pub/System/DocumentGraphics/png.png' width='16' height='16' alt='msr2data-input-tabs.png' /></span><span class="foswikiHidden">png</span> </td>
<td class="foswikiTableCol1 foswikiLast"> <a href="../pub/MUSR/Msr2Data/msr2data-input-tabs.png">msr2data-input-tabs.png</a> </td>
<td class="foswikiTableCol2 foswikiLast"> <a href="https://intranet.psi.ch/wiki/bin/attach/MUSR/Msr2Data?filename=msr2data-input-tabs.png;revInfo=1" title="change, update, previous revisions, move, delete..." rel="nofollow">manage</a> </td>
<td style="text-align:right" class="foswikiTableCol3 foswikiLast"> 36 K </td>
<td class="foswikiTableCol4 foswikiLast"> <span class="foswikiNoBreak">20 Jul 2011 - 12:13</span> </td>
<td class="foswikiTableCol5 foswikiLast"> <a href="https://intranet.psi.ch/Main/UnknownUser">UnknownUser</a> </td>
<td class="foswikiTableCol6 foswikiLastCol foswikiLast"> graphical interface to msr2data </td>
</tr>
</tbody></table>
</div></div></div></div>
<div class="patternInfo">This topic: MUSR<span class='foswikiSeparator'>&nbsp;&gt;&nbsp;</span><a href="WebHome.html" class="foswikiCurrentWebHomeLink">WebHome</a> &gt; <a href="MusrFit.html">MusrFit</a><span class='foswikiSeparator'>&nbsp;&gt;&nbsp;</span>Msr2Data <br />
Topic revision: <span class='patternRevInfo'>16 Aug 2015, suter_a</span></div>
</div>
</div>
</div>
</div></body>
<!-- Mirrored from intranet.psi.ch/MUSR/Msr2Data?cover=print by HTTrack Website Copier/3.x [XR&CO'2010], Thu, 18 Dec 2014 13:46:37 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=iso-8859-1"><!-- /Added by HTTrack -->
</div><div id="patternBottomBar"><div id="patternBottomBarContents"><div id="patternWebBottomBar"><span class="foswikiRight"> <a href="http://foswiki.org/"><img src="../pub/System/ProjectLogos/foswiki-badge.png" alt="This site is powered by Foswiki" title="This site is powered by Foswiki" /></a></span>Copyright &copy; by the contributing authors. All material on this collaboration platform is the property of the contributing authors. <br /> Ideas, requests, problems regarding PSI Wiki? <a href='mailto:andre.lichtsteiner@psi.ch?subject=PSI Wiki %20Feedback%20on%20MUSR.Msr2Data'>Send feedback</a></div></div></div>
</div>
</div>
</div>
</div></div><!-- /endWrap -->
<p></p>
<!-- Piwik -->
<noscript><p><img src="../piwik/piwikf832.gif?idsite=7" style="border:0" alt=""></p></noscript>
<!-- End Piwik Tag -->
</body>
<!-- Mirrored from intranet.psi.ch/MUSR/Msr2Data?cover=print by HTTrack Website Copier/3.x [XR&CO'2010], Fri, 22 Jan 2016 15:12:46 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=utf-8"><!-- /Added by HTTrack -->
</html>
<p></p>
<p></p>
<p></p>
<p></p>

File diff suppressed because it is too large Load Diff

View File

@ -1,35 +1,38 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en_US" lang="en_US">
<!DOCTYPE html><html lang="en">
<!-- Mirrored from intranet.psi.ch/MUSR/MusrFitAcknowledgements?cover=print by HTTrack Website Copier/3.x [XR&CO'2010], Thu, 18 Dec 2014 13:46:11 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=iso-8859-1"><!-- /Added by HTTrack -->
<!-- Mirrored from intranet.psi.ch/MUSR/MusrFitAcknowledgements?cover=print by HTTrack Website Copier/3.x [XR&CO'2010], Fri, 22 Jan 2016 15:12:23 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=utf-8"><!-- /Added by HTTrack -->
<head>
<link rel="stylesheet" href="../pub/System/HeadlinesPlugin/style.css" type="text/css" media="all" />
<title> MUSR :: MusrFitAcknowledgements</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1.5, user-scalable=yes" />
<meta name="mobile-web-app-capable" content="yes" />
<meta name="mobile-web-app-status-bar-style" content="black-translucent" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
<link rel="icon" href="../pub/Main/WebPreferences/favicon.ico" type="image/x-icon" />
<link rel="shortcut icon" href="../pub/Main/WebPreferences/favicon.ico" type="image/x-icon" />
<link rel="alternate" href="https://intranet.psi.ch/wiki/bin/edit/MUSR/MusrFitAcknowledgements?t=1418910330" type="application/x-wiki" title="edit MusrFitAcknowledgements" />
<link rel="alternate" href="https://intranet.psi.ch/wiki/bin/edit/MUSR/MusrFitAcknowledgements?t=1453475522" type="application/x-wiki" title="edit MusrFitAcknowledgements" />
<meta name="TEXT_NUM_TOPICS" content="Number of topics:" />
<meta name="TEXT_MODIFY_SEARCH" content="Modify search" />
<meta name="robots" content="noindex" /><link rel="alternate" type="application/rss+xml" title="RSS Feed" href="WebRsshtml.html" />
<base /><!--[if IE]></base><![endif]-->
<link rel='stylesheet' href='../pub/System/ImagePlugin/style.css' media='all' />
<base /><!--[if IE]></base><![endif]--><link class='head CLASSIFICATIONPLUGIN::CSS' rel="stylesheet" href="../pub/System/ClassificationPlugin/styles.css" media="all" /><!--CLASSIFICATIONPLUGIN::CSS-->
<link class='head JQUERYPLUGIN::COMMENT' rel='stylesheet' href='../pub/System/CommentPlugin/commentf5b6.css?version=3.0' type='text/css' media='all' /><!--JQUERYPLUGIN::COMMENT-->
<link class='head SMILIESPLUGIN' rel='stylesheet' href='../pub/System/SmiliesPlugin/smilies.css' type='text/css' media='all' /><!--SMILIESPLUGIN-->
<link class='head FOOTNOTEPLUGIN_LINKCSS' rel="stylesheet" href="../pub/System/FootNotePlugin/styles.css" type="text/css" media="all" /><!--FOOTNOTEPLUGIN_LINKCSS--><link rel='stylesheet' href='../pub/System/SkinTemplates/base.css' media='all' type='text/css' />
<style type="text/css" media="all">
@import url('../pub/System/SkinTemplates/base.css');
</style>
<style type="text/css" media="all">
@import url('../pub/System/PatternSkinTheme2009/layout.css');
@import url('../pub/System/PatternSkinTheme/layout.css');
@import url('../pub/System/PatternSkinTheme2009/style.css');
@import url('../pub/System/PatternSkinTheme2009/colors.css');
</style>
<style type="text/css" media="all">
@import url('../pub/System/PatternSkinTheme2009/column_left.css');
@import url('../pub/System/PatternSkinTheme2009/variant_twiki.css');
</style><style type="text/css" media="all">
<link rel='stylesheet' href='../pub/System/PatternSkinTheme2009/column_left.css' media='all' type='text/css' />
<link rel='stylesheet' href='../pub/System/PatternSkinTheme2009/variant_twiki.css' media='all' type='text/css' /><style type="text/css" media="all">
/* Styles that are set using variables */
.patternBookView .foswikiTopRow,
.patternWebIndicator a img,
.patternWebIndicator a:hover img {
.patternWebIndicator,
.patternWebIndicator a {
background-color:#D0D0D0;
}
#patternTopBarContents { background-image:url(../pub/System/PatternSkin/header5.gif); background-repeat:repeat-x;}
@ -50,14 +53,8 @@
<style type="text/css" media="all">
@import url("../pub/System/PatternSkin/print.css");
</style>
<!--[if IE]><style type="text/css" media="screen">
pre {
height:1%;
overflow-x:auto;
}
<link rel='stylesheet' href='../pub/System/PatternSkin/print.css' media='all' type='text/css' />
<!--[if IE 7 ]><style type="text/css" media="screen">
.foswikiAttachments,
.foswikiForm,
.foswikiHelp,
@ -79,7 +76,17 @@ pre {
.foswikiFormStep {
height:100%;
}
#foswikiLogin,
#foswikiLogin {
margin-left: 25%;
margin-right: 25%;
}
#foswikiLogin .foswikiFormSteps {
width:auto;
}
#foswikiLogin input[type="text"],
#foswikiLogin input[type="password"] {
width: auto;
}
.patternShadow {
border:10px solid #fff;
margin-top:10px;
@ -87,116 +94,57 @@ pre {
border:2px solid #ccc;
}
</style><![endif]-->
<!--[if gt IE 8 ]><style type="text/css" media="screen">
#foswikiLogin,
.patternShadow {
border:10px solid #fff;
margin-top:10px;
margin-bottom:10px;
box-shadow: 0 0 10px #ccc;
}
</style><![endif]-->
<link rel="stylesheet" href="../pub/System/FootNotePlugin/styles.css" type="text/css" media="all" /><!--FOOTNOTEPLUGIN_LINKCSS-->
<!--[if lte IE 9]>
<![endif]-->
<!--[if gt IE 9]><!-->
<!--<![endif]-->
<!--JQUERYPLUGIN-->
<!--JQUERYPLUGIN::MIGRATE-->
<!--JQUERYPLUGIN::FOSWIKI-->
<!--JQUERYPLUGIN::LIVEQUERY-->
<!--JQUERYPLUGIN::FOSWIKI::PREFERENCES-->
<!--JQUERYPLUGIN::COMMENT-->
<!--JavascriptFiles/foswikiString-->
<!--JavascriptFiles/foswikiForm-->
<!--JavascriptFiles/foswikiPref-->
<!--PatternSkin/pattern--><link class='head FOOTNOTEPLUGIN_LINKCSS' rel="stylesheet" href="../pub/System/FootNotePlugin/styles.css" type="text/css" media="all" /><!--FOOTNOTEPLUGIN_LINKCSS-->
</head>
<body class="foswikiNoJs patternViewPage">
<a name="PageTop"></a><div class="foswikiPage"><div id="patternScreen">
<body class="foswikiNoJs patternViewPage patternPrintPage">
<span id="PageTop"></span><div class="foswikiPage"><div id="patternScreen">
<div id="patternPageShadow">
<div id="patternPage">
<div id="patternWrapper"><div id="patternOuter">
<div id="patternOuter" class="clear">
<div id="patternFloatWrap">
<div id="patternMain"><div id="patternClearHeaderCenter"></div>
<div id="patternMainContents"><div class="patternTop"><span class="patternHomePath foswikiLeft"></span><span class="patternToolBar foswikiRight"><span><a href='MusrFitAcknowledgementsc99a.html?cover=print;cover=print' rel='nofollow' title='Printable version of this topic' accesskey='p'><span class='foswikiAccessKey'>P</span>rint version</a></span><a href="https://intranet.psi.ch/MUSR/MusrFitAcknowledgements?restrictions=on" id="restriction_link"><img src='../pub/System/PsiSkin/lock_open.png' class='lock' height='16' width='23' title='open in PSI - click for more information'/></a></span><div class="foswikiClear"></div></div><div class="foswikiContentHeader">
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
</div><div class="patternContent"><div class="foswikiTopic"><h1><a name="Acknowledgements_45_61_61musrfit_61_61"></a> Acknowledgements - <code><b>musrfit</b></code> </h1>
<div id="patternMain">
<div id="patternMainContents">
<div class="patternContent"><div class="foswikiTopic"> <h1 id="Acknowledgements_45_61_61musrfit_61_61"> Acknowledgements - <code><b>musrfit</b></code> </h1>
<p></p> <dl>
<dt> Bastian M. Wojek </dt><dd> I am very much indebted to <a href="http://www.fsf.org/register_form?referrer=8369" target="_top">BMW</a> for his rigorous testing of <code><a href="MusrFit.html">musrfit</a></code>, his many useful suggestions, contributions, and for the largest part of the <a href="WebHome.html" class="foswikiCurrentWebHomeLink">user manual of <code>musrfit</code></a> which makes it accessible to a broader audience! Many thanks Bastian!
</dd></dl>
<p></p>
-- <a href="http://www.fsf.org/register_form?referrer=8369" target="_top">BMW</a> &amp; <a href="http://lmu.web.psi.ch/lem/group.html" target="_top">AS</a> </div>
<div class="foswikiContentFooter"></div><!-- -->
<!-- -->
<!-- -->
<!-- -->
<span class='foswikiClear'></span>
<div class="foswikiMetaData foswikiHideOnPrint foswikiMetaDataNotAllowed">
<div class="jqTabPane jqTabPanePlain {select:'1', autoMaxExpand:false, animate:true, minHeight:230}">
<!-- -->
<!-- -->
<!-- --><!-- -->
<!-- -->
<!-- --><!-- -->
<!-- --><!-- -->
<!-- -->
</div><!-- //ENDTABPANE -->
</div>
<!-- -->
<!-- -->
<div class="foswikiFormSteps">
<a name="topic-actions"></a>
<div class="patternTopicActions foswikiFormStep">
<span class="patternActionButtons"><span><a href='https://intranet.psi.ch/wiki/bin/edit/MUSR/MusrFitAcknowledgements?t=1418910330' rel='nofollow' title='Edit this topic text' accesskey='e'><span class='foswikiAccessKey'>E</span>dit</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span class="foswikiRequiresChangePermission"><a href='https://intranet.psi.ch/wiki/bin/attach/MUSR/MusrFitAcknowledgements' rel='nofollow' title='Attach an image or document to this topic' accesskey='a'><span class='foswikiAccessKey'>A</span>ttach</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span><a href='MusrFitAcknowledgementsc99a.html?cover=print;cover=print' rel='nofollow' title='Printable version of this topic' accesskey='p'><span class='foswikiAccessKey'>P</span>rint version</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span><a href='https://intranet.psi.ch/print/php/pdf.php?url=MUSR/MusrFitAcknowledgements?cover=print' title='PDF version of this topic'>PDF</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span><span class="foswikiRequiresChangePermission"><a href='https://intranet.psi.ch/wiki/bin/oops/MUSR/MusrFitAcknowledgements?template=oopshistory' rel='nofollow' title='View total topic history' accesskey='h'><span class='foswikiAccessKey'>H</span>istory</a></span>: r4&nbsp;<a rel="nofollow" href="https://intranet.psi.ch/wiki/bin/compare/MUSR/MusrFitAcknowledgements?rev1=3;rev2=4">&lt;</a>&nbsp;<a rel="nofollow" href="https://intranet.psi.ch/MUSR/MusrFitAcknowledgements?rev=3">r3</a>&nbsp;<a rel="nofollow" href="https://intranet.psi.ch/wiki/bin/compare/MUSR/MusrFitAcknowledgements?rev1=2;rev2=3">&lt;</a>&nbsp;<a rel="nofollow" href="https://intranet.psi.ch/MUSR/MusrFitAcknowledgements?rev=2">r2</a>&nbsp;<a rel="nofollow" href="https://intranet.psi.ch/wiki/bin/compare/MUSR/MusrFitAcknowledgements?rev1=1;rev2=2">&lt;</a>&nbsp;<a rel="nofollow" href="https://intranet.psi.ch/MUSR/MusrFitAcknowledgements?rev=1">r1</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span><a href='https://intranet.psi.ch/MUSR/MusrFitAcknowledgements?template=backlinksweb' rel='nofollow' title='Search the MUSR Web for topics that link to here' accesskey='b'><span class='foswikiAccessKey'>B</span>acklinks</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span><a href='https://intranet.psi.ch/MUSR/MusrFitAcknowledgements?raw=on' rel='nofollow' title='View without formatting' accesskey='v'><span class='foswikiAccessKey'>V</span>iew wiki text</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span><a href='https://intranet.psi.ch/MUSR/MusrFitAcknowledgements?refresh=on' title='Refresh images and LaTeX charts'>Refresh</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span><a href='https://intranet.psi.ch/MUSR/MusrFitAcknowledgements?template=more&amp;maxrev=4&amp;currrev=4' rel='nofollow' title='Delete or rename this topic; set parent topic; view and compare revisions' accesskey='m'><span class='foswikiAccessKey'>M</span>ore topic actions</a></span></span>
</div>
</div></div><div class="patternInfo"><span class="patternRevInfo">Topic revision: r4 - 10 Jul 2011, wojek</span></div>
</div>
</div><div id="patternSideBar"><div id="patternClearHeaderLeft"></div>
<div id="patternSideBarContents">
<div class="patternLeftBarPersonal">
<ul><li class="patternLogIn"><a href="https://intranet.psi.ch/wiki/bin/logon/MUSR/MusrFitAcknowledgements">Log In</a> or <a href="https://intranet.psi.ch/System/UserRegistration">Register</a></li></ul>
</div>
<dt> Bastian M. Wojek </dt><dd> I am very much indebted to <a href="http://www.fsf.org/register_form?referrer=8369">BMW</a> for his rigorous testing of <code><a href="MusrFit.html">musrfit</a></code>, his many useful suggestions, contributions, and for the largest part of the <a class="foswikiCurrentWebHomeLink" href="WebHome.html">user manual of <code>musrfit</code></a> which makes it accessible to a broader audience! Many thanks Bastian!
</dd></dl> </div>
<p></p>
<p></p>
<b>PSI Webs</b> <ul>
<li> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/psi.png" width="16" height="16" alt="psi" /></span> <a href="https://intranet.psi.ch/Main/WebHome">Main</a>
</li> <li> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/psi.png" width="16" height="16" alt="psi" /></span> <a href="https://intranet.psi.ch/Main/WebList">weitere Webs</a>
</li></ul>
<hr />
<b>System Webs</b> <ul>
<li> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/foswiki.png" width="16" height="16" alt="foswiki" /></span> <a href="https://intranet.psi.ch/Sandbox/WebHome">Sandbox</a>
</li> <li> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/foswiki.png" width="16" height="16" alt="foswiki" /></span> <a href="https://intranet.psi.ch/System/WebHome">Documentation</a>
</li></ul>
<hr /> <ul>
<li> <a href="https://intranet.psi.ch/MUSR/WebCreateNewTopic?parent=MusrFitAcknowledgements" target="_top"><span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/newtopic.png" width="16" height="16" alt="newtopic" /></span> Create New Topic</a>
</li> <li> <a href="WebTopicList.html"> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/index.png" width="16" height="16" alt="index" /></span> Show All Topics</a>
</li> <li> <a href="WebSearch.html"> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/searchtopic.png" width="16" height="16" alt="searchtopic" /></span> Search in Topics</a>
</li> <li> <a href="WebChanges.html"> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/changes.png" width="16" height="16" alt="changes" /></span> Recent Changes</a>
</li> <li> <a href="WebNotify.html"> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/notify.png" width="16" height="16" alt="notify" /></span> Define Notifications</a>
</li></ul>
<p></p>
</div></div>
</div>
<div class="clear">&nbsp;</div>
</div></div><div id="patternTopBar">
<div id="patternTopBarContentsWrapper">
<div id="patternTopBarContents"><table border="0" cellpadding="0" cellspacing="0" style="width:100%" summary="">
<tr><td valign="middle"><span id="foswikiLogo" class="foswikiImage"><a href="WebHome.html"><img src="../pub/Main/WebPreferences/psi_logo_150.gif" border="0" alt="Paul Scherrer Institut" style="border:none; margin: -8px 0 0 15px;" /></a></span></td>
<td align="right" valign="top" class="patternMetaMenu" id="psimetanav">
<p></p> <ul>
<li> <form name="quickSearchForm" id="solrSearchForm" action="https://intranet.psi.ch/PSI/Search"><input type="hidden" name="filter" value="web:MUSR" /><input type="text" class="foswikiInputField" id="quickSearchBox" name="search" value="" size="18" /><input type="hidden" name="scope" value="all" /><!-- <input type="hidden" name="web" value="MUSR" /> --> <noscript>&nbsp;<input type="submit" size="5" class="foswikiButton" name="submit" value="Search" />&nbsp;</noscript><input type="image" class="searchsubmit" alt="Search" value="Suche..." name="sa" src="../webbase/img/search.png"> </form>
</li> <li> <form name="changeLanguage" action="https://intranet.psi.ch/wiki/bin/oops/MUSR/MusrFitAcknowledgements" method="get"> <input type="hidden" name="redirectto" value="/MUSR/MusrFitAcknowledgements?cover=print" /> <select name="language" class="foswikiSelect" onchange="document.changeLanguage.submit()"> <option value="de">Deutsch</option> <option selected="selected" value="en">English</option></select> <input type="hidden" name="template" value="oopslanguagechanged" /> <noscript> <input class="foswikiButton" type="submit" value="Change language" /> </noscript> </form>
</li></ul>
<p></p>
<p></p>
<p></p>
</td></tr></table>
</div><!--/patternTopBarContents-->
</div><!--/patternTopBarContentsWrapper-->
</div><!-- /patternTopBar--><div id="patternBottomBar"><div id="patternBottomBarContents"><div id="patternWebBottomBar">Ideas, requests, problems regarding <a href="https://intranet.psi.ch/Main/WebHome">PSI Wiki</a>? <a href="mailto&#58;psi&#46;intranet&#64;psi&#46;ch&#63;subject&#61;PSI&#32;Wiki&#37;20Feedback&#37;20on&#37;20MUSR&#46;MusrFitAcknowledgements">Send feedback</a></div></div></div>
<div class="patternInfo">This topic: MUSR<span class='foswikiSeparator'>&nbsp;&gt;&nbsp;</span><a href="WebHome.html" class="foswikiCurrentWebHomeLink">WebHome</a> &gt; <a href="MusrFit.html">MusrFit</a><span class='foswikiSeparator'>&nbsp;&gt;&nbsp;</span>MusrFitAcknowledgements <br />
Topic revision: <span class='patternRevInfo'>03 Jul 2015, suter_a</span></div>
</div>
</div>
</div>
</div></body>
<!-- Mirrored from intranet.psi.ch/MUSR/MusrFitAcknowledgements?cover=print by HTTrack Website Copier/3.x [XR&CO'2010], Thu, 18 Dec 2014 13:46:12 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=iso-8859-1"><!-- /Added by HTTrack -->
</div><div id="patternBottomBar"><div id="patternBottomBarContents"><div id="patternWebBottomBar"><span class="foswikiRight"> <a href="http://foswiki.org/"><img src="../pub/System/ProjectLogos/foswiki-badge.png" alt="This site is powered by Foswiki" title="This site is powered by Foswiki" /></a></span>Copyright &copy; by the contributing authors. All material on this collaboration platform is the property of the contributing authors. <br /> Ideas, requests, problems regarding PSI Wiki? <a href='mailto:andre.lichtsteiner@psi.ch?subject=PSI Wiki %20Feedback%20on%20MUSR.MusrFitAcknowledgements'>Send feedback</a></div></div></div>
</div>
</div>
</div>
</div></div><!-- /endWrap -->
<p></p>
<!-- Piwik -->
<noscript><p><img src="../piwik/piwikf832.gif?idsite=7" style="border:0" alt=""></p></noscript>
<!-- End Piwik Tag -->
</body>
<!-- Mirrored from intranet.psi.ch/MUSR/MusrFitAcknowledgements?cover=print by HTTrack Website Copier/3.x [XR&CO'2010], Fri, 22 Jan 2016 15:12:23 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=utf-8"><!-- /Added by HTTrack -->
</html>
<p></p>
<p></p>
<p></p>
<p></p>

File diff suppressed because it is too large Load Diff

View File

@ -1,35 +1,72 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en_US" lang="en_US">
<!DOCTYPE html><html lang="en">
<!-- Mirrored from intranet.psi.ch/MUSR/MusrGui?cover=print by HTTrack Website Copier/3.x [XR&CO'2010], Thu, 18 Dec 2014 13:46:06 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=iso-8859-1"><!-- /Added by HTTrack -->
<!-- Mirrored from intranet.psi.ch/MUSR/MusrGui?cover=print by HTTrack Website Copier/3.x [XR&CO'2010], Fri, 22 Jan 2016 15:12:20 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=utf-8"><!-- /Added by HTTrack -->
<head>
<link rel="stylesheet" href="../pub/System/HeadlinesPlugin/style.css" type="text/css" media="all" />
<title> MUSR :: MusrGui</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1.5, user-scalable=yes" />
<meta name="mobile-web-app-capable" content="yes" />
<meta name="mobile-web-app-status-bar-style" content="black-translucent" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
<link rel="icon" href="../pub/Main/WebPreferences/favicon.ico" type="image/x-icon" />
<link rel="shortcut icon" href="../pub/Main/WebPreferences/favicon.ico" type="image/x-icon" />
<link rel="alternate" href="https://intranet.psi.ch/wiki/bin/edit/MUSR/MusrGui?t=1418910327" type="application/x-wiki" title="edit MusrGui" />
<link rel="alternate" href="https://intranet.psi.ch/wiki/bin/edit/MUSR/MusrGui?t=1453475520" type="application/x-wiki" title="edit MusrGui" />
<meta name="TEXT_NUM_TOPICS" content="Number of topics:" />
<meta name="TEXT_MODIFY_SEARCH" content="Modify search" />
<meta name="robots" content="noindex" /><link rel="alternate" type="application/rss+xml" title="RSS Feed" href="WebRsshtml.html" />
<base /><!--[if IE]></base><![endif]-->
<link rel='stylesheet' href='../pub/System/ImagePlugin/style.css' media='all' />
<base /><!--[if IE]></base><![endif]--><style class='head TABLEPLUGIN_default' type="text/css" media="all">
body .foswikiTable {border-width:1px}
body .foswikiTable .tableSortIcon img {padding-left:.3em; vertical-align:text-bottom}
body .foswikiTable td {border-style:solid none; vertical-align:top}
body .foswikiTable th {border-style:none solid; vertical-align:top; background-color:#d6d3cf; color:#000000}
body .foswikiTable th a:link {color:#000000}
body .foswikiTable th a:visited {color:#000000}
body .foswikiTable th a:hover {color:#000000; background-color:#d6d3cf}
body .foswikiTable th.foswikiSortedCol {background-color:#c4c1ba}
body .foswikiTable tr.foswikiTableRowdataBg0 td {background-color:#ffffff}
body .foswikiTable tr.foswikiTableRowdataBg0 td.foswikiSortedCol {background-color:#f7f7f6}
body .foswikiTable tr.foswikiTableRowdataBg1 td {background-color:#f7f7f6}
body .foswikiTable tr.foswikiTableRowdataBg1 td.foswikiSortedCol {background-color:#f0f0ee}
</style><!--TABLEPLUGIN_default-->
<link class='head FOOTNOTEPLUGIN_LINKCSS' rel="stylesheet" href="../pub/System/FootNotePlugin/styles.css" type="text/css" media="all" /><!--FOOTNOTEPLUGIN_LINKCSS-->
<link class='head IMAGEPLUGIN' rel="stylesheet" href="../pub/System/ImagePlugin/style.css" type="text/css" media="all" /><!--IMAGEPLUGIN-->
<link class='head SMILIESPLUGIN' rel='stylesheet' href='../pub/System/SmiliesPlugin/smilies.css' type='text/css' media='all' /><!--SMILIESPLUGIN-->
<link class='head JQUERYPLUGIN::TWISTY' rel='stylesheet' href='../pub/System/TwistyPlugin/twisty327a.css?version=1.6.0' type='text/css' media='all' /><!--JQUERYPLUGIN::TWISTY: requires= missing ids: JavascriptFiles/foswikiPref-->
<link class='head CLASSIFICATIONPLUGIN::CSS' rel="stylesheet" href="../pub/System/ClassificationPlugin/styles.css" media="all" /><!--CLASSIFICATIONPLUGIN::CSS-->
<link class='head JQUERYPLUGIN::COMMENT' rel='stylesheet' href='../pub/System/CommentPlugin/commentf5b6.css?version=3.0' type='text/css' media='all' /><!--JQUERYPLUGIN::COMMENT-->
<style class='head TABLEPLUGIN_specific' type="text/css" media="all">
body .foswikiTable#tableMusrGui1 td {vertical-align:middle; vertical-align:top}
body .foswikiTable#tableMusrGui1 td.foswikiTableCol0 {text-align:left}
body .foswikiTable#tableMusrGui1 td.foswikiTableCol1 {text-align:left}
body .foswikiTable#tableMusrGui1 td.foswikiTableCol2 {text-align:left}
body .foswikiTable#tableMusrGui1 td.foswikiTableCol3 {text-align:right}
body .foswikiTable#tableMusrGui1 td.foswikiTableCol4 {text-align:left}
body .foswikiTable#tableMusrGui1 td.foswikiTableCol5 {text-align:left}
body .foswikiTable#tableMusrGui1 td.foswikiTableCol6 {text-align:left}
body .foswikiTable#tableMusrGui1 td.foswikiTableCol7 {text-align:left}
body .foswikiTable#tableMusrGui1 th {vertical-align:middle; background-color:#ffffff; color:#0066cc; text-align:left}
body .foswikiTable#tableMusrGui1 th a:link {color:#0066cc}
body .foswikiTable#tableMusrGui1 th a:visited {color:#0066cc}
body .foswikiTable#tableMusrGui1 th a:hover {color:#0066cc; background-color:#ffffff}
body .foswikiTable#tableMusrGui1 th.foswikiSortedCol {background-color:#eeeeee}
body .foswikiTable#tableMusrGui1 tr.foswikiTableRowdataBg0 td {background-color:#ffffff}
body .foswikiTable#tableMusrGui1 tr.foswikiTableRowdataBg0 td.foswikiSortedCol {background-color:#f5f5f5}
</style><!--TABLEPLUGIN_specific--><link rel='stylesheet' href='../pub/System/SkinTemplates/base.css' media='all' type='text/css' />
<style type="text/css" media="all">
@import url('../pub/System/SkinTemplates/base.css');
</style>
<style type="text/css" media="all">
@import url('../pub/System/PatternSkinTheme2009/layout.css');
@import url('../pub/System/PatternSkinTheme/layout.css');
@import url('../pub/System/PatternSkinTheme2009/style.css');
@import url('../pub/System/PatternSkinTheme2009/colors.css');
</style>
<style type="text/css" media="all">
@import url('../pub/System/PatternSkinTheme2009/column_left.css');
@import url('../pub/System/PatternSkinTheme2009/variant_twiki.css');
</style><style type="text/css" media="all">
<link rel='stylesheet' href='../pub/System/PatternSkinTheme2009/column_left.css' media='all' type='text/css' />
<link rel='stylesheet' href='../pub/System/PatternSkinTheme2009/variant_twiki.css' media='all' type='text/css' /><style type="text/css" media="all">
/* Styles that are set using variables */
.patternBookView .foswikiTopRow,
.patternWebIndicator a img,
.patternWebIndicator a:hover img {
.patternWebIndicator,
.patternWebIndicator a {
background-color:#D0D0D0;
}
#patternTopBarContents { background-image:url(../pub/System/PatternSkin/header5.gif); background-repeat:repeat-x;}
@ -50,14 +87,8 @@
<style type="text/css" media="all">
@import url("../pub/System/PatternSkin/print.css");
</style>
<!--[if IE]><style type="text/css" media="screen">
pre {
height:1%;
overflow-x:auto;
}
<link rel='stylesheet' href='../pub/System/PatternSkin/print.css' media='all' type='text/css' />
<!--[if IE 7 ]><style type="text/css" media="screen">
.foswikiAttachments,
.foswikiForm,
.foswikiHelp,
@ -79,7 +110,17 @@ pre {
.foswikiFormStep {
height:100%;
}
#foswikiLogin,
#foswikiLogin {
margin-left: 25%;
margin-right: 25%;
}
#foswikiLogin .foswikiFormSteps {
width:auto;
}
#foswikiLogin input[type="text"],
#foswikiLogin input[type="password"] {
width: auto;
}
.patternShadow {
border:10px solid #fff;
margin-top:10px;
@ -87,43 +128,44 @@ pre {
border:2px solid #ccc;
}
</style><![endif]-->
<!--[if gt IE 8 ]><style type="text/css" media="screen">
#foswikiLogin,
.patternShadow {
border:10px solid #fff;
margin-top:10px;
margin-bottom:10px;
box-shadow: 0 0 10px #ccc;
}
</style><![endif]-->
<link rel="stylesheet" href="../pub/System/FootNotePlugin/styles.css" type="text/css" media="all" /><!--FOOTNOTEPLUGIN_LINKCSS-->
<!--[if lte IE 9]>
<![endif]-->
<!--[if gt IE 9]><!-->
<!--<![endif]-->
<!--JQUERYPLUGIN-->
<!--JQUERYPLUGIN::MIGRATE-->
<!--JQUERYPLUGIN::LIVEQUERY-->
<!--JQUERYPLUGIN::FOSWIKI-->
<!--JQUERYPLUGIN::COMMENT-->
<!--JQUERYPLUGIN::FOSWIKI::PREFERENCES-->
<!--JavascriptFiles/foswikiString-->
<!--JavascriptFiles/foswikiPref-->
<!--JQUERYPLUGIN::TWISTY-->
<!--JavascriptFiles/foswikiForm-->
<!--PatternSkin/pattern-->
<!--JQUERYPLUGIN::METADATA-->
<!--JQUERYPLUGIN::CHILI--><link class='head FOOTNOTEPLUGIN_LINKCSS' rel="stylesheet" href="../pub/System/FootNotePlugin/styles.css" type="text/css" media="all" /><!--FOOTNOTEPLUGIN_LINKCSS-->
</head>
<body class="foswikiNoJs patternViewPage">
<a name="PageTop"></a><div class="foswikiPage"><div id="patternScreen">
<body class="foswikiNoJs patternViewPage patternPrintPage">
<span id="PageTop"></span><div class="foswikiPage"><div id="patternScreen">
<div id="patternPageShadow">
<div id="patternPage">
<div id="patternWrapper"><div id="patternOuter">
<div id="patternOuter" class="clear">
<div id="patternFloatWrap">
<div id="patternMain"><div id="patternClearHeaderCenter"></div>
<div id="patternMainContents"><div class="patternTop"><span class="patternHomePath foswikiLeft"></span><span class="patternToolBar foswikiRight"><span><a href='MusrGuic99a.html?cover=print;cover=print' rel='nofollow' title='Printable version of this topic' accesskey='p'><span class='foswikiAccessKey'>P</span>rint version</a></span><a href="https://intranet.psi.ch/MUSR/MusrGui?restrictions=on" id="restriction_link"><img src='../pub/System/PsiSkin/lock_open.png' class='lock' height='16' width='23' title='open in PSI - click for more information'/></a></span><div class="foswikiClear"></div></div><div class="foswikiContentHeader">
<div id="patternMain">
<div id="patternMainContents">
<div class="patternContent"><div class="foswikiTopic">
<h1 id="A_61_61musredit_47_40musrgui_41_61_61"> <code><b>musredit / (musrgui)</b></code> </h1>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
</div><div class="patternContent"><div class="foswikiTopic">
<h1><a name="A_61_61musrgui_47_musredit_61_61"></a> <code><b>musrgui / musredit</b></code> </h1>
<p></p>
<a name="foswikiTOC"></a><div class="foswikiToc"> <ul>
<li> <a href="MusrGui.html#A_61_61musrgui_47_musredit_61_61"> musrgui / musredit </a>
<div id="foswikiTOC" class="foswikiToc"> <ul>
<li> <a href="MusrGui.html#A_61_61musredit_47_40musrgui_41_61_61"> musredit / (musrgui) </a>
</li> <li> <a href="MusrGui.html#A_1_Introduction"> 1 Introduction </a>
</li> <li> <a href="MusrGui.html#A_2_Available_Executables_44_Configuration_Files_and_their_Basic_Usage"> 2 Available Executables, Configuration Files and their Basic Usage </a> <ul>
<li> <a href="MusrGui.html#A_2.1_musrgui_47_musredit"> 2.1 musrgui / musredit </a>
</li> <li> <a href="MusrGui.html#A_2.2_musrgui_startup.xml_47_musredit_startup.xml"> 2.2 musrgui_startup.xml / musredit_startup.xml </a>
<li> <a href="MusrGui.html#A_2.1_musredit_47_40musrgui_41"> 2.1 musredit / (musrgui) </a>
</li> <li> <a href="MusrGui.html#A_2.2_musredit_startup.xml_47_musrgui_startup.xml"> 2.2 musredit_startup.xml / musrgui_startup.xml </a>
</li></ul>
</li> <li> <a href="MusrGui.html#A_3_61_61musrfit_61_61_Features"> 3 musrfit Features </a>
</li> <li> <a href="MusrGui.html#A_4_Editor_Features"> 4 Editor Features </a>
@ -131,15 +173,15 @@ pre {
</li></ul>
</div>
<p></p>
<h1><a name="A_1_Introduction"></a> 1 Introduction </h1>
<code>musrgui</code> and <code>musredit</code> are editors which also provide a graphical user interface to the programs contained in the <code><a href="MusrFit.html">musrfit</a></code> suite and are intended to help the user handle <code>musrfit</code> msr files. They are implemented in <code>C++</code> and use the <a href="http://qt.nokia.com/" target="_top">Qt</a> framework. Principally, <code>musrgui</code> and <code>musredit</code> are doing the same, but are based on different Qt versions. <code>musrgui</code> is based on Qt 3.x and will only be maintained on bug-fixing level since the Qt 3.x licensing is less straight forward than the Qt 4.x one. <code>musredit</code> is based on Qt 4.6 (or above) and this is the program which will be developed further.<br>
<h1 id="A_1_Introduction"> 1 Introduction </h1>
<code>musredit</code> and <code>musrgui</code> are editors which also provide a graphical user interface to the programs contained in the <code><a href="MusrFit.html">musrfit</a></code> suite and are intended to help the user handle <code>musrfit</code> msr files. They are implemented in <code>C++</code> and use the <a href="http://qt.nokia.com/">Qt</a> framework. Principally, <code>musrgui</code> and <code>musredit</code> are doing the same, but are based on different Qt versions. <code>musrgui</code> is based on Qt 3.x and will only be maintained on bug-fixing level since the Qt 3.x licensing is less straight forward than the Qt 4.x one. <code>musredit</code> is based on Qt 4.6 (or above) and this is the program which will be developed further.<br>
On this documentation page only the features related to <code>musrfit</code> are described&mdash;the basic editor functions which should be self-explanatory are not.
<strong><span class='foswikiRedFG'>Before going on using <code>musrgui</code> / <code>musredit</code> it is strongly recommended to read the <a href="MusrFit.html">manual</a> of <code>musrfit</code> first!</span></strong>
<p></p>
<h1><a name="A_2_Available_Executables_44_Configuration_Files_and_their_Basic_Usage"></a> 2 Available Executables, Configuration Files and their Basic Usage </h1>
<a name="MusrEdit"></a>
<h2><a name="A_2.1_musrgui_47_musredit"></a> 2.1 musrgui / musredit </h2>
<code>musrgui</code> / <code>musredit</code> are the editor executables. If called from within a shell they accept a few optional parameters: <dl>
<h1 id="A_2_Available_Executables_44_Configuration_Files_and_their_Basic_Usage"> 2 Available Executables, Configuration Files and their Basic Usage </h1>
<span id="MusrEdit"></span>
<h2 id="A_2.1_musredit_47_40musrgui_41"> 2.1 musredit / (musrgui) </h2>
<code>musredit</code> / <code>musrgui</code> are the editor executables. If called from within a shell they accept a few optional parameters: <dl>
<dt> &lt;msr_files&gt; </dt><dd> file names of the msr files that should be opened in separate editor tabs on startup of <code>musrgui</code> / <code>musredit</code>.
</dd> <dt> --help </dt><dd> displays a small help notice in the shell explaining the basic usage of the program
</dd> <dt> --version </dt><dd> prints the version number of <code>musrgui</code> / <code>musredit</code>
@ -147,11 +189,11 @@ On this documentation page only the features related to <code>musrfit</code> are
<p></p>
If called without any parameters an empty editor window opens.
<p></p>
<a name="MusreditStartupXml"></a>
<h2><a name="A_2.2_musrgui_startup.xml_47_musredit_startup.xml"></a> 2.2 musrgui_startup.xml / musredit_startup.xml </h2>
<code><b>musrgui_startup.xml</b></code> / <code><b>musredit_startup.xml</b></code> are configuration files located at the <code>musrgui</code> / <code>musredit</code> binary path. It is also possible to have another version of this file in the working directory which then will be used!
<span id="MusreditStartupXml"></span>
<h2 id="A_2.2_musredit_startup.xml_47_musrgui_startup.xml"> 2.2 musredit_startup.xml / musrgui_startup.xml </h2>
<code><b>musredit_startup.xml</b></code> / <code><b>musrgui_startup.xml</b></code> are configuration files located at the <code>musredit</code> / <code>musrgui</code> binary path. It is also possible to have another version of this file in the working directory which then will be used!
<p></p>
In this file the following XML tags are allowed to define settings and might proof useful for all users of <code>musrgui</code> / <code>musredit</code>: <dl>
In this file the following XML tags are allowed to define settings and might proof useful for all users of <code>musredit</code> / <code>musrgui</code>: <dl>
<dt> &lt;general&gt;&lt;/general&gt; </dt><dd> set the default paths to executables and files in this environment <dl>
<dt> &lt;exec_path&gt;PATH_TO_EXEC&lt;/exec_path&gt; </dt><dd> set the path <strong>PATH_TO_EXEC</strong> where the executables <code>musrfit</code>, <code>musrview</code>, <code>musrt0</code>, etc. can be found (inside the &lt;general&gt; environment)
</dd> <dt> &lt;default_save_path&gt;SAV_PATH&lt;/default_save_path&gt; </dt><dd> specify the path <strong>SAV_PATH</strong> where <code>musrgui</code> / <code>musredit</code> point by default when opening and saving msr files (inside the &lt;general&gt; environment)
@ -188,13 +230,13 @@ Additionally, there are some settings defined in this XML file which should be o
<dt> &lt;help_section&gt;&lt;/help_section&gt; </dt><dd> define various help messages in this environment <dl>
<dt> &lt;help_main&gt;HELP TEXT&lt;/help_main&gt; </dt><dd> set the main help message <strong>HELP TEXT</strong> here (inside a &lt;help_section&gt; environment)
</dd></dl>
</dd> <dt> &lt;func_pixmap_path&gt;PIX_PATH&lt;/func_pixmap_path&gt; </dt><dd> set the path <strong>PIX_PATH</strong> to <img alt="LaTeX_logo.png" src="../pub/MUSR/MusrGui/LaTeX_logo.png" /> pixmaps visualizing the various supported theory functions
</dd> <dt> &lt;func_pixmap_path&gt;PIX_PATH&lt;/func_pixmap_path&gt; </dt><dd> set the path <strong>PIX_PATH</strong> to <img src="../pub/MUSR/MusrGui/LaTeX_logo.png" alt="LaTeX_logo.png" /> pixmaps visualizing the various supported theory functions
</dd> <dt> &lt;theory_functions&gt;&lt;/theory_functions&gt; </dt><dd> define the functions for a msr file's THEORY block <a href="MusrFit.html#TheoryTable">according to the correct syntax</a> in this environment <dl>
<dt> &lt;func&gt;&lt;/func&gt; </dt><dd> specify a function here (inside a &lt;theory_functions&gt; environment) <dl>
<dt> &lt;name&gt;NAME&lt;/name&gt; </dt><dd> the <strong>NAME</strong> of the function in the msr file (inside a &lt;func&gt; environment)
</dd> <dt> &lt;comment&gt;COMMENT&lt;/comment&gt; </dt><dd> description of the used parameters (inside a &lt;func&gt; environment)
</dd> <dt> &lt;label&gt;LABEL&lt;/label&gt; </dt><dd> <strong>LABEL</strong> of the function in the <code>musrgui</code> / <code>musredit</code> menu (inside a &lt;func&gt; environment)
</dd> <dt> &lt;pixmap&gt;PIXMAP&lt;/pixmap&gt; </dt><dd> <img alt="LaTeX_logo.png" src="../pub/MUSR/MusrGui/LaTeX_logo.png" /> picture used to describe the function and stored in the <strong>PIX_PATH</strong> (inside a &lt;func&gt; environment)
</dd> <dt> &lt;pixmap&gt;PIXMAP&lt;/pixmap&gt; </dt><dd> <img src="../pub/MUSR/MusrGui/LaTeX_logo.png" alt="LaTeX_logo.png" /> picture used to describe the function and stored in the <strong>PIX_PATH</strong> (inside a &lt;func&gt; environment)
</dd> <dt> &lt;params&gt;N&lt;/params&gt; </dt><dd> number of parameters <strong>N</strong> used by the function (inside a &lt;func&gt; environment)
</dd></dl>
</dd></dl>
@ -264,143 +306,94 @@ An example of the <code><b>musrgui_startup.xml</b></code> looks like:
&#60;/musrgui&#95;startup&#62;
</pre>
<p></p>
<a name="MusrfitFeatures"></a>
<h1><a name="A_3_61_61musrfit_61_61_Features"></a> 3 <code><b>musrfit</b></code> Features </h1>
<span id="MusrfitFeatures"></span>
<h1 id="A_3_61_61musrfit_61_61_Features"> 3 <code><b>musrfit</b></code> Features </h1>
The features of <code>musrfit</code> which can be accessed by the graphical front ends <code>musrgui</code> / <code>musredit</code> are described in the following. All functions can either be called by choosing them from the MusrFit menu, by clicking the respective button in the MusrFit bar, or by using a keyboard shortcut.
<p></p> <dl>
<dt> <img alt="musrasym.png" src="../pub/MUSR/MusrGui/musrasym.png" /> Asymmetry Default (Alt+a) </dt><dd> Generate a full msr file suitable for the <a href="MusrFit.html#FitTypes">fit type</a> <strong>2</strong> of <code>musrfit</code> from defaults. Calling this function opens a window where the relative path and file name to a data file as well as the file format that should be used have to be specified. For instance if the data file <code><b>/path-to-datadir/2007/lem07_his_8472.root</b></code> should be used and <code><b>/path-to-datadir</b></code> is on the path where <code>musrfit</code> <a href="MusrFit.html#PathToDataFiles">looks for data files</a> then the file name would be <code><b>2007/lem07_his_8472</b></code> and the file format either <strong>ROOT-NPP</strong> or <strong>ROOT-PPC</strong>.
</dd></dl>
<p></p> <dl>
<dt> <img alt="musrsinglehisto.png" src="../pub/MUSR/MusrGui/musrsinglehisto.png" /> Single-Histogram Default (Alt+h) </dt><dd> Generate a full msr file suitable for the <a href="MusrFit.html#FitTypes">fit type</a> <strong>0</strong> of <code>musrfit</code> from defaults. Calling this function opens a window where the relative path and file name to a data file as well as the file format that should be used have to be specified. For instance if the data file <code><b>/path-to-datadir/d2007/deltat_pta_gps_8472.bin</b></code> should be used and <code><b>/path-to-datadir</b></code> is on the path where <code>musrfit</code> <a href="MusrFit.html#PathToDataFiles">looks for data files</a> then the file name would be <code><b>d2007/deltat_pta_gps_8472</b></code> and the file format <strong>PSI-BIN</strong>.
</dd></dl>
<p></p> <dl>
<dt> <img alt="musrcalcchisq.png" src="../pub/MUSR/MusrGui/musrcalcchisq.png" /> Calculate Chisq (Alt+c) </dt><dd> <pre class="bash">musrfit &#60;msr&#95;file&#62; --chisq-only</pre> is called for the <strong>&lt;msr_file&gt;</strong> selected in the editor. For further information refer to the <a href="MusrFit.html#MusrFit">manual</a> of <code>musrfit</code>.
</dd></dl>
<p></p> <dl>
<dt> <img alt="musrfit.png" src="../pub/MUSR/MusrGui/musrfit.png" /> Fit (Alt+f) </dt><dd> <pre class="bash">musrfit &#60;msr&#95;file&#62; &#91;optional parameters]</pre> is called for the <strong>&lt;msr_file&gt;</strong> selected in the editor. The optional parameters may be chosen under <a href="#MusrPrefs" class="foswikiCurrentTopicLink">Preferences</a>. For further information refer to the <a href="MusrFit.html#MusrFit">manual</a> of <code>musrfit</code>.
</dd></dl>
<p></p> <dl>
<dt> <img alt="musrswap.png" src="../pub/MUSR/MusrGui/musrswap.png" /> Swap Msr &#8596; Mlog (Alt+s) </dt><dd> Swap the msr and mlog files. E.g., for a file called <code><b>8472_zf.msr</b></code>, this is copied to <code><b>8472_zf.mlog</b></code> and vice versa.
</dd></dl>
<p></p> <dl>
<dt> <img alt="musrmsr2data.png" src="../pub/MUSR/MusrGui/musrmsr2data.png" /> Msr2data (Alt+m) </dt><dd> Opens a graphical interface to the <code>msr2data</code> program described in detail in its own <a href="Msr2Data.html#MusrGuiInterface">manual</a>.
</dd></dl>
<p></p> <dl>
<dt> <img alt="musrview.png" src="../pub/MUSR/MusrGui/musrview.png" /> View (Alt+v) </dt><dd> <pre class="bash">musrview &#60;msr&#95;file&#62;</pre> is called for the <strong>&lt;msr_file&gt;</strong> selected in the editor. For further information refer to the <a href="MusrFit.html#MusrView">manual</a> of <code>musrfit</code>.
</dd></dl>
<p></p> <dl>
<dt> <img alt="musrt0.png" src="../pub/MUSR/MusrGui/musrt0.png" /> T0 (Alt+t) </dt><dd> <pre class="bash">musrt0 &#60;msr&#95;file&#62;</pre> is called for the <strong>&lt;msr_file&gt;</strong> selected in the editor. For further information refer to the <a href="MusrFit.html#MusrT0">manual</a> of <code>musrfit</code>.
</dd></dl>
<p></p>
<a name="MusrPrefs"></a> <dl>
<dt> <img alt="musrprefs.png" src="../pub/MUSR/MusrGui/musrprefs.png" /> Preferences (Alt+p) </dt><dd> Opens a window in which the optional parameters that should be passed to <code>musrfit</code> can be chosen. These options are <code><b>--keep-mn2-output</b></code>, <code><b>--dump ascii</b></code>, <code><b>--dump root</b></code>, and <code><b>--title-from-data-file</b></code>. For further information refer to the <a href="MusrFit.html#MusrFit">manual</a> of <code>musrfit</code>. Additionally, the access to <code>musrt0</code> can be enabled temporarily.
</dd></dl>
<p></p> <dl>
<dt> <img alt="musrdump.png" src="../pub/MUSR/MusrGui/musrdump.png" /> Dump Header </dt><dd> Opens a file dialog which allows to select a &mu;SR data file. When this file can be read, the run header info is dumped into a dialog window. Essentially this calls <code><b>dump_header</b></code> internally.
</dd></dl>
$ <img src="../pub/MUSR/MusrGui/musrasym.png" alt="musrasym.png" /> Asymmetry Default (Alt+a): Generate a full msr file suitable for the <a href="MusrFit.html#FitTypes">fit type</a> <strong>2</strong> of <code>musrfit</code> from defaults. Calling this function opens a window where the relative path and file name to a data file as well as the file format that should be used have to be specified. For instance if the data file <code><b>/path-to-datadir/2007/lem07_his_8472.root</b></code> should be used and <code><b>/path-to-datadir</b></code> is on the path where <code>musrfit</code> <a href="MusrFit.html#PathToDataFiles">looks for data files</a> then the file name would be <code><b>2007/lem07_his_8472</b></code> and the file format either <strong>ROOT-NPP</strong> or <strong>ROOT-PPC</strong>.
<p></p>
<a name="EditorFeatures"></a>
<h1><a name="A_4_Editor_Features"></a> 4 Editor Features </h1>
$ <img src="../pub/MUSR/MusrGui/musrsinglehisto.png" alt="musrsinglehisto.png" /> Single-Histogram Default (Alt+h): Generate a full msr file suitable for the <a href="MusrFit.html#FitTypes">fit type</a> <strong>0</strong> of <code>musrfit</code> from defaults. Calling this function opens a window where the relative path and file name to a data file as well as the file format that should be used have to be specified. For instance if the data file <code><b>/path-to-datadir/d2007/deltat_pta_gps_8472.bin</b></code> should be used and <code><b>/path-to-datadir</b></code> is on the path where <code>musrfit</code> <a href="MusrFit.html#PathToDataFiles">looks for data files</a> then the file name would be <code><b>d2007/deltat_pta_gps_8472</b></code> and the file format <strong>PSI-BIN</strong>.
<p></p>
$ <img alt="musrcalcchisq.png" src="../pub/MUSR/MusrGui/musrcalcchisq.png" /> Calculate Chisq (Alt+c): <pre class="bash">musrfit &#60;msr&#95;file&#62; --chisq-only</pre> is called for the <strong>&lt;msr_file&gt;</strong> selected in the editor. For further information refer to the <a href="MusrFit.html#MusrFit">manual</a> of <code>musrfit</code>.
<p></p>
$ <img src="../pub/MUSR/MusrGui/musrfit.png" alt="musrfit.png" /> Fit (Alt+f): <pre class="bash">musrfit &#60;msr&#95;file&#62; &#91;optional parameters&#93;</pre> is called for the <strong>&lt;msr_file&gt;</strong> selected in the editor. The optional parameters may be chosen under <a class="foswikiCurrentTopicLink" href="#MusrPrefs">Preferences</a>. For further information refer to the <a href="MusrFit.html#MusrFit">manual</a> of <code>musrfit</code>.
<p></p>
$ <img alt="musrswap.png" src="../pub/MUSR/MusrGui/musrswap.png" /> Swap Msr &#8596; Mlog (Alt+s): Swap the msr and mlog files. E.g., for a file called <code><b>8472_zf.msr</b></code>, this is copied to <code><b>8472_zf.mlog</b></code> and vice versa.
<p></p>
$ <img src="../pub/MUSR/MusrGui/musrmsr2data.png" alt="musrmsr2data.png" /> Msr2data (Alt+m): Opens a graphical interface to the <code>msr2data</code> program described in detail in its own <a href="Msr2Data.html#MusrGuiInterface">manual</a>.
<p></p>
$ <img src="../pub/MUSR/MusrGui/musrview.png" alt="musrview.png" /> View (Alt+v): <pre class="bash">musrview &#60;msr&#95;file&#62;</pre> is called for the <strong>&lt;msr_file&gt;</strong> selected in the editor. For further information refer to the <a href="MusrFit.html#MusrView">manual</a> of <code>musrfit</code>.
<p></p>
$ <img alt="musrt0.png" src="../pub/MUSR/MusrGui/musrt0.png" /> T0 (Alt+t): <pre class="bash">musrt0 &#60;msr&#95;file&#62;</pre> is called for the <strong>&lt;msr_file&gt;</strong> selected in the editor. For further information refer to the <a href="MusrFit.html#MusrT0">manual</a> of <code>musrfit</code>.
<p></p>
$ <img src="../pub/MUSR/MusrGui/musrFT.png" alt="musrFT.png" /> Raw Fourier: <code>musrFT &lt;with-many-options&gt;</code> is called. For a proper documentation of it, check the <a href="MusrFit.html#MusrFT">manual</a> of <code>musrFT</code>.
<p></p>
<span id="MusrPrefs"></span>
$ <img src="../pub/MUSR/MusrGui/musrprefs.png" alt="musrprefs.png" /> Preferences (Alt+p): Opens a window in which the optional parameters that should be passed to <code>musrfit</code> can be chosen. These options are <code><b>--keep-mn2-output</b></code>, <code><b>--dump ascii</b></code>, <code><b>--dump root</b></code>, and <code><b>--title-from-data-file</b></code>. For further information refer to the <a href="MusrFit.html#MusrFit">manual</a> of <code>musrfit</code>. Additionally, the access to <code>musrt0</code> can be enabled temporarily.
<p></p>
$ <img alt="musrdump.png" src="../pub/MUSR/MusrGui/musrdump.png" /> Dump Header: Opens a file dialog which allows to select a &mu;SR data file. When this file can be read, the run header info is dumped into a dialog window. Essentially this calls <code><b>dump_header</b></code> internally.
<p></p>
<span id="EditorFeatures"></span>
<h1 id="A_4_Editor_Features"> 4 Editor Features </h1>
Besides the functions described above and which are mostly interfacing <code>musrfit/msr2data</code> the editors of <code>musrgui</code> / <code>musredit</code> offer various functions for manipulating especially <code>musrfit</code> msr files:
<img src="../pub/MUSR/MusrGui/musrgui-editor-v0.png" alt="musrgui editor features" width='415' height='566' align="right" /> <ul>
<img class='imagePlain imagePlain_right ' src='../pub/MUSR/MusrGui/igp_6000206c604d890d5466ca71a2eda191_musrgui-editor-v0.png' alt='musrgui editor features' title='musrgui-editor-v0.png' width='415' height='566' style='' /> <ul>
<li> Upon right-clicking an open msr file a menu as shown to the right is displayed which offers the addition of any valid msr file block or theory function. In case a simple theory function is chosen, the function will be inserted into the THEORY block using the <a href="MusrFit.html#TheoryTable">correct syntax</a>. If one chooses to add a whole block to the file a dialog opens in which the necessary information for each block as described in the <a href="MusrFit.html#DescriptionOfTheMsrFileFormat">manual</a> of <code>musrfit</code> can be supplied. <span class='foswikiBlueFG'>This feature is available only in <code>musrgui</code>. In <code>musredit</code> the respective functions can be accessed through the <em>Edit</em> menu.</span>
</li> <li> In order to comment or uncomment lines in a msr file select the according lines and apply <strong>Edit &rarr; (Un)Comment</strong> or use the keyboard shortcut <strong>Ctrl+(Shift)+m</strong>.
</li></ul>
<p></p>
<a name="BugTracking"></a>
<h1><a name="A_5_Bugtracking"></a> 5 Bugtracking </h1>
<span id="BugTracking"></span>
<h1 id="A_5_Bugtracking"> 5 Bugtracking </h1>
<p></p>
For reporting bugs or requesting new features and improvements please use the <a href="https://tracker.intranet.psi.ch/jira/browse/MUSR" target="_top">PSI Tracker</a> or send an e-mail to A. Suter.
For reporting bugs or requesting new features and improvements please use the <a href="https://bitbucket.org/muonspin/musrfit/issues">Bitbucket Tracker</a>, <a href="https://tracker.psi.ch/jira/browse/MUSR/">PSI Tracker</a> (PSI account needed) or send an e-mail to A. Suter.
<p></p>
-- <a href="http://www.fsf.org/register_form?referrer=8369" target="_top">BMW</a> &amp; <a href="http://lmu.web.psi.ch/lem/group.html" target="_top">AS</a> </div>
<div class="foswikiContentFooter"></div><!-- -->
<!-- -->
<!-- -->
<!-- -->
<span class='foswikiClear'></span>
<div class="foswikiMetaData foswikiHideOnPrint foswikiMetaDataNotAllowed">
<div class="jqTabPane jqTabPanePlain {select:'1', autoMaxExpand:false, animate:true, minHeight:230}">
<!-- -->
<!-- -->
<!-- --><!-- -->
<!-- -->
<!-- TAB --><div id='jqTab1194' class="attachments jqAjaxTab jqTab {url: 'https://intranet.psi.ch/wiki/bin/rest/RenderPlugin/template?name=metadata;expand=attachments;topic=MUSR.MusrGui;render=on;1418910327'}">
<h2 class='jqTabLabel'>Attachments <span class='foswikiAttachmentsCount'>(2)</span></h2>
<div class='jqTabContents' >
<div class='foswikiFormSteps foswikiAttachmentsProcess'><span class='jqAjaxLoader'>&nbsp;</span></div>
</div></div><!-- //ENDTAB --><!-- -->
<!-- -->
<!-- -->
<!-- --><!-- -->
<!-- --><!-- -->
<!-- --><!-- -->
<!-- -->
<!-- -->
<!-- --><!-- --><!-- -->
<!-- --><!-- -->
<!-- -->
</div><!-- //ENDTABPANE -->
</div>
<!-- -->
<!-- -->
<div class="foswikiFormSteps">
<a name="topic-actions"></a>
<div class="patternTopicActions foswikiFormStep">
<span class="patternActionButtons"><span><a href='https://intranet.psi.ch/wiki/bin/edit/MUSR/MusrGui?t=1418910327' rel='nofollow' title='Edit this topic text' accesskey='e'><span class='foswikiAccessKey'>E</span>dit</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span class="foswikiRequiresChangePermission"><a href='https://intranet.psi.ch/wiki/bin/attach/MUSR/MusrGui' rel='nofollow' title='Attach an image or document to this topic' accesskey='a'><span class='foswikiAccessKey'>A</span>ttach</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span><a href='MusrGuic99a.html?cover=print;cover=print' rel='nofollow' title='Printable version of this topic' accesskey='p'><span class='foswikiAccessKey'>P</span>rint version</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span><a href='https://intranet.psi.ch/print/php/pdf.php?url=MUSR/MusrGui?cover=print' title='PDF version of this topic'>PDF</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span><span class="foswikiRequiresChangePermission"><a href='https://intranet.psi.ch/wiki/bin/oops/MUSR/MusrGui?template=oopshistory' rel='nofollow' title='View total topic history' accesskey='h'><span class='foswikiAccessKey'>H</span>istory</a></span>: r19&nbsp;<a rel="nofollow" href="https://intranet.psi.ch/wiki/bin/compare/MUSR/MusrGui?rev1=18;rev2=19">&lt;</a>&nbsp;<a rel="nofollow" href="https://intranet.psi.ch/MUSR/MusrGui?rev=18">r18</a>&nbsp;<a rel="nofollow" href="https://intranet.psi.ch/wiki/bin/compare/MUSR/MusrGui?rev1=17;rev2=18">&lt;</a>&nbsp;<a rel="nofollow" href="https://intranet.psi.ch/MUSR/MusrGui?rev=17">r17</a>&nbsp;<a rel="nofollow" href="https://intranet.psi.ch/wiki/bin/compare/MUSR/MusrGui?rev1=16;rev2=17">&lt;</a>&nbsp;<a rel="nofollow" href="https://intranet.psi.ch/MUSR/MusrGui?rev=16">r16</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span><a href='https://intranet.psi.ch/MUSR/MusrGui?template=backlinksweb' rel='nofollow' title='Search the MUSR Web for topics that link to here' accesskey='b'><span class='foswikiAccessKey'>B</span>acklinks</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span><a href='https://intranet.psi.ch/MUSR/MusrGui?raw=on' rel='nofollow' title='View without formatting' accesskey='v'><span class='foswikiAccessKey'>V</span>iew wiki text</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span><a href='https://intranet.psi.ch/MUSR/MusrGui?refresh=on' title='Refresh images and LaTeX charts'>Refresh</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span><a href='https://intranet.psi.ch/MUSR/MusrGui?template=more&amp;maxrev=19&amp;currrev=19' rel='nofollow' title='Delete or rename this topic; set parent topic; view and compare revisions' accesskey='m'><span class='foswikiAccessKey'>M</span>ore topic actions</a></span></span>
</div>
</div></div><div class="patternInfo"><span class="patternRevInfo">Topic revision: r19 - 25 May 2012, <a href="https://intranet.psi.ch/Main/AndreasSuter">AndreasSuter</a></span></div>
</div>
</div><div id="patternSideBar"><div id="patternClearHeaderLeft"></div>
<div id="patternSideBarContents">
<div class="patternLeftBarPersonal">
<ul><li class="patternLogIn"><a href="https://intranet.psi.ch/wiki/bin/logon/MUSR/MusrGui">Log In</a> or <a href="https://intranet.psi.ch/System/UserRegistration">Register</a></li></ul>
</div>
-- <a href="http://www.psi.ch/low-energy-muons/people">AS</a> &amp; <a href="http://www.fsf.org/register_form?referrer=8369">BMW</a></div>
<p></p>
<p></p>
<b>PSI Webs</b> <ul>
<li> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/psi.png" width="16" height="16" alt="psi" /></span> <a href="https://intranet.psi.ch/Main/WebHome">Main</a>
</li> <li> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/psi.png" width="16" height="16" alt="psi" /></span> <a href="https://intranet.psi.ch/Main/WebList">weitere Webs</a>
</li></ul>
<hr />
<b>System Webs</b> <ul>
<li> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/foswiki.png" width="16" height="16" alt="foswiki" /></span> <a href="https://intranet.psi.ch/Sandbox/WebHome">Sandbox</a>
</li> <li> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/foswiki.png" width="16" height="16" alt="foswiki" /></span> <a href="https://intranet.psi.ch/System/WebHome">Documentation</a>
</li></ul>
<hr /> <ul>
<li> <a href="https://intranet.psi.ch/MUSR/WebCreateNewTopic?parent=MusrGui" target="_top"><span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/newtopic.png" width="16" height="16" alt="newtopic" /></span> Create New Topic</a>
</li> <li> <a href="WebTopicList.html"> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/index.png" width="16" height="16" alt="index" /></span> Show All Topics</a>
</li> <li> <a href="WebSearch.html"> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/searchtopic.png" width="16" height="16" alt="searchtopic" /></span> Search in Topics</a>
</li> <li> <a href="WebChanges.html"> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/changes.png" width="16" height="16" alt="changes" /></span> Recent Changes</a>
</li> <li> <a href="WebNotify.html"> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/notify.png" width="16" height="16" alt="notify" /></span> Define Notifications</a>
</li></ul>
<p></p>
</div></div>
</div>
<div class="clear">&nbsp;</div>
</div></div><div id="patternTopBar">
<div id="patternTopBarContentsWrapper">
<div id="patternTopBarContents"><table border="0" cellpadding="0" cellspacing="0" style="width:100%" summary="">
<tr><td valign="middle"><span id="foswikiLogo" class="foswikiImage"><a href="WebHome.html"><img src="../pub/Main/WebPreferences/psi_logo_150.gif" border="0" alt="Paul Scherrer Institut" style="border:none; margin: -8px 0 0 15px;" /></a></span></td>
<td align="right" valign="top" class="patternMetaMenu" id="psimetanav">
<p></p> <ul>
<li> <form name="quickSearchForm" id="solrSearchForm" action="https://intranet.psi.ch/PSI/Search"><input type="hidden" name="filter" value="web:MUSR" /><input type="text" class="foswikiInputField" id="quickSearchBox" name="search" value="" size="18" /><input type="hidden" name="scope" value="all" /><!-- <input type="hidden" name="web" value="MUSR" /> --> <noscript>&nbsp;<input type="submit" size="5" class="foswikiButton" name="submit" value="Search" />&nbsp;</noscript><input type="image" class="searchsubmit" alt="Search" value="Suche..." name="sa" src="../webbase/img/search.png"> </form>
</li> <li> <form name="changeLanguage" action="https://intranet.psi.ch/wiki/bin/oops/MUSR/MusrGui" method="get"> <input type="hidden" name="redirectto" value="/MUSR/MusrGui?cover=print" /> <select name="language" class="foswikiSelect" onchange="document.changeLanguage.submit()"> <option value="de">Deutsch</option> <option selected="selected" value="en">English</option></select> <input type="hidden" name="template" value="oopslanguagechanged" /> <noscript> <input class="foswikiButton" type="submit" value="Change language" /> </noscript> </form>
</li></ul>
<p></p>
<p></p>
<p></p>
</td></tr></table>
</div><!--/patternTopBarContents-->
</div><!--/patternTopBarContentsWrapper-->
</div><!-- /patternTopBar--><div id="patternBottomBar"><div id="patternBottomBarContents"><div id="patternWebBottomBar">Ideas, requests, problems regarding <a href="https://intranet.psi.ch/Main/WebHome">PSI Wiki</a>? <a href="mailto&#58;psi&#46;intranet&#64;psi&#46;ch&#63;subject&#61;PSI&#32;Wiki&#37;20Feedback&#37;20on&#37;20MUSR&#46;MusrGui">Send feedback</a></div></div></div>
<br class="imageClear" clear="all"/><div class="foswikiAttachments">
<div class="twistyPlugin foswikiMakeVisible"><span id="topicattachmentslist1show" style="display:none" class="twistyRememberSetting twistyTrigger foswikiUnvisited twistyInited"><a href="#" class="patternTwistyButton"><img src="../pub/System/DocumentGraphics/toggleopen.png" border="0" alt="" /><span class="foswikiLinkLabel foswikiUnvisited">Attachments <span class='foswikiSmall foswikiGrayText'>1</span></span></a></span><span id="topicattachmentslist1hide" style="display:none" class="twistyRememberSetting twistyTrigger foswikiUnvisited twistyInited"><a class="patternTwistyButton" href="#"><img src="../pub/System/DocumentGraphics/toggleclose.png" border="0" alt="" /><span class="foswikiLinkLabel foswikiUnvisited">Attachments <span class='foswikiSmall foswikiGrayText'>1</span></span></a></span></div><div class="twistyPlugin"><div id="topicattachmentslist1toggle" style="" class="twistyRememberSetting twistyContent twistyInited">
<table border="1" class="foswikiTable" summary="Topic attachments" rules="none" id="tableMusrGui1"><caption>Topic attachments</caption>
<thead>
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
<th class="foswikiTableCol0 foswikiFirstCol"> <a href="https://intranet.psi.ch/MUSR/MusrGui?cover=print;sortcol=0;table=1;up=0#sorted_table" title="Sort by this column" rel="nofollow">I</a> </th>
<th class="foswikiTableCol1"> <a rel="nofollow" title="Sort by this column" href="https://intranet.psi.ch/MUSR/MusrGui?cover=print;sortcol=1;table=1;up=0#sorted_table">Attachment</a> </th>
<th class="foswikiTableCol2"> <a title="Sort by this column" rel="nofollow" href="https://intranet.psi.ch/MUSR/MusrGui?cover=print;sortcol=2;table=1;up=0#sorted_table">Action</a> </th>
<th class="foswikiTableCol3"> <a href="https://intranet.psi.ch/MUSR/MusrGui?cover=print;sortcol=3;table=1;up=0#sorted_table" rel="nofollow" title="Sort by this column">Size</a> </th>
<th class="foswikiTableCol4"> <a href="https://intranet.psi.ch/MUSR/MusrGui?cover=print;sortcol=4;table=1;up=0#sorted_table" rel="nofollow" title="Sort by this column">Date</a> </th>
<th class="foswikiTableCol5"> <a title="Sort by this column" rel="nofollow" href="https://intranet.psi.ch/MUSR/MusrGui?cover=print;sortcol=5;table=1;up=0#sorted_table">Who</a> </th>
<th class="foswikiTableCol6 foswikiLastCol"> <a rel="nofollow" title="Sort by this column" href="https://intranet.psi.ch/MUSR/MusrGui?cover=print;sortcol=6;table=1;up=0#sorted_table">Comment</a> </th>
</tr>
</thead>
<tbody>
<tr class="foswikiTableEven foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
<td class="foswikiTableCol0 foswikiFirstCol foswikiLast"> <span class='foswikiIcon'><img src='../pub/System/DocumentGraphics/png.png' width='16' height='16' alt='musrgui-editor-v0.png' /></span><span class="foswikiHidden">png</span> </td>
<td class="foswikiTableCol1 foswikiLast"> <a href="../pub/MUSR/MusrGui/musrgui-editor-v0.png">musrgui-editor-v0.png</a> </td>
<td class="foswikiTableCol2 foswikiLast"> <a href="https://intranet.psi.ch/wiki/bin/attach/MUSR/MusrGui?filename=musrgui-editor-v0.png;revInfo=1" title="change, update, previous revisions, move, delete..." rel="nofollow">manage</a> </td>
<td style="text-align:right" class="foswikiTableCol3 foswikiLast"> 37 K </td>
<td class="foswikiTableCol4 foswikiLast"> <span class="foswikiNoBreak">10 Apr 2009 - 14:53</span> </td>
<td class="foswikiTableCol5 foswikiLast"> <a href="https://intranet.psi.ch/Main/UnknownUser">UnknownUser</a> </td>
<td class="foswikiTableCol6 foswikiLastCol foswikiLast"> musrgui options available upon right clicking a open msr-file </td>
</tr>
</tbody></table>
</div></div></div></div>
<div class="patternInfo">This topic: MUSR<span class='foswikiSeparator'>&nbsp;&gt;&nbsp;</span><a href="WebHome.html" class="foswikiCurrentWebHomeLink">WebHome</a> &gt; <a href="MusrFit.html">MusrFit</a><span class='foswikiSeparator'>&nbsp;&gt;&nbsp;</span>MusrGui <br />
Topic revision: <span class='patternRevInfo'>19 Feb 2015, suter_a</span></div>
</div>
</div>
</div>
</div></body>
<!-- Mirrored from intranet.psi.ch/MUSR/MusrGui?cover=print by HTTrack Website Copier/3.x [XR&CO'2010], Thu, 18 Dec 2014 13:46:09 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=iso-8859-1"><!-- /Added by HTTrack -->
</div><div id="patternBottomBar"><div id="patternBottomBarContents"><div id="patternWebBottomBar"><span class="foswikiRight"> <a href="http://foswiki.org/"><img src="../pub/System/ProjectLogos/foswiki-badge.png" alt="This site is powered by Foswiki" title="This site is powered by Foswiki" /></a></span>Copyright &copy; by the contributing authors. All material on this collaboration platform is the property of the contributing authors. <br /> Ideas, requests, problems regarding PSI Wiki? <a href='mailto:andre.lichtsteiner@psi.ch?subject=PSI Wiki %20Feedback%20on%20MUSR.MusrGui'>Send feedback</a></div></div></div>
</div>
</div>
</div>
</div></div><!-- /endWrap -->
<p></p>
<!-- Piwik -->
<noscript><p><img src="../piwik/piwikf832.gif?idsite=7" style="border:0" alt=""></p></noscript>
<!-- End Piwik Tag -->
</body>
<!-- Mirrored from intranet.psi.ch/MUSR/MusrGui?cover=print by HTTrack Website Copier/3.x [XR&CO'2010], Fri, 22 Jan 2016 15:12:22 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=utf-8"><!-- /Added by HTTrack -->
</html>
<p></p>
<p></p>
<p></p>
<p></p>

View File

@ -1,35 +1,72 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en_US" lang="en_US">
<!DOCTYPE html><html lang="en">
<!-- Mirrored from intranet.psi.ch/MUSR/MusrRoot?cover=print by HTTrack Website Copier/3.x [XR&CO'2010], Thu, 18 Dec 2014 13:45:37 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=iso-8859-1"><!-- /Added by HTTrack -->
<!-- Mirrored from intranet.psi.ch/MUSR/MusrRoot?cover=print by HTTrack Website Copier/3.x [XR&CO'2010], Fri, 22 Jan 2016 15:12:05 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=utf-8"><!-- /Added by HTTrack -->
<head>
<link rel="stylesheet" href="../pub/System/HeadlinesPlugin/style.css" type="text/css" media="all" />
<title> MUSR :: MusrRoot</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1.5, user-scalable=yes" />
<meta name="mobile-web-app-capable" content="yes" />
<meta name="mobile-web-app-status-bar-style" content="black-translucent" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
<link rel="icon" href="../pub/Main/WebPreferences/favicon.ico" type="image/x-icon" />
<link rel="shortcut icon" href="../pub/Main/WebPreferences/favicon.ico" type="image/x-icon" />
<link rel="alternate" href="https://intranet.psi.ch/wiki/bin/edit/MUSR/MusrRoot?t=1418910321" type="application/x-wiki" title="edit MusrRoot" />
<link rel="alternate" href="https://intranet.psi.ch/wiki/bin/edit/MUSR/MusrRoot?t=1453475518" type="application/x-wiki" title="edit MusrRoot" />
<meta name="TEXT_NUM_TOPICS" content="Number of topics:" />
<meta name="TEXT_MODIFY_SEARCH" content="Modify search" />
<meta name="robots" content="noindex" /><link rel="alternate" type="application/rss+xml" title="RSS Feed" href="WebRsshtml.html" />
<base /><!--[if IE]></base><![endif]-->
<link rel='stylesheet' href='../pub/System/ImagePlugin/style.css' media='all' />
<base /><!--[if IE]></base><![endif]--><link class='head CLASSIFICATIONPLUGIN::CSS' rel="stylesheet" href="../pub/System/ClassificationPlugin/styles.css" media="all" /><!--CLASSIFICATIONPLUGIN::CSS-->
<link class='head JQUERYPLUGIN::COMMENT' rel='stylesheet' href='../pub/System/CommentPlugin/commentf5b6.css?version=3.0' type='text/css' media='all' /><!--JQUERYPLUGIN::COMMENT-->
<style class='head TABLEPLUGIN_default' type="text/css" media="all">
body .foswikiTable {border-width:1px}
body .foswikiTable .tableSortIcon img {padding-left:.3em; vertical-align:text-bottom}
body .foswikiTable td {border-style:solid none; vertical-align:top}
body .foswikiTable th {border-style:none solid; vertical-align:top; background-color:#d6d3cf; color:#000000}
body .foswikiTable th a:link {color:#000000}
body .foswikiTable th a:visited {color:#000000}
body .foswikiTable th a:hover {color:#000000; background-color:#d6d3cf}
body .foswikiTable th.foswikiSortedCol {background-color:#c4c1ba}
body .foswikiTable tr.foswikiTableRowdataBg0 td {background-color:#ffffff}
body .foswikiTable tr.foswikiTableRowdataBg0 td.foswikiSortedCol {background-color:#f7f7f6}
body .foswikiTable tr.foswikiTableRowdataBg1 td {background-color:#f7f7f6}
body .foswikiTable tr.foswikiTableRowdataBg1 td.foswikiSortedCol {background-color:#f0f0ee}
</style><!--TABLEPLUGIN_default-->
<style class='head TABLEPLUGIN_specific' type="text/css" media="all">
body .foswikiTable#tableMusrRoot7 td {vertical-align:middle; vertical-align:top}
body .foswikiTable#tableMusrRoot7 td.foswikiTableCol0 {text-align:left}
body .foswikiTable#tableMusrRoot7 td.foswikiTableCol1 {text-align:left}
body .foswikiTable#tableMusrRoot7 td.foswikiTableCol2 {text-align:left}
body .foswikiTable#tableMusrRoot7 td.foswikiTableCol3 {text-align:right}
body .foswikiTable#tableMusrRoot7 td.foswikiTableCol4 {text-align:left}
body .foswikiTable#tableMusrRoot7 td.foswikiTableCol5 {text-align:left}
body .foswikiTable#tableMusrRoot7 td.foswikiTableCol6 {text-align:left}
body .foswikiTable#tableMusrRoot7 td.foswikiTableCol7 {text-align:left}
body .foswikiTable#tableMusrRoot7 th {vertical-align:middle; background-color:#ffffff; color:#0066cc; text-align:left}
body .foswikiTable#tableMusrRoot7 th a:link {color:#0066cc}
body .foswikiTable#tableMusrRoot7 th a:visited {color:#0066cc}
body .foswikiTable#tableMusrRoot7 th a:hover {color:#0066cc; background-color:#ffffff}
body .foswikiTable#tableMusrRoot7 th.foswikiSortedCol {background-color:#eeeeee}
body .foswikiTable#tableMusrRoot7 tr.foswikiTableRowdataBg0 td {background-color:#ffffff}
body .foswikiTable#tableMusrRoot7 tr.foswikiTableRowdataBg0 td.foswikiSortedCol {background-color:#f5f5f5}
</style><!--TABLEPLUGIN_specific-->
<link class='head IMAGEPLUGIN' rel="stylesheet" href="../pub/System/ImagePlugin/style.css" type="text/css" media="all" /><!--IMAGEPLUGIN-->
<link class='head FOOTNOTEPLUGIN_LINKCSS' rel="stylesheet" href="../pub/System/FootNotePlugin/styles.css" type="text/css" media="all" /><!--FOOTNOTEPLUGIN_LINKCSS-->
<link class='head SMILIESPLUGIN' rel='stylesheet' href='../pub/System/SmiliesPlugin/smilies.css' type='text/css' media='all' /><!--SMILIESPLUGIN-->
<link class='head JQUERYPLUGIN::TWISTY' rel='stylesheet' href='../pub/System/TwistyPlugin/twisty327a.css?version=1.6.0' type='text/css' media='all' /><!--JQUERYPLUGIN::TWISTY: requires= missing ids: JavascriptFiles/foswikiPref--><link rel='stylesheet' href='../pub/System/SkinTemplates/base.css' media='all' type='text/css' />
<style type="text/css" media="all">
@import url('../pub/System/SkinTemplates/base.css');
</style>
<style type="text/css" media="all">
@import url('../pub/System/PatternSkinTheme2009/layout.css');
@import url('../pub/System/PatternSkinTheme/layout.css');
@import url('../pub/System/PatternSkinTheme2009/style.css');
@import url('../pub/System/PatternSkinTheme2009/colors.css');
</style>
<style type="text/css" media="all">
@import url('../pub/System/PatternSkinTheme2009/column_left.css');
@import url('../pub/System/PatternSkinTheme2009/variant_twiki.css');
</style><style type="text/css" media="all">
<link rel='stylesheet' href='../pub/System/PatternSkinTheme2009/column_left.css' media='all' type='text/css' />
<link rel='stylesheet' href='../pub/System/PatternSkinTheme2009/variant_twiki.css' media='all' type='text/css' /><style type="text/css" media="all">
/* Styles that are set using variables */
.patternBookView .foswikiTopRow,
.patternWebIndicator a img,
.patternWebIndicator a:hover img {
.patternWebIndicator,
.patternWebIndicator a {
background-color:#D0D0D0;
}
#patternTopBarContents { background-image:url(../pub/System/PatternSkin/header5.gif); background-repeat:repeat-x;}
@ -50,14 +87,8 @@
<style type="text/css" media="all">
@import url("../pub/System/PatternSkin/print.css");
</style>
<!--[if IE]><style type="text/css" media="screen">
pre {
height:1%;
overflow-x:auto;
}
<link rel='stylesheet' href='../pub/System/PatternSkin/print.css' media='all' type='text/css' />
<!--[if IE 7 ]><style type="text/css" media="screen">
.foswikiAttachments,
.foswikiForm,
.foswikiHelp,
@ -79,7 +110,17 @@ pre {
.foswikiFormStep {
height:100%;
}
#foswikiLogin,
#foswikiLogin {
margin-left: 25%;
margin-right: 25%;
}
#foswikiLogin .foswikiFormSteps {
width:auto;
}
#foswikiLogin input[type="text"],
#foswikiLogin input[type="password"] {
width: auto;
}
.patternShadow {
border:10px solid #fff;
margin-top:10px;
@ -87,38 +128,39 @@ pre {
border:2px solid #ccc;
}
</style><![endif]-->
<!--[if gt IE 8 ]><style type="text/css" media="screen">
#foswikiLogin,
.patternShadow {
border:10px solid #fff;
margin-top:10px;
margin-bottom:10px;
box-shadow: 0 0 10px #ccc;
}
</style><![endif]-->
<link rel="stylesheet" href="../pub/System/FootNotePlugin/styles.css" type="text/css" media="all" /><!--FOOTNOTEPLUGIN_LINKCSS-->
<!--[if lte IE 9]>
<![endif]-->
<!--[if gt IE 9]><!-->
<!--<![endif]-->
<!--JQUERYPLUGIN-->
<!--JQUERYPLUGIN::LIVEQUERY-->
<!--JQUERYPLUGIN::FOSWIKI-->
<!--JQUERYPLUGIN::MIGRATE-->
<!--JQUERYPLUGIN::COMMENT-->
<!--JQUERYPLUGIN::FOSWIKI::PREFERENCES-->
<!--JavascriptFiles/foswikiString-->
<!--JavascriptFiles/foswikiForm-->
<!--JavascriptFiles/foswikiPref-->
<!--PatternSkin/pattern-->
<!--JQUERYPLUGIN::TWISTY-->
<!--JQUERYPLUGIN::METADATA-->
<!--JQUERYPLUGIN::CHILI--><link class='head FOOTNOTEPLUGIN_LINKCSS' rel="stylesheet" href="../pub/System/FootNotePlugin/styles.css" type="text/css" media="all" /><!--FOOTNOTEPLUGIN_LINKCSS-->
</head>
<body class="foswikiNoJs patternViewPage">
<a name="PageTop"></a><div class="foswikiPage"><div id="patternScreen">
<body class="foswikiNoJs patternViewPage patternPrintPage">
<span id="PageTop"></span><div class="foswikiPage"><div id="patternScreen">
<div id="patternPageShadow">
<div id="patternPage">
<div id="patternWrapper"><div id="patternOuter">
<div id="patternOuter" class="clear">
<div id="patternFloatWrap">
<div id="patternMain"><div id="patternClearHeaderCenter"></div>
<div id="patternMainContents"><div class="patternTop"><span class="patternHomePath foswikiLeft"></span><span class="patternToolBar foswikiRight"><span><a href='MusrRootc99a.html?cover=print;cover=print' rel='nofollow' title='Printable version of this topic' accesskey='p'><span class='foswikiAccessKey'>P</span>rint version</a></span><a href="https://intranet.psi.ch/MUSR/MusrRoot?restrictions=on" id="restriction_link"><img src='../pub/System/PsiSkin/lock_open.png' class='lock' height='16' width='23' title='open in PSI - click for more information'/></a></span><div class="foswikiClear"></div></div><div class="foswikiContentHeader">
<div id="patternMain">
<div id="patternMainContents">
<div class="patternContent"><div class="foswikiTopic">
<h1 id="A_61_61MusrRoot_61_61"> <code><b>MusrRoot</b></code> </h1>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
</div><div class="patternContent"><div class="foswikiTopic">
<h1><a name="A_61_61MusrRoot_61_61"></a> <code><b>MusrRoot</b></code> </h1>
<p></p>
<a name="foswikiTOC"></a><div class="foswikiToc"> <ul>
<div class="foswikiToc" id="foswikiTOC"> <ul>
<li> <a href="MusrRoot.html#A_61_61MusrRoot_61_61"> MusrRoot </a>
</li> <li> <a href="MusrRoot.html#A_1_Introduction"> 1 Introduction </a>
</li> <li> <a href="MusrRoot.html#A_2_Some_Basics_Concerning_61ROOT_61_Files"> 2 Some Basics Concerning ROOT Files </a>
@ -144,11 +186,11 @@ pre {
</li></ul>
</div>
<p></p>
<h1><a name="A_1_Introduction"></a> 1 Introduction </h1>
<h1 id="A_1_Introduction"> 1 Introduction </h1>
Until 2011 different &#956;SR file formats were used within PSI. The bulk-&#956;SR instruments were writing their data in the <code>PSI-BIN</code> file format, which is a fixed binary format with rather stringent limitations. The LE-&#956;SR (LEM) instrument was using a <code>ROOT</code> (CERN) based file format which was tightly tailored to the special needs of the LEM instrument. This situation was unsatisfactorily and hence it was decided to move forward to a open file format called <code>MusrRoot</code> to be described in the following.
<p></p>
<h1><a name="A_2_Some_Basics_Concerning_61ROOT_61_Files"></a> 2 Some Basics Concerning <code>ROOT</code> Files </h1>
The &#956;SR data acquisition systems at PSI are utilizing <code>MIDAS</code> (see <a href="http://midas.psi.ch/" target="_top">Midas Home Page</a> ). The <code>MIDAS</code> analyzer, which is responsible to build histograms, especially the &#956;SR decay histograms, makes it very easy to build <code>ROOT</code> (see <a href="http://root.cern.ch/" target="_top">ROOT/CERN home page</a> ) histogram objects (these are <code>TH1F</code> objects for &#956;SR decay histograms). <code>ROOT</code> is a C++ object-oriented data mining frame work. These histograms can be collected and saved in <code>ROOT</code> files (<code>TFile</code>). In order to ease the understanding of the upcoming definitions, a few <code>ROOT</code> related things shall be summaries here. For details concerning the <code>ROOT</code> frame work documentation please check <a href="http://root.cern.ch/drupal/content/users-guide" target="_top">ROOT/CERN Users Guide</a> and <a href="http://root.cern.ch/drupal/content/reference-guide" target="_top">ROOT/CERN Reference Guide</a> .
<h1 id="A_2_Some_Basics_Concerning_61ROOT_61_Files"> 2 Some Basics Concerning <code>ROOT</code> Files </h1>
The &#956;SR data acquisition systems at PSI are utilizing <code>MIDAS</code> (see <a href="http://midas.psi.ch/">Midas Home Page</a> ). The <code>MIDAS</code> analyzer, which is responsible to build histograms, especially the &#956;SR decay histograms, makes it very easy to build <code>ROOT</code> (see <a href="http://root.cern.ch/">ROOT/CERN home page</a> ) histogram objects (these are <code>TH1F</code> objects for &#956;SR decay histograms). <code>ROOT</code> is a C++ object-oriented data mining frame work. These histograms can be collected and saved in <code>ROOT</code> files (<code>TFile</code>). In order to ease the understanding of the upcoming definitions, a few <code>ROOT</code> related things shall be summaries here. For details concerning the <code>ROOT</code> frame work documentation please check <a href="http://root.cern.ch/drupal/content/users-guide">ROOT/CERN Users Guide</a> and <a href="http://root.cern.ch/drupal/content/reference-guide">ROOT/CERN Reference Guide</a> .
<p></p>
<code>ROOT</code> files (<code>TFile</code>) are binary files which can hold any kind of objects. A <code>TFile</code> is organized similarly to a directory structure of an operating system. Within the <code>ROOT</code> framework, there is a <code>TFile</code> browser available which allows to inspect these files. This browser (<code>TBrowser</code>) will show all object saved in the <code>TFile</code> directly, if they derive from <code>TObject</code>.
<p></p>
@ -162,7 +204,7 @@ The <code>MusrRoot</code> file format to be described below is only using a smal
<p></p>
Since all these objects are deriving form <code>TObject</code>, they will be directly accessible via the <code>TBrowser</code> -object. For instance, the &#956;-decay-histograms can be directly plotted, are even fitted, out of the box.
<p></p>
<h1><a name="A_3_61MusrRoot_61_an_Extensible_Open_File_Format_for_SR"></a> 3 <code>MusrRoot</code> an Extensible Open File Format for &#956;SR </h1>
<h1 id="A_3_61MusrRoot_61_an_Extensible_Open_File_Format_for_SR"> 3 <code>MusrRoot</code> an Extensible Open File Format for &#956;SR </h1>
<p></p>
As mentioned before, <code>ROOT</code> files are open-file-format files meaning that they can contain more entries (and most probably will) than the ones specified in the following. The specified ones will be the mandatory ones for <em>all</em> instruments. Before defining all mandatory entries, the <code>MusrRoot</code> file structure shall be sketched.
<p></p>
@ -192,7 +234,7 @@ RunHeader ---&#124;
</pre>
where <code>hDecay001</code>, etc. are <code>ROOT</code> histograms (to be more specific: <code>TH1F</code>), containing the &#956;SR decay histograms. There can be as many as needed, especially there is no limitation about their length. The histogram object names will be <code>hDecayXXX</code>, where <code>XXX</code> (leading zero <code>int</code>, <em>i.e.</em> <code>%03d</code> in C/C++ notation, starting with `1') is the histogram number. The title and name of the histogram (see description of the <code>TH1F</code> <code>ROOT</code> class) contains the label of the histogram, like `top', `forward', etc. How many of these histograms are present is accessible through the <code>RunInfo</code> folder in which the necessary header information are found (details see next sections). The folder <code>SCAnaModule</code> contains histograms of some of the slow-control parameters, as for instance the sample temperature versus time, the applied field versus time, etc. Again the label of the histogram will give more specific information about its content.
<p></p>
<h2><a name="A_3.1_Run_Information_Contained_in_61RunHeader_61"></a> 3.1 Run Information Contained in <code>RunHeader</code> </h2>
<h2 id="A_3.1_Run_Information_Contained_in_61RunHeader_61"> 3.1 Run Information Contained in <code>RunHeader</code> </h2>
The <code>RunHeader</code> contains all needed meta-information to describe a &#956;SR-run. The list of the <em>minimal number of required</em> "folders" of the <code>RunHeader</code> is given in the following structure:
<p></p>
<pre>
@ -204,40 +246,40 @@ RunHeader (TFolder) ---&#124;
&#124;- BeamlineInfo (TObjArray)
</pre>
<p></p>
In brackets the object type is given. <code>RunInfo</code> contains most information relevant for the user and will be itemized Sec. <a href="#RunInfo" class="foswikiCurrentTopicLink">RunInfo Overview</a> and <a href="#RunInfoRequired" class="foswikiCurrentTopicLink">RunInfo Required</a>. <code>DetectorInfo</code> contains detector specific information, like detector name, time zero bin, etc. (details in Sec. <a href="#DetectorInfoRequired" class="foswikiCurrentTopicLink">DetectorInfo Required</a>). <code>SampleEnvironmentInfo</code> (details in Sec. <a href="#SampleEnvironmentInfoRequired" class="foswikiCurrentTopicLink">SampleEnvironmentInfo Required</a>), and <code>MagneticFieldEnvironmentInfo</code> (details in Sec. <a href="#MagneticFieldEnvironmentInfoRequired" class="foswikiCurrentTopicLink">MagneticFieldEnvironmentInfo Required</a>) store additional, more detailed information concerning the sample environment. <code>BeamlineInfo</code> stores beamline relevant information (details in Sec. <a href="#BeamlineInfoRequired" class="foswikiCurrentTopicLink">BeamlineInfo Required</a>).
In brackets the object type is given. <code>RunInfo</code> contains most information relevant for the user and will be itemized Sec. <a href="#RunInfo" class="foswikiCurrentTopicLink">RunInfo Overview</a> and <a href="#RunInfoRequired" class="foswikiCurrentTopicLink">RunInfo Required</a>. <code>DetectorInfo</code> contains detector specific information, like detector name, time zero bin, etc. (details in Sec. <a href="#DetectorInfoRequired" class="foswikiCurrentTopicLink">DetectorInfo Required</a>). <code>SampleEnvironmentInfo</code> (details in Sec. <a class="foswikiCurrentTopicLink" href="#SampleEnvironmentInfoRequired">SampleEnvironmentInfo Required</a>), and <code>MagneticFieldEnvironmentInfo</code> (details in Sec. <a href="#MagneticFieldEnvironmentInfoRequired" class="foswikiCurrentTopicLink">MagneticFieldEnvironmentInfo Required</a>) store additional, more detailed information concerning the sample environment. <code>BeamlineInfo</code> stores beamline relevant information (details in Sec. <a class="foswikiCurrentTopicLink" href="#BeamlineInfoRequired">BeamlineInfo Required</a>).
<p></p>
Before elaborating more on the required items within this structure, a few words on the <code>ROOT</code> types used here: <code>RunHeader</code> is a <code>TFolder</code> object. All the "sub-directory" entries are of type <code>TObjArray</code> and collect items of type <code>TObjString</code> or other <code>TObjArray</code> (<em>i.e.</em> sub-directories and sub-sub-directories, etc.).
<p></p>
<a name="RunInfo"></a>
<h3><a name="A_3.1.1_61RunInfo_61_Overview"></a> 3.1.1 <code>RunInfo</code> Overview </h3>
<span id="RunInfo"></span>
<h3 id="A_3.1.1_61RunInfo_61_Overview"> 3.1.1 <code>RunInfo</code> Overview </h3>
<p></p>
<table class="foswikiTable" rules="none" border="1">
<table rules="none" border="1" class="foswikiTable">
<thead>
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
<th class="foswikiTableCol0 foswikiFirstCol"> <a rel="nofollow" href="https://intranet.psi.ch/MUSR/MusrRoot?cover=print;sortcol=0;table=1;up=0#sorted_table" title="Sort by this column">Name</a> </th>
<th align="center" class="foswikiTableCol1"> <a rel="nofollow" href="https://intranet.psi.ch/MUSR/MusrRoot?cover=print;sortcol=1;table=1;up=0#sorted_table" title="Sort by this column">Internal Type</a> </th>
<th align="center" class="foswikiTableCol2 foswikiLastCol"> <a rel="nofollow" href="https://intranet.psi.ch/MUSR/MusrRoot?cover=print;sortcol=2;table=1;up=0#sorted_table" title="Sort by this column">Comment</a> </th>
<th class="foswikiTableCol0 foswikiFirstCol"> <a href="https://intranet.psi.ch/MUSR/MusrRoot?cover=print;sortcol=0;table=1;up=0#sorted_table" title="Sort by this column" rel="nofollow">Name</a> </th>
<th class="foswikiTableCol1" style="text-align:center"> <a rel="nofollow" title="Sort by this column" href="https://intranet.psi.ch/MUSR/MusrRoot?cover=print;sortcol=1;table=1;up=0#sorted_table">Internal Type</a> </th>
<th style="text-align:center" class="foswikiTableCol2 foswikiLastCol"> <a href="https://intranet.psi.ch/MUSR/MusrRoot?cover=print;sortcol=2;table=1;up=0#sorted_table" rel="nofollow" title="Sort by this column">Comment</a> </th>
</tr>
</thead>
<tbody>
<tr class="foswikiTableEven foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
<td class="foswikiTableCol0 foswikiFirstCol"> Version </td>
<td align="center" class="foswikiTableCol1"> <code>TString</code> </td>
<td style="text-align:center" class="foswikiTableCol1"> <code>TString</code> </td>
<td class="foswikiTableCol2 foswikiLastCol"> SVN version of <code>TMusrRunHeader</code> </td>
</tr>
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted1 foswikiTableRowdataBg1">
<td class="foswikiTableCol0 foswikiFirstCol"> Generic Validator URL </td>
<td align="center" class="foswikiTableCol1"> <code>TString</code> </td>
<td align="center" class="foswikiTableCol2 foswikiLastCol"> URL of the generic <code>MusrRoot</code> validation xsd-file. </td>
<td style="text-align:center" class="foswikiTableCol1"> <code>TString</code> </td>
<td style="text-align:center" class="foswikiTableCol2 foswikiLastCol"> URL of the generic <code>MusrRoot</code> validation xsd-file. </td>
</tr>
<tr class="foswikiTableEven foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
<td class="foswikiTableCol0 foswikiFirstCol"> Specific Validator URL </td>
<td align="center" class="foswikiTableCol1"> <code>TString</code> </td>
<td align="center" class="foswikiTableCol2 foswikiLastCol"> URL of the instrument specific validation xsd-file. </td>
<td style="text-align:center" class="foswikiTableCol1"> <code>TString</code> </td>
<td class="foswikiTableCol2 foswikiLastCol" style="text-align:center"> URL of the instrument specific validation xsd-file. </td>
</tr>
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted1 foswikiTableRowdataBg1">
<td class="foswikiTableCol0 foswikiFirstCol"> Generator </td>
<td align="center" class="foswikiTableCol1"> <code>TString</code> </td>
<td class="foswikiTableCol1" style="text-align:center"> <code>TString</code> </td>
<td class="foswikiTableCol2 foswikiLastCol"> Program which wrote the <code>MusrRoot</code> file, </td>
</tr>
<tr class="foswikiTableEven foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
@ -247,7 +289,7 @@ Before elaborating more on the required items within this structure, a few words
</tr>
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted1 foswikiTableRowdataBg1">
<td class="foswikiTableCol0 foswikiFirstCol"> File Name </td>
<td align="center" class="foswikiTableCol1"> <code>TString</code> </td>
<td class="foswikiTableCol1" style="text-align:center"> <code>TString</code> </td>
<td class="foswikiTableCol2 foswikiLastCol"> File name of the <code>MusrRoot</code> file, </td>
</tr>
<tr class="foswikiTableEven foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
@ -257,52 +299,52 @@ Before elaborating more on the required items within this structure, a few words
</tr>
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted1 foswikiTableRowdataBg1">
<td class="foswikiTableCol0 foswikiFirstCol"> Run Title </td>
<td align="center" class="foswikiTableCol1"> <code>TString</code> </td>
<td style="text-align:center" class="foswikiTableCol1"> <code>TString</code> </td>
<td class="foswikiTableCol2 foswikiLastCol"> &nbsp; </td>
</tr>
<tr class="foswikiTableEven foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
<td class="foswikiTableCol0 foswikiFirstCol"> Run Number </td>
<td align="center" class="foswikiTableCol1"> <code>Int_t</code> </td>
<td class="foswikiTableCol1" style="text-align:center"> <code>Int_t</code> </td>
<td class="foswikiTableCol2 foswikiLastCol"> &nbsp; </td>
</tr>
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted1 foswikiTableRowdataBg1">
<td class="foswikiTableCol0 foswikiFirstCol"> Run Start Time </td>
<td align="center" class="foswikiTableCol1"> <code>TString</code> </td>
<td class="foswikiTableCol1" style="text-align:center"> <code>TString</code> </td>
<td class="foswikiTableCol2 foswikiLastCol"> ISO 8601 date time </td>
</tr>
<tr class="foswikiTableEven foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
<td class="foswikiTableCol0 foswikiFirstCol"> Run Stop Time </td>
<td align="center" class="foswikiTableCol1"> <code>TString</code> </td>
<td class="foswikiTableCol1" style="text-align:center"> <code>TString</code> </td>
<td class="foswikiTableCol2 foswikiLastCol"> ISO 8601 date time </td>
</tr>
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted1 foswikiTableRowdataBg1">
<td class="foswikiTableCol0 foswikiFirstCol"> Run Duration </td>
<td align="center" class="foswikiTableCol1"> <code>TMusrRunPhysicalQuantity</code> </td>
<td class="foswikiTableCol1" style="text-align:center"> <code>TMusrRunPhysicalQuantity</code> </td>
<td class="foswikiTableCol2 foswikiLastCol"> run duration in sec </td>
</tr>
<tr class="foswikiTableEven foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
<td class="foswikiTableCol0 foswikiFirstCol"> Laboratory </td>
<td align="center" class="foswikiTableCol1"> <code>TString</code> </td>
<td style="text-align:center" class="foswikiTableCol1"> <code>TString</code> </td>
<td class="foswikiTableCol2 foswikiLastCol"> <em>e.g.</em> PSI </td>
</tr>
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted1 foswikiTableRowdataBg1">
<td class="foswikiTableCol0 foswikiFirstCol"> Instrument </td>
<td align="center" class="foswikiTableCol1"> <code>TString</code> </td>
<td class="foswikiTableCol1" style="text-align:center"> <code>TString</code> </td>
<td class="foswikiTableCol2 foswikiLastCol"> <em>e.g.</em> GPS </td>
</tr>
<tr class="foswikiTableEven foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
<td class="foswikiTableCol0 foswikiFirstCol"> Muon Beam Momentum </td>
<td align="center" class="foswikiTableCol1"> <code>TMusrRunPhysicalQuantity</code> </td>
<td class="foswikiTableCol1" style="text-align:center"> <code>TMusrRunPhysicalQuantity</code> </td>
<td class="foswikiTableCol2 foswikiLastCol"> <em>e.g.</em> 28.1 MeV/c </td>
</tr>
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted1 foswikiTableRowdataBg1">
<td class="foswikiTableCol0 foswikiFirstCol"> Muon Species </td>
<td align="center" class="foswikiTableCol1"> <code>TString</code> </td>
<td class="foswikiTableCol1" style="text-align:center"> <code>TString</code> </td>
<td class="foswikiTableCol2 foswikiLastCol"> positive, or negative muon </td>
</tr>
<tr class="foswikiTableEven foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
<td class="foswikiTableCol0 foswikiFirstCol"> Muon Source </td>
<td align="center" class="foswikiTableCol1"> <code>TString</code> </td>
<td class="foswikiTableCol1" style="text-align:center"> <code>TString</code> </td>
<td class="foswikiTableCol2 foswikiLastCol"> <em>e.g.</em> Target E - Low Energy Muons or </td>
</tr>
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted1 foswikiTableRowdataBg1">
@ -312,64 +354,64 @@ Before elaborating more on the required items within this structure, a few words
</tr>
<tr class="foswikiTableEven foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
<td class="foswikiTableCol0 foswikiFirstCol"> Setup </td>
<td align="center" class="foswikiTableCol1"> <code>TString</code> </td>
<td style="text-align:center" class="foswikiTableCol1"> <code>TString</code> </td>
<td class="foswikiTableCol2 foswikiLastCol"> &nbsp; </td>
</tr>
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted1 foswikiTableRowdataBg1">
<td class="foswikiTableCol0 foswikiFirstCol"> Comment </td>
<td align="center" class="foswikiTableCol1"> <code>TString</code> </td>
<td class="foswikiTableCol1" style="text-align:center"> <code>TString</code> </td>
<td class="foswikiTableCol2 foswikiLastCol"> &nbsp; </td>
</tr>
<tr class="foswikiTableEven foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
<td class="foswikiTableCol0 foswikiFirstCol"> Sample Name </td>
<td align="center" class="foswikiTableCol1"> <code>TString</code> </td>
<td style="text-align:center" class="foswikiTableCol1"> <code>TString</code> </td>
<td class="foswikiTableCol2 foswikiLastCol"> &nbsp; </td>
</tr>
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted1 foswikiTableRowdataBg1">
<td class="foswikiTableCol0 foswikiFirstCol"> Sample Temperature </td>
<td align="center" class="foswikiTableCol1"> <code>TMusrRunPhysicalQuantity</code> </td>
<td class="foswikiTableCol1" style="text-align:center"> <code>TMusrRunPhysicalQuantity</code> </td>
<td class="foswikiTableCol2 foswikiLastCol"> <em>e.g.</em> 3.21 +- 0.05 K; SP: 3.2; CF1 </td>
</tr>
<tr class="foswikiTableEven foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
<td class="foswikiTableCol0 foswikiFirstCol"> Sample Magnetic Field </td>
<td align="center" class="foswikiTableCol1"> <code>TMusrRunPhysicalQuantity</code> </td>
<td class="foswikiTableCol1" style="text-align:center"> <code>TMusrRunPhysicalQuantity</code> </td>
<td class="foswikiTableCol2 foswikiLastCol"> <em>e.g.</em> 350.002 +- 0.005 G; SP: 350; WXY </td>
</tr>
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted1 foswikiTableRowdataBg1">
<td class="foswikiTableCol0 foswikiFirstCol"> No of Histos </td>
<td align="center" class="foswikiTableCol1"> <code>Int_t</code> </td>
<td class="foswikiTableCol1" style="text-align:center"> <code>Int_t</code> </td>
<td class="foswikiTableCol2 foswikiLastCol"> &nbsp; </td>
</tr>
<tr class="foswikiTableEven foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
<td class="foswikiTableCol0 foswikiFirstCol"> Time Resolution </td>
<td align="center" class="foswikiTableCol1"> <code>TMusrRunPhysicalQuantity</code> </td>
<td style="text-align:center" class="foswikiTableCol1"> <code>TMusrRunPhysicalQuantity</code> </td>
<td class="foswikiTableCol2 foswikiLastCol"> <em>e.g.</em> 0.1953125 ns </td>
</tr>
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted1 foswikiTableRowdataBg1">
<td class="foswikiTableCol0 foswikiFirstCol foswikiLast"> RedGreen Offsets </td>
<td align="center" class="foswikiTableCol1 foswikiLast"> <code>TIntVector</code> </td>
<td style="text-align:center" class="foswikiTableCol1 foswikiLast"> <code>TIntVector</code> </td>
<td class="foswikiTableCol2 foswikiLastCol foswikiLast"> <em>e.g.</em> 0; 20 </td>
</tr>
</tbody></table>
<p></p>
These entries should be clear except for the <code>RedGreen Offsets</code> and the column "Internal Type" which shortly will be discussed before specifying the content of the other required folders.
<p></p> <ol>
<li type="i"> <code>RedGreen Offsets</code>: in case experiments are performed with external stimuli, there will be a collection of related histograms. For instance for electrical field experiments, there will be histograms for field on/off, doubling the number of needed histograms. In order to distinguish them easier in the data file, the <code>RedGreen Offsets</code> were introduced. One selection of histograms (assuming for the moment 8 detectors) will be numbered from 1 to 8 (lets say the field off ones). The other set of histograms (field on in this example) will then start with 21 through 28 (see table above). The same will be true for the detector information (see Sec. <a href="#DetectorInfoRequired" class="foswikiCurrentTopicLink"><code>DetectorInfo</code> Required</a>). The entry <code>No of Histos</code> will only give 8 for the given example, meaning that <span class='foswikiRedFG'>red</span>/<span class='foswikiGreenFG'>green</span> multiplication is defined rather via <code>RedGreen Offsets</code> than the number of histograms.
</li> <li type="i"> Internal Types: in order to ease the handling of the <code>MusrRoot</code> run header, a class <code>TMusrRunHeader</code> is available which deals with it. The "Internal Type" specified, corresponds to the internal representation in within this class. In the <code>MusrRoot</code> file these entries are all saved as browsable <code>ROOT</code> strings (<code>TObjString</code>). The only special type is <code>TMusrRunPhysicalQuantity</code> which is introduced to deal with physical quantities. They always can be represented in the following way:
<li style="list-style-type:lower-roman"> <code>RedGreen Offsets</code>: in case experiments are performed with external stimuli, there will be a collection of related histograms. For instance for electrical field experiments, there will be histograms for field on/off, doubling the number of needed histograms. In order to distinguish them easier in the data file, the <code>RedGreen Offsets</code> were introduced. One selection of histograms (assuming for the moment 8 detectors) will be numbered from 1 to 8 (lets say the field off ones). The other set of histograms (field on in this example) will then start with 21 through 28 (see table above). The same will be true for the detector information (see Sec. <a class="foswikiCurrentTopicLink" href="#DetectorInfoRequired"><code>DetectorInfo</code> Required</a>). The entry <code>No of Histos</code> will only give 8 for the given example, meaning that <span class='foswikiRedFG'>red</span>/<span class='foswikiGreenFG'>green</span> multiplication is defined rather via <code>RedGreen Offsets</code> than the number of histograms.
</li> <li style="list-style-type:lower-roman"> Internal Types: in order to ease the handling of the <code>MusrRoot</code> run header, a class <code>TMusrRunHeader</code> is available which deals with it. The "Internal Type" specified, corresponds to the internal representation in within this class. In the <code>MusrRoot</code> file these entries are all saved as browsable <code>ROOT</code> strings (<code>TObjString</code>). The only special type is <code>TMusrRunPhysicalQuantity</code> which is introduced to deal with physical quantities. They always can be represented in the following way:
</li></ol>
<pre>
&#60;property name&#62; &#60;value&#62; +- &#60;estimated error&#62; &#60;unit&#62;; SP: &#60;demand&#62;; &#60;description&#62;
</pre>
Not all of these values are needed to be given and depending on which are given, the representation in the <code>MusrRoot</code> file will be different (handled by <code>TMusrRunHeader</code>). Examples are given in the comment column of the table above. For details see <a href="#TMusrRunPhysicalQuantity" class="foswikiCurrentTopicLink"><code>TMusrRunPhysicalQuantity</code> - Possible Representations</a>.
Not all of these values are needed to be given and depending on which are given, the representation in the <code>MusrRoot</code> file will be different (handled by <code>TMusrRunHeader</code>). Examples are given in the comment column of the table above. For details see <a class="foswikiCurrentTopicLink" href="#TMusrRunPhysicalQuantity"><code>TMusrRunPhysicalQuantity</code> - Possible Representations</a>.
<p></p>
A mock-up <code>TBrowser</code> print-out would look like the one shown in the following figure. You might notice, that at the end of each entry you find a " <code>-@X</code> ", where <code>X</code> is a number. This is an encoding of the internal type of the entry and is the price to be payed not using derived types. The next section will explain this in much more detail.
<p></p>
<img src="../pub/MUSR/MusrRoot/RunInfo.png" alt="=TMusrRunHeader= mock up. The red shaded entries are of type =TMusrRunPhysicalQuantity="/>
<img class='imagePlain imagePlain_none ' src='../pub/MUSR/MusrRoot/RunInfo.png' alt='TMusrRunHeader mock up. The red shaded entries are of type TMusrRunPhysicalQuantity' title='RunInfo.png' width='639' height='774' style='' />
<p></p>
<code>TMusrRunHeader</code> mock up. The red shaded entries are of type <code>TMusrRunPhysicalQuantity</code>
<p></p>
<a name="TMusrRunHeaderConcept"></a>
<h1><a name="A_4_61TMusrRunHeader_61_Concept"></a> 4 <code>TMusrRunHeader</code> Concept </h1>
<span id="TMusrRunHeaderConcept"></span>
<h1 id="A_4_61TMusrRunHeader_61_Concept"> 4 <code>TMusrRunHeader</code> Concept </h1>
The different &#956;SR instruments need different information to be written into the data file (next to the most important ones: the histograms). The above defined properties are the <em>minimal number of required</em> ones. There are different possible approaches to deal with it on the implementation level.
<p></p> <ul>
<li> A base class dealing with <em>minimal required</em> standard is defined. Afterwards for each instrument a class is derived which is extending the base class to the needs of the instrument.
@ -389,10 +431,10 @@ Even though the first approach is very clean, it would mean a lot of maintenance
<p></p>
These properties can be collected by themselves in form of vectors. This way any needed information can be written into the <code>ROOT</code> file. The class <code>TMusrRunHeader</code> is implementing this run header concept. In following section code snippets will be discussed, showing how this is used on level of the <code>MIDAS</code> analyzer, <code>musrfit</code> reader routine, and <code>any2many</code> conversion routines. The section <a href="#ValidateMusrRoot" class="foswikiCurrentTopicLink">Validation</a> will discuss how to validate <code>MusrRoot</code> files.
<p></p>
<h2><a name="A_4.1_User_Interface_for_61MusrRoot_61_Run_Header"></a> 4.1 User Interface for <code>MusrRoot</code> Run Header </h2>
<h2 id="A_4.1_User_Interface_for_61MusrRoot_61_Run_Header"> 4.1 User Interface for <code>MusrRoot</code> Run Header </h2>
There are two things needed to deal with the <code>MusrRoot</code> run header, namely writing it and reading it. I will start with the writing as will be done in the <code>MIDAS</code> analyzer.
<p></p>
<h3><a name="A_4.1.1_Writing_a_61MusrRoot_61_Run_Header"></a> 4.1.1 Writing a <code>MusrRoot</code> Run Header </h3>
<h3 id="A_4.1.1_Writing_a_61MusrRoot_61_Run_Header"> 4.1.1 Writing a <code>MusrRoot</code> Run Header </h3>
An example program <code>write_musrRoot_runHeader</code> which is writing a full run header is part of the <code>musrfit</code> package. Here I will concentrate just on the most essential parts. First one needs an instance of <code>TMusrRunHeader</code>
<p></p>
<pre class="cplusplus">
@ -421,7 +463,7 @@ prop.Set(&#34;CF3&#34;, MRH&#95;UNDEFINED, 3.27, 0.09, &#34;K&#34;, &#34;strange
header-&#62;Set(&#34;SampleEnvironmentInfo/CF3&#34;, prop);
</pre>
<p></p>
Here <code>TMusrRunPhysicalQuantity</code> objects are fed via the use of the overloaded set-method. For details see <a href="#TMusrRunPhysicalQuantity" class="foswikiCurrentTopicLink"><code>TMusrRunPhysicalQuantity</code> - Possible Representations</a>.
Here <code>TMusrRunPhysicalQuantity</code> objects are fed via the use of the overloaded set-method. For details see <a class="foswikiCurrentTopicLink" href="#TMusrRunPhysicalQuantity"><code>TMusrRunPhysicalQuantity</code> - Possible Representations</a>.
<p></p>
To set some property within "sub-sub-directories" it would like this:
<p></p>
@ -449,7 +491,7 @@ if (header-&#62;FillFolder(runHeader)) {
f-&#62;Close();
</pre>
<p></p>
<h3><a name="A_4.1.2_Reading_a_61MusrRoot_61_Run_Header"></a> 4.1.2 Reading a <code>MusrRoot</code> Run Header </h3>
<h3 id="A_4.1.2_Reading_a_61MusrRoot_61_Run_Header"> 4.1.2 Reading a <code>MusrRoot</code> Run Header </h3>
The following code snippet shows how the extract the full run header from the <code>MusrRoot</code> file.
<p></p>
<pre class="cplusplus">
@ -506,11 +548,11 @@ if (ok) {
}
</pre>
<p></p>
<a name="ValidateMusrRoot"></a>
<h2><a name="A_4.2_Validation_of_a_61MusrRoot_61_File"></a> 4.2 Validation of a <code>MusrRoot</code> File </h2>
<span id="ValidateMusrRoot"></span>
<h2 id="A_4.2_Validation_of_a_61MusrRoot_61_File"> 4.2 Validation of a <code>MusrRoot</code> File </h2>
Since <code>MusrRoot</code> is an open and extensible file format a mechanism is needed to validate that a given file is indeed holding the <em>minimum of required</em> entries. To check this the following scheme is implemented in the program <code>musrRootValidation</code>:
<p></p>
<img src="../pub/MUSR/MusrRoot/MusrRootValidationScheme.png" height="700" title="MusrRoot validation scheme"/>
<img class='imagePlain imagePlain_none ' src='../pub/MUSR/MusrRoot/igp_83c77f15ea1749504415a3ddb97bfa42_MusrRootValidationScheme.png' alt='MusrRootValidationScheme.png' title='MusrRoot validation scheme' width='495' height='700' style='' />
<p></p>
<code>MusrRoot</code> validation scheme
<p></p>
@ -524,46 +566,46 @@ In the following this validation scheme will be discussed as it is implemented i
<p></p>
This validation scheme is useful for people which define instrument specific extensions of the base <code>MusrRoot</code>, as for instance the LEM instrument at PSI. It is also useful for people writing file converters in order to cross check if the generated file is valid.
<p></p>
<a name="RunInfoRequired"></a>
<h1><a name="A_5_61RunInfo_61_Required"></a> 5 <code>RunInfo</code> Required </h1>
<span id="RunInfoRequired"></span>
<h1 id="A_5_61RunInfo_61_Required"> 5 <code>RunInfo</code> Required </h1>
<p></p>
<table class="foswikiTable" rules="none" border="1">
<table class="foswikiTable" border="1" rules="none">
<thead>
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
<th class="foswikiTableCol0 foswikiFirstCol"> <a rel="nofollow" href="https://intranet.psi.ch/MUSR/MusrRoot?cover=print;sortcol=0;table=2;up=0#sorted_table" title="Sort by this column">Name</a> </th>
<th align="center" class="foswikiTableCol1"> <a rel="nofollow" href="https://intranet.psi.ch/MUSR/MusrRoot?cover=print;sortcol=1;table=2;up=0#sorted_table" title="Sort by this column">Internal Type</a> </th>
<th align="center" class="foswikiTableCol2 foswikiLastCol"> <a rel="nofollow" href="https://intranet.psi.ch/MUSR/MusrRoot?cover=print;sortcol=2;table=2;up=0#sorted_table" title="Sort by this column">Comment</a> </th>
<th class="foswikiTableCol0 foswikiFirstCol"> <a title="Sort by this column" rel="nofollow" href="https://intranet.psi.ch/MUSR/MusrRoot?cover=print;sortcol=0;table=2;up=0#sorted_table">Name</a> </th>
<th class="foswikiTableCol1" style="text-align:center"> <a href="https://intranet.psi.ch/MUSR/MusrRoot?cover=print;sortcol=1;table=2;up=0#sorted_table" rel="nofollow" title="Sort by this column">Internal Type</a> </th>
<th class="foswikiTableCol2 foswikiLastCol" style="text-align:center"> <a href="https://intranet.psi.ch/MUSR/MusrRoot?cover=print;sortcol=2;table=2;up=0#sorted_table" title="Sort by this column" rel="nofollow">Comment</a> </th>
</tr>
</thead>
<tbody>
<tr class="foswikiTableEven foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
<td class="foswikiTableCol0 foswikiFirstCol"> Version </td>
<td align="center" class="foswikiTableCol1"> <code>TString</code> </td>
<td style="text-align:center" class="foswikiTableCol1"> <code>TString</code> </td>
<td class="foswikiTableCol2 foswikiLastCol"> SVN version of <code>TMusrRunHeader</code> </td>
</tr>
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted1 foswikiTableRowdataBg1">
<td class="foswikiTableCol0 foswikiFirstCol"> Generic Validator URL </td>
<td align="center" class="foswikiTableCol1"> <code>TString</code> </td>
<td style="text-align:center" class="foswikiTableCol1"> <code>TString</code> </td>
<td class="foswikiTableCol2 foswikiLastCol"> URL of the generic <code>MusrRoot</code> validation xsd-file. </td>
</tr>
<tr class="foswikiTableEven foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
<td class="foswikiTableCol0 foswikiFirstCol"> &nbsp; </td>
<td class="foswikiTableCol1"> &nbsp; </td>
<td class="foswikiTableCol2 foswikiLastCol"> <em>e.g.</em> <a href="http://lmu.web.psi.ch/facilities/software/MusrRoot/Validation/MusrRoot.xsd" target="_top">http://lmu.web.psi.ch/facilities/software/MusrRoot/Validation/MusrRoot.xsd</a> </td>
<td class="foswikiTableCol2 foswikiLastCol"> <em>e.g.</em> <a href="http://lmu.web.psi.ch/facilities/software/MusrRoot/Validation/MusrRoot.xsd">http://lmu.web.psi.ch/facilities/software/MusrRoot/Validation/MusrRoot.xsd</a> </td>
</tr>
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted1 foswikiTableRowdataBg1">
<td class="foswikiTableCol0 foswikiFirstCol"> Specific Validator URL </td>
<td align="center" class="foswikiTableCol1"> <code>TString</code> </td>
<td style="text-align:center" class="foswikiTableCol1"> <code>TString</code> </td>
<td class="foswikiTableCol2 foswikiLastCol"> URL of the instrument specific validation xsd-file. </td>
</tr>
<tr class="foswikiTableEven foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
<td class="foswikiTableCol0 foswikiFirstCol"> &nbsp; </td>
<td class="foswikiTableCol1"> &nbsp; </td>
<td class="foswikiTableCol2 foswikiLastCol"> <em>e.g.</em> for LEM: <a href="http://lmu.web.psi.ch/facilities/software/MusrRoot/Validation/MusrRootLEM.xsd" target="_top">http://lmu.web.psi.ch/facilities/software/MusrRoot/Validation/MusrRootLEM.xsd</a> </td>
<td class="foswikiTableCol2 foswikiLastCol"> <em>e.g.</em> for LEM: <a href="http://lmu.web.psi.ch/facilities/software/MusrRoot/Validation/MusrRootLEM.xsd">http://lmu.web.psi.ch/facilities/software/MusrRoot/Validation/MusrRootLEM.xsd</a> </td>
</tr>
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted1 foswikiTableRowdataBg1">
<td class="foswikiTableCol0 foswikiFirstCol"> Generator </td>
<td align="center" class="foswikiTableCol1"> <code>TString</code> </td>
<td class="foswikiTableCol1" style="text-align:center"> <code>TString</code> </td>
<td class="foswikiTableCol2 foswikiLastCol"> Program which wrote the <code>MusrRoot</code> file, </td>
</tr>
<tr class="foswikiTableEven foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
@ -573,7 +615,7 @@ This validation scheme is useful for people which define instrument specific ext
</tr>
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted1 foswikiTableRowdataBg1">
<td class="foswikiTableCol0 foswikiFirstCol"> File Name </td>
<td align="center" class="foswikiTableCol1"> <code>TString</code> </td>
<td style="text-align:center" class="foswikiTableCol1"> <code>TString</code> </td>
<td class="foswikiTableCol2 foswikiLastCol"> File name of the <code>MusrRoot</code> file, </td>
</tr>
<tr class="foswikiTableEven foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
@ -583,52 +625,52 @@ This validation scheme is useful for people which define instrument specific ext
</tr>
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted1 foswikiTableRowdataBg1">
<td class="foswikiTableCol0 foswikiFirstCol"> Run Title </td>
<td align="center" class="foswikiTableCol1"> <code>TString</code> </td>
<td style="text-align:center" class="foswikiTableCol1"> <code>TString</code> </td>
<td class="foswikiTableCol2 foswikiLastCol"> &nbsp; </td>
</tr>
<tr class="foswikiTableEven foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
<td class="foswikiTableCol0 foswikiFirstCol"> Run Number </td>
<td align="center" class="foswikiTableCol1"> <code>Int_t</code> </td>
<td class="foswikiTableCol1" style="text-align:center"> <code>Int_t</code> </td>
<td class="foswikiTableCol2 foswikiLastCol"> &nbsp; </td>
</tr>
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted1 foswikiTableRowdataBg1">
<td class="foswikiTableCol0 foswikiFirstCol"> Run Start Time </td>
<td align="center" class="foswikiTableCol1"> <code>TString</code> </td>
<td class="foswikiTableCol1" style="text-align:center"> <code>TString</code> </td>
<td class="foswikiTableCol2 foswikiLastCol"> ISO 8601 date time </td>
</tr>
<tr class="foswikiTableEven foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
<td class="foswikiTableCol0 foswikiFirstCol"> Run Stop Time </td>
<td align="center" class="foswikiTableCol1"> <code>TString</code> </td>
<td style="text-align:center" class="foswikiTableCol1"> <code>TString</code> </td>
<td class="foswikiTableCol2 foswikiLastCol"> ISO 8601 date time </td>
</tr>
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted1 foswikiTableRowdataBg1">
<td class="foswikiTableCol0 foswikiFirstCol"> Run Duration </td>
<td align="center" class="foswikiTableCol1"> <code>TMusrRunPhysicalQuantity</code> </td>
<td class="foswikiTableCol1" style="text-align:center"> <code>TMusrRunPhysicalQuantity</code> </td>
<td class="foswikiTableCol2 foswikiLastCol"> run duration in sec </td>
</tr>
<tr class="foswikiTableEven foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
<td class="foswikiTableCol0 foswikiFirstCol"> Laboratory </td>
<td align="center" class="foswikiTableCol1"> <code>TString</code> </td>
<td style="text-align:center" class="foswikiTableCol1"> <code>TString</code> </td>
<td class="foswikiTableCol2 foswikiLastCol"> <em>e.g.</em> PSI </td>
</tr>
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted1 foswikiTableRowdataBg1">
<td class="foswikiTableCol0 foswikiFirstCol"> Instrument </td>
<td align="center" class="foswikiTableCol1"> <code>TString</code> </td>
<td style="text-align:center" class="foswikiTableCol1"> <code>TString</code> </td>
<td class="foswikiTableCol2 foswikiLastCol"> <em>e.g.</em> GPS </td>
</tr>
<tr class="foswikiTableEven foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
<td class="foswikiTableCol0 foswikiFirstCol"> Muon Beam Momentum </td>
<td align="center" class="foswikiTableCol1"> <code>TMusrRunPhysicalQuantity</code> </td>
<td style="text-align:center" class="foswikiTableCol1"> <code>TMusrRunPhysicalQuantity</code> </td>
<td class="foswikiTableCol2 foswikiLastCol"> <em>e.g.</em> 28.1 MeV/c </td>
</tr>
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted1 foswikiTableRowdataBg1">
<td class="foswikiTableCol0 foswikiFirstCol"> Muon Species </td>
<td align="center" class="foswikiTableCol1"> <code>TString</code> </td>
<td class="foswikiTableCol1" style="text-align:center"> <code>TString</code> </td>
<td class="foswikiTableCol2 foswikiLastCol"> positive, or negative muon </td>
</tr>
<tr class="foswikiTableEven foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
<td class="foswikiTableCol0 foswikiFirstCol"> Muon Source </td>
<td align="center" class="foswikiTableCol1"> <code>TString</code> </td>
<td style="text-align:center" class="foswikiTableCol1"> <code>TString</code> </td>
<td class="foswikiTableCol2 foswikiLastCol"> <em>e.g.</em> Target E - Low Energy Muons or </td>
</tr>
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted1 foswikiTableRowdataBg1">
@ -638,48 +680,48 @@ This validation scheme is useful for people which define instrument specific ext
</tr>
<tr class="foswikiTableEven foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
<td class="foswikiTableCol0 foswikiFirstCol"> Setup </td>
<td align="center" class="foswikiTableCol1"> <code>TString</code> </td>
<td style="text-align:center" class="foswikiTableCol1"> <code>TString</code> </td>
<td class="foswikiTableCol2 foswikiLastCol"> &nbsp; </td>
</tr>
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted1 foswikiTableRowdataBg1">
<td class="foswikiTableCol0 foswikiFirstCol"> Comment </td>
<td align="center" class="foswikiTableCol1"> <code>TString</code> </td>
<td class="foswikiTableCol1" style="text-align:center"> <code>TString</code> </td>
<td class="foswikiTableCol2 foswikiLastCol"> &nbsp; </td>
</tr>
<tr class="foswikiTableEven foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
<td class="foswikiTableCol0 foswikiFirstCol"> Sample Name </td>
<td align="center" class="foswikiTableCol1"> <code>TString</code> </td>
<td class="foswikiTableCol1" style="text-align:center"> <code>TString</code> </td>
<td class="foswikiTableCol2 foswikiLastCol"> &nbsp; </td>
</tr>
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted1 foswikiTableRowdataBg1">
<td class="foswikiTableCol0 foswikiFirstCol"> Sample Temperature </td>
<td align="center" class="foswikiTableCol1"> <code>TMusrRunPhysicalQuantity</code> </td>
<td class="foswikiTableCol1" style="text-align:center"> <code>TMusrRunPhysicalQuantity</code> </td>
<td class="foswikiTableCol2 foswikiLastCol"> <em>e.g.</em> 3.21 +- 0.05 K; SP: 3.2; CF1 </td>
</tr>
<tr class="foswikiTableEven foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
<td class="foswikiTableCol0 foswikiFirstCol"> Sample Magnetic Field </td>
<td align="center" class="foswikiTableCol1"> <code>TMusrRunPhysicalQuantity</code> </td>
<td style="text-align:center" class="foswikiTableCol1"> <code>TMusrRunPhysicalQuantity</code> </td>
<td class="foswikiTableCol2 foswikiLastCol"> <em>e.g.</em> 350.002 +- 0.005 G; SP: 350; WXY </td>
</tr>
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted1 foswikiTableRowdataBg1">
<td class="foswikiTableCol0 foswikiFirstCol"> No of Histos </td>
<td align="center" class="foswikiTableCol1"> <code>Int_t</code> </td>
<td class="foswikiTableCol1" style="text-align:center"> <code>Int_t</code> </td>
<td class="foswikiTableCol2 foswikiLastCol"> &nbsp; </td>
</tr>
<tr class="foswikiTableEven foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
<td class="foswikiTableCol0 foswikiFirstCol"> Time Resolution </td>
<td align="center" class="foswikiTableCol1"> <code>TMusrRunPhysicalQuantity</code> </td>
<td style="text-align:center" class="foswikiTableCol1"> <code>TMusrRunPhysicalQuantity</code> </td>
<td class="foswikiTableCol2 foswikiLastCol"> <em>e.g.</em> 0.1953125 ns </td>
</tr>
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted1 foswikiTableRowdataBg1">
<td class="foswikiTableCol0 foswikiFirstCol foswikiLast"> RedGreen Offsets </td>
<td align="center" class="foswikiTableCol1 foswikiLast"> <code>TIntVector</code> </td>
<td class="foswikiTableCol1 foswikiLast" style="text-align:center"> <code>TIntVector</code> </td>
<td class="foswikiTableCol2 foswikiLastCol foswikiLast"> <em>e.g.</em> 0; 20 </td>
</tr>
</tbody></table>
<p></p>
<a name="DetectorInfoRequired"></a>
<h1><a name="A_6_61DetectorInfo_61_Required"></a> 6 <code>DetectorInfo</code> Required </h1>
<span id="DetectorInfoRequired"></span>
<h1 id="A_6_61DetectorInfo_61_Required"> 6 <code>DetectorInfo</code> Required </h1>
The <code>DetectorInfo</code> is organized in a sub-tree like
<p></p>
<pre>
@ -695,115 +737,115 @@ The numbering of the detectors has to correspond the its histogram, <em>e.g.</em
<p></p>
<code>Detector&lt;XXX&gt;</code> has the elements
<p></p>
<table class="foswikiTable" rules="none" border="1">
<table border="1" class="foswikiTable" rules="none">
<thead>
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
<th class="foswikiTableCol0 foswikiFirstCol"> <a rel="nofollow" href="https://intranet.psi.ch/MUSR/MusrRoot?cover=print;sortcol=0;table=3;up=0#sorted_table" title="Sort by this column">Name</a> </th>
<th align="center" class="foswikiTableCol1"> <a rel="nofollow" href="https://intranet.psi.ch/MUSR/MusrRoot?cover=print;sortcol=1;table=3;up=0#sorted_table" title="Sort by this column">Internal Type</a> </th>
<th class="foswikiTableCol2 foswikiLastCol"> <a rel="nofollow" href="https://intranet.psi.ch/MUSR/MusrRoot?cover=print;sortcol=2;table=3;up=0#sorted_table" title="Sort by this column">Comment</a> </th>
<th class="foswikiTableCol0 foswikiFirstCol"> <a rel="nofollow" title="Sort by this column" href="https://intranet.psi.ch/MUSR/MusrRoot?cover=print;sortcol=0;table=3;up=0#sorted_table">Name</a> </th>
<th class="foswikiTableCol1" style="text-align:center"> <a title="Sort by this column" rel="nofollow" href="https://intranet.psi.ch/MUSR/MusrRoot?cover=print;sortcol=1;table=3;up=0#sorted_table">Internal Type</a> </th>
<th class="foswikiTableCol2 foswikiLastCol"> <a href="https://intranet.psi.ch/MUSR/MusrRoot?cover=print;sortcol=2;table=3;up=0#sorted_table" title="Sort by this column" rel="nofollow">Comment</a> </th>
</tr>
</thead>
<tbody>
<tr class="foswikiTableEven foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
<td class="foswikiTableCol0 foswikiFirstCol"> Name </td>
<td align="center" class="foswikiTableCol1"> <code>TString</code> </td>
<td style="text-align:center" class="foswikiTableCol1"> <code>TString</code> </td>
<td class="foswikiTableCol2 foswikiLastCol"> detector name, <em>e.g.</em> Left-NPP </td>
</tr>
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted1 foswikiTableRowdataBg1">
<td class="foswikiTableCol0 foswikiFirstCol"> Histo Number </td>
<td align="center" class="foswikiTableCol1"> <code>Int_t</code> </td>
<td style="text-align:center" class="foswikiTableCol1"> <code>Int_t</code> </td>
<td class="foswikiTableCol2 foswikiLastCol"> histogram number. This number corresponds to the histogram number in the <code>histos/DecayAnaModule</code> sub-tree. </td>
</tr>
<tr class="foswikiTableEven foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
<td class="foswikiTableCol0 foswikiFirstCol"> Histo Length </td>
<td align="center" class="foswikiTableCol1"> <code>Int_t</code> </td>
<td style="text-align:center" class="foswikiTableCol1"> <code>Int_t</code> </td>
<td class="foswikiTableCol2 foswikiLastCol"> length of the histogram </td>
</tr>
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted1 foswikiTableRowdataBg1">
<td class="foswikiTableCol0 foswikiFirstCol"> Time Zero Bin </td>
<td align="center" class="foswikiTableCol1"> <code>Double_t</code> </td>
<td style="text-align:center" class="foswikiTableCol1"> <code>Double_t</code> </td>
<td class="foswikiTableCol2 foswikiLastCol"> The type is <code>Double_t</code> since for the high-field spectrometer at PSI an <code>Int_t</code> representation would be not good enough. </td>
</tr>
<tr class="foswikiTableEven foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
<td class="foswikiTableCol0 foswikiFirstCol"> First Good Bin </td>
<td align="center" class="foswikiTableCol1"> <code>Int_t</code> </td>
<td class="foswikiTableCol1" style="text-align:center"> <code>Int_t</code> </td>
<td class="foswikiTableCol2 foswikiLastCol"> &nbsp; </td>
</tr>
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted1 foswikiTableRowdataBg1">
<td class="foswikiTableCol0 foswikiFirstCol foswikiLast"> Last Good Bin </td>
<td align="center" class="foswikiTableCol1 foswikiLast"> <code>Int_t</code> </td>
<td style="text-align:center" class="foswikiTableCol1 foswikiLast"> <code>Int_t</code> </td>
<td class="foswikiTableCol2 foswikiLastCol foswikiLast"> &nbsp; </td>
</tr>
</tbody></table>
<p></p>
<a name="SampleEnvironmentInfoRequired"></a>
<h1><a name="A_7_61SampleEnvironmentInfo_61_Required"></a> 7 <code>SampleEnvironmentInfo</code> Required </h1>
<span id="SampleEnvironmentInfoRequired"></span>
<h1 id="A_7_61SampleEnvironmentInfo_61_Required"> 7 <code>SampleEnvironmentInfo</code> Required </h1>
Here only a single entry is required, namely
<p></p>
<table class="foswikiTable" rules="none" border="1">
<table rules="none" border="1" class="foswikiTable">
<thead>
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
<th class="foswikiTableCol0 foswikiFirstCol"> <a rel="nofollow" href="https://intranet.psi.ch/MUSR/MusrRoot?cover=print;sortcol=0;table=4;up=0#sorted_table" title="Sort by this column">Name</a> </th>
<th align="center" class="foswikiTableCol1"> <a rel="nofollow" href="https://intranet.psi.ch/MUSR/MusrRoot?cover=print;sortcol=1;table=4;up=0#sorted_table" title="Sort by this column">Internal Type</a> </th>
<th class="foswikiTableCol2 foswikiLastCol"> <a rel="nofollow" href="https://intranet.psi.ch/MUSR/MusrRoot?cover=print;sortcol=2;table=4;up=0#sorted_table" title="Sort by this column">Comment</a> </th>
<th class="foswikiTableCol0 foswikiFirstCol"> <a rel="nofollow" title="Sort by this column" href="https://intranet.psi.ch/MUSR/MusrRoot?cover=print;sortcol=0;table=4;up=0#sorted_table">Name</a> </th>
<th style="text-align:center" class="foswikiTableCol1"> <a rel="nofollow" title="Sort by this column" href="https://intranet.psi.ch/MUSR/MusrRoot?cover=print;sortcol=1;table=4;up=0#sorted_table">Internal Type</a> </th>
<th class="foswikiTableCol2 foswikiLastCol"> <a rel="nofollow" title="Sort by this column" href="https://intranet.psi.ch/MUSR/MusrRoot?cover=print;sortcol=2;table=4;up=0#sorted_table">Comment</a> </th>
</tr>
</thead>
<tbody>
<tr class="foswikiTableEven foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
<td class="foswikiTableCol0 foswikiFirstCol foswikiLast"> Cryo </td>
<td align="center" class="foswikiTableCol1 foswikiLast"> <code>TString</code> </td>
<td style="text-align:center" class="foswikiTableCol1 foswikiLast"> <code>TString</code> </td>
<td class="foswikiTableCol2 foswikiLastCol foswikiLast"> name of the used cryostat, <em>e.g.</em> Konti-2 </td>
</tr>
</tbody></table>
<p></p>
<a name="MagneticFieldEnvironmentInfoRequired"></a>
<h1><a name="A_8_61MagneticFieldEnvironmentInfo_61_Required"></a> 8 <code>MagneticFieldEnvironmentInfo</code> Required </h1>
<span id="MagneticFieldEnvironmentInfoRequired"></span>
<h1 id="A_8_61MagneticFieldEnvironmentInfo_61_Required"> 8 <code>MagneticFieldEnvironmentInfo</code> Required </h1>
<p></p>
Here only a single entry is required, namely
<p></p>
<table class="foswikiTable" rules="none" border="1">
<table class="foswikiTable" border="1" rules="none">
<thead>
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
<th class="foswikiTableCol0 foswikiFirstCol"> <a rel="nofollow" href="https://intranet.psi.ch/MUSR/MusrRoot?cover=print;sortcol=0;table=5;up=0#sorted_table" title="Sort by this column">Name</a> </th>
<th align="center" class="foswikiTableCol1"> <a rel="nofollow" href="https://intranet.psi.ch/MUSR/MusrRoot?cover=print;sortcol=1;table=5;up=0#sorted_table" title="Sort by this column">Internal Type</a> </th>
<th class="foswikiTableCol2 foswikiLastCol"> <a rel="nofollow" href="https://intranet.psi.ch/MUSR/MusrRoot?cover=print;sortcol=2;table=5;up=0#sorted_table" title="Sort by this column">Comment</a> </th>
<th class="foswikiTableCol0 foswikiFirstCol"> <a rel="nofollow" title="Sort by this column" href="https://intranet.psi.ch/MUSR/MusrRoot?cover=print;sortcol=0;table=5;up=0#sorted_table">Name</a> </th>
<th style="text-align:center" class="foswikiTableCol1"> <a rel="nofollow" title="Sort by this column" href="https://intranet.psi.ch/MUSR/MusrRoot?cover=print;sortcol=1;table=5;up=0#sorted_table">Internal Type</a> </th>
<th class="foswikiTableCol2 foswikiLastCol"> <a title="Sort by this column" rel="nofollow" href="https://intranet.psi.ch/MUSR/MusrRoot?cover=print;sortcol=2;table=5;up=0#sorted_table">Comment</a> </th>
</tr>
</thead>
<tbody>
<tr class="foswikiTableEven foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
<td class="foswikiTableCol0 foswikiFirstCol"> Magnet Name </td>
<td align="center" class="foswikiTableCol1"> <code>TString</code> </td>
<td class="foswikiTableCol1" style="text-align:center"> <code>TString</code> </td>
<td class="foswikiTableCol2 foswikiLastCol"> name of the used magnet, <em>e.g.</em> WEW. </td>
</tr>
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted1 foswikiTableRowdataBg1">
<td class="foswikiTableCol0 foswikiFirstCol foswikiLast"> &nbsp; </td>
<td class="foswikiTableCol1 foswikiLast"> &nbsp; </td>
<td align="right" class="foswikiTableCol2 foswikiLastCol foswikiLast"> In case of ZF measurements, there might be an entry like <code>ZF</code>. </td>
<td style="text-align:right" class="foswikiTableCol2 foswikiLastCol foswikiLast"> In case of ZF measurements, there might be an entry like <code>ZF</code>. </td>
</tr>
</tbody></table>
<p></p>
<a name="BeamlineInfoRequired"></a>
<h1><a name="A_9_61BeamlineInfo_61_Required"></a> 9 <code>BeamlineInfo</code> Required </h1>
<span id="BeamlineInfoRequired"></span>
<h1 id="A_9_61BeamlineInfo_61_Required"> 9 <code>BeamlineInfo</code> Required </h1>
<p></p>
Here only a single entry is required, namely
<p></p>
<table class="foswikiTable" rules="none" border="1">
<table rules="none" class="foswikiTable" border="1">
<thead>
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
<th class="foswikiTableCol0 foswikiFirstCol"> <a rel="nofollow" href="https://intranet.psi.ch/MUSR/MusrRoot?cover=print;sortcol=0;table=6;up=0#sorted_table" title="Sort by this column">Name</a> </th>
<th align="center" class="foswikiTableCol1"> <a rel="nofollow" href="https://intranet.psi.ch/MUSR/MusrRoot?cover=print;sortcol=1;table=6;up=0#sorted_table" title="Sort by this column">Internal Type</a> </th>
<th class="foswikiTableCol2 foswikiLastCol"> <a rel="nofollow" href="https://intranet.psi.ch/MUSR/MusrRoot?cover=print;sortcol=2;table=6;up=0#sorted_table" title="Sort by this column">Comment</a> </th>
<th class="foswikiTableCol0 foswikiFirstCol"> <a title="Sort by this column" rel="nofollow" href="https://intranet.psi.ch/MUSR/MusrRoot?cover=print;sortcol=0;table=6;up=0#sorted_table">Name</a> </th>
<th style="text-align:center" class="foswikiTableCol1"> <a href="https://intranet.psi.ch/MUSR/MusrRoot?cover=print;sortcol=1;table=6;up=0#sorted_table" rel="nofollow" title="Sort by this column">Internal Type</a> </th>
<th class="foswikiTableCol2 foswikiLastCol"> <a rel="nofollow" title="Sort by this column" href="https://intranet.psi.ch/MUSR/MusrRoot?cover=print;sortcol=2;table=6;up=0#sorted_table">Comment</a> </th>
</tr>
</thead>
<tbody>
<tr class="foswikiTableEven foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
<td class="foswikiTableCol0 foswikiFirstCol foswikiLast"> Name </td>
<td align="center" class="foswikiTableCol1 foswikiLast"> <code>TString</code> </td>
<td style="text-align:center" class="foswikiTableCol1 foswikiLast"> <code>TString</code> </td>
<td class="foswikiTableCol2 foswikiLastCol foswikiLast"> name of the beamline, <em>e.g.</em> <code>piM3.2</code>. </td>
</tr>
</tbody></table>
<p></p>
<h1><a name="A_10_Exhaustive_61MusrRoot_61_Tree_Including_Everything_Required"></a> 10 Exhaustive <code>MusrRoot</code> Tree Including Everything <em>Required</em> </h1>
<h1 id="A_10_Exhaustive_61MusrRoot_61_Tree_Including_Everything_Required"> 10 Exhaustive <code>MusrRoot</code> Tree Including Everything <em>Required</em> </h1>
Here it is assumed that there are <em>hypothetical</em> <span class='foswikiRedFG'>red</span> / <span class='foswikiGreenFG'>green</span> data with electric field on/off and light on/off, and hence 4 data sets per detector, and 8 detectors of the instrument: <code>left/forward, top/forward, right/forward, bottom/forward, left/backward, top/backward, right/backward, bottom/backward</code>. To show the whole tree structure, it will be splitted in the representation afterwards, but keep in mind: this will be all part of a single <code>MusrRoot</code> file. I will add comments in the tree structure by the symbol <code>#</code>. Lets start with the &#956;SR data histograms:
<p></p>
<pre>
@ -859,7 +901,7 @@ Next the whole <code>RunHeader</code>. Here the information will be grouped in d
<p></p>
<pre>
RunInfo:
000 - Version: $Id: TMusrRunHeader.cpp 5092 2012-03-13 07:47:00Z nemu $ -&#64;0
000 - Version: &#36;Id: TMusrRunHeader.cpp 5092 2012-03-13 07:47:00Z nemu &#36; -&#64;0
001 - Generic Validator URL: http://lmu.web.psi.ch/facilities/software/MusrRoot/Validation/MusrRoot.xsd -&#64;0
002 - Specific Validator URL: http://lmu.web.psi.ch/facilities/software/MusrRoot/Validation/MusrRootLEM.xsd -&#64;0
003 - Generator: nemu&#95;analyzer -&#64;0
@ -938,8 +980,8 @@ RunSummary:
<p></p>
Comment: the last sub-tree <code>RunSummary</code> is not following <code>TMusrRunHeader</code> rule <code>&lt;number&gt; - &lt;label&gt;: &lt;value&gt; -@&lt;type&gt;</code>. It is added in the instrument analyzer directly by other means than the <code>TMusrRunHeader::Set</code> -method. This is no problem! Since <code>RunSummary</code> is not part of the <em>required</em> <code>MusrRoot</code> -file. One is quite free in adding any <code>ROOT</code> based information here.
<p></p>
<a name="TMusrRunPhysicalQuantity"></a>
<h1><a name="A_11_61TMusrRunPhysicalQuantity_61_45_Possible_Representations"></a> 11 <code>TMusrRunPhysicalQuantity</code> - Possible Representations </h1>
<span id="TMusrRunPhysicalQuantity"></span>
<h1 id="A_11_61TMusrRunPhysicalQuantity_61_45_Possible_Representations"> 11 <code>TMusrRunPhysicalQuantity</code> - Possible Representations </h1>
A physical property can be described as
<p></p>
<pre>
@ -951,7 +993,7 @@ where <code>&lt;property name&gt;</code> is the name of the quantity, <em>e.g.</
Note, not all of these quantities are always needed. The list of handled combination are given hereafter together with the C++ code snipped how to set it. It is assumed that <code>TMusrRunPhysicalQuantity prop;</code> is somewhere defined.
<p></p>
<pre>
&#60;property name&#62;: &#60;value&#62; &#60;unit&#62; &#91;; &#60;description&#62;]
&#60;property name&#62;: &#60;value&#62; &#60;unit&#62; &#91;; &#60;description&#62;&#93;
</pre>
<p></p>
Code snippet:
@ -974,7 +1016,7 @@ The number on front of the token (<em>e.g.</em> <code>011</code> in front of <co
<hr />
<p></p>
<pre>
&#60;property name&#62;: &#60;val&#62; +- &#60;err&#62; &#60;unit&#62;&#91;; &#60;description&#62;]
&#60;property name&#62;: &#60;val&#62; +- &#60;err&#62; &#60;unit&#62;&#91;; &#60;description&#62;&#93;
</pre>
<p></p>
Code snippet:
@ -991,7 +1033,7 @@ Result in the <code>RunHeader/SampleEnvironmentInfo</code>:
<hr />
<p></p>
<pre>
&#60;property name&#62;: &#60;val&#62; &#60;unit&#62;; SP: &#60;demand&#62;&#91;; &#60;description&#62;]
&#60;property name&#62;: &#60;val&#62; &#60;unit&#62;; SP: &#60;demand&#62;&#91;; &#60;description&#62;&#93;
</pre>
<p></p>
Code snippet:
@ -1027,94 +1069,62 @@ Result in the <code>RunHeader/SampleEnvironmentInfo</code>:
</pre>
<p></p>
-- <a href="https://intranet.psi.ch/Main/AndreasSuter">AndreasSuter</a> - 29 March 2012</div>
<div class="foswikiContentFooter"></div><!-- -->
<!-- -->
<!-- -->
<!-- -->
<span class='foswikiClear'></span>
<div class="foswikiMetaData foswikiHideOnPrint foswikiMetaDataNotAllowed">
<div class="jqTabPane jqTabPanePlain {select:'1', autoMaxExpand:false, animate:true, minHeight:230}">
<!-- -->
<!-- -->
<!-- --><!-- -->
<!-- -->
<!-- TAB --><div id='jqTab3140' class="attachments jqAjaxTab jqTab {url: 'https://intranet.psi.ch/wiki/bin/rest/RenderPlugin/template?name=metadata;expand=attachments;topic=MUSR.MusrRoot;render=on;1418910321'}">
<h2 class='jqTabLabel'>Attachments <span class='foswikiAttachmentsCount'>(2)</span></h2>
<div class='jqTabContents' >
<div class='foswikiFormSteps foswikiAttachmentsProcess'><span class='jqAjaxLoader'>&nbsp;</span></div>
</div></div><!-- //ENDTAB --><!-- -->
<!-- -->
<!-- -->
<!-- --><!-- -->
<!-- --><!-- -->
<!-- --><!-- -->
<!-- -->
<!-- -->
<!-- --><!-- --><!-- -->
<!-- --><!-- -->
<!-- -->
</div><!-- //ENDTABPANE -->
</div>
<!-- -->
<!-- -->
<div class="foswikiFormSteps">
<a name="topic-actions"></a>
<div class="patternTopicActions foswikiFormStep">
<span class="patternActionButtons"><span><a href='https://intranet.psi.ch/wiki/bin/edit/MUSR/MusrRoot?t=1418910321' rel='nofollow' title='Edit this topic text' accesskey='e'><span class='foswikiAccessKey'>E</span>dit</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span class="foswikiRequiresChangePermission"><a href='https://intranet.psi.ch/wiki/bin/attach/MUSR/MusrRoot' rel='nofollow' title='Attach an image or document to this topic' accesskey='a'><span class='foswikiAccessKey'>A</span>ttach</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span><a href='MusrRootc99a.html?cover=print;cover=print' rel='nofollow' title='Printable version of this topic' accesskey='p'><span class='foswikiAccessKey'>P</span>rint version</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span><a href='https://intranet.psi.ch/print/php/pdf.php?url=MUSR/MusrRoot?cover=print' title='PDF version of this topic'>PDF</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span><span class="foswikiRequiresChangePermission"><a href='https://intranet.psi.ch/wiki/bin/oops/MUSR/MusrRoot?template=oopshistory' rel='nofollow' title='View total topic history' accesskey='h'><span class='foswikiAccessKey'>H</span>istory</a></span>: r7&nbsp;<a rel="nofollow" href="https://intranet.psi.ch/wiki/bin/compare/MUSR/MusrRoot?rev1=6;rev2=7">&lt;</a>&nbsp;<a rel="nofollow" href="https://intranet.psi.ch/MUSR/MusrRoot?rev=6">r6</a>&nbsp;<a rel="nofollow" href="https://intranet.psi.ch/wiki/bin/compare/MUSR/MusrRoot?rev1=5;rev2=6">&lt;</a>&nbsp;<a rel="nofollow" href="https://intranet.psi.ch/MUSR/MusrRoot?rev=5">r5</a>&nbsp;<a rel="nofollow" href="https://intranet.psi.ch/wiki/bin/compare/MUSR/MusrRoot?rev1=4;rev2=5">&lt;</a>&nbsp;<a rel="nofollow" href="https://intranet.psi.ch/MUSR/MusrRoot?rev=4">r4</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span><a href='https://intranet.psi.ch/MUSR/MusrRoot?template=backlinksweb' rel='nofollow' title='Search the MUSR Web for topics that link to here' accesskey='b'><span class='foswikiAccessKey'>B</span>acklinks</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span><a href='https://intranet.psi.ch/MUSR/MusrRoot?raw=on' rel='nofollow' title='View without formatting' accesskey='v'><span class='foswikiAccessKey'>V</span>iew wiki text</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span><a href='https://intranet.psi.ch/MUSR/MusrRoot?refresh=on' title='Refresh images and LaTeX charts'>Refresh</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span><a href='https://intranet.psi.ch/MUSR/MusrRoot?template=more&amp;maxrev=7&amp;currrev=7' rel='nofollow' title='Delete or rename this topic; set parent topic; view and compare revisions' accesskey='m'><span class='foswikiAccessKey'>M</span>ore topic actions</a></span></span>
</div>
</div></div><div class="patternInfo"><span class="patternRevInfo">Topic revision: r7 - 29 Mar 2012, <a href="https://intranet.psi.ch/Main/AndreasSuter">AndreasSuter</a></span></div>
</div>
</div><div id="patternSideBar"><div id="patternClearHeaderLeft"></div>
<div id="patternSideBarContents">
<div class="patternLeftBarPersonal">
<ul><li class="patternLogIn"><a href="https://intranet.psi.ch/wiki/bin/logon/MUSR/MusrRoot">Log In</a> or <a href="https://intranet.psi.ch/System/UserRegistration">Register</a></li></ul>
</div>
<p></p>
<p></p>
<b>PSI Webs</b> <ul>
<li> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/psi.png" width="16" height="16" alt="psi" /></span> <a href="https://intranet.psi.ch/Main/WebHome">Main</a>
</li> <li> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/psi.png" width="16" height="16" alt="psi" /></span> <a href="https://intranet.psi.ch/Main/WebList">weitere Webs</a>
</li></ul>
<hr />
<b>System Webs</b> <ul>
<li> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/foswiki.png" width="16" height="16" alt="foswiki" /></span> <a href="https://intranet.psi.ch/Sandbox/WebHome">Sandbox</a>
</li> <li> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/foswiki.png" width="16" height="16" alt="foswiki" /></span> <a href="https://intranet.psi.ch/System/WebHome">Documentation</a>
</li></ul>
<hr /> <ul>
<li> <a href="https://intranet.psi.ch/MUSR/WebCreateNewTopic?parent=MusrRoot" target="_top"><span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/newtopic.png" width="16" height="16" alt="newtopic" /></span> Create New Topic</a>
</li> <li> <a href="WebTopicList.html"> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/index.png" width="16" height="16" alt="index" /></span> Show All Topics</a>
</li> <li> <a href="WebSearch.html"> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/searchtopic.png" width="16" height="16" alt="searchtopic" /></span> Search in Topics</a>
</li> <li> <a href="WebChanges.html"> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/changes.png" width="16" height="16" alt="changes" /></span> Recent Changes</a>
</li> <li> <a href="WebNotify.html"> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/notify.png" width="16" height="16" alt="notify" /></span> Define Notifications</a>
</li></ul>
<p></p>
</div></div>
</div>
<div class="clear">&nbsp;</div>
</div></div><div id="patternTopBar">
<div id="patternTopBarContentsWrapper">
<div id="patternTopBarContents"><table border="0" cellpadding="0" cellspacing="0" style="width:100%" summary="">
<tr><td valign="middle"><span id="foswikiLogo" class="foswikiImage"><a href="WebHome.html"><img src="../pub/Main/WebPreferences/psi_logo_150.gif" border="0" alt="Paul Scherrer Institut" style="border:none; margin: -8px 0 0 15px;" /></a></span></td>
<td align="right" valign="top" class="patternMetaMenu" id="psimetanav">
<p></p> <ul>
<li> <form name="quickSearchForm" id="solrSearchForm" action="https://intranet.psi.ch/PSI/Search"><input type="hidden" name="filter" value="web:MUSR" /><input type="text" class="foswikiInputField" id="quickSearchBox" name="search" value="" size="18" /><input type="hidden" name="scope" value="all" /><!-- <input type="hidden" name="web" value="MUSR" /> --> <noscript>&nbsp;<input type="submit" size="5" class="foswikiButton" name="submit" value="Search" />&nbsp;</noscript><input type="image" class="searchsubmit" alt="Search" value="Suche..." name="sa" src="../webbase/img/search.png"> </form>
</li> <li> <form name="changeLanguage" action="https://intranet.psi.ch/wiki/bin/oops/MUSR/MusrRoot" method="get"> <input type="hidden" name="redirectto" value="/MUSR/MusrRoot?cover=print" /> <select name="language" class="foswikiSelect" onchange="document.changeLanguage.submit()"> <option value="de">Deutsch</option> <option selected="selected" value="en">English</option></select> <input type="hidden" name="template" value="oopslanguagechanged" /> <noscript> <input class="foswikiButton" type="submit" value="Change language" /> </noscript> </form>
</li></ul>
<p></p>
<p></p>
<p></p>
</td></tr></table>
</div><!--/patternTopBarContents-->
</div><!--/patternTopBarContentsWrapper-->
</div><!-- /patternTopBar--><div id="patternBottomBar"><div id="patternBottomBarContents"><div id="patternWebBottomBar">Ideas, requests, problems regarding <a href="https://intranet.psi.ch/Main/WebHome">PSI Wiki</a>? <a href="mailto&#58;psi&#46;intranet&#64;psi&#46;ch&#63;subject&#61;PSI&#32;Wiki&#37;20Feedback&#37;20on&#37;20MUSR&#46;MusrRoot">Send feedback</a></div></div></div>
<br class="imageClear" clear="all"/><div class="foswikiAttachments">
<div class="twistyPlugin foswikiMakeVisible"><span id="topicattachmentslist1show" style="display:none" class="twistyRememberSetting twistyTrigger foswikiUnvisited twistyInited"><a class="patternTwistyButton" href="#"><img src="../pub/System/DocumentGraphics/toggleopen.png" border="0" alt="" /><span class="foswikiLinkLabel foswikiUnvisited">Attachments <span class='foswikiSmall foswikiGrayText'>2</span></span></a></span><span id="topicattachmentslist1hide" style="display:none" class="twistyRememberSetting twistyTrigger foswikiUnvisited twistyInited"><a class="patternTwistyButton" href="#"><img src="../pub/System/DocumentGraphics/toggleclose.png" border="0" alt="" /><span class="foswikiLinkLabel foswikiUnvisited">Attachments <span class='foswikiSmall foswikiGrayText'>2</span></span></a></span></div><div class="twistyPlugin"><div id="topicattachmentslist1toggle" style="" class="twistyRememberSetting twistyContent twistyInited">
<table border="1" class="foswikiTable" rules="none" summary="Topic attachments" id="tableMusrRoot7"><caption>Topic attachments</caption>
<thead>
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
<th class="foswikiTableCol0 foswikiFirstCol"> <a title="Sort by this column" rel="nofollow" href="https://intranet.psi.ch/MUSR/MusrRoot?cover=print;sortcol=0;table=7;up=0#sorted_table">I</a> </th>
<th class="foswikiTableCol1"> <a title="Sort by this column" rel="nofollow" href="https://intranet.psi.ch/MUSR/MusrRoot?cover=print;sortcol=1;table=7;up=0#sorted_table">Attachment</a> </th>
<th class="foswikiTableCol2"> <a title="Sort by this column" rel="nofollow" href="https://intranet.psi.ch/MUSR/MusrRoot?cover=print;sortcol=2;table=7;up=0#sorted_table">Action</a> </th>
<th class="foswikiTableCol3"> <a title="Sort by this column" rel="nofollow" href="https://intranet.psi.ch/MUSR/MusrRoot?cover=print;sortcol=3;table=7;up=0#sorted_table">Size</a> </th>
<th class="foswikiTableCol4"> <a href="https://intranet.psi.ch/MUSR/MusrRoot?cover=print;sortcol=4;table=7;up=0#sorted_table" title="Sort by this column" rel="nofollow">Date</a> </th>
<th class="foswikiTableCol5"> <a rel="nofollow" title="Sort by this column" href="https://intranet.psi.ch/MUSR/MusrRoot?cover=print;sortcol=5;table=7;up=0#sorted_table">Who</a> </th>
<th class="foswikiTableCol6 foswikiLastCol"> <a href="https://intranet.psi.ch/MUSR/MusrRoot?cover=print;sortcol=6;table=7;up=0#sorted_table" rel="nofollow" title="Sort by this column">Comment</a> </th>
</tr>
</thead>
<tbody>
<tr class="foswikiTableEven foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
<td class="foswikiTableCol0 foswikiFirstCol"> <span class='foswikiIcon'><img src='../pub/System/DocumentGraphics/png.png' width='16' height='16' alt='MusrRootValidationScheme.png' /></span><span class="foswikiHidden">png</span> </td>
<td class="foswikiTableCol1"> <a href="../pub/MUSR/MusrRoot/MusrRootValidationScheme.png">MusrRootValidationScheme.png</a> </td>
<td class="foswikiTableCol2"> <a href="https://intranet.psi.ch/wiki/bin/attach/MUSR/MusrRoot?filename=MusrRootValidationScheme.png;revInfo=1" title="change, update, previous revisions, move, delete..." rel="nofollow">manage</a> </td>
<td style="text-align:right" class="foswikiTableCol3"> 96 K </td>
<td class="foswikiTableCol4"> <span class="foswikiNoBreak">29 Mar 2012 - 11:15</span> </td>
<td class="foswikiTableCol5"> <a href="https://intranet.psi.ch/Main/UnknownUser">UnknownUser</a> </td>
<td class="foswikiTableCol6 foswikiLastCol"> &nbsp; </td>
</tr>
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
<td class="foswikiTableCol0 foswikiFirstCol foswikiLast"> <span class='foswikiIcon'><img src='../pub/System/DocumentGraphics/png.png' width='16' height='16' alt='RunInfo.png' /></span><span class="foswikiHidden">png</span> </td>
<td class="foswikiTableCol1 foswikiLast"> <a href="../pub/MUSR/MusrRoot/RunInfo.png">RunInfo.png</a> </td>
<td class="foswikiTableCol2 foswikiLast"> <a href="https://intranet.psi.ch/wiki/bin/attach/MUSR/MusrRoot?filename=RunInfo.png;revInfo=1" title="change, update, previous revisions, move, delete..." rel="nofollow">manage</a> </td>
<td style="text-align:right" class="foswikiTableCol3 foswikiLast"> 53 K </td>
<td class="foswikiTableCol4 foswikiLast"> <span class="foswikiNoBreak">27 Mar 2012 - 16:09</span> </td>
<td class="foswikiTableCol5 foswikiLast"> <a href="https://intranet.psi.ch/Main/UnknownUser">UnknownUser</a> </td>
<td class="foswikiTableCol6 foswikiLastCol foswikiLast"> &nbsp; </td>
</tr>
</tbody></table>
</div></div></div></div>
<div class="patternInfo">This topic: MUSR<span class='foswikiSeparator'>&nbsp;&gt;&nbsp;</span>MusrRoot <br />
Topic revision: <span class='patternRevInfo'>29 Mar 2012, suter_a</span></div>
</div>
</div>
</div>
</div></body>
<!-- Mirrored from intranet.psi.ch/MUSR/MusrRoot?cover=print by HTTrack Website Copier/3.x [XR&CO'2010], Thu, 18 Dec 2014 13:45:53 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=iso-8859-1"><!-- /Added by HTTrack -->
</div><div id="patternBottomBar"><div id="patternBottomBarContents"><div id="patternWebBottomBar"><span class="foswikiRight"> <a href="http://foswiki.org/"><img src="../pub/System/ProjectLogos/foswiki-badge.png" alt="This site is powered by Foswiki" title="This site is powered by Foswiki" /></a></span>Copyright &copy; by the contributing authors. All material on this collaboration platform is the property of the contributing authors. <br /> Ideas, requests, problems regarding PSI Wiki? <a href='mailto:andre.lichtsteiner@psi.ch?subject=PSI Wiki %20Feedback%20on%20MUSR.MusrRoot'>Send feedback</a></div></div></div>
</div>
</div>
</div>
</div></div><!-- /endWrap -->
<p></p>
<!-- Piwik -->
<noscript><p><img src="../piwik/piwikf832.gif?idsite=7" style="border:0" alt=""></p></noscript>
<!-- End Piwik Tag -->
</body>
<!-- Mirrored from intranet.psi.ch/MUSR/MusrRoot?cover=print by HTTrack Website Copier/3.x [XR&CO'2010], Fri, 22 Jan 2016 15:12:11 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=utf-8"><!-- /Added by HTTrack -->
</html>
<p></p>
<p></p>
<p></p>
<p></p>

View File

@ -1,35 +1,38 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en_US" lang="en_US">
<!DOCTYPE html><html lang="en">
<!-- Mirrored from intranet.psi.ch/MUSR/QuickStart?cover=print by HTTrack Website Copier/3.x [XR&CO'2010], Thu, 18 Dec 2014 13:46:03 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=iso-8859-1"><!-- /Added by HTTrack -->
<!-- Mirrored from intranet.psi.ch/MUSR/QuickStart?cover=print by HTTrack Website Copier/3.x [XR&CO'2010], Fri, 22 Jan 2016 15:12:19 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=utf-8"><!-- /Added by HTTrack -->
<head>
<link rel="stylesheet" href="../pub/System/HeadlinesPlugin/style.css" type="text/css" media="all" />
<title> MUSR :: QuickStart</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1.5, user-scalable=yes" />
<meta name="mobile-web-app-capable" content="yes" />
<meta name="mobile-web-app-status-bar-style" content="black-translucent" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
<link rel="icon" href="../pub/Main/WebPreferences/favicon.ico" type="image/x-icon" />
<link rel="shortcut icon" href="../pub/Main/WebPreferences/favicon.ico" type="image/x-icon" />
<link rel="alternate" href="https://intranet.psi.ch/wiki/bin/edit/MUSR/QuickStart?t=1418910326" type="application/x-wiki" title="edit QuickStart" />
<link rel="alternate" href="https://intranet.psi.ch/wiki/bin/edit/MUSR/QuickStart?t=1453475520" type="application/x-wiki" title="edit QuickStart" />
<meta name="TEXT_NUM_TOPICS" content="Number of topics:" />
<meta name="TEXT_MODIFY_SEARCH" content="Modify search" />
<meta name="robots" content="noindex" /><link rel="alternate" type="application/rss+xml" title="RSS Feed" href="WebRsshtml.html" />
<base /><!--[if IE]></base><![endif]-->
<link rel='stylesheet' href='../pub/System/ImagePlugin/style.css' media='all' />
<base /><!--[if IE]></base><![endif]--><link class='head FOOTNOTEPLUGIN_LINKCSS' rel="stylesheet" href="../pub/System/FootNotePlugin/styles.css" type="text/css" media="all" /><!--FOOTNOTEPLUGIN_LINKCSS-->
<link class='head SMILIESPLUGIN' rel='stylesheet' href='../pub/System/SmiliesPlugin/smilies.css' type='text/css' media='all' /><!--SMILIESPLUGIN-->
<link class='head JQUERYPLUGIN::COMMENT' rel='stylesheet' href='../pub/System/CommentPlugin/commentf5b6.css?version=3.0' type='text/css' media='all' /><!--JQUERYPLUGIN::COMMENT-->
<link class='head CLASSIFICATIONPLUGIN::CSS' rel="stylesheet" href="../pub/System/ClassificationPlugin/styles.css" media="all" /><!--CLASSIFICATIONPLUGIN::CSS--><link rel='stylesheet' href='../pub/System/SkinTemplates/base.css' media='all' type='text/css' />
<style type="text/css" media="all">
@import url('../pub/System/SkinTemplates/base.css');
</style>
<style type="text/css" media="all">
@import url('../pub/System/PatternSkinTheme2009/layout.css');
@import url('../pub/System/PatternSkinTheme/layout.css');
@import url('../pub/System/PatternSkinTheme2009/style.css');
@import url('../pub/System/PatternSkinTheme2009/colors.css');
</style>
<style type="text/css" media="all">
@import url('../pub/System/PatternSkinTheme2009/column_left.css');
@import url('../pub/System/PatternSkinTheme2009/variant_twiki.css');
</style><style type="text/css" media="all">
<link rel='stylesheet' href='../pub/System/PatternSkinTheme2009/column_left.css' media='all' type='text/css' />
<link rel='stylesheet' href='../pub/System/PatternSkinTheme2009/variant_twiki.css' media='all' type='text/css' /><style type="text/css" media="all">
/* Styles that are set using variables */
.patternBookView .foswikiTopRow,
.patternWebIndicator a img,
.patternWebIndicator a:hover img {
.patternWebIndicator,
.patternWebIndicator a {
background-color:#D0D0D0;
}
#patternTopBarContents { background-image:url(../pub/System/PatternSkin/header5.gif); background-repeat:repeat-x;}
@ -50,14 +53,8 @@
<style type="text/css" media="all">
@import url("../pub/System/PatternSkin/print.css");
</style>
<!--[if IE]><style type="text/css" media="screen">
pre {
height:1%;
overflow-x:auto;
}
<link rel='stylesheet' href='../pub/System/PatternSkin/print.css' media='all' type='text/css' />
<!--[if IE 7 ]><style type="text/css" media="screen">
.foswikiAttachments,
.foswikiForm,
.foswikiHelp,
@ -79,7 +76,17 @@ pre {
.foswikiFormStep {
height:100%;
}
#foswikiLogin,
#foswikiLogin {
margin-left: 25%;
margin-right: 25%;
}
#foswikiLogin .foswikiFormSteps {
width:auto;
}
#foswikiLogin input[type="text"],
#foswikiLogin input[type="password"] {
width: auto;
}
.patternShadow {
border:10px solid #fff;
margin-top:10px;
@ -87,36 +94,33 @@ pre {
border:2px solid #ccc;
}
</style><![endif]-->
<!--[if gt IE 8 ]><style type="text/css" media="screen">
#foswikiLogin,
.patternShadow {
border:10px solid #fff;
margin-top:10px;
margin-bottom:10px;
box-shadow: 0 0 10px #ccc;
}
</style><![endif]-->
<link rel="stylesheet" href="../pub/System/FootNotePlugin/styles.css" type="text/css" media="all" /><!--FOOTNOTEPLUGIN_LINKCSS-->
<!--[if lte IE 9]>
<![endif]-->
<!--[if gt IE 9]><!-->
<!--<![endif]-->
<!--JQUERYPLUGIN-->
<!--JQUERYPLUGIN::MIGRATE-->
<!--JQUERYPLUGIN::LIVEQUERY-->
<!--JQUERYPLUGIN::FOSWIKI-->
<!--JavascriptFiles/foswikiString-->
<!--JavascriptFiles/foswikiForm-->
<!--JavascriptFiles/foswikiPref-->
<!--PatternSkin/pattern-->
<!--JQUERYPLUGIN::COMMENT-->
<!--JQUERYPLUGIN::FOSWIKI::PREFERENCES--><link class='head FOOTNOTEPLUGIN_LINKCSS' rel="stylesheet" href="../pub/System/FootNotePlugin/styles.css" type="text/css" media="all" /><!--FOOTNOTEPLUGIN_LINKCSS-->
</head>
<body class="foswikiNoJs patternViewPage">
<a name="PageTop"></a><div class="foswikiPage"><div id="patternScreen">
<body class="foswikiNoJs patternViewPage patternPrintPage">
<span id="PageTop"></span><div class="foswikiPage"><div id="patternScreen">
<div id="patternPageShadow">
<div id="patternPage">
<div id="patternWrapper"><div id="patternOuter">
<div id="patternOuter" class="clear">
<div id="patternFloatWrap">
<div id="patternMain"><div id="patternClearHeaderCenter"></div>
<div id="patternMainContents"><div class="patternTop"><span class="patternHomePath foswikiLeft"></span><span class="patternToolBar foswikiRight"><span><a href='QuickStartc99a.html?cover=print;cover=print' rel='nofollow' title='Printable version of this topic' accesskey='p'><span class='foswikiAccessKey'>P</span>rint version</a></span><a href="https://intranet.psi.ch/MUSR/QuickStart?restrictions=on" id="restriction_link"><img src='../pub/System/PsiSkin/lock_open.png' class='lock' height='16' width='23' title='open in PSI - click for more information'/></a></span><div class="foswikiClear"></div></div><div class="foswikiContentHeader">
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
</div><div class="patternContent"><div class="foswikiTopic"><h1><a name="Quickstart_for_61_61WKM_61_61_users"></a> Quickstart for <code><b>WKM</b></code> users </h1>
<a name="foswikiTOC"></a><div class="foswikiToc"> <ul>
<div id="patternMain">
<div id="patternMainContents">
<div class="patternContent"><div class="foswikiTopic"> <h1 id="Quickstart_for_61_61WKM_61_61_users"> Quickstart for <code><b>WKM</b></code> users </h1>
<div class="foswikiToc" id="foswikiTOC"> <ul>
<li> <a href="QuickStart.html#Quickstart_for_61_61WKM_61_61_users"> Quickstart for WKM users </a> <ul>
<li> <a href="QuickStart.html#Introduction"> Introduction </a>
</li> <li> <a href="QuickStart.html#Differences_between_61WKM_61_and_61musrfit_61_msr_files"> Differences between WKM and musrfit msr files </a>
@ -124,16 +128,16 @@ pre {
</li></ul>
</li></ul>
</div>
<h2><a name="Introduction"></a> Introduction </h2>
<h2 id="Introduction"> Introduction </h2>
<p></p>
<code>musrfit</code> is a program suite for analyzing &mu;SR data. It is implemented in <code>C++/<a href="http://root.cern.ch/" target="_top">ROOT</a></code> and uses the <a href="http://www.cern.ch/minuit/" target="_top">MINUIT2</a> libraries developed at <a href="http://www.cern.ch/" target="_top">CERN</a> for fitting data.
<code>musrfit</code> is a program suite for analyzing &mu;SR data. It is implemented in <code>C++/<a href="http://root.cern.ch/">ROOT</a></code> and uses the <a href="http://www.cern.ch/minuit/">MINUIT2</a> libraries developed at <a href="http://www.cern.ch/">CERN</a> for fitting data.
Installation instructions for Linux, MS Windows, and Mac OS X can be found <a href="MusrFitSetup.html">here</a>. The full user manual is available <a href="MusrFit.html">here</a>.<br>
In principle the programs can be used in the same fashion as <code>WKM</code> (<code>wkmfit, wkmview</code>).
E.g., for fitting data as defined in the input file <code><b>8472.msr</b></code> one types:<pre>musrfit 8472.msr</pre> for plotting data and the corresponding
fit one calls:<pre>musrview 8472.msr</pre>
Additionally, there are editors called <code><a href="MusrGui.html">musrgui/musredit</a></code> available which can do everything the <code>emacs</code> plug-in for <code>WKM</code> is capable of and even more. <strong><span class='foswikiRedFG'>However, before going to use only <code>musrgui</code> / <code>musredit</code> it is strongly recommended to read at least this "Quickstart" since there are a few differences between the programs as well as new features which are partially described in the following.</span></strong>
<p></p>
<h2><a name="Differences_between_61WKM_61_and_61musrfit_61_msr_files"></a> Differences between <code>WKM</code> and <code>musrfit</code> msr files </h2>
<h2 id="Differences_between_61WKM_61_and_61musrfit_61_msr_files"> Differences between <code>WKM</code> and <code>musrfit</code> msr files </h2>
<p></p>
The msr file format of <code>WKM</code> has some weaknesses and has therefore been extended for the use with <code>musrfit</code>. Existing <code>WKM</code> files can be converted using the <a href="MusrFit.html#Msr2Msr">small utility</a> <code>msr2msr</code>. The changes are: <ul>
<li> The <code>musrfit</code> msr and mlog files contain an additional column in the FITPARAMETER block for the representation of positive uncertainties if <code>MINOS</code> was called during fitting. In that case the <strong>Step</strong> column holds the negative uncertainties. If there has not been performed an error analysis using <code>MINOS</code>, the symmetric error can be found in the <strong>Step</strong> column, whereas the <strong>Pos_Error</strong> column contains only <strong>none</strong> entries. The beginning of the FITPARAMETER block then might look like this <pre>
@ -170,7 +174,7 @@ RUN 2008/lem08&#95;his&#95;8472 MUE4 PSI ROOT-NPP (name beamline institute dat
</li> <li> The commands <strong>SET BATCH</strong> and <strong>END RETURN</strong> may be omitted in the COMMANDS block.
</li></ul>
<p></p>
<h2><a name="Selected_new_features_in_61musrfit_61"></a> Selected new features in <code>musrfit</code> </h2> <ul>
<h2 id="Selected_new_features_in_61musrfit_61"> Selected new features in <code>musrfit</code> </h2> <ul>
<li> If single-histogram fits are done, the normalization and background constants are given either "per nanosecond" or "per rebinned bin". The nanosecond normalization allows to change the binning without the need of re-doing the fit to the data.
</li> <li> The use of functions in the RUN block is now possible for the normalization parameter, e.g. for the definition of an &alpha; parameter in simultaneous single-histogram fits of two histograms.
</li> <li> Apart from the default &chi;<sup>2</sup> minimization, when doing single-histogram fits (fit type <strong>0</strong>) in <code>musrfit</code> there is also the possibility to do a log-likelihood maximization instead. For switching, just put <strong>MAX_LIKELIHOOD</strong> in the COMMANDS block.
@ -200,7 +204,7 @@ RUN 2008/lem08&#95;his&#95;8472 MUE4 PSI ROOT-NPP (name beamline institute dat
<li> <strong>gamma_mu</strong> = &gamma;<sub>&mu;</sub>/2&pi; = 0.0135538817 MHz/G
</li> <li> <strong>pi</strong> = &pi; = 3.14159265358979323846
</li></ul>
</li> <li> As theory function also the so called skewed Gaussian can be chosen. The properties of this function are summarized in <a href="http://nemu.web.psi.ch/doc/LEM_Memo/skewedGaussian/skewedGaussian.pdf" target="_top">a memo</a> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/pdf.png" width="16" height="16" alt="pdf" /></span>. The function is called in the THEORY block as follows: <pre>
</li> <li> As theory function also the so called skewed Gaussian can be chosen. The properties of this function are summarized in <a href="http://nemu.web.psi.ch/doc/LEM_Memo/skewedGaussian/skewedGaussian.pdf">a memo</a> <span class='foswikiIcon'><img src='../pub/System/DocumentGraphics/pdf.png' width='16' height='16' alt='pdf' /></span>. The function is called in the THEORY block as follows: <pre>
skewedGss 1 2 3 4 (phase frequency rate&#95;m rate&#95;p)
</pre>
</li> <li> After fitting it is possible to keep the <code>MINUIT2</code> output including the correlation matrix of the parameters. Calling <code>musrfit</code> with the <strong>--keep-mn2-ouput</strong> or <strong>-k</strong> option will provide you an ASCII and a ROOT file with the complete output, e.g. <pre>musrfit 8472.msr --keep-mn2-ouput</pre> generates <code><b>8472-mn2.output</b></code> and <code><b>8472-mn2.root</b></code> (and of course <code><b>8472.mlog</b></code>).
@ -258,83 +262,29 @@ RUN 2008/lem08&#95;his&#95;8472 MUE4 PSI ROOT-NPP (name beamline institute dat
</pre> In the above example <code>musrfit</code> reads the data from the file <code><b>superconductor-data.db</b></code>; the <i>x</i> and <i>y</i> data are specified by the <strong>DB</strong> parameter names <code><b>range</b></code> and <code><b>field</b></code>. An alternative specification of the <i>x</i> and <i>y</i> data by the parameter number in the <strong>DB</strong> file is also possible!
</li></ul>
<p></p>
-- <a href="http://www.fsf.org/register_form?referrer=8369" target="_top">BMW</a> &amp; <a href="http://lmu.web.psi.ch/lem/group.html" target="_top">AS</a> </div>
<div class="foswikiContentFooter"></div><!-- -->
<!-- -->
<!-- -->
<!-- -->
<span class='foswikiClear'></span>
<div class="foswikiMetaData foswikiHideOnPrint foswikiMetaDataNotAllowed">
<div class="jqTabPane jqTabPanePlain {select:'1', autoMaxExpand:false, animate:true, minHeight:230}">
<!-- -->
<!-- -->
<!-- --><!-- -->
<!-- -->
<!-- --><!-- -->
<!-- --><!-- -->
<!-- -->
</div><!-- //ENDTABPANE -->
</div>
<!-- -->
<!-- -->
<div class="foswikiFormSteps">
<a name="topic-actions"></a>
<div class="patternTopicActions foswikiFormStep">
<span class="patternActionButtons"><span><a href='https://intranet.psi.ch/wiki/bin/edit/MUSR/QuickStart?t=1418910326' rel='nofollow' title='Edit this topic text' accesskey='e'><span class='foswikiAccessKey'>E</span>dit</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span class="foswikiRequiresChangePermission"><a href='https://intranet.psi.ch/wiki/bin/attach/MUSR/QuickStart' rel='nofollow' title='Attach an image or document to this topic' accesskey='a'><span class='foswikiAccessKey'>A</span>ttach</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span><a href='QuickStartc99a.html?cover=print;cover=print' rel='nofollow' title='Printable version of this topic' accesskey='p'><span class='foswikiAccessKey'>P</span>rint version</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span><a href='https://intranet.psi.ch/print/php/pdf.php?url=MUSR/QuickStart?cover=print' title='PDF version of this topic'>PDF</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span><span class="foswikiRequiresChangePermission"><a href='https://intranet.psi.ch/wiki/bin/oops/MUSR/QuickStart?template=oopshistory' rel='nofollow' title='View total topic history' accesskey='h'><span class='foswikiAccessKey'>H</span>istory</a></span>: r7&nbsp;<a rel="nofollow" href="https://intranet.psi.ch/wiki/bin/compare/MUSR/QuickStart?rev1=6;rev2=7">&lt;</a>&nbsp;<a rel="nofollow" href="https://intranet.psi.ch/MUSR/QuickStart?rev=6">r6</a>&nbsp;<a rel="nofollow" href="https://intranet.psi.ch/wiki/bin/compare/MUSR/QuickStart?rev1=5;rev2=6">&lt;</a>&nbsp;<a rel="nofollow" href="https://intranet.psi.ch/MUSR/QuickStart?rev=5">r5</a>&nbsp;<a rel="nofollow" href="https://intranet.psi.ch/wiki/bin/compare/MUSR/QuickStart?rev1=4;rev2=5">&lt;</a>&nbsp;<a rel="nofollow" href="https://intranet.psi.ch/MUSR/QuickStart?rev=4">r4</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span><a href='https://intranet.psi.ch/MUSR/QuickStart?template=backlinksweb' rel='nofollow' title='Search the MUSR Web for topics that link to here' accesskey='b'><span class='foswikiAccessKey'>B</span>acklinks</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span><a href='https://intranet.psi.ch/MUSR/QuickStart?raw=on' rel='nofollow' title='View without formatting' accesskey='v'><span class='foswikiAccessKey'>V</span>iew wiki text</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span><a href='https://intranet.psi.ch/MUSR/QuickStart?refresh=on' title='Refresh images and LaTeX charts'>Refresh</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span><a href='https://intranet.psi.ch/MUSR/QuickStart?template=more&amp;maxrev=7&amp;currrev=7' rel='nofollow' title='Delete or rename this topic; set parent topic; view and compare revisions' accesskey='m'><span class='foswikiAccessKey'>M</span>ore topic actions</a></span></span>
</div>
</div></div><div class="patternInfo"><span class="patternRevInfo">Topic revision: r7 - 10 Jul 2011, wojek</span></div>
</div>
</div><div id="patternSideBar"><div id="patternClearHeaderLeft"></div>
<div id="patternSideBarContents">
<div class="patternLeftBarPersonal">
<ul><li class="patternLogIn"><a href="https://intranet.psi.ch/wiki/bin/logon/MUSR/QuickStart">Log In</a> or <a href="https://intranet.psi.ch/System/UserRegistration">Register</a></li></ul>
</div>
-- <a href="http://www.fsf.org/register_form?referrer=8369">BMW</a> &amp; <a href="http://lmu.web.psi.ch/lem/group.html">AS</a></div>
<p></p>
<p></p>
<b>PSI Webs</b> <ul>
<li> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/psi.png" width="16" height="16" alt="psi" /></span> <a href="https://intranet.psi.ch/Main/WebHome">Main</a>
</li> <li> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/psi.png" width="16" height="16" alt="psi" /></span> <a href="https://intranet.psi.ch/Main/WebList">weitere Webs</a>
</li></ul>
<hr />
<b>System Webs</b> <ul>
<li> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/foswiki.png" width="16" height="16" alt="foswiki" /></span> <a href="https://intranet.psi.ch/Sandbox/WebHome">Sandbox</a>
</li> <li> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/foswiki.png" width="16" height="16" alt="foswiki" /></span> <a href="https://intranet.psi.ch/System/WebHome">Documentation</a>
</li></ul>
<hr /> <ul>
<li> <a href="https://intranet.psi.ch/MUSR/WebCreateNewTopic?parent=QuickStart" target="_top"><span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/newtopic.png" width="16" height="16" alt="newtopic" /></span> Create New Topic</a>
</li> <li> <a href="WebTopicList.html"> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/index.png" width="16" height="16" alt="index" /></span> Show All Topics</a>
</li> <li> <a href="WebSearch.html"> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/searchtopic.png" width="16" height="16" alt="searchtopic" /></span> Search in Topics</a>
</li> <li> <a href="WebChanges.html"> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/changes.png" width="16" height="16" alt="changes" /></span> Recent Changes</a>
</li> <li> <a href="WebNotify.html"> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/notify.png" width="16" height="16" alt="notify" /></span> Define Notifications</a>
</li></ul>
<p></p>
</div></div>
</div>
<div class="clear">&nbsp;</div>
</div></div><div id="patternTopBar">
<div id="patternTopBarContentsWrapper">
<div id="patternTopBarContents"><table border="0" cellpadding="0" cellspacing="0" style="width:100%" summary="">
<tr><td valign="middle"><span id="foswikiLogo" class="foswikiImage"><a href="WebHome.html"><img src="../pub/Main/WebPreferences/psi_logo_150.gif" border="0" alt="Paul Scherrer Institut" style="border:none; margin: -8px 0 0 15px;" /></a></span></td>
<td align="right" valign="top" class="patternMetaMenu" id="psimetanav">
<p></p> <ul>
<li> <form name="quickSearchForm" id="solrSearchForm" action="https://intranet.psi.ch/PSI/Search"><input type="hidden" name="filter" value="web:MUSR" /><input type="text" class="foswikiInputField" id="quickSearchBox" name="search" value="" size="18" /><input type="hidden" name="scope" value="all" /><!-- <input type="hidden" name="web" value="MUSR" /> --> <noscript>&nbsp;<input type="submit" size="5" class="foswikiButton" name="submit" value="Search" />&nbsp;</noscript><input type="image" class="searchsubmit" alt="Search" value="Suche..." name="sa" src="../webbase/img/search.png"> </form>
</li> <li> <form name="changeLanguage" action="https://intranet.psi.ch/wiki/bin/oops/MUSR/QuickStart" method="get"> <input type="hidden" name="redirectto" value="/MUSR/QuickStart?cover=print" /> <select name="language" class="foswikiSelect" onchange="document.changeLanguage.submit()"> <option value="de">Deutsch</option> <option selected="selected" value="en">English</option></select> <input type="hidden" name="template" value="oopslanguagechanged" /> <noscript> <input class="foswikiButton" type="submit" value="Change language" /> </noscript> </form>
</li></ul>
<p></p>
<p></p>
<p></p>
</td></tr></table>
</div><!--/patternTopBarContents-->
</div><!--/patternTopBarContentsWrapper-->
</div><!-- /patternTopBar--><div id="patternBottomBar"><div id="patternBottomBarContents"><div id="patternWebBottomBar">Ideas, requests, problems regarding <a href="https://intranet.psi.ch/Main/WebHome">PSI Wiki</a>? <a href="mailto&#58;psi&#46;intranet&#64;psi&#46;ch&#63;subject&#61;PSI&#32;Wiki&#37;20Feedback&#37;20on&#37;20MUSR&#46;QuickStart">Send feedback</a></div></div></div>
<div class="patternInfo">This topic: MUSR<span class='foswikiSeparator'>&nbsp;&gt;&nbsp;</span><a class="foswikiCurrentWebHomeLink" href="WebHome.html">WebHome</a> &gt; <a href="MusrFit.html">MusrFit</a><span class='foswikiSeparator'>&nbsp;&gt;&nbsp;</span>QuickStart <br />
Topic revision: <span class='patternRevInfo'>10 Jul 2011, wojek</span></div>
</div>
</div>
</div>
</div></body>
<!-- Mirrored from intranet.psi.ch/MUSR/QuickStart?cover=print by HTTrack Website Copier/3.x [XR&CO'2010], Thu, 18 Dec 2014 13:46:06 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=iso-8859-1"><!-- /Added by HTTrack -->
</div><div id="patternBottomBar"><div id="patternBottomBarContents"><div id="patternWebBottomBar"><span class="foswikiRight"> <a href="http://foswiki.org/"><img src="../pub/System/ProjectLogos/foswiki-badge.png" alt="This site is powered by Foswiki" title="This site is powered by Foswiki" /></a></span>Copyright &copy; by the contributing authors. All material on this collaboration platform is the property of the contributing authors. <br /> Ideas, requests, problems regarding PSI Wiki? <a href='mailto:andre.lichtsteiner@psi.ch?subject=PSI Wiki %20Feedback%20on%20MUSR.QuickStart'>Send feedback</a></div></div></div>
</div>
</div>
</div>
</div></div><!-- /endWrap -->
<p></p>
<!-- Piwik -->
<noscript><p><img src="../piwik/piwikf832.gif?idsite=7" style="border:0" alt=""></p></noscript>
<!-- End Piwik Tag -->
</body>
<!-- Mirrored from intranet.psi.ch/MUSR/QuickStart?cover=print by HTTrack Website Copier/3.x [XR&CO'2010], Fri, 22 Jan 2016 15:12:20 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=utf-8"><!-- /Added by HTTrack -->
</html>
<p></p>
<p></p>
<p></p>
<p></p>

View File

@ -1,35 +1,72 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en_US" lang="en_US">
<!DOCTYPE html><html lang="en">
<!-- Mirrored from intranet.psi.ch/MUSR/TutorialSingleHisto?cover=print by HTTrack Website Copier/3.x [XR&CO'2010], Thu, 18 Dec 2014 13:45:58 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=iso-8859-1"><!-- /Added by HTTrack -->
<!-- Mirrored from intranet.psi.ch/MUSR/TutorialSingleHisto?cover=print by HTTrack Website Copier/3.x [XR&CO'2010], Fri, 22 Jan 2016 15:12:16 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=utf-8"><!-- /Added by HTTrack -->
<head>
<link rel="stylesheet" href="../pub/System/HeadlinesPlugin/style.css" type="text/css" media="all" />
<title> MUSR :: TutorialSingleHisto</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1.5, user-scalable=yes" />
<meta name="mobile-web-app-capable" content="yes" />
<meta name="mobile-web-app-status-bar-style" content="black-translucent" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
<link rel="icon" href="../pub/Main/WebPreferences/favicon.ico" type="image/x-icon" />
<link rel="shortcut icon" href="../pub/Main/WebPreferences/favicon.ico" type="image/x-icon" />
<link rel="alternate" href="https://intranet.psi.ch/wiki/bin/edit/MUSR/TutorialSingleHisto?t=1418910325" type="application/x-wiki" title="edit TutorialSingleHisto" />
<link rel="alternate" href="https://intranet.psi.ch/wiki/bin/edit/MUSR/TutorialSingleHisto?t=1453475520" type="application/x-wiki" title="edit TutorialSingleHisto" />
<meta name="TEXT_NUM_TOPICS" content="Number of topics:" />
<meta name="TEXT_MODIFY_SEARCH" content="Modify search" />
<meta name="robots" content="noindex" /><link rel="alternate" type="application/rss+xml" title="RSS Feed" href="WebRsshtml.html" />
<base /><!--[if IE]></base><![endif]-->
<link rel='stylesheet' href='../pub/System/ImagePlugin/style.css' media='all' />
<base /><!--[if IE]></base><![endif]--><link class='head JQUERYPLUGIN::COMMENT' rel='stylesheet' href='../pub/System/CommentPlugin/commentf5b6.css?version=3.0' type='text/css' media='all' /><!--JQUERYPLUGIN::COMMENT-->
<style class='head TABLEPLUGIN_default' type="text/css" media="all">
body .foswikiTable {border-width:1px}
body .foswikiTable .tableSortIcon img {padding-left:.3em; vertical-align:text-bottom}
body .foswikiTable td {border-style:solid none; vertical-align:top}
body .foswikiTable th {border-style:none solid; vertical-align:top; background-color:#d6d3cf; color:#000000}
body .foswikiTable th a:link {color:#000000}
body .foswikiTable th a:visited {color:#000000}
body .foswikiTable th a:hover {color:#000000; background-color:#d6d3cf}
body .foswikiTable th.foswikiSortedCol {background-color:#c4c1ba}
body .foswikiTable tr.foswikiTableRowdataBg0 td {background-color:#ffffff}
body .foswikiTable tr.foswikiTableRowdataBg0 td.foswikiSortedCol {background-color:#f7f7f6}
body .foswikiTable tr.foswikiTableRowdataBg1 td {background-color:#f7f7f6}
body .foswikiTable tr.foswikiTableRowdataBg1 td.foswikiSortedCol {background-color:#f0f0ee}
</style><!--TABLEPLUGIN_default-->
<style class='head TABLEPLUGIN_specific' type="text/css" media="all">
body .foswikiTable#tableTutorialSingleHisto1 td {vertical-align:middle; vertical-align:top}
body .foswikiTable#tableTutorialSingleHisto1 td.foswikiTableCol0 {text-align:left}
body .foswikiTable#tableTutorialSingleHisto1 td.foswikiTableCol1 {text-align:left}
body .foswikiTable#tableTutorialSingleHisto1 td.foswikiTableCol2 {text-align:left}
body .foswikiTable#tableTutorialSingleHisto1 td.foswikiTableCol3 {text-align:right}
body .foswikiTable#tableTutorialSingleHisto1 td.foswikiTableCol4 {text-align:left}
body .foswikiTable#tableTutorialSingleHisto1 td.foswikiTableCol5 {text-align:left}
body .foswikiTable#tableTutorialSingleHisto1 td.foswikiTableCol6 {text-align:left}
body .foswikiTable#tableTutorialSingleHisto1 td.foswikiTableCol7 {text-align:left}
body .foswikiTable#tableTutorialSingleHisto1 th {vertical-align:middle; background-color:#ffffff; color:#0066cc; text-align:left}
body .foswikiTable#tableTutorialSingleHisto1 th a:link {color:#0066cc}
body .foswikiTable#tableTutorialSingleHisto1 th a:visited {color:#0066cc}
body .foswikiTable#tableTutorialSingleHisto1 th a:hover {color:#0066cc; background-color:#ffffff}
body .foswikiTable#tableTutorialSingleHisto1 th.foswikiSortedCol {background-color:#eeeeee}
body .foswikiTable#tableTutorialSingleHisto1 tr.foswikiTableRowdataBg0 td {background-color:#ffffff}
body .foswikiTable#tableTutorialSingleHisto1 tr.foswikiTableRowdataBg0 td.foswikiSortedCol {background-color:#f5f5f5}
</style><!--TABLEPLUGIN_specific-->
<link class='head CLASSIFICATIONPLUGIN::CSS' rel="stylesheet" href="../pub/System/ClassificationPlugin/styles.css" media="all" /><!--CLASSIFICATIONPLUGIN::CSS-->
<link class='head JQUERYPLUGIN::TWISTY' rel='stylesheet' href='../pub/System/TwistyPlugin/twisty327a.css?version=1.6.0' type='text/css' media='all' /><!--JQUERYPLUGIN::TWISTY: requires= missing ids: JavascriptFiles/foswikiPref-->
<link class='head FOOTNOTEPLUGIN_LINKCSS' rel="stylesheet" href="../pub/System/FootNotePlugin/styles.css" type="text/css" media="all" /><!--FOOTNOTEPLUGIN_LINKCSS-->
<link class='head IMAGEPLUGIN' rel="stylesheet" href="../pub/System/ImagePlugin/style.css" type="text/css" media="all" /><!--IMAGEPLUGIN-->
<link class='head SMILIESPLUGIN' rel='stylesheet' href='../pub/System/SmiliesPlugin/smilies.css' type='text/css' media='all' /><!--SMILIESPLUGIN--><link rel='stylesheet' href='../pub/System/SkinTemplates/base.css' media='all' type='text/css' />
<style type="text/css" media="all">
@import url('../pub/System/SkinTemplates/base.css');
</style>
<style type="text/css" media="all">
@import url('../pub/System/PatternSkinTheme2009/layout.css');
@import url('../pub/System/PatternSkinTheme/layout.css');
@import url('../pub/System/PatternSkinTheme2009/style.css');
@import url('../pub/System/PatternSkinTheme2009/colors.css');
</style>
<style type="text/css" media="all">
@import url('../pub/System/PatternSkinTheme2009/column_left.css');
@import url('../pub/System/PatternSkinTheme2009/variant_twiki.css');
</style><style type="text/css" media="all">
<link rel='stylesheet' href='../pub/System/PatternSkinTheme2009/column_left.css' media='all' type='text/css' />
<link rel='stylesheet' href='../pub/System/PatternSkinTheme2009/variant_twiki.css' media='all' type='text/css' /><style type="text/css" media="all">
/* Styles that are set using variables */
.patternBookView .foswikiTopRow,
.patternWebIndicator a img,
.patternWebIndicator a:hover img {
.patternWebIndicator,
.patternWebIndicator a {
background-color:#D0D0D0;
}
#patternTopBarContents { background-image:url(../pub/System/PatternSkin/header5.gif); background-repeat:repeat-x;}
@ -50,14 +87,8 @@
<style type="text/css" media="all">
@import url("../pub/System/PatternSkin/print.css");
</style>
<!--[if IE]><style type="text/css" media="screen">
pre {
height:1%;
overflow-x:auto;
}
<link rel='stylesheet' href='../pub/System/PatternSkin/print.css' media='all' type='text/css' />
<!--[if IE 7 ]><style type="text/css" media="screen">
.foswikiAttachments,
.foswikiForm,
.foswikiHelp,
@ -79,7 +110,17 @@ pre {
.foswikiFormStep {
height:100%;
}
#foswikiLogin,
#foswikiLogin {
margin-left: 25%;
margin-right: 25%;
}
#foswikiLogin .foswikiFormSteps {
width:auto;
}
#foswikiLogin input[type="text"],
#foswikiLogin input[type="password"] {
width: auto;
}
.patternShadow {
border:10px solid #fff;
margin-top:10px;
@ -87,43 +128,41 @@ pre {
border:2px solid #ccc;
}
</style><![endif]-->
<!--[if gt IE 8 ]><style type="text/css" media="screen">
#foswikiLogin,
.patternShadow {
border:10px solid #fff;
margin-top:10px;
margin-bottom:10px;
box-shadow: 0 0 10px #ccc;
}
</style><![endif]-->
<link rel="stylesheet" href="../pub/System/FootNotePlugin/styles.css" type="text/css" media="all" /><!--FOOTNOTEPLUGIN_LINKCSS-->
<!--[if lte IE 9]>
<![endif]-->
<!--[if gt IE 9]><!-->
<!--<![endif]-->
<!--JQUERYPLUGIN-->
<!--JQUERYPLUGIN::MIGRATE-->
<!--JQUERYPLUGIN::LIVEQUERY-->
<!--JQUERYPLUGIN::FOSWIKI-->
<!--JavascriptFiles/foswikiString-->
<!--JavascriptFiles/foswikiPref-->
<!--JavascriptFiles/foswikiForm-->
<!--PatternSkin/pattern-->
<!--JQUERYPLUGIN::TWISTY-->
<!--JQUERYPLUGIN::FOSWIKI::PREFERENCES-->
<!--JQUERYPLUGIN::COMMENT--><link class='head FOOTNOTEPLUGIN_LINKCSS' rel="stylesheet" href="../pub/System/FootNotePlugin/styles.css" type="text/css" media="all" /><!--FOOTNOTEPLUGIN_LINKCSS-->
</head>
<body class="foswikiNoJs patternViewPage">
<a name="PageTop"></a><div class="foswikiPage"><div id="patternScreen">
<body class="foswikiNoJs patternViewPage patternPrintPage">
<span id="PageTop"></span><div class="foswikiPage"><div id="patternScreen">
<div id="patternPageShadow">
<div id="patternPage">
<div id="patternWrapper"><div id="patternOuter">
<div id="patternOuter" class="clear">
<div id="patternFloatWrap">
<div id="patternMain"><div id="patternClearHeaderCenter"></div>
<div id="patternMainContents"><div class="patternTop"><span class="patternHomePath foswikiLeft"></span><span class="patternToolBar foswikiRight"><span><a href='TutorialSingleHistoc99a.html?cover=print;cover=print' rel='nofollow' title='Printable version of this topic' accesskey='p'><span class='foswikiAccessKey'>P</span>rint version</a></span><a href="https://intranet.psi.ch/MUSR/TutorialSingleHisto?restrictions=on" id="restriction_link"><img src='../pub/System/PsiSkin/lock_open.png' class='lock' height='16' width='23' title='open in PSI - click for more information'/></a></span><div class="foswikiClear"></div></div><div class="foswikiContentHeader">
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
</div><div class="patternContent"><div class="foswikiTopic"><h1><a name="A_61_61musrfit_61_61_Single_45Histogram_45Fit_Tutorial"></a> <code><b>musrfit</b></code> Single-Histogram-Fit Tutorial </h1>
<div id="patternMain">
<div id="patternMainContents">
<div class="patternContent"><div class="foswikiTopic"> <h1 id="A_61_61musrfit_61_61_Single_45Histogram_45Fit_Tutorial"> <code><b>musrfit</b></code> Single-Histogram-Fit Tutorial </h1>
<p></p>
The &mu;SR-data-analysis process using <code>musrfit</code> is based on so-called <code>msr</code> files. These files contain all information needed for the analysis such as names of the data files, a theory function, fit and plot parameters, and so on. It is the idea of this page to explain the basic use of an <code>msr</code> file and the different programs of the <code>musrfit</code> suite using the example of a single-histogram fit to time-differential transverse-field &mu;SR data. For a complete description of all options please refer to the <a href="MusrFit.html">manual</a>.
<p></p>
The example deals with a diamagnetic sample that has been measured in an applied field of approximately 150 G in the <a href="http://lmu.web.psi.ch/facilities/gps/gps.html" target="_top">GPS spectrometer</a> at <a href="http://www.psi.ch/" target="_top">PSI</a> using the "transverse geometry". In this geometry the muon spin is rotated about 50&#176; up and the field is applied parallel to the muon momentum. Hence, the relevant positron counters (to detect the spin precession) are placed above (histogram 3), below (histogram 4) and right of (histogram 5) the sample. The run numbers start from 3110.
The example deals with a diamagnetic sample that has been measured in an applied field of approximately 150 G in the <a href="http://lmu.web.psi.ch/facilities/gps/gps.html">GPS spectrometer</a> at <a href="http://www.psi.ch/">PSI</a> using the "transverse geometry". In this geometry the muon spin is rotated about 50&#176; up and the field is applied parallel to the muon momentum. Hence, the relevant positron counters (to detect the spin precession) are placed above (histogram 3), below (histogram 4) and right of (histogram 5) the sample. The run numbers start from 3110.
<p></p>
To analyze these data (in a simple way) one starts out from the <code>msr</code> file <strong>3110_tutorial.msr</strong> provided together with the source-code distribution in the sub-directory <strong>doc/examples/</strong>. This ASCII file can be edited using any text editor. For convenience the editors <code>musredit</code>/<code>musrgui</code> are provided which offer some <code>msr</code>-file-specific functionalities and additionally serve as front ends to the underlying programs. In the following it is assumed that the file is open within <code>musredit</code>.
<p></p>
<h1><a name="A_1_The_61msr_61_file"></a> 1 The <code>msr</code> file </h1>
<h1 id="A_1_The_61msr_61_file"> 1 The <code>msr</code> file </h1>
<p></p>
The <code>msr</code> file itself is divided into different blocks&mdash;a full description of the format can be found <a href="MusrFit.html#DescriptionOfTheMsrFileFormat">here</a>.
In the file <strong>3110_tutorial.msr</strong> these blocks are successively: <ul>
@ -230,134 +269,138 @@ STATISTIC --- 2011-07-09 10:58:44
</pre> This block is the last block of a <code>msr</code> file. It contains some information on the fit: the date and time as well as the absolute and normalized values of &#967;<sup>2</sup> and the number of degrees of freedom in the fit.<br> These information only have a meaning if the fitting procedure has been executed at least once and the fit has converged!
</li></ul>
<p></p>
<h1><a name="A_2_Determine_t0_and_the_data_range_using_61musrt0_61"></a> 2 Determine <i>t</i><sub>0</sub> and the data range using <code>musrt0</code> </h1>
<h1 id="A_2_Determine_t0_and_the_data_range_using_61musrt0_61"> 2 Determine <i>t</i><sub>0</sub> and the data range using <code>musrt0</code> </h1>
Before the given model can be fitted to the data, the data ranges and time zeros of the different RUN blocks have to be set correctly. This can be achieved using <code><a href="MusrFit.html#MusrT0">musrt0</a></code>. Starting this program by selecting the <img alt="musrt0.png" src="../pub/MUSR/MusrGui/musrt0.png" /> button in <code>musredit</code> or calling from a terminal <pre>musrt0 3110&#95;tutorial.msr</pre> opens an interactive window plotting the data of the first RUN block:<br />
<img src="../pub/MUSR/TutorialSingleHisto/musrt0-1.png" alt="musrt0-1" align="center" /><br />
<img class='imagePlain imagePlain_center ' src='../pub/MUSR/TutorialSingleHisto/musrt0-1.png' alt='musrt0-1' title='musrt0-1.png' width='708' height='529' style='' /><br />
The green line (at bin 1) represents time zero, the blue lines the start (at bin 1) and end (at bin 8000) of the data range and the optional red lines give the limits of the background range (if the background shall not be determined by the fit). All lines can be either dragged to reasonable locations or set by pressing the corresponding keyboard shortcuts. In the example the time zero can be set by pressing <strong>T</strong> (which moves the green line to the bin containing the maximum number of counts), the start of the data range should be set to about five bins later by zooming into the graph around bin 250 and pressing <strong>d</strong> when the cursor is found at a suitable location:<br />
<img src="../pub/MUSR/TutorialSingleHisto/musrt0-2.png" alt="musrt0-2" width='708' height='529' align="center" /><br />
<img class='imagePlain imagePlain_center ' src='../pub/MUSR/TutorialSingleHisto/igp_dabb07604d494aa45c41710849314460_musrt0-2.png' alt='musrt0-2' title='musrt0-2.png' width='688' height='529' style='' /><br />
After all lines have been adjusted for the first histogram, one can go on to the second by pressing <strong>q</strong>. This procedure is repeated until all ranges have been set correctly. When finished with the last histogram the new <i>t</i><sub>0</sub> and data-range values will be written to the <code>msr</code> file.
A full description of <code>musrt0</code> can be found <a href="MusrFit.html#MusrT0">here</a>.
<p></p>
<h1><a name="A_3_Fit_the_model_to_the_data_using_61musrfit_61"></a> 3 Fit the model to the data using <code>musrfit</code> </h1>
Now that the basics of the <code>msr</code> file have been introduced and the necessary adjustments have been done one can proceed with fitting the specified model to the data. This is done by selecting the <img alt="musrfit.png" src="../pub/MUSR/MusrGui/musrfit.png" /> button in <code>musredit</code> or calling from a terminal <pre>musrfit 3110&#95;tutorial.msr</pre>
<h1 id="A_3_Fit_the_model_to_the_data_using_61musrfit_61"> 3 Fit the model to the data using <code>musrfit</code> </h1>
Now that the basics of the <code>msr</code> file have been introduced and the necessary adjustments have been done one can proceed with fitting the specified model to the data. This is done by selecting the <img src="../pub/MUSR/MusrGui/musrfit.png" alt="musrfit.png" /> button in <code>musredit</code> or calling from a terminal <pre>musrfit 3110&#95;tutorial.msr</pre>
<p></p>
After the fitting procedure has finished the <code>msr</code> file is updated and contains the newly determined values of the fit parameters.
<p></p>
<h1><a name="A_4_View_the_data_and_the_fit_using_61musrview_61"></a> 4 View the data and the fit using <code>musrview</code> </h1>
<h1 id="A_4_View_the_data_and_the_fit_using_61musrview_61"> 4 View the data and the fit using <code>musrview</code> </h1>
The data and the corresponding fit can be visualized by choosing <img alt="musrview.png" src="../pub/MUSR/MusrGui/musrview.png" /> in <code>musredit</code> or calling from a terminal <pre>musrview 3110&#95;tutorial.msr</pre> This creates the windows according to the given PLOT blocks in the <code>msr</code> file:<br />
<img src="../pub/MUSR/TutorialSingleHisto/musrview-1.png" alt="musrview-1" align="center" /><br />
<img src="../pub/MUSR/TutorialSingleHisto/musrview-2.png" alt="musrview-2" align="center" /><br />
<img class='imagePlain imagePlain_center ' src='../pub/MUSR/TutorialSingleHisto/musrview-1.png' alt='musrview-1' title='musrview-1.png' width='808' height='629' style='' /><br />
<img class='imagePlain imagePlain_center ' src='../pub/MUSR/TutorialSingleHisto/musrview-2.png' alt='musrview-2' title='musrview-2.png' width='808' height='629' style='' /><br />
The basic features of <code>musrview</code> can be found in the Musrfit menu. They include: <ul>
<li> export the shown data and the model to an ASCII file with comma-separated values
</li> <li> presenting the difference between the shown data and the model (keyboard shortcut: <strong>d</strong>)
</li> <li> calculate and show the Fourier transform of the shown data (keyboard shortcut: <strong>f</strong>), e.g. for the asymmetry of the "Up" and "Down" detectors:<br /> <img src="../pub/MUSR/TutorialSingleHisto/musrview-3.png" alt="musrview-3" align="center" /><br />
</li> <li> calculate and show the Fourier transform of the shown data (keyboard shortcut: <strong>f</strong>), e.g. for the asymmetry of the "Up" and "Down" detectors:<br /> <img class='imagePlain imagePlain_center ' src='../pub/MUSR/TutorialSingleHisto/musrview-3.png' alt='musrview-3' title='musrview-3.png' width='808' height='629' style='' /><br />
</li></ul>
<p></p>
<h1><a name="A_5_Process_multiple_61msr_61_files_using_61msr2data_61"></a> 5 Process multiple <code>msr</code> files using <code>msr2data</code> </h1>
<h1 id="A_5_Process_multiple_61msr_61_files_using_61msr2data_61"> 5 Process multiple <code>msr</code> files using <code>msr2data</code> </h1>
This short introduction is concluded by calling attention to the program <code><a href="Msr2Data.html">msr2data</a></code>. As the name indicates the main purpose of this program is to extract the FITPARAMETER-block information from multiple <code>msr</code> files with the same structure and to summarize them in a single ASCII file (either in TRIUMF DB format or simple columns). However, as described in detail in the <code><a href="Msr2Data.html">manual</a></code>, it is not only possible to collect data from <code>msr</code> files but also to create new <code>msr</code> files from a template and to process these files using <code>musrfit</code> on the fly.<br>
Assuming the successive runs <strong>3111</strong> through <strong>3114</strong> can be analyzed using the same model introduced above for run <strong>3110</strong> (e.g. in the case one has done measurements at different temperatures) one can use the file <strong>3110_tutorial.msr</strong> as template, generate the files <strong>3111_tutorial.msr</strong> through <strong>3114_tutorial.msr</strong> with the corresponding updates in the RUN blocks, call for each one <code>musrfit</code> and finally summarize the FITPARAMETER-block information of all processed files in an ASCII output file <strong>tutorial-T-dependence.dat</strong> (simple columns). If further information on the temperature or the applied field is available in the data files these will be included as well in the resulting ASCII file.<br>
From the terminal this would be done as follows:<pre>
msr2data 3110 3114 &#95;tutorial fit-3110 -o tutorial-T-dependence.dat data
</pre>
To achieve the same in <code>musredit</code> one selects <img alt="musrmsr2data.png" src="../pub/MUSR/MusrGui/musrmsr2data.png" /> and fills the form accordingly:<br />
<img src="../pub/MUSR/TutorialSingleHisto/msr2data.png" alt="msr2data" align="center" />
<img class='imagePlain imagePlain_center ' src='../pub/MUSR/TutorialSingleHisto/msr2data.png' alt='msr2data' title='msr2data.png' width='612' height='605' style='' />
<p></p>
<h1><a name="A_6_Further_reading"></a> 6 Further reading </h1>
<h1 id="A_6_Further_reading"> 6 Further reading </h1>
This page only summarizes the very basic features and options of the programs contained in the <code>musrfit</code> suite. For a complete description please refer to the manuals of <ul>
<li> <code><a href="MusrFit.html">musrfit</a></code> (including <code><a href="MusrFit.html#MusrFit">musrfit</a></code>, <code><a href="MusrFit.html#MusrView">musrview</a></code>, <code><a href="MusrFit.html#MusrT0">musrt0</a></code> and the full description of the <a href="MusrFit.html#DescriptionOfTheMsrFileFormat"><code>msr</code>-file format</a>)
</li> <li> <code><a href="MusrGui.html">musredit</a></code>
</li> <li> <code><a href="Msr2Data.html">msr2data</a></code>.
</li></ul>
<p></p>
-- <a href="http://www.fsf.org/register_form?referrer=8369" target="_top">BMW</a> &amp; <a href="http://lmu.web.psi.ch/lem/group.html" target="_top">AS</a> </div>
<div class="foswikiContentFooter"></div><!-- -->
<!-- -->
<!-- -->
<!-- -->
<span class='foswikiClear'></span>
<div class="foswikiMetaData foswikiHideOnPrint foswikiMetaDataNotAllowed">
<div class="jqTabPane jqTabPanePlain {select:'1', autoMaxExpand:false, animate:true, minHeight:230}">
<!-- -->
<!-- -->
<!-- --><!-- -->
<!-- -->
<!-- TAB --><div id='jqTab2338' class="attachments jqAjaxTab jqTab {url: 'https://intranet.psi.ch/wiki/bin/rest/RenderPlugin/template?name=metadata;expand=attachments;topic=MUSR.TutorialSingleHisto;render=on;1418910325'}">
<h2 class='jqTabLabel'>Attachments <span class='foswikiAttachmentsCount'>(6)</span></h2>
<div class='jqTabContents' >
<div class='foswikiFormSteps foswikiAttachmentsProcess'><span class='jqAjaxLoader'>&nbsp;</span></div>
</div></div><!-- //ENDTAB --><!-- -->
<!-- -->
<!-- -->
<!-- --><!-- -->
<!-- --><!-- -->
<!-- --><!-- -->
<!-- -->
<!-- -->
<!-- --><!-- --><!-- -->
<!-- --><!-- -->
<!-- -->
</div><!-- //ENDTABPANE -->
</div>
<!-- -->
<!-- -->
<div class="foswikiFormSteps">
<a name="topic-actions"></a>
<div class="patternTopicActions foswikiFormStep">
<span class="patternActionButtons"><span><a href='https://intranet.psi.ch/wiki/bin/edit/MUSR/TutorialSingleHisto?t=1418910325' rel='nofollow' title='Edit this topic text' accesskey='e'><span class='foswikiAccessKey'>E</span>dit</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span class="foswikiRequiresChangePermission"><a href='https://intranet.psi.ch/wiki/bin/attach/MUSR/TutorialSingleHisto' rel='nofollow' title='Attach an image or document to this topic' accesskey='a'><span class='foswikiAccessKey'>A</span>ttach</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span><a href='TutorialSingleHistoc99a.html?cover=print;cover=print' rel='nofollow' title='Printable version of this topic' accesskey='p'><span class='foswikiAccessKey'>P</span>rint version</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span><a href='https://intranet.psi.ch/print/php/pdf.php?url=MUSR/TutorialSingleHisto?cover=print' title='PDF version of this topic'>PDF</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span><span class="foswikiRequiresChangePermission"><a href='https://intranet.psi.ch/wiki/bin/oops/MUSR/TutorialSingleHisto?template=oopshistory' rel='nofollow' title='View total topic history' accesskey='h'><span class='foswikiAccessKey'>H</span>istory</a></span>: r9&nbsp;<a rel="nofollow" href="https://intranet.psi.ch/wiki/bin/compare/MUSR/TutorialSingleHisto?rev1=8;rev2=9">&lt;</a>&nbsp;<a rel="nofollow" href="https://intranet.psi.ch/MUSR/TutorialSingleHisto?rev=8">r8</a>&nbsp;<a rel="nofollow" href="https://intranet.psi.ch/wiki/bin/compare/MUSR/TutorialSingleHisto?rev1=7;rev2=8">&lt;</a>&nbsp;<a rel="nofollow" href="https://intranet.psi.ch/MUSR/TutorialSingleHisto?rev=7">r7</a>&nbsp;<a rel="nofollow" href="https://intranet.psi.ch/wiki/bin/compare/MUSR/TutorialSingleHisto?rev1=6;rev2=7">&lt;</a>&nbsp;<a rel="nofollow" href="https://intranet.psi.ch/MUSR/TutorialSingleHisto?rev=6">r6</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span><a href='https://intranet.psi.ch/MUSR/TutorialSingleHisto?template=backlinksweb' rel='nofollow' title='Search the MUSR Web for topics that link to here' accesskey='b'><span class='foswikiAccessKey'>B</span>acklinks</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span><a href='https://intranet.psi.ch/MUSR/TutorialSingleHisto?raw=on' rel='nofollow' title='View without formatting' accesskey='v'><span class='foswikiAccessKey'>V</span>iew wiki text</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span><a href='https://intranet.psi.ch/MUSR/TutorialSingleHisto?refresh=on' title='Refresh images and LaTeX charts'>Refresh</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span><a href='https://intranet.psi.ch/MUSR/TutorialSingleHisto?template=more&amp;maxrev=9&amp;currrev=9' rel='nofollow' title='Delete or rename this topic; set parent topic; view and compare revisions' accesskey='m'><span class='foswikiAccessKey'>M</span>ore topic actions</a></span></span>
</div>
</div></div><div class="patternInfo"><span class="patternRevInfo">Topic revision: r9 - 02 Sep 2011, wojek</span></div>
</div>
</div><div id="patternSideBar"><div id="patternClearHeaderLeft"></div>
<div id="patternSideBarContents">
<div class="patternLeftBarPersonal">
<ul><li class="patternLogIn"><a href="https://intranet.psi.ch/wiki/bin/logon/MUSR/TutorialSingleHisto">Log In</a> or <a href="https://intranet.psi.ch/System/UserRegistration">Register</a></li></ul>
</div>
-- <a href="http://www.fsf.org/register_form?referrer=8369">BMW</a> &amp; <a href="http://lmu.web.psi.ch/lem/group.html">AS</a> </div>
<p></p>
<p></p>
<b>PSI Webs</b> <ul>
<li> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/psi.png" width="16" height="16" alt="psi" /></span> <a href="https://intranet.psi.ch/Main/WebHome">Main</a>
</li> <li> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/psi.png" width="16" height="16" alt="psi" /></span> <a href="https://intranet.psi.ch/Main/WebList">weitere Webs</a>
</li></ul>
<hr />
<b>System Webs</b> <ul>
<li> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/foswiki.png" width="16" height="16" alt="foswiki" /></span> <a href="https://intranet.psi.ch/Sandbox/WebHome">Sandbox</a>
</li> <li> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/foswiki.png" width="16" height="16" alt="foswiki" /></span> <a href="https://intranet.psi.ch/System/WebHome">Documentation</a>
</li></ul>
<hr /> <ul>
<li> <a href="https://intranet.psi.ch/MUSR/WebCreateNewTopic?parent=TutorialSingleHisto" target="_top"><span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/newtopic.png" width="16" height="16" alt="newtopic" /></span> Create New Topic</a>
</li> <li> <a href="WebTopicList.html"> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/index.png" width="16" height="16" alt="index" /></span> Show All Topics</a>
</li> <li> <a href="WebSearch.html"> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/searchtopic.png" width="16" height="16" alt="searchtopic" /></span> Search in Topics</a>
</li> <li> <a href="WebChanges.html"> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/changes.png" width="16" height="16" alt="changes" /></span> Recent Changes</a>
</li> <li> <a href="WebNotify.html"> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/notify.png" width="16" height="16" alt="notify" /></span> Define Notifications</a>
</li></ul>
<p></p>
</div></div>
</div>
<div class="clear">&nbsp;</div>
</div></div><div id="patternTopBar">
<div id="patternTopBarContentsWrapper">
<div id="patternTopBarContents"><table border="0" cellpadding="0" cellspacing="0" style="width:100%" summary="">
<tr><td valign="middle"><span id="foswikiLogo" class="foswikiImage"><a href="WebHome.html"><img src="../pub/Main/WebPreferences/psi_logo_150.gif" border="0" alt="Paul Scherrer Institut" style="border:none; margin: -8px 0 0 15px;" /></a></span></td>
<td align="right" valign="top" class="patternMetaMenu" id="psimetanav">
<p></p> <ul>
<li> <form name="quickSearchForm" id="solrSearchForm" action="https://intranet.psi.ch/PSI/Search"><input type="hidden" name="filter" value="web:MUSR" /><input type="text" class="foswikiInputField" id="quickSearchBox" name="search" value="" size="18" /><input type="hidden" name="scope" value="all" /><!-- <input type="hidden" name="web" value="MUSR" /> --> <noscript>&nbsp;<input type="submit" size="5" class="foswikiButton" name="submit" value="Search" />&nbsp;</noscript><input type="image" class="searchsubmit" alt="Search" value="Suche..." name="sa" src="../webbase/img/search.png"> </form>
</li> <li> <form name="changeLanguage" action="https://intranet.psi.ch/wiki/bin/oops/MUSR/TutorialSingleHisto" method="get"> <input type="hidden" name="redirectto" value="/MUSR/TutorialSingleHisto?cover=print" /> <select name="language" class="foswikiSelect" onchange="document.changeLanguage.submit()"> <option value="de">Deutsch</option> <option selected="selected" value="en">English</option></select> <input type="hidden" name="template" value="oopslanguagechanged" /> <noscript> <input class="foswikiButton" type="submit" value="Change language" /> </noscript> </form>
</li></ul>
<p></p>
<p></p>
<p></p>
</td></tr></table>
</div><!--/patternTopBarContents-->
</div><!--/patternTopBarContentsWrapper-->
</div><!-- /patternTopBar--><div id="patternBottomBar"><div id="patternBottomBarContents"><div id="patternWebBottomBar">Ideas, requests, problems regarding <a href="https://intranet.psi.ch/Main/WebHome">PSI Wiki</a>? <a href="mailto&#58;psi&#46;intranet&#64;psi&#46;ch&#63;subject&#61;PSI&#32;Wiki&#37;20Feedback&#37;20on&#37;20MUSR&#46;TutorialSingleHisto">Send feedback</a></div></div></div>
<br class="imageClear" clear="all"/><div class="foswikiAttachments">
<div class="twistyPlugin foswikiMakeVisible"><span id="topicattachmentslist1show" style="display:none" class="twistyRememberSetting twistyTrigger foswikiUnvisited twistyInited"><a href="#" class="patternTwistyButton"><img src="../pub/System/DocumentGraphics/toggleopen.png" border="0" alt="" /><span class="foswikiLinkLabel foswikiUnvisited">Attachments <span class='foswikiSmall foswikiGrayText'>6</span></span></a></span><span id="topicattachmentslist1hide" style="display:none" class="twistyRememberSetting twistyTrigger foswikiUnvisited twistyInited"><a class="patternTwistyButton" href="#"><img src="../pub/System/DocumentGraphics/toggleclose.png" border="0" alt="" /><span class="foswikiLinkLabel foswikiUnvisited">Attachments <span class='foswikiSmall foswikiGrayText'>6</span></span></a></span></div><div class="twistyPlugin"><div id="topicattachmentslist1toggle" style="" class="twistyRememberSetting twistyContent twistyInited">
<table id="tableTutorialSingleHisto1" rules="none" summary="Topic attachments" class="foswikiTable" border="1"><caption>Topic attachments</caption>
<thead>
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
<th class="foswikiTableCol0 foswikiFirstCol"> <a href="https://intranet.psi.ch/MUSR/TutorialSingleHisto?cover=print;sortcol=0;table=1;up=0#sorted_table" rel="nofollow" title="Sort by this column">I</a> </th>
<th class="foswikiTableCol1"> <a rel="nofollow" title="Sort by this column" href="https://intranet.psi.ch/MUSR/TutorialSingleHisto?cover=print;sortcol=1;table=1;up=0#sorted_table">Attachment</a> </th>
<th class="foswikiTableCol2"> <a rel="nofollow" title="Sort by this column" href="https://intranet.psi.ch/MUSR/TutorialSingleHisto?cover=print;sortcol=2;table=1;up=0#sorted_table">Action</a> </th>
<th class="foswikiTableCol3"> <a title="Sort by this column" rel="nofollow" href="https://intranet.psi.ch/MUSR/TutorialSingleHisto?cover=print;sortcol=3;table=1;up=0#sorted_table">Size</a> </th>
<th class="foswikiTableCol4"> <a title="Sort by this column" rel="nofollow" href="https://intranet.psi.ch/MUSR/TutorialSingleHisto?cover=print;sortcol=4;table=1;up=0#sorted_table">Date</a> </th>
<th class="foswikiTableCol5"> <a href="https://intranet.psi.ch/MUSR/TutorialSingleHisto?cover=print;sortcol=5;table=1;up=0#sorted_table" rel="nofollow" title="Sort by this column">Who</a> </th>
<th class="foswikiTableCol6 foswikiLastCol"> <a href="https://intranet.psi.ch/MUSR/TutorialSingleHisto?cover=print;sortcol=6;table=1;up=0#sorted_table" rel="nofollow" title="Sort by this column">Comment</a> </th>
</tr>
</thead>
<tbody>
<tr class="foswikiTableEven foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
<td class="foswikiTableCol0 foswikiFirstCol"> <span class='foswikiIcon'><img src='../pub/System/DocumentGraphics/png.png' width='16' height='16' alt='msr2data.png' /></span><span class="foswikiHidden">png</span> </td>
<td class="foswikiTableCol1"> <a href="../pub/MUSR/TutorialSingleHisto/msr2data.png">msr2data.png</a> </td>
<td class="foswikiTableCol2"> <a href="https://intranet.psi.ch/wiki/bin/attach/MUSR/TutorialSingleHisto?filename=msr2data.png;revInfo=1" title="change, update, previous revisions, move, delete..." rel="nofollow">manage</a> </td>
<td class="foswikiTableCol3" style="text-align:right"> 34 K </td>
<td class="foswikiTableCol4"> <span class="foswikiNoBreak">20 Jul 2011 - 13:34</span> </td>
<td class="foswikiTableCol5"> <a href="https://intranet.psi.ch/Main/UnknownUser">UnknownUser</a> </td>
<td class="foswikiTableCol6 foswikiLastCol"> &nbsp; </td>
</tr>
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
<td class="foswikiTableCol0 foswikiFirstCol"> <span class='foswikiIcon'><img src='../pub/System/DocumentGraphics/png.png' width='16' height='16' alt='musrt0-1.png' /></span><span class="foswikiHidden">png</span> </td>
<td class="foswikiTableCol1"> <a href="../pub/MUSR/TutorialSingleHisto/musrt0-1.png">musrt0-1.png</a> </td>
<td class="foswikiTableCol2"> <a href="https://intranet.psi.ch/wiki/bin/attach/MUSR/TutorialSingleHisto?filename=musrt0-1.png;revInfo=1" title="change, update, previous revisions, move, delete..." rel="nofollow">manage</a> </td>
<td style="text-align:right" class="foswikiTableCol3"> 19 K </td>
<td class="foswikiTableCol4"> <span class="foswikiNoBreak">20 Jul 2011 - 13:38</span> </td>
<td class="foswikiTableCol5"> <a href="https://intranet.psi.ch/Main/UnknownUser">UnknownUser</a> </td>
<td class="foswikiTableCol6 foswikiLastCol"> &nbsp; </td>
</tr>
<tr class="foswikiTableEven foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
<td class="foswikiTableCol0 foswikiFirstCol"> <span class='foswikiIcon'><img src='../pub/System/DocumentGraphics/png.png' width='16' height='16' alt='musrt0-2.png' /></span><span class="foswikiHidden">png</span> </td>
<td class="foswikiTableCol1"> <a href="../pub/MUSR/TutorialSingleHisto/musrt0-2.png">musrt0-2.png</a> </td>
<td class="foswikiTableCol2"> <a href="https://intranet.psi.ch/wiki/bin/attach/MUSR/TutorialSingleHisto?filename=musrt0-2.png;revInfo=1" title="change, update, previous revisions, move, delete..." rel="nofollow">manage</a> </td>
<td style="text-align:right" class="foswikiTableCol3"> 19 K </td>
<td class="foswikiTableCol4"> <span class="foswikiNoBreak">09 Jul 2011 - 15:17</span> </td>
<td class="foswikiTableCol5"> <a href="https://intranet.psi.ch/Main/UnknownUser">UnknownUser</a> </td>
<td class="foswikiTableCol6 foswikiLastCol"> &nbsp; </td>
</tr>
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
<td class="foswikiTableCol0 foswikiFirstCol"> <span class='foswikiIcon'><img src='../pub/System/DocumentGraphics/png.png' width='16' height='16' alt='musrview-1.png' /></span><span class="foswikiHidden">png</span> </td>
<td class="foswikiTableCol1"> <a href="../pub/MUSR/TutorialSingleHisto/musrview-1.png">musrview-1.png</a> </td>
<td class="foswikiTableCol2"> <a href="https://intranet.psi.ch/wiki/bin/attach/MUSR/TutorialSingleHisto?filename=musrview-1.png;revInfo=1" title="change, update, previous revisions, move, delete..." rel="nofollow">manage</a> </td>
<td style="text-align:right" class="foswikiTableCol3"> 45 K </td>
<td class="foswikiTableCol4"> <span class="foswikiNoBreak">09 Jul 2011 - 15:48</span> </td>
<td class="foswikiTableCol5"> <a href="https://intranet.psi.ch/Main/UnknownUser">UnknownUser</a> </td>
<td class="foswikiTableCol6 foswikiLastCol"> &nbsp; </td>
</tr>
<tr class="foswikiTableEven foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
<td class="foswikiTableCol0 foswikiFirstCol"> <span class='foswikiIcon'><img src='../pub/System/DocumentGraphics/png.png' width='16' height='16' alt='musrview-2.png' /></span><span class="foswikiHidden">png</span> </td>
<td class="foswikiTableCol1"> <a href="../pub/MUSR/TutorialSingleHisto/musrview-2.png">musrview-2.png</a> </td>
<td class="foswikiTableCol2"> <a href="https://intranet.psi.ch/wiki/bin/attach/MUSR/TutorialSingleHisto?filename=musrview-2.png;revInfo=1" title="change, update, previous revisions, move, delete..." rel="nofollow">manage</a> </td>
<td style="text-align:right" class="foswikiTableCol3"> 36 K </td>
<td class="foswikiTableCol4"> <span class="foswikiNoBreak">09 Jul 2011 - 15:48</span> </td>
<td class="foswikiTableCol5"> <a href="https://intranet.psi.ch/Main/UnknownUser">UnknownUser</a> </td>
<td class="foswikiTableCol6 foswikiLastCol"> &nbsp; </td>
</tr>
<tr class="foswikiTableOdd foswikiTableRowdataBgSorted0 foswikiTableRowdataBg0">
<td class="foswikiTableCol0 foswikiFirstCol foswikiLast"> <span class='foswikiIcon'><img src='../pub/System/DocumentGraphics/png.png' width='16' height='16' alt='musrview-3.png' /></span><span class="foswikiHidden">png</span> </td>
<td class="foswikiTableCol1 foswikiLast"> <a href="../pub/MUSR/TutorialSingleHisto/musrview-3.png">musrview-3.png</a> </td>
<td class="foswikiTableCol2 foswikiLast"> <a href="https://intranet.psi.ch/wiki/bin/attach/MUSR/TutorialSingleHisto?filename=musrview-3.png;revInfo=1" title="change, update, previous revisions, move, delete..." rel="nofollow">manage</a> </td>
<td class="foswikiTableCol3 foswikiLast" style="text-align:right"> 42 K </td>
<td class="foswikiTableCol4 foswikiLast"> <span class="foswikiNoBreak">09 Jul 2011 - 16:01</span> </td>
<td class="foswikiTableCol5 foswikiLast"> <a href="https://intranet.psi.ch/Main/UnknownUser">UnknownUser</a> </td>
<td class="foswikiTableCol6 foswikiLastCol foswikiLast"> &nbsp; </td>
</tr>
</tbody></table>
</div></div></div></div>
<div class="patternInfo">This topic: MUSR<span class='foswikiSeparator'>&nbsp;&gt;&nbsp;</span>TutorialSingleHisto <br />
Topic revision: <span class='patternRevInfo'>02 Sep 2011, wojek</span></div>
</div>
</div>
</div>
</div></body>
<!-- Mirrored from intranet.psi.ch/MUSR/TutorialSingleHisto?cover=print by HTTrack Website Copier/3.x [XR&CO'2010], Thu, 18 Dec 2014 13:46:03 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=iso-8859-1"><!-- /Added by HTTrack -->
</div><div id="patternBottomBar"><div id="patternBottomBarContents"><div id="patternWebBottomBar"><span class="foswikiRight"> <a href="http://foswiki.org/"><img src="../pub/System/ProjectLogos/foswiki-badge.png" alt="This site is powered by Foswiki" title="This site is powered by Foswiki" /></a></span>Copyright &copy; by the contributing authors. All material on this collaboration platform is the property of the contributing authors. <br /> Ideas, requests, problems regarding PSI Wiki? <a href='mailto:andre.lichtsteiner@psi.ch?subject=PSI Wiki %20Feedback%20on%20MUSR.TutorialSingleHisto'>Send feedback</a></div></div></div>
</div>
</div>
</div>
</div></div><!-- /endWrap -->
<p></p>
<!-- Piwik -->
<noscript><p><img src="../piwik/piwikf832.gif?idsite=7" style="border:0" alt=""></p></noscript>
<!-- End Piwik Tag -->
</body>
<!-- Mirrored from intranet.psi.ch/MUSR/TutorialSingleHisto?cover=print by HTTrack Website Copier/3.x [XR&CO'2010], Fri, 22 Jan 2016 15:12:19 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=utf-8"><!-- /Added by HTTrack -->
</html>
<p></p>
<p></p>
<p></p>
<p></p>

View File

@ -1,35 +1,38 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en_US" lang="en_US">
<!DOCTYPE html><html lang="en">
<!-- Mirrored from intranet.psi.ch/MUSR/WebHome?cover=print by HTTrack Website Copier/3.x [XR&CO'2010], Thu, 18 Dec 2014 13:46:47 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=iso-8859-1"><!-- /Added by HTTrack -->
<!-- Mirrored from intranet.psi.ch/MUSR/WebHome?cover=print by HTTrack Website Copier/3.x [XR&CO'2010], Fri, 22 Jan 2016 15:12:54 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=utf-8"><!-- /Added by HTTrack -->
<head>
<link rel="stylesheet" href="../pub/System/HeadlinesPlugin/style.css" type="text/css" media="all" />
<title> MUSR :: MUSR</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1.5, user-scalable=yes" />
<meta name="mobile-web-app-capable" content="yes" />
<meta name="mobile-web-app-status-bar-style" content="black-translucent" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
<link rel="icon" href="../pub/Main/WebPreferences/favicon.ico" type="image/x-icon" />
<link rel="shortcut icon" href="../pub/Main/WebPreferences/favicon.ico" type="image/x-icon" />
<link rel="alternate" href="https://intranet.psi.ch/wiki/bin/edit/MUSR/WebHome?t=1418910337" type="application/x-wiki" title="edit WebHome" />
<link rel="alternate" href="https://intranet.psi.ch/wiki/bin/edit/MUSR/WebHome?t=1453475525" type="application/x-wiki" title="edit WebHome" />
<meta name="TEXT_NUM_TOPICS" content="Number of topics:" />
<meta name="TEXT_MODIFY_SEARCH" content="Modify search" />
<meta name="robots" content="noindex" /><link rel="alternate" type="application/rss+xml" title="RSS Feed" href="WebRsshtml.html" />
<base /><!--[if IE]></base><![endif]-->
<link rel='stylesheet' href='../pub/System/ImagePlugin/style.css' media='all' />
<base /><!--[if IE]></base><![endif]--><link class='head CLASSIFICATIONPLUGIN::CSS' rel="stylesheet" href="../pub/System/ClassificationPlugin/styles.css" media="all" /><!--CLASSIFICATIONPLUGIN::CSS-->
<link class='head SMILIESPLUGIN' rel='stylesheet' href='../pub/System/SmiliesPlugin/smilies.css' type='text/css' media='all' /><!--SMILIESPLUGIN-->
<link class='head FOOTNOTEPLUGIN_LINKCSS' rel="stylesheet" href="../pub/System/FootNotePlugin/styles.css" type="text/css" media="all" /><!--FOOTNOTEPLUGIN_LINKCSS-->
<link class='head JQUERYPLUGIN::COMMENT' rel='stylesheet' href='../pub/System/CommentPlugin/commentf5b6.css?version=3.0' type='text/css' media='all' /><!--JQUERYPLUGIN::COMMENT--><link rel='stylesheet' href='../pub/System/SkinTemplates/base.css' media='all' type='text/css' />
<style type="text/css" media="all">
@import url('../pub/System/SkinTemplates/base.css');
</style>
<style type="text/css" media="all">
@import url('../pub/System/PatternSkinTheme2009/layout.css');
@import url('../pub/System/PatternSkinTheme/layout.css');
@import url('../pub/System/PatternSkinTheme2009/style.css');
@import url('../pub/System/PatternSkinTheme2009/colors.css');
</style>
<style type="text/css" media="all">
@import url('../pub/System/PatternSkinTheme2009/column_left.css');
@import url('../pub/System/PatternSkinTheme2009/variant_twiki.css');
</style><style type="text/css" media="all">
<link rel='stylesheet' href='../pub/System/PatternSkinTheme2009/column_left.css' media='all' type='text/css' />
<link rel='stylesheet' href='../pub/System/PatternSkinTheme2009/variant_twiki.css' media='all' type='text/css' /><style type="text/css" media="all">
/* Styles that are set using variables */
.patternBookView .foswikiTopRow,
.patternWebIndicator a img,
.patternWebIndicator a:hover img {
.patternWebIndicator,
.patternWebIndicator a {
background-color:#D0D0D0;
}
#patternTopBarContents { background-image:url(../pub/System/PatternSkin/header5.gif); background-repeat:repeat-x;}
@ -50,14 +53,8 @@
<style type="text/css" media="all">
@import url("../pub/System/PatternSkin/print.css");
</style>
<!--[if IE]><style type="text/css" media="screen">
pre {
height:1%;
overflow-x:auto;
}
<link rel='stylesheet' href='../pub/System/PatternSkin/print.css' media='all' type='text/css' />
<!--[if IE 7 ]><style type="text/css" media="screen">
.foswikiAttachments,
.foswikiForm,
.foswikiHelp,
@ -79,7 +76,17 @@ pre {
.foswikiFormStep {
height:100%;
}
#foswikiLogin,
#foswikiLogin {
margin-left: 25%;
margin-right: 25%;
}
#foswikiLogin .foswikiFormSteps {
width:auto;
}
#foswikiLogin input[type="text"],
#foswikiLogin input[type="password"] {
width: auto;
}
.patternShadow {
border:10px solid #fff;
margin-top:10px;
@ -87,38 +94,35 @@ pre {
border:2px solid #ccc;
}
</style><![endif]-->
<!--[if gt IE 8 ]><style type="text/css" media="screen">
#foswikiLogin,
.patternShadow {
border:10px solid #fff;
margin-top:10px;
margin-bottom:10px;
box-shadow: 0 0 10px #ccc;
}
</style><![endif]-->
<link rel="stylesheet" href="../pub/System/FootNotePlugin/styles.css" type="text/css" media="all" /><!--FOOTNOTEPLUGIN_LINKCSS-->
<!--[if lte IE 9]>
<![endif]-->
<!--[if gt IE 9]><!-->
<!--<![endif]-->
<!--JQUERYPLUGIN-->
<!--JQUERYPLUGIN::MIGRATE-->
<!--JQUERYPLUGIN::LIVEQUERY-->
<!--JQUERYPLUGIN::FOSWIKI-->
<!--JQUERYPLUGIN::FOSWIKI::PREFERENCES-->
<!--JavascriptFiles/foswikiString-->
<!--JavascriptFiles/foswikiPref-->
<!--JavascriptFiles/foswikiForm-->
<!--PatternSkin/pattern-->
<!--JQUERYPLUGIN::COMMENT--><link class='head FOOTNOTEPLUGIN_LINKCSS' rel="stylesheet" href="../pub/System/FootNotePlugin/styles.css" type="text/css" media="all" /><!--FOOTNOTEPLUGIN_LINKCSS-->
</head>
<body class="foswikiNoJs patternViewPage">
<a name="PageTop"></a><div class="foswikiPage"><div id="patternScreen">
<body class="foswikiNoJs patternViewPage patternPrintPage">
<span id="PageTop"></span><div class="foswikiPage"><div id="patternScreen">
<div id="patternPageShadow">
<div id="patternPage">
<div id="patternWrapper"><div id="patternOuter">
<div id="patternOuter" class="clear">
<div id="patternFloatWrap">
<div id="patternMain"><div id="patternClearHeaderCenter"></div>
<div id="patternMainContents"><div class="patternTop"><span class="patternHomePath foswikiLeft"></span><span class="patternToolBar foswikiRight"><span><a href='WebHomec99a.html?cover=print;cover=print' rel='nofollow' title='Printable version of this topic' accesskey='p'><span class='foswikiAccessKey'>P</span>rint version</a></span><a href="https://intranet.psi.ch/MUSR/WebHome?restrictions=on" id="restriction_link"><img src='../pub/System/PsiSkin/lock_open.png' class='lock' height='16' width='23' title='open in PSI - click for more information'/></a></span><div class="foswikiClear"></div></div><div class="foswikiContentHeader">
<div id="patternMain">
<div id="patternMainContents">
<div class="patternContent"><div class="foswikiTopic"> <h1 id="Welcome_to_the_MUSR_web"> Welcome to the MUSR web </h1>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
<p></p>
</div><div class="patternContent"><div class="foswikiTopic"><h1><a name="Welcome_to_the_MUSR_web"></a> Welcome to the MUSR web </h1>
<p></p>
<h2><a name="Documentation_of_the_SR_data_analysis_suite_61musrfit_61"></a> Documentation of the &#956;SR data analysis suite <code>musrfit</code> </h2> <ul>
<li> <a href="CiteMusrFit.html">How to cite <code>musrfit</code>? <img src="../pub/Main/SmiliesPluginPSI/yes.gif" alt="yes" title="yes" border="0" /> </a>
<h2 id="Documentation_of_the_SR_data_analysis_suite_61musrfit_61"> Documentation of the &#956;SR data analysis suite <code>musrfit</code> </h2> <ul>
<li> <a href="CiteMusrFit.html">How to cite <code>musrfit</code>? <img class='smily' src='../pub/Main/SmiliesPluginPSI_/yes.gif' alt='yes' title='yes' /> </a>
</li> <li> <a href="TutorialSingleHisto.html">Single-histogram-fit tutorial for <code>musrfit</code> introducing the basic features of the programs and <code>msr</code> files</a>
</li> <li> <a href="MusrFit.html">User manual of the &#956;SR data analysis software <code>musrfit</code> </a>
</li> <li> <a href="MusrFitSetup.html">Setting up <code>musrfit</code> on Different Platforms</a>
@ -126,7 +130,7 @@ pre {
</li> <li> <a href="MusrGui.html">Documentation of <code>musrgui</code>/<code>musredit</code>&mdash;editors interfacing <code>musrfit</code> </a>
</li> <li> <a href="Msr2Data.html">Documentation of <code>msr2data</code>&mdash;a program for automatically processing multiple musrfit <code>msr</code> files</a>
</li> <li> <a href="MusrFit.html#Any2Many"><code>any2many</code>&mdash;a universal &#956;SR-file-format converter</a>
</li> <li> <a href="MusrRoot.html"><code>MusrRoot</code>: an extensible open file format for &#956;SR</a> <img src="../pub/System/DocumentGraphics/new.png" width="30" height="16" alt="New" border="0" />
</li> <li> <a href="MusrRoot.html"><code>MusrRoot</code>: an extensible open file format for &#956;SR</a>
</li> <li> Documentation of user libs (user functions) <ul>
<li> <a href="BmwLibs.html">Meissner-Profiles / Vortex-Lattice related functions (BMW libs)</a>
</li> <li> Nonlocal superconductivity related Meissner screening functions (AS libs)
@ -134,83 +138,29 @@ pre {
</li> <li> <a href="MusrFitAcknowledgements.html">Acknowledgements</a>
</li></ul>
<p></p>
-- <a href="http://lmu.web.psi.ch/lem/group.html" target="_top">AS</a> &amp; (<a href="http://www.fsf.org/register_form?referrer=8369" target="_top">BMW</a>) - last update Dec 18, 2014 </div>
<div class="foswikiContentFooter"></div><!-- -->
<!-- -->
<!-- -->
<!-- -->
<span class='foswikiClear'></span>
<div class="foswikiMetaData foswikiHideOnPrint foswikiMetaDataNotAllowed">
<div class="jqTabPane jqTabPanePlain {select:'1', autoMaxExpand:false, animate:true, minHeight:230}">
<!-- -->
<!-- -->
<!-- --><!-- -->
<!-- -->
<!-- --><!-- -->
<!-- --><!-- -->
<!-- -->
</div><!-- //ENDTABPANE -->
</div>
<!-- -->
<!-- -->
<div class="foswikiFormSteps">
<a name="topic-actions"></a>
<div class="patternTopicActions foswikiFormStep">
<span class="patternActionButtons"><span><a href='https://intranet.psi.ch/wiki/bin/edit/MUSR/WebHome?t=1418910337' rel='nofollow' title='Edit this topic text' accesskey='e'><span class='foswikiAccessKey'>E</span>dit</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span class="foswikiRequiresChangePermission"><a href='https://intranet.psi.ch/wiki/bin/attach/MUSR/WebHome' rel='nofollow' title='Attach an image or document to this topic' accesskey='a'><span class='foswikiAccessKey'>A</span>ttach</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span><a href='WebHomec99a.html?cover=print;cover=print' rel='nofollow' title='Printable version of this topic' accesskey='p'><span class='foswikiAccessKey'>P</span>rint version</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span><a href='https://intranet.psi.ch/print/php/pdf.php?url=MUSR/WebHome?cover=print' title='PDF version of this topic'>PDF</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span><span class="foswikiRequiresChangePermission"><a href='https://intranet.psi.ch/wiki/bin/oops/MUSR/WebHome?template=oopshistory' rel='nofollow' title='View total topic history' accesskey='h'><span class='foswikiAccessKey'>H</span>istory</a></span>: r46&nbsp;<a rel="nofollow" href="https://intranet.psi.ch/wiki/bin/compare/MUSR/WebHome?rev1=45;rev2=46">&lt;</a>&nbsp;<a rel="nofollow" href="https://intranet.psi.ch/MUSR/WebHome?rev=45">r45</a>&nbsp;<a rel="nofollow" href="https://intranet.psi.ch/wiki/bin/compare/MUSR/WebHome?rev1=44;rev2=45">&lt;</a>&nbsp;<a rel="nofollow" href="https://intranet.psi.ch/MUSR/WebHome?rev=44">r44</a>&nbsp;<a rel="nofollow" href="https://intranet.psi.ch/wiki/bin/compare/MUSR/WebHome?rev1=43;rev2=44">&lt;</a>&nbsp;<a rel="nofollow" href="https://intranet.psi.ch/MUSR/WebHome?rev=43">r43</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span><a href='https://intranet.psi.ch/MUSR/WebHome?template=backlinksweb' rel='nofollow' title='Search the MUSR Web for topics that link to here' accesskey='b'><span class='foswikiAccessKey'>B</span>acklinks</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span><a href='https://intranet.psi.ch/MUSR/WebHome?raw=on' rel='nofollow' title='View without formatting' accesskey='v'><span class='foswikiAccessKey'>V</span>iew wiki text</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span><a href='https://intranet.psi.ch/MUSR/WebHome?refresh=on' title='Refresh images and LaTeX charts'>Refresh</a></span><span class='foswikiSeparator'>&nbsp;|&nbsp;</span><span><a href='https://intranet.psi.ch/MUSR/WebHome?template=more&amp;maxrev=46&amp;currrev=46' rel='nofollow' title='Delete or rename this topic; set parent topic; view and compare revisions' accesskey='m'><span class='foswikiAccessKey'>M</span>ore topic actions</a></span></span>
</div>
</div></div><div class="patternInfo"><span class="patternRevInfo">Topic revision: r46 - 18 Dec 2014, <a href="https://intranet.psi.ch/Main/AndreasSuter">AndreasSuter</a></span></div>
</div>
</div><div id="patternSideBar"><div id="patternClearHeaderLeft"></div>
<div id="patternSideBarContents">
<div class="patternLeftBarPersonal">
<ul><li class="patternLogIn"><a href="https://intranet.psi.ch/wiki/bin/logon/MUSR/WebHome">Log In</a> or <a href="https://intranet.psi.ch/System/UserRegistration">Register</a></li></ul>
</div>
-- <a href="http://www.psi.ch/low-energy-muons/people">AS</a> &amp; (<a href="http://www.fsf.org/register_form?referrer=8369">BMW</a>) - last update January 19, 2016</div>
<p></p>
<p></p>
<b>PSI Webs</b> <ul>
<li> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/psi.png" width="16" height="16" alt="psi" /></span> <a href="https://intranet.psi.ch/Main/WebHome">Main</a>
</li> <li> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/psi.png" width="16" height="16" alt="psi" /></span> <a href="https://intranet.psi.ch/Main/WebList">weitere Webs</a>
</li></ul>
<hr />
<b>System Webs</b> <ul>
<li> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/foswiki.png" width="16" height="16" alt="foswiki" /></span> <a href="https://intranet.psi.ch/Sandbox/WebHome">Sandbox</a>
</li> <li> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/foswiki.png" width="16" height="16" alt="foswiki" /></span> <a href="https://intranet.psi.ch/System/WebHome">Documentation</a>
</li></ul>
<hr /> <ul>
<li> <a href="https://intranet.psi.ch/MUSR/WebCreateNewTopic?parent=WebHome" target="_top"><span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/newtopic.png" width="16" height="16" alt="newtopic" /></span> Create New Topic</a>
</li> <li> <a href="WebTopicList.html"> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/index.png" width="16" height="16" alt="index" /></span> Show All Topics</a>
</li> <li> <a href="WebSearch.html"> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/searchtopic.png" width="16" height="16" alt="searchtopic" /></span> Search in Topics</a>
</li> <li> <a href="WebChanges.html"> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/changes.png" width="16" height="16" alt="changes" /></span> Recent Changes</a>
</li> <li> <a href="WebNotify.html"> <span class="foswikiIcon"><img src="../pub/System/DocumentGraphics/notify.png" width="16" height="16" alt="notify" /></span> Define Notifications</a>
</li></ul>
<p></p>
</div></div>
</div>
<div class="clear">&nbsp;</div>
</div></div><div id="patternTopBar">
<div id="patternTopBarContentsWrapper">
<div id="patternTopBarContents"><table border="0" cellpadding="0" cellspacing="0" style="width:100%" summary="">
<tr><td valign="middle"><span id="foswikiLogo" class="foswikiImage"><a href="WebHome.html"><img src="../pub/Main/WebPreferences/psi_logo_150.gif" border="0" alt="Paul Scherrer Institut" style="border:none; margin: -8px 0 0 15px;" /></a></span></td>
<td align="right" valign="top" class="patternMetaMenu" id="psimetanav">
<p></p> <ul>
<li> <form name="quickSearchForm" id="solrSearchForm" action="https://intranet.psi.ch/PSI/Search"><input type="hidden" name="filter" value="web:MUSR" /><input type="text" class="foswikiInputField" id="quickSearchBox" name="search" value="" size="18" /><input type="hidden" name="scope" value="all" /><!-- <input type="hidden" name="web" value="MUSR" /> --> <noscript>&nbsp;<input type="submit" size="5" class="foswikiButton" name="submit" value="Search" />&nbsp;</noscript><input type="image" class="searchsubmit" alt="Search" value="Suche..." name="sa" src="../webbase/img/search.png"> </form>
</li> <li> <form name="changeLanguage" action="https://intranet.psi.ch/wiki/bin/oops/MUSR/WebHome" method="get"> <input type="hidden" name="redirectto" value="/MUSR/WebHome?cover=print" /> <select name="language" class="foswikiSelect" onchange="document.changeLanguage.submit()"> <option value="de">Deutsch</option> <option selected="selected" value="en">English</option></select> <input type="hidden" name="template" value="oopslanguagechanged" /> <noscript> <input class="foswikiButton" type="submit" value="Change language" /> </noscript> </form>
</li></ul>
<p></p>
<p></p>
<p></p>
</td></tr></table>
</div><!--/patternTopBarContents-->
</div><!--/patternTopBarContentsWrapper-->
</div><!-- /patternTopBar--><div id="patternBottomBar"><div id="patternBottomBarContents"><div id="patternWebBottomBar">Ideas, requests, problems regarding <a href="https://intranet.psi.ch/Main/WebHome">PSI Wiki</a>? <a href="mailto&#58;psi&#46;intranet&#64;psi&#46;ch&#63;subject&#61;PSI&#32;Wiki&#37;20Feedback&#37;20on&#37;20MUSR&#46;WebHome">Send feedback</a></div></div></div>
<div class="patternInfo">This topic: MUSR<span class='foswikiSeparator'>&nbsp;&gt;&nbsp;</span>WebHome <br />
Topic revision: <span class='patternRevInfo'>19 Jan 2016, <a href="https://intranet.psi.ch/Main/AndreasSuter">AndreasSuter</a></span></div>
</div>
</div>
</div>
</div></body>
<!-- Mirrored from intranet.psi.ch/MUSR/WebHome?cover=print by HTTrack Website Copier/3.x [XR&CO'2010], Thu, 18 Dec 2014 13:46:55 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=iso-8859-1"><!-- /Added by HTTrack -->
</div><div id="patternBottomBar"><div id="patternBottomBarContents"><div id="patternWebBottomBar"><span class="foswikiRight"> <a href="http://foswiki.org/"><img src="../pub/System/ProjectLogos/foswiki-badge.png" alt="This site is powered by Foswiki" title="This site is powered by Foswiki" /></a></span>Copyright &copy; by the contributing authors. All material on this collaboration platform is the property of the contributing authors. <br /> Ideas, requests, problems regarding PSI Wiki? <a href='mailto:andre.lichtsteiner@psi.ch?subject=PSI Wiki %20Feedback%20on%20MUSR.WebHome'>Send feedback</a></div></div></div>
</div>
</div>
</div>
</div></div><!-- /endWrap -->
<p></p>
<!-- Piwik -->
<noscript><p><img src="../piwik/piwikf832.gif?idsite=7" style="border:0" alt=""></p></noscript>
<!-- End Piwik Tag -->
</body>
<!-- Mirrored from intranet.psi.ch/MUSR/WebHome?cover=print by HTTrack Website Copier/3.x [XR&CO'2010], Fri, 22 Jan 2016 15:12:55 GMT -->
<!-- Added by HTTrack --><meta http-equiv="content-type" content="text/html;charset=utf-8"><!-- /Added by HTTrack -->
</html>
<p></p>
<p></p>
<p></p>
<p></p>

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 920 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 760 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 864 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 865 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 681 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 245 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 263 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 349 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 786 B

View File

@ -1 +1 @@
body{margin:0;padding:0;}#patternScreen, #patternPageShadow, #patternPage, #patternOuter{margin:0;padding:0;top:0;border:none;float:none;}#patternMain{width:100%;float:none;display:inline;overflow:visible;}#patternSideBar{display:none;}#patternWrapper{height:1%;}#patternTopBar, #patternClearHeaderCenter, #patternClearHeaderLeft, #patternClearHeaderRight, #patternTopBarContentsOuter{display:none;}.patternTopicAction, .patternToolBar, .patternToolBarBottom, .patternHomePath img, .patternHomePathTitle, .foswikiActionFormStepSign{display:none;}#patternMainContents{margin:0;padding:1em 2em;}#patternBottomBar{border:none;}.patternTopicFooter{margin:1em 0 0 0;}#attachmentsshow, #attachmentshide{display:none;}pre, html>body pre{overflow:visible !important;}h1, h2, h3, h4, h5, h6{page-break-after:avoid;page-break-inside:avoid;}img{page-break-inside:avoid;page-break-after:avoid;}blockquote, table, pre{page-break-inside:avoid;}ul, ol, dl{page-break-before:avoid;}.commentPlugin{display:none;}.twistyTrigger{display:none;}.editTableEditImageButton{display:none;}html body{background-color:#fff;}h2, h3, h4, h5, h6{background-color:transparent;}#patternBottomBar{background-color:transparent;}pre, code, tt{color:#5b4221;}.foswikiTable th{border-style:solid;border-width:0 0 1px 1px;border-color:#ccc;color:#000;}.foswikiTable th a:link, .foswikiTable th a:visited, .foswikiTable th a font, .foswikiAttachments .foswikiTable th a:link, .foswikiAttachments .foswikiTable th a:visited, .foswikiAttachments .foswikiTable th a font{color:#000;text-decoration:none;}:visited, .foswikiTopic a:visited{color:#06c;background-color:transparent;}.foswikiAttachments, .patternContent .foswikiAttachments, .foswikiForm, .patternContent .foswikiForm{background-color:#fff;}.patternRevInfo, .foswikiGrayText{color:#666;}.patternRevInfo a:link, .patternRevInfo a:visited .foswikiGrayText a:link, .foswikiGrayText a:visited{color:#666;}@media print{body{margin:0;padding:0;}#patternScreen, #patternPageShadow, #patternPage, #patternOuter{margin:0;padding:0;top:0;border:none;float:none;}#patternMain{width:100%;float:none;display:inline;overflow:visible;}#patternSideBar{display:none;}#patternWrapper{height:1%;}#patternTopBar, #patternClearHeaderCenter, #patternClearHeaderLeft, #patternClearHeaderRight, #patternTopBarContentsOuter{display:none;}.patternTopicAction, .patternToolBar, .patternToolBarBottom, .patternHomePath img, .patternHomePathTitle, .foswikiActionFormStepSign{display:none;}#patternMainContents{margin:0;padding:1em 2em;}#patternBottomBar{border:none;}.patternTopicFooter{margin:1em 0 0 0;}#attachmentsshow, #attachmentshide{display:none;}pre, html>body pre{overflow:visible !important;}h1, h2, h3, h4, h5, h6{page-break-after:avoid;page-break-inside:avoid;}img{page-break-inside:avoid;page-break-after:avoid;}blockquote, table, pre{page-break-inside:avoid;}ul, ol, dl{page-break-before:avoid;}.commentPlugin{display:none;}.twistyTrigger{display:none;}.editTableEditImageButton{display:none;}html body{background-color:#fff;}h2, h3, h4, h5, h6{background-color:transparent;}#patternBottomBar{background-color:transparent;}pre, code, tt{color:#5b4221;}.foswikiTable th{border-style:solid;border-width:0 0 1px 1px;border-color:#ccc;color:#000;}.foswikiTable th a:link, .foswikiTable th a:visited, .foswikiTable th a font, .foswikiAttachments .foswikiTable th a:link, .foswikiAttachments .foswikiTable th a:visited, .foswikiAttachments .foswikiTable th a font{color:#000;text-decoration:none;}:visited, .foswikiTopic a:visited{color:#06c;background-color:transparent;}.foswikiAttachments, .patternContent .foswikiAttachments, .foswikiForm, .patternContent .foswikiForm{background-color:#fff;}.patternRevInfo, .foswikiGrayText{color:#666;}.patternRevInfo a:link, .patternRevInfo a:visited .foswikiGrayText a:link, .foswikiGrayText a:visited{color:#666;}} #peopleIcon {display: none;} #tooltip {display: none;} .ecpHeading img {display: none;} .foswikiTopicInfo { border-bottom: 0; } #patternBottomBar, .patternTopicActions, .foswikiFormSteps { display:none; } .foswikiTopicInfo {margin-top: 50px;} .foswikiTopicInfo h1 a {text-decoration:none;} h1 a:visited { color: #D1400E; }html{overflow:visible}
body{margin:0;padding:0}#patternScreen,#patternPageShadow,#patternPage,.patternViewPage #patternOuter{margin:0;padding:0;top:0;border:0;float:none}#patternMain{width:auto;float:none;display:inline;overflow:visible}#patternSideBar{display:none}#patternWrapper{height:1%}#patternTopBarButtons,#patternTopBar,#patternClearHeaderCenter,#patternClearHeaderLeft,#patternClearHeaderRight,#patternTopBarContentsOuter{display:none}.patternTop,.patternTopicAction,.patternTopicActions,.patternToolBar,.patternToolBarBottom,.patternHomePath img,.patternHomePathTitle,.foswikiContentFooter+.foswikiFormSteps,.foswikiActionFormStepSign{display:none}#patternMainContents{margin:0;padding:1em 2em}#patternBottomBar{display:none}.patternTopicFooter{margin:1em 0 0 0}#attachmentsshow,#attachmentshide{display:none}pre,html>body pre{overflow:visible!important}h1,h2,h3,h4,h5,h6{page-break-after:avoid;page-break-inside:avoid}img{page-break-inside:avoid;page-break-after:avoid}blockquote,table,pre{page-break-inside:avoid}ul,ol,dl{page-break-before:avoid}.commentPlugin{display:none}.twistyTrigger{display:none}.editTableEditImageButton{display:none}html body{background-color:#fff}h2,h3,h4,h5,h6{background-color:transparent}#patternBottomBar{background-color:transparent}pre,code,tt{color:#5b4221}.foswikiTable th{border-style:solid;border-width:0 0 1px 1px;border-color:#ccc;color:#000}.foswikiTable th a:link,.foswikiTable th a:visited,.foswikiTable th a font,.foswikiAttachments .foswikiTable th a:link,.foswikiAttachments .foswikiTable th a:visited,.foswikiAttachments .foswikiTable th a font{color:#000;text-decoration:none}:visited,.foswikiTopic a:visited{color:#06c;background-color:transparent}.foswikiAttachments,.patternContent .foswikiAttachments,.foswikiForm,.patternContent .foswikiForm{background-color:#fff}.patternRevInfo,.foswikiGrayText{color:#666}.patternRevInfo a:link,.patternRevInfo a:visited .foswikiGrayText a:link,.foswikiGrayText a:visited{color:#666}@media print{body{margin:0;padding:0}#patternScreen,#patternPageShadow,#patternPage,#patternOuter{margin:0;padding:0;top:0;border:0;float:none}#patternMain{width:100%;float:none;display:inline;overflow:visible}#patternSideBar{display:none}#patternWrapper{height:1%}#patternTopBar,#patternClearHeaderCenter,#patternClearHeaderLeft,#patternClearHeaderRight,#patternTopBarContentsOuter{display:none}.patternTopicAction,.patternToolBar,.patternToolBarBottom,.patternHomePath img,.patternHomePathTitle,.foswikiActionFormStepSign{display:none}#patternMainContents{margin:0;padding:1em 2em}#patternBottomBar{border:0}.patternTopicFooter{margin:1em 0 0 0}#attachmentsshow,#attachmentshide{display:none}pre,html>body pre{overflow:visible!important}h1,h2,h3,h4,h5,h6{page-break-after:avoid;page-break-inside:avoid}img{page-break-inside:avoid;page-break-after:avoid}blockquote,table,pre{page-break-inside:avoid}ul,ol,dl{page-break-before:avoid}.commentPlugin{display:none}.twistyTrigger{display:none}.editTableEditImageButton{display:none}html body{background-color:#fff}h2,h3,h4,h5,h6{background-color:transparent}#patternBottomBar{background-color:transparent}pre,code,tt{color:#5b4221}.foswikiTable th{border-style:solid;border-width:0 0 1px 1px;border-color:#ccc;color:#000}.foswikiTable th a:link,.foswikiTable th a:visited,.foswikiTable th a font,.foswikiAttachments .foswikiTable th a:link,.foswikiAttachments .foswikiTable th a:visited,.foswikiAttachments .foswikiTable th a font{color:#000;text-decoration:none}:visited,.foswikiTopic a:visited{color:#06c;background-color:transparent}.foswikiAttachments,.patternContent .foswikiAttachments,.foswikiForm,.patternContent .foswikiForm{background-color:#fff}.patternRevInfo,.foswikiGrayText{color:#666}.patternRevInfo a:link,.patternRevInfo a:visited .foswikiGrayText a:link,.foswikiGrayText a:visited{color:#666}html,body{height:auto}#patternFloatWrap{float:none}}

File diff suppressed because one or more lines are too long

View File

@ -1,12 +1 @@
/*
places the side bar at the left
depends on global settings in layout.css
*/
#patternOuter {
margin-left:16em;
}
#patternSideBar {
width:16em;
margin-left:-16em;
}
#patternOuter{margin-left:16em}#patternSideBar{width:16em;margin-left:-16em}

File diff suppressed because one or more lines are too long

View File

@ -1,45 +1 @@
/*
Compatible skin for TWiki-like installations
Overrides global settings in layout.css, style.css and colors.css
*/
/* outer 'frame' */
#patternScreen {
padding:0;
}
#patternPage {
border:none;
}
/* paddings of main content elements */
#patternBottomBarContents,
#patternTopBarContents {
padding-right:2em;
padding-left:1em;
}
#patternMainContents {
padding-right:2em;
padding-left:2em;
}
#patternSideBarContents,
#patternMainContents {
padding-top:1em;
}
#patternBottomBarContents {
padding-top:1em;
}
/* top bar */
#patternTopBarContents {
background-image:url(TWiki_header.gif);
background-repeat:no-repeat;
background-color:#fff;
}
#patternTopBar,
#patternClearHeaderCenter,
#patternClearHeaderLeft,
#patternClearHeaderRight,
#patternTopBarContents {
height:64px;
overflow:hidden;
}
#patternScreen{padding:0}#patternPage{border:0}#patternBottomBarContents,#patternTopBarContents{padding-right:2em;padding-left:1em}#patternMainContents{padding-right:2em;padding-left:2em}#patternSideBarContents,#patternMainContents{padding-top:1em}#patternBottomBarContents{padding-top:1em}#patternTopBarContents{background-image:url(TWiki_header.gif);background-repeat:no-repeat;background-color:#fff}#patternTopBar,#patternTopBarContents{height:64px;overflow:hidden}

View File

@ -99,7 +99,8 @@ blockquote.psi {
/* DMS Icon */
.patternContent a[href^="http:"] {
.patternContent a[href^="http:"],
.patternContent a[href^="https:"] {
background-image: url(../DocumentGraphics/external.gif);
background-position: right center;
background-repeat: no-repeat;
@ -107,11 +108,14 @@ blockquote.psi {
}
.patternContent a[href^="http:"]:hover,
.patternContent a[href^="http:"]:visited:hover {
.patternContent a[href^="http:"]:visited:hover,
.patternContent a[href^="https:"]:hover,
.patternContent a[href^="https:"]:visited:hover {
background-image: url(../DocumentGraphics/external-hover.gif);
}
.patternContent a[href^="http:"]:visited {
.patternContent a[href^="http:"]:visited,
.patternContent a[href^="https:"]:visited {
background-image: url(../DocumentGraphics/external-visited.gif);
}
@ -128,14 +132,17 @@ blockquote.psi {
padding-right: 0px;
}
.patternContent a[href^="http://i.psi.ch"] {
.patternContent a[href^="http://i.psi.ch"],
.patternContent a[href^="https://intranet.psi.ch"] {
background: transparent;
padding-right: 0px;
background-repeat: no-repeat;
background-image: none;
}
.patternContent a[href^="http://i.psi.ch"]:hover,
.patternContent a[href^="http://i.psi.ch"]:visited:hover {
.patternContent a[href^="http://i.psi.ch"]:visited:hover,
.patternContent a[href^="https://intranet.psi.ch"]:hover,
.patternContent a[href^="https://intranet.psi.ch"]:visited:hover {
background-image: none;
background-color: #0055B5;
}
@ -175,7 +182,7 @@ caption {
:lang(de) { quotes:"\201E" "\201C" "\201A" "\2018"; }
:lang(en) { quotes:"\201C" "\201D" "\2018" "\2019"; }
:lang(fr) { quotes:"\00AB\A0" "\A0\00BB" "\2039\A0" "\A0\203A"; }
:lang(fr) { quotes:"\00AB" "\00BB" "\2039" "\203A"; }
q:before { content:open-quote; color:#000000; }
q:after { content:close-quote; color:#000000; }

File diff suppressed because one or more lines are too long

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 107 KiB

Binary file not shown.

BIN
doc/memos/rrf/rrf-notes.pdf Normal file

Binary file not shown.

265
doc/memos/rrf/rrf-notes.tex Normal file
View File

@ -0,0 +1,265 @@
\documentclass[twoside]{article}
\usepackage[english]{babel}
\usepackage{a4}
\usepackage{amssymb}
\usepackage{graphicx}
\usepackage{fancyhdr}
\usepackage{array}
\usepackage{float}
\usepackage{hyperref}
\usepackage{xspace}
\usepackage{rotating}
\usepackage{dcolumn}
\usepackage{url}
\setlength{\topmargin}{10mm}
\setlength{\topmargin}{-13mm}
% \setlength{\oddsidemargin}{0.5cm}
% \setlength{\evensidemargin}{0cm}
\setlength{\oddsidemargin}{1cm}
\setlength{\evensidemargin}{1cm}
\setlength{\textwidth}{14.5cm}
\setlength{\textheight}{23.8cm}
\def\mathbi#1{\textbf{\em #1}}
\pagestyle{fancyplain}
\addtolength{\headwidth}{0.6cm}
\fancyhead{}%
\fancyhead[RE,LO]{\bf RRF Fits}%
\fancyhead[LE,RO]{\thepage}
\cfoot{--- Andreas Suter -- \today ---}
\rfoot{\includegraphics[width=6.4cm]{PSI_Logo_wide_blau.pdf}}
\DeclareMathAlphabet{\bi}{OML}{cmm}{b}{it}
\newcommand{\mean}[1]{\langle #1 \rangle}
\newcommand{\lem}{LE-$\mu$SR\xspace}
\newcommand{\musr}{$\mu$SR\xspace}
\newcommand{\etal}{\emph{et al.\xspace}}
\newcommand{\ie}{\emph{i.e.\xspace}}
\newcommand{\eg}{\emph{e.g.\xspace}}
\newcolumntype{d}[1]{D{.}{.}{#1}}
\begin{document}
% Header info --------------------------------------------------
\thispagestyle{empty}
\noindent
\begin{tabular}{@{\hspace{-0.7cm}}l@{\hspace{6cm}}r}
\noindent\includegraphics[width=3.4cm]{PSI_Logo_narrow_blau.jpg} &
{\Huge\sf Memorandum}
\end{tabular}
%
\vskip 1cm
%
\begin{tabular}{@{\hspace{-0.5cm}}ll@{\hspace{4cm}}ll}
Datum: & \today & & \\[3ex]
Von: & Andreas Suter & An: & \\
Telefon: & +41\, (0)56\, 310\, 4238 & & \\
Raum: & WLGA / 119 & cc: & \\
e-mail: & \verb?andreas.suter@psi.ch? & & \\
\end{tabular}
%
\vskip 0.3cm
\noindent\hrulefill
\vskip 1cm
%
\section{Rotating Reference Frame Fits}
High transverse field \musr (HTF-\musr) experiments will typically lead to
rather large data sets since it is necessary to follow the high frequencies
present in the positron decay histograms. Currently the HAL-9500 instrument
at PSI \cite{HAL9500} is operated with $2\time 8$ positron detector, with a
typical number of $\sim 4\times 10^5$ histogram bins. To analyze HTF-\musr
data on rather slugish computer hardware is a challenge. In the last millennium
the people invented the rotating reference frame transformation (RRF) \cite{Riseman90}
to reduce to data sets to be handled.
Here I will shortly describe the ways how it is implemented in \textsc{Musrfit},
and why it should be avoided to be used altogether. The starting point of all
is given by the positron decay spectrum which formally takes the form
\begin{equation}\label{eq:positron_decay_spectrum}
N^{(j)}(t) = N_0^{(j)} \exp(-t / \tau_\mu) \, \left[ 1 + A^{(j)}(t) \right] + N_{\rm bkg}^{(j)},
\end{equation}
\noindent where $(j)$ is the index of the positron counter, $N_0$ gives the scale
of recorded positrons, $\tau_\mu$ is the muon lifetime, $A(t)$ the asymmetry, and $N_{\rm bkg}$
describes the background due to uncorrelated events.
The idea behind the RRF is twofolded: (i) try to extract $A(t)$, and (ii) shift the high frequency
data set $A(t)$ to lower frequencies such that the number of necessary bins needed can be
reduced (packing / rebinning), and hence the overall number of bins is much smaller.
As I will try to explain, this is not for free, and there are problems arising from
this kind of data treatment.
\subsection{Single Histogram RRF Implementation}
In a first step the asymmetry needs to be determined. This is done the following way:
\begin{enumerate}
\item Determine the background, $N_{\rm bkg}$, at times before $t_0$ ($t_0$ is the time of the muon
implantation). Hopefully the background before and after $t_0$ is equal, which is not always
the case.
\item Multiple the background corrected histogram with $\exp(+t / \tau_\mu)$, this is leading to
\end{enumerate}
\begin{equation}\label{eq:Mt}
M(t) \equiv \left[ N(t) - N_{\rm bkg} \right]\,\exp(+t / \tau_\mu) = N_0 \left[ 1 + A(t) \right].
\end{equation}
\begin{enumerate}
\setcounter{enumi}{2}
\item In order to extract $A(t)$ from $M(t)$, $N_0$ needs to be determined, which is almost the
most tricky part here. The idea is simple: since $A(t)$ is dominated by high frequency signals,
proper averaging over $M(t)$ should allow to determine $N_0$, assuming that $\langle A(t) \rangle = 0$.
Is this assumption always true? \emph{No!} For instance it is \emph{not} true if the averaging is preformed
over incomplete periodes of a single assumed signal. Another case where it will fail is if multiple signals
with too far apart frequencies is present, as \eg in the case of muonium. Said all this, let's come
back and try to determine $N_0$:
\end{enumerate}
\begin{equation}\label{eq:N0estimate}
N_0 = \sum_{k=0}^{N_{\rm avg}} w_k M(t_k),
\end{equation}
\noindent where $N_{\rm avg}$ is determined such that $N_{\rm avg} \Delta t \simeq 1 \mu$s ($\Delta t$ being the
time resolution. $1 \mu$s means averaging over many cyles). In order to get a good estimate for $N_{\rm avg}$, $N(t)$ is Fourier
transformed, and from this power spectrum the frequency with the largest amplitude is determined, $\nu_{\rm 0}$. From $\nu_0$,
$\Delta t$, the number of cycles fitting into $1 \mu$s can be determined, and from this and the time resolution $N_{\rm avg}$
can be calculated. The weight $w_k$ is given by:
\begin{equation}
w_k = \frac{\left[\Delta M(t_k)\right]^{-2}}{\sum_{j=0}^{N_{\rm avg}} \left[\Delta M(t_j)\right]^{-2}},
\end{equation}
\noindent where
\begin{equation}
\Delta M(t) = \left[ \left(\frac{\partial M}{\partial N} \Delta N\right)^2 +
\left(\frac{\partial M}{\partial N_{\rm bkg}} \Delta N_{\rm bkg}\right)^2 \right]^{1/2}
\simeq \exp(+t/\tau_\mu) \sqrt{N(t)}.
\end{equation}
\noindent The error estimate on $N_0$ is then
\begin{equation}\label{eq:N0-rrf}
\Delta N_0 = \sigma_{N_0} = \sqrt{\sum_k w_k^2 \Delta M(t_k)^2}.
\end{equation}
\noindent Having estimated $N_0$, the asymmetry can be extracted as:
\begin{equation}
A(t) = M(t) / N_0 - 1.
\end{equation}
\begin{enumerate}
\setcounter{enumi}{3}
\item Now the actual RRF transformation can take place: $A_{\rm rrf}(t) = 2 \times A(t) \cos(\omega_{\rm rrf} t + \phi_{\rm rrf})$.
The factor of 2 is introduced to conserve the asymmetry amplitude. The idea is the following: Fourier transform theory tells as that
\end{enumerate}
\begin{equation}
{\cal F}\left\{2 \times A(t) \cos(\omega_{\rm rrf} t + \phi_{\rm rrf}) \right\} =
{\cal F}\left\{A(t)\right\}(\omega-\omega_{\rm rrf}) + {\cal F}\left\{A(t)\right\}(\omega+\omega_{\rm rrf}),
\end{equation}
\noindent \ie that the Fourier spectrum of $A(t)$ is shifted down and up by $\omega - \omega_{\rm rrf}$ and $\omega + \omega_{\rm rrf}$, respectively.
In order to get rid of the high frequency part (${\cal F}\left\{A(t)\right\}(\omega+\omega_{\rm rrf})$), $A_{\rm rrf}(t)$ will be heavily over-binned,
\ie
\begin{enumerate}
\setcounter{enumi}{4}
\item Do the rrf packing: $A_{\rm rrf}(t) \rightarrow \langle A_{\rm rrf}(t) \rangle_p$. Packing itself is a filtering of data! Especially this
kind of filter is dispersive \cite{King89}, \ie that it potentially is leading to line shape distortions. For symmetric, rather narrow
lines, this is unlikely to be a problem. However, this might be quite different for complex line shapes as in the case of vortex lattices.
\end{enumerate}
\noindent The property $\langle A_{\rm rrf}(t) \rangle_p$ is what is fitted. The error on this property is estimated the following way: (i) the
unpacked error of $A(t)$ is:
\begin{equation}
\Delta A(t) \simeq \frac{\exp(+t/\tau_\mu)}{N_0}\,\left[ N(t) + \left( \frac{N(t)-N_{\rm bkg}}{N_0} \right)^2 \Delta N_0^2 \right]^{1/2},
\end{equation}
\noindent and form this the packed $A_{\rm rrf}(t)$ error can be calculated.
\subsection{Asymmetry RRF Implementation}
\begin{enumerate}
\item In order to circumvent the difficulties to estimate $N_0$ the asymmetry of the starting positron histograms is formed. For details
see \cite{musrfit_userManual15}. For this, positron detectors geometrically under $180^\circ$ are used. However, due the the spiraling
of the positron in sufficiently high magnetic fields, and the uncertainties of the $t_0$'s, the geometrical phase might \emph{not}
correspond to the positron signal phase! At $B=9$T the uncertainty in $t_0$ by one channel leads to a phase shift of
$\gamma_\mu B \Delta t \cdot (180 / \pi) = 1.7^\circ$. Fig.\ref{fig:hal-9500-t0} shows the $t_0$-region of a typical HAL-9500 spectrum.
It shows that it is very hard to get the absolut value of $t_0$ right.
\item Carry out the RRF transformation $A_{\rm rrf}(t) = 2 \times A(t) \cos(\omega_{\rm rrf} t + \phi_{\rm rrf})$.
\item Do the rrf packing.
\end{enumerate}
\begin{figure}[h]
\centering
\includegraphics[width=0.5\textwidth]{HAL-9500-t0.pdf}
\caption{The $t_0$ region of a typical HAL-9500 spectrum. The broad black hump with the green line, is the ``prompt'' peak.
It is \emph{not} straight forward how to define $t_0$.}\label{fig:hal-9500-t0}
\end{figure}
\section{Discussion}
Both RRF transformation sketched above have weak points which makes it hard to estimate systematic errors. Both methods will fail at too
low fields of $\lesssim 1$T. The only and single purpose of the RRF transformation is slughish computer power! We developed GPU based fitting
which overcomes \emph{all} this uncontrolled weaknesses and henceforth RRF could be omitted altogether. I still added it for the time being,
since strong GPU/CPU hardware is still a bit costly and therefore not affordable to everyone.
In order to give a feeling about what might go ``wrong'' with the RRF, I was running a couple of test cases. The chosen asymmetry is
\begin{equation}\label{eq:asymmetry-simulation}
A^{(j)}(t) = A_0^{(j)} \sum_{k=1}^3 f_k \exp\left[-0.5\cdot (\sigma_k t)^2 \right] \cos(\gamma_\mu B_k t + \phi^{(j)}),
\end{equation}
\noindent with values found in Tab.\ref{tab:asymmetry-parameters}. For the simulation 4 positron detector signals were generated with
$A_0^{(j)} = \left\{ 0.2554, 0.2574, 0.2576, 0.2566 \right\}$. The further ingredients were: $N_0^{(j)} = \left\{ 27.0, 25.3, 25.6, 26.9 \right\}$,
$N_{\rm bkg}^{(j)} = \left\{ 0.055, 0.060, 0.069, 0.064 \right\}$, and $ \phi^{(j)} = \left\{ 5.0, 95.0, 185.0, 275.0 \right\}$.
\begin{table}[h]
\centering
\begin{tabular}{c|c|c|c}
$k$ & $f_k$ & $\sigma_k$ & $B_k$ \\
& & ($1/\mu$s) & (T) \\ \hline\hline
1 & 0.5 & 7 & $1$ or $9$ \\
2 & 0.2 & 0.75 & $1.02$ or $9.02$ \\
3 & 0.3 & 0.25 & $1.06$ or $9.06$
\end{tabular}
\caption{Parameters used in Eq.(\ref{eq:asymmetry-simulation}).}\label{tab:asymmetry-parameters}
\end{table}
\begin{figure}[h]
\centering
\includegraphics[width=0.45\textwidth]{08011-Fourier-Averaged.pdf} \quad
\includegraphics[width=0.45\textwidth]{08011-RRF-Histo-Fourier-Averaged-Ghost.pdf} \\
\includegraphics[width=0.45\textwidth]{08011-RRF-Asym-Fourier-Averaged-Ghost.pdf}
\caption{Averaged Fourier power spectra. Top left: from single histogram fit for the 1T data set.
Top right: from single histogram RRF fit. Bottom: from asymmetry RRF fit. Both RRF
sets show ghost lines.}\label{fig:08011-Fourier}
\end{figure}
Figure.\ref{fig:08011-Fourier} shows the averaged Fourier power spectra for the simulated data sets at 1T. Both RRF transformation are
showing ghost lines, even for optimally chosen RRF rebinning. At higher fields this is less pronounced. The ghost lines have various origins
such as aliasing effects due to the RRF packing not prefectly suppressing the high frequency part of $A_{\rm rrf}(t)$, leakage of the RRF frequency
for not sufficently precise known $N_0$ (see Eq.(\ref{eq:N0-rrf})) for single histogram RRF fits, etc.
Fits of simulated data as described above (see Eq.(\ref{eq:asymmetry-simulation}), with fields 0.5, 1.0, 3.0, 5.0, 7.0, and 9.0T) show that above
about 1T the model parameters of the RRF fits are acceptable, but the error bars are typically about a factor 3 larger compared to single histogram
fits. The asymmetries of the RRF fits are ``substantially'' too small. The $\chi^2$ values are close to meaningless for the RRF fits, since they
are strongly depending on the RRF packing, time interval chosen, etc.
To summaries: RRF fits can be used for online analysis if no GPU accelerator is available, but \emph{must not} be used for any final analysis!
\bibliographystyle{amsplain}
\bibliography{rrf}
\end{document}

29
doc/memos/rrf/rrf.bib Normal file
View File

@ -0,0 +1,29 @@
@Article{ Riseman90,
title = {{The Rotating Reference Frame Transformation in $\mu$SR}},
author = "T. M. Riseman and J. H. Brewer",
journal = "Hyperfine Interact.",
volume = "65",
year = "1990",
pages = "1107"
}
@Misc{ HAL9500,
title = {{HAL-9500}},
author = "",
note = {{\verb!https://www.psi.ch/smus/hal-9500!}},
}
@book{ King89,
Address = {New York},
Author = {R. King and M. Ahmadi and R. Gorgui-Naguib and A. Kwabwe and M. Azimi-Sajadi},
Edition = {1st},
Publisher = {Plenum Press},
Title = {Digital Filtering in one and two Dimensions},
Year = 1989
}
@Misc{ musrfit_userManual15,
title = {{Musrfit User Guide}},
author = "",
note = {{\verb!https://intranet.psi.ch/MUSR/MusrFit#A_5.3_Asymmetry_Fit!}},
}

View File

@ -38,6 +38,7 @@ How to setup musrfit on different platforms: \texttt{http://lmu.web.psi.ch/musrf
<p>The musrfit framework provies the following programs:
- \ref musrfit Carries out fits based on a msr-file.
- \ref musrview Is used show the data in a graphical representation.
- \ref musrFT Is used to show Fourier transforms of data without the need of a theory (raw data Fourier transform).
- \ref musrt0 Is used to set graphically t0's, background and data ranges off raw histogram data.
- \ref musrparam Can be used to generate ascii output files with extracted fit-parameters (from msr-files) and independent additional variables like temperature, field, ... The ascii output files can than be used to plot parameters, e.g. by gnuplot.
- \ref msr2data A program (originally written by Bastian M. Wojek). Its purpose is to process/generate multiple musrfit msr-files with the same parameters and summarize the fitting results either in a TRIUMF DB or a column ASCII file.
@ -89,6 +90,12 @@ This two points are somewhat contradictory, and currently it is not clear which
<p>Here will eventually follow a more technical description of musrview. If you looking for a user-manual like description, please check \htmlonly<a href="http://lmu.web.psi.ch/musrfit/user/MUSR/MusrFit.html">musrfit user manual</a>\endhtmlonly \latexonly musrfit user manual: \texttt{http://lmu.web.psi.ch/musrfit/user/MUSR/MusrFit.html} \endlatexonly
//****************************************************************************************************
\page musrFTPage
\section musrFT musrFT
<p>Here will eventually follow a more technical description of musrFT. If you looking for a user-manual like description, please check \htmlonly<a href="http://lmu.web.psi.ch/musrfit/user/MUSR/MusrFit.html">musrfit user manual</a>\endhtmlonly \latexonly musrfit user manual: \texttt{http://lmu.web.psi.ch/musrfit/user/MUSR/MusrFit.html} \endlatexonly
//****************************************************************************************************
\page musrt0Page
\section musrt0 musrt0

View File

@ -23,7 +23,7 @@ PROJECT_NAME = musrfit
# This could be handy for archiving the generated documentation or
# if some version control system is used.
PROJECT_NUMBER = 0.13.0
PROJECT_NUMBER = 0.14.0
# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
# base path where the generated documentation will be put.
@ -463,6 +463,7 @@ INPUT = musrfit.dox \
../src/include/PFitterFcn.h \
../src/include/PFitter.h \
../src/include/PFourier.h \
../src/include/PFourierCanvas.h \
../src/include/PFunctionGrammar.h \
../src/include/PFunction.h \
../src/include/PFunctionHandler.h \
@ -473,6 +474,7 @@ INPUT = musrfit.dox \
../src/include/PMusr.h \
../src/include/PMusrT0.h \
../src/include/PMusrT0LinkDef.h \
../src/include/PPrepFourier.h \
../src/include/PRunAsymmetry.h \
../src/include/PRunBase.h \
../src/include/PRunDataHandler.h \
@ -489,6 +491,7 @@ INPUT = musrfit.dox \
../src/classes/PFitter.cpp \
../src/classes/PFitterFcn.cpp \
../src/classes/PFourier.cpp \
../src/classes/PFourierCanvas.cpp \
../src/classes/PFunction.cpp \
../src/classes/PFunctionHandler.cpp \
../src/classes/PMsr2Data.cpp \
@ -496,6 +499,7 @@ INPUT = musrfit.dox \
../src/classes/PMusrCanvas.cpp \
../src/classes/PMusr.cpp \
../src/classes/PMusrT0.cpp \
../src/classes/PPrepFourier.cpp \
../src/classes/PRunAsymmetry.cpp \
../src/classes/PRunBase.cpp \
../src/classes/PRunDataHandler.cpp \

View File

@ -16,21 +16,32 @@ 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
external \
musredit_qt5 \
musredit \
musrgui
if BUILD_MUSRGUI
SUBDIRS += $(EDITORDIR)
#SUBDIRS += $(EDITORDIR)
EXTRA_DIST = $(EDITORDIR)/Makefile
endif
if BUILD_MUSREDIT
SUBDIRS += $(EDITORDIR)
#SUBDIRS += $(EDITORDIR)
EXTRA_DIST = $(EDITORDIR)/Makefile
endif
if BUILD_MUSREDIT_QT5
EXTRA_DIST = $(EDITORDIR)/Makefile
endif

View File

@ -54,7 +54,7 @@ using namespace std;
void any2many_syntax()
{
cout << endl << "usage: any2many [--help] : will show this help.";
cout << endl << " any2many --version : will show the svn version.";
cout << endl << " any2many --version : will show the git version.";
cout << endl << " any2many -f <filenameList-input> | -r <runList-input>";
cout << endl << " -c <convert-options> [-p <output-path>] [-y <year>]";
cout << endl << " [-o <outputFileName> | -t <in-template> <out-template>] [-s]";
@ -83,6 +83,10 @@ void any2many_syntax()
cout << endl << " NeXus2-HDF4, NeXus2-HDF5, NeXus2-XML, WKM, ASCII";
cout << endl << " Comment: ROOT is superseeded by MusrRoot. If there is not a very good";
cout << endl << " reason, avoid it!";
cout << endl << " -h <histo-group-list> : This option is for MusrRoot input files only!";
cout << endl << " Select the the histo groups to be exported. <histo-group-list> is a space";
cout << endl << " separated list of the histo group, e.g. -h 0, 20 will try to export the histo";
cout << endl << " 0 (NPP) and 20 (PPC).";
cout << endl << " -p <output-path> : where <output-path> is the output path for the";
cout << endl << " converted files. If nothing is given, the current directory";
cout << endl << " will be used, unless the option '-s' is used.";
@ -190,7 +194,7 @@ int main(int argc, char *argv[])
// call any2many --help or any2many --version
if (argc == 2) {
if (strstr(argv[1], "--h"))
if (!strncmp(argv[1], "--help", 128))
any2many_syntax();
else if (strstr(argv[1], "--v")) {
#ifdef HAVE_CONFIG_H
@ -344,6 +348,21 @@ int main(int argc, char *argv[])
show_syntax = true;
break;
}
} else if (!strcmp(argv[i], "-h")) { // filter histo group list (for MusrRoot and ROOT (LEM) only!)
bool done = false;
int j = i+1;
do {
status = sscanf(argv[j], "%d", &ival);
if (status == 1) {
info.groupHistoList.push_back(ival);
j++;
} else {
done = true;
}
} while (!done && (j<argc));
i = j-1;
if (j >= argc) // make sure that counter is still in range
break;
} else if (!strcmp(argv[i], "-p")) { // filter output path name flag
if (i+1 < argc) {
info.outPath = argv[i+1];

View File

@ -15,12 +15,14 @@ h_sources = \
../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
@ -59,12 +61,14 @@ cpp_sources = \
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
@ -91,7 +95,7 @@ AM_LDFLAGS = $(LOCAL_LIB_LDFLAGS) -L@ROOTLIBDIR@
CLEANFILES = *Dict.cpp *Dict.h *~ core
%Dict.cpp %Dict.h: ../include/%.h ../include/%LinkDef.h
@ROOTCINT@ -v -f $*Dict.cpp -c -p $(INCLUDES) $^
@ROOTCINT@ -v -f $*Dict.cpp -c -p $(AM_CPPFLAGS) $^
lib_LTLIBRARIES = libPUserFcnBase.la libPMusr.la

View File

@ -8,7 +8,7 @@
***************************************************************************/
/***************************************************************************
* Copyright (C) 2007-2014 by Andreas Suter *
* Copyright (C) 2007-2016 by Andreas Suter *
* andreas.suter@psi.ch *
* *
* This program is free software; you can redistribute it and/or modify *

View File

@ -8,7 +8,7 @@
***************************************************************************/
/***************************************************************************
* Copyright (C) 2007-2014 by Andreas Suter *
* Copyright (C) 2007-2016 by Andreas Suter *
* andreas.suter@psi.ch *
* *
* This program is free software; you can redistribute it and/or modify *
@ -77,12 +77,16 @@ Double_t PFitterFcn::operator()(const std::vector<Double_t>& par) const
if (fUseChi2) { // chi square
value += fRunListCollection->GetSingleHistoChisq(par);
value += fRunListCollection->GetSingleHistoRRFChisq(par);
value += fRunListCollection->GetAsymmetryChisq(par);
value += fRunListCollection->GetAsymmetryRRFChisq(par);
value += fRunListCollection->GetMuMinusChisq(par);
value += fRunListCollection->GetNonMusrChisq(par);
} else { // max likelihood
value += fRunListCollection->GetSingleHistoMaximumLikelihood(par);
value += fRunListCollection->GetSingleHistoRRFMaximumLikelihood(par);
value += fRunListCollection->GetAsymmetryMaximumLikelihood(par);
value += fRunListCollection->GetAsymmetryRRFMaximumLikelihood(par);
value += fRunListCollection->GetMuMinusMaximumLikelihood(par);
value += fRunListCollection->GetNonMusrMaximumLikelihood(par);
}

View File

@ -8,7 +8,7 @@
***************************************************************************/
/***************************************************************************
* Copyright (C) 2007-2014 by Andreas Suter *
* Copyright (C) 2007-2016 by Andreas Suter *
* andreas.suter@psi.ch *
* *
* This program is free software; you can redistribute it and/or modify *
@ -163,7 +163,7 @@ PFourier::~PFourier()
}
//--------------------------------------------------------------------------
// Transform
// Transform (public)
//--------------------------------------------------------------------------
/**
* <p>Carries out the Fourier transform. It is assumed that fStartTime is the time zero
@ -201,7 +201,24 @@ void PFourier::Transform(UInt_t apodizationTag)
}
//--------------------------------------------------------------------------
// GetRealFourier
// GetMaxFreq (public)
//--------------------------------------------------------------------------
/**
* <p>returns the maximal frequency in units choosen, i.e. Gauss, Tesla, MHz, Mc/s
*/
Double_t PFourier::GetMaxFreq()
{
UInt_t noOfFourierBins = 0;
if (fNoOfBins % 2 == 0)
noOfFourierBins = fNoOfBins/2;
else
noOfFourierBins = (fNoOfBins+1)/2;
return fResolution*noOfFourierBins;
}
//--------------------------------------------------------------------------
// GetRealFourier (public)
//--------------------------------------------------------------------------
/**
* <p>returns the real part Fourier as a histogram.
@ -242,7 +259,112 @@ TH1F* PFourier::GetRealFourier(const Double_t scale)
}
//--------------------------------------------------------------------------
// GetImaginaryFourier
// GetPhaseOptRealFourier (public)
//--------------------------------------------------------------------------
/**
* <p>returns the phase corrected real Fourier transform. The correction angle is
* past back as well.
* <p>Currently it simply does the following thing: (i) rotate the complex Fourier
* transform through all angles in 1/2° steps, i.e.
* \f$ f_{\rm rot} = (f_{\rm real} + i f_{\rm imag}) \exp(- \alpha)\f$,
* hence \f$ f_{\rm rot} = f_{\rm real} \cos(\alpha) + f_{\rm imag} \sin(\alpha)\f$.
* (ii) search the maximum of \f$ sum_{\alpha} {\cal R}\{f_{\rm rot}\}\f$ for all
* \f$\alpha\f$. From this one gets \f$\alpha_{\rm opt}\f$. (iii) The 'optimal'
* real Fourier transform is \f$f_{\rm opt} = (f_{\rm real} + i f_{\rm imag})
* \exp(- \alpha_{\rm opt})\f$.
*
* \return the TH1F histo of the phase 'optimzed' real Fourier transform.
*
* \param phase return value of the optimal phase
* \param scale normalisation factor
* \param min minimal freq / field from which to optimise. Given in the choosen unit.
* \param max maximal freq / field up to which to optimise. Given in the choosen unit.
*/
TH1F* PFourier::GetPhaseOptRealFourier(Double_t &phase, const Double_t scale, const Double_t min, const Double_t max)
{
UInt_t noOfFourierBins = 0;
if (fNoOfBins % 2 == 0)
noOfFourierBins = fNoOfBins/2;
else
noOfFourierBins = (fNoOfBins+1)/2;
UInt_t minBin = 0;
UInt_t maxBin = noOfFourierBins;
// check if minimum frequency is given. If yes, get the proper minBin
if (min != -1.0) {
minBin = (UInt_t)(min/fResolution);
}
// check if maximum frequency is given. If yes, get the proper maxBin
if (max != -1.0) {
maxBin = (UInt_t)(max/fResolution);
if (maxBin >= noOfFourierBins) {
maxBin = noOfFourierBins;
cerr << "**WARNING** maximum frequency/field out of range. Will adopted it." << endl;
}
}
// copy the real/imag Fourier from min to max
vector<Double_t> realF, imagF;
for (UInt_t i=minBin; i<=maxBin; i++) {
realF.push_back(fOut[i][0]);
imagF.push_back(fOut[i][1]);
}
// rotate trough real/imag Fourier through 360° with a 1/2° resolution and keep the integral
Double_t rotRealIntegral[720];
Double_t sum = 0.0;
Double_t da = 8.72664625997164774e-03; // pi / 360
for (UInt_t i=0; i<720; i++) {
sum = 0.0;
for (UInt_t j=0; j<realF.size(); j++) {
sum += realF[j]*cos(da*i) + imagF[j]*sin(da*i);
}
rotRealIntegral[i] = sum;
}
// find the maximum in rotRealIntegral
Double_t maxRot = 0.0;
UInt_t maxRotBin = 0;
for (UInt_t i=0; i<720; i++) {
if (maxRot < rotRealIntegral[i]) {
maxRot = rotRealIntegral[i];
maxRotBin = i;
}
}
// keep the optimal phase
phase = maxRotBin*da;
// clean up
realF.clear();
imagF.clear();
// invoke the real phase optimised histo to be filled. Caller is the owner!
Char_t name[256];
Char_t title[256];
snprintf(name, sizeof(name), "%s_Fourier_PhOptRe", fData->GetName());
snprintf(title, sizeof(title), "%s_Fourier_PhOptRe", fData->GetTitle());
TH1F *realPhaseOptFourier = new TH1F(name, title, noOfFourierBins, -fResolution/2.0, (Double_t)(noOfFourierBins-1)*fResolution+fResolution/2.0);
if (realPhaseOptFourier == 0) {
fValid = false;
cerr << endl << "**SEVERE ERROR** couldn't allocate memory for the real part of the Fourier transform." << endl;
return 0;
}
// fill realFourier vector
for (UInt_t i=0; i<noOfFourierBins; i++) {
realPhaseOptFourier->SetBinContent(i+1, scale*(fOut[i][0]*cos(phase) + fOut[i][1]*sin(phase)));
realPhaseOptFourier->SetBinError(i+1, 0.0);
}
return realPhaseOptFourier;
}
//--------------------------------------------------------------------------
// GetImaginaryFourier (public)
//--------------------------------------------------------------------------
/**
* <p>returns the imaginary part Fourier as a histogram.
@ -284,7 +406,7 @@ TH1F* PFourier::GetImaginaryFourier(const Double_t scale)
}
//--------------------------------------------------------------------------
// GetPowerFourier
// GetPowerFourier (public)
//--------------------------------------------------------------------------
/**
* <p>returns the Fourier power spectrum as a histogram.
@ -326,7 +448,7 @@ TH1F* PFourier::GetPowerFourier(const Double_t scale)
}
//--------------------------------------------------------------------------
// GetPhaseFourier
// GetPhaseFourier (public)
//--------------------------------------------------------------------------
/**
* <p>returns the Fourier phase spectrum as a histogram.
@ -385,7 +507,7 @@ TH1F* PFourier::GetPhaseFourier(const Double_t scale)
}
//--------------------------------------------------------------------------
// PrepareFFTwInputData
// PrepareFFTwInputData (private)
//--------------------------------------------------------------------------
/**
* <p>Feeds the Fourier data and apply the apodization.
@ -434,7 +556,7 @@ void PFourier::PrepareFFTwInputData(UInt_t apodizationTag)
}
//--------------------------------------------------------------------------
// ApodizeData
// ApodizeData (private)
//--------------------------------------------------------------------------
/**
* <p>Carries out the appodization of the data.

File diff suppressed because it is too large Load Diff

View File

@ -8,7 +8,7 @@
***************************************************************************/
/***************************************************************************
* Copyright (C) 2007-2014 by Andreas Suter *
* Copyright (C) 2007-2016 by Andreas Suter *
* andreas.suter@psi.ch *
* *
* This program is free software; you can redistribute it and/or modify *

View File

@ -8,7 +8,7 @@
***************************************************************************/
/***************************************************************************
* Copyright (C) 2007-2014 by Andreas Suter *
* Copyright (C) 2007-2016 by Andreas Suter *
* andreas.suter@psi.ch *
* *
* This program is free software; you can redistribute it and/or modify *

View File

@ -8,7 +8,7 @@
***************************************************************************/
/***************************************************************************
* Copyright (C) 2009-2014 by Bastian M. Wojek / Andreas Suter *
* Copyright (C) 2009-2016 by Bastian M. Wojek / Andreas Suter *
* andreas.suter@psi.ch *
* *
* This program is free software; you can redistribute it and/or modify *
@ -731,7 +731,7 @@ bool PMsr2Data::PrepareGlobalInputFile(unsigned int tempRun, const string &msrOu
msrParamList->at(i).fIsGlobal = true;
++fNumGlobalParam;
}
//cout << msrParamList->at(i).fNo << " is global: " << msrParamList->at(i).fIsGlobal << endl;
// cout << "debug> " << msrParamList->at(i).fNo << ": " << msrParamList->at(i).fName.Data() << " is global: " << msrParamList->at(i).fIsGlobal << endl;
}
// check if parameters have been sorted correctly from the beginning
@ -760,7 +760,7 @@ bool PMsr2Data::PrepareGlobalInputFile(unsigned int tempRun, const string &msrOu
bool mapExists(false);
for (unsigned int i(0); i < tempLines->size(); ++i) {
line = (*tempLines)[i].fLine.Data();
split( tempVec, line, is_any_of(" \t") ); // split the theory line at spaces
split( tempVec, line, is_any_of(" \t"), token_compress_on ); // split the theory line at spaces
for (unsigned int j(1); j < tempVec.size(); ++j) {
try {
tempPar = boost::lexical_cast<unsigned int>(tempVec[j]);
@ -1060,12 +1060,11 @@ bool PMsr2Data::PrepareGlobalInputFile(unsigned int tempRun, const string &msrOu
tempLines = fMsrHandler->GetMsrTheory();
for (unsigned int i(0); i < tempLines->size(); ++i) {
line = (*tempLines)[i].fLine.Data();
split( tempVec, line, is_any_of(" \t") ); // split the theory line at spaces
split( tempVec, line, is_any_of(" \t"), token_compress_on ); // split the theory line at spaces
for (unsigned int j(1); j < tempVec.size(); ++j) {
try {
tempPar = boost::lexical_cast<unsigned int>(tempVec[j]);
if (!msrParamList->at(tempPar - 1).fIsGlobal) {
cerr << endl << ">> msr2data: **WARNING** The parameter " << msrParamList->at(tempPar - 1).fName.Data() \
<< " is recognized as run specific!";
@ -1112,7 +1111,6 @@ bool PMsr2Data::PrepareGlobalInputFile(unsigned int tempRun, const string &msrOu
lineChanged = true;
}
}
break;
}
catch(boost::bad_lexical_cast &) {
// in case the cast does not work: do nothing - this means the entry is not a simple parameter
@ -2444,7 +2442,7 @@ void PMsr2Data::WriteValue(fstream &outFile, const double &value, const unsigned
if ((fabs(value) >= 1.0e6) || ((fabs(value) < 1.0e-4) && (fabs(value) > 0.0)))
outFile << scientific << setprecision(width - 8);
else
outFile.setf(ios::floatfield);
outFile.unsetf(ios::floatfield);
outFile << setw(width) << left << value;
}
@ -2469,7 +2467,7 @@ void PMsr2Data::WriteValue(fstream &outFile, const double &value, const double &
if ((fabs(value) >= 1.0e6) || ((fabs(value) < 1.0e-4) && (fabs(value) > 0)))
outFile << scientific;
else
outFile.setf(ios::floatfield);
outFile.unsetf(ios::floatfield);
outFile.precision(prec);
outFile << setw(width) << left << value;

View File

@ -8,7 +8,7 @@
***************************************************************************/
/***************************************************************************
* Copyright (C) 2007-2014 by Andreas Suter *
* Copyright (C) 2007-2016 by Andreas Suter *
* andreas.suter@psi.ch *
* *
* This program is free software; you can redistribute it and/or modify *
@ -242,7 +242,7 @@ Int_t PMsrHandler::ReadMsrFile()
if (result == PMUSR_SUCCESS)
if (!HandleFunctionsEntry(functions))
result = PMUSR_MSR_SYNTAX_ERROR;
if (result == PMUSR_SUCCESS)
if ((result == PMUSR_SUCCESS) && (global.size()>0))
if (!HandleGlobalEntry(global))
result = PMUSR_MSR_SYNTAX_ERROR;
if (result == PMUSR_SUCCESS)
@ -311,6 +311,11 @@ Int_t PMsrHandler::ReadMsrFile()
if (!CheckAddRunParameters())
result = PMUSR_MSR_SYNTAX_ERROR;
// check that if RRF settings are present, the RUN block settings do correspond
if (result == PMUSR_SUCCESS)
if (!CheckRRFSettings())
result = PMUSR_MSR_SYNTAX_ERROR;
if (result == PMUSR_SUCCESS) {
CheckMaxLikelihood(); // check if the user wants to use max likelihood with asymmetry/non-muSR fit (which is not implemented)
CheckLegacyLifetimecorrection(); // check if lifetimecorrection is found in RUN blocks, if yes transfer it to PLOT blocks
@ -612,9 +617,15 @@ Int_t PMsrHandler::WriteMsrLogFile(const Bool_t messages)
case MSR_FITTYPE_SINGLE_HISTO:
fout << left << "fittype" << MSR_FITTYPE_SINGLE_HISTO << " (single histogram fit)" << endl;
break;
case MSR_FITTYPE_SINGLE_HISTO_RRF:
fout << left << "fittype" << MSR_FITTYPE_SINGLE_HISTO_RRF << " (single histogram RRF fit)" << endl;
break;
case MSR_FITTYPE_ASYM:
fout << left << "fittype" << MSR_FITTYPE_ASYM << " (asymmetry fit)" << endl ;
break;
case MSR_FITTYPE_ASYM_RRF:
fout << left << "fittype" << MSR_FITTYPE_ASYM_RRF << " (asymmetry RRF fit)" << endl ;
break;
case MSR_FITTYPE_MU_MINUS:
fout << left << "fittype" << MSR_FITTYPE_MU_MINUS << " (mu minus fit)" << endl ;
break;
@ -624,6 +635,27 @@ Int_t PMsrHandler::WriteMsrLogFile(const Bool_t messages)
default:
break;
}
} else if (sstr.BeginsWith("rrf_freq", TString::kIgnoreCase) && (fGlobal.GetFitType() == MSR_FITTYPE_SINGLE_HISTO_RRF)) {
fout.width(16);
fout << left << "rrf_freq ";
fout.width(8);
neededPrec = LastSignificant(fGlobal.GetRRFFreq(fGlobal.GetRRFUnit().Data()),10);
fout.precision(neededPrec);
fout << left << fixed << fGlobal.GetRRFFreq(fGlobal.GetRRFUnit().Data());
fout << " " << fGlobal.GetRRFUnit();
fout << endl;
} else if (sstr.BeginsWith("rrf_phase", TString::kIgnoreCase) && (fGlobal.GetFitType() == MSR_FITTYPE_SINGLE_HISTO_RRF)) {
fout.width(16);
fout << "rrf_phase ";
fout.width(8);
fout << left << fGlobal.GetRRFPhase();
fout << endl;
} else if (sstr.BeginsWith("rrf_packing", TString::kIgnoreCase) && (fGlobal.GetFitType() == MSR_FITTYPE_SINGLE_HISTO_RRF)) {
fout.width(16);
fout << "rrf_packing ";
fout.width(8);
fout << left << fGlobal.GetRRFPacking();
fout << endl;
} else if (sstr.BeginsWith("data")) {
fout.width(16);
fout << left << "data";
@ -749,9 +781,15 @@ Int_t PMsrHandler::WriteMsrLogFile(const Bool_t messages)
case MSR_FITTYPE_SINGLE_HISTO:
fout << left << "fittype" << MSR_FITTYPE_SINGLE_HISTO << " (single histogram fit)" << endl;
break;
case MSR_FITTYPE_SINGLE_HISTO_RRF:
fout << left << "fittype" << MSR_FITTYPE_SINGLE_HISTO_RRF << " (single histogram RRF fit)" << endl;
break;
case MSR_FITTYPE_ASYM:
fout << left << "fittype" << MSR_FITTYPE_ASYM << " (asymmetry fit)" << endl ;
break;
case MSR_FITTYPE_ASYM_RRF:
fout << left << "fittype" << MSR_FITTYPE_ASYM_RRF << " (asymmetry RRF fit)" << endl ;
break;
case MSR_FITTYPE_MU_MINUS:
fout << left << "fittype" << MSR_FITTYPE_MU_MINUS << " (mu minus fit)" << endl ;
break;
@ -1089,6 +1127,11 @@ Int_t PMsrHandler::WriteMsrLogFile(const Bool_t messages)
} else if (sstr.BeginsWith("range_for_phase_correction")) {
fout << "range_for_phase_correction " << fFourier.fRangeForPhaseCorrection[0] << " " << fFourier.fRangeForPhaseCorrection[1] << endl;
} else if (sstr.BeginsWith("range ")) {
fout.setf(ios::fixed,ios::floatfield);
neededPrec = LastSignificant(fFourier.fPlotRange[0]);
if (LastSignificant(fFourier.fPlotRange[1]) > neededPrec)
neededPrec = LastSignificant(fFourier.fPlotRange[1]);
fout.precision(neededPrec);
fout << "range " << fFourier.fPlotRange[0] << " " << fFourier.fPlotRange[1] << endl;
} else {
fout << str.Data() << endl;
@ -1102,9 +1145,15 @@ Int_t PMsrHandler::WriteMsrLogFile(const Bool_t messages)
case MSR_PLOT_SINGLE_HISTO:
fout << "PLOT " << fPlots[plotNo].fPlotType << " (single histo plot)" << endl;
break;
case MSR_PLOT_SINGLE_HISTO_RRF:
fout << "PLOT " << fPlots[plotNo].fPlotType << " (single histo RRF plot)" << endl;
break;
case MSR_PLOT_ASYM:
fout << "PLOT " << fPlots[plotNo].fPlotType << " (asymmetry plot)" << endl;
break;
case MSR_PLOT_ASYM_RRF:
fout << "PLOT " << fPlots[plotNo].fPlotType << " (asymmetry RRF plot)" << endl;
break;
case MSR_PLOT_MU_MINUS:
fout << "PLOT " << fPlots[plotNo].fPlotType << " (mu minus plot)" << endl;
break;
@ -1590,7 +1639,136 @@ Int_t PMsrHandler::WriteMsrFile(const Char_t *filename, map<UInt_t, TString> *co
// write GLOBAL block
if (fGlobal.IsPresent()) {
// not sure that anything needs to be done here ...
fout << "GLOBAL" << endl;
// fittype
if (fGlobal.GetFitType() != -1) {
fout.width(16);
switch (fGlobal.GetFitType()) {
case MSR_FITTYPE_SINGLE_HISTO:
fout << left << "fittype" << MSR_FITTYPE_SINGLE_HISTO << " (single histogram fit)" << endl;
break;
case MSR_FITTYPE_SINGLE_HISTO_RRF:
fout << left << "fittype" << MSR_FITTYPE_SINGLE_HISTO_RRF << " (single histogram RRF fit)" << endl;
break;
case MSR_FITTYPE_ASYM:
fout << left << "fittype" << MSR_FITTYPE_ASYM << " (asymmetry fit)" << endl ;
break;
case MSR_FITTYPE_ASYM_RRF:
fout << left << "fittype" << MSR_FITTYPE_ASYM_RRF << " (asymmetry RRF fit)" << endl ;
break;
case MSR_FITTYPE_MU_MINUS:
fout << left << "fittype" << MSR_FITTYPE_MU_MINUS << " (mu minus fit)" << endl ;
break;
case MSR_FITTYPE_NON_MUSR:
fout << left << "fittype" << MSR_FITTYPE_NON_MUSR << " (non muSR fit)" << endl ;
break;
default:
break;
}
}
// RRF related stuff
if ((fGlobal.GetRRFFreq(fGlobal.GetRRFUnit().Data()) > 0.0) && (fGlobal.GetFitType() == MSR_FITTYPE_SINGLE_HISTO_RRF)) {
fout.width(16);
fout << left << "rrf_freq ";
fout.width(8);
fout << left << fGlobal.GetRRFFreq(fGlobal.GetRRFUnit().Data());
fout << " " << fGlobal.GetRRFUnit();
fout << endl;
}
if ((fGlobal.GetRRFPhase() != 0.0) && (fGlobal.GetFitType() == MSR_FITTYPE_SINGLE_HISTO_RRF)) {
fout.width(16);
fout << "rrf_phase ";
fout.width(8);
fout << left << fGlobal.GetRRFPhase();
fout << endl;
}
if ((fGlobal.GetRRFPacking() != -1) && (fGlobal.GetFitType() == MSR_FITTYPE_SINGLE_HISTO_RRF)) {
fout.width(16);
fout << "rrf_packing ";
fout.width(8);
fout << left << fGlobal.GetRRFPacking();
fout << endl;
}
// data range
if ((fGlobal.GetDataRange(0) != -1) || (fGlobal.GetDataRange(1) != -1) || (fGlobal.GetDataRange(2) != -1) || (fGlobal.GetDataRange(3) != -1)) {
fout.width(16);
fout << left << "data";
for (UInt_t j=0; j<4; ++j) {
if (fGlobal.GetDataRange(j) > 0) {
fout.width(8);
fout << left << fGlobal.GetDataRange(j);
}
}
fout << endl;
}
// t0
if (fGlobal.GetT0BinSize() > 0) {
fout.width(16);
fout << left << "t0";
for (UInt_t j=0; j<fGlobal.GetT0BinSize(); ++j) {
fout.width(8);
fout.precision(1);
fout.setf(ios::fixed,ios::floatfield);
fout << left << fGlobal.GetT0Bin(j);
}
fout << endl;
}
// addt0
for (UInt_t j = 0; j < fGlobal.GetAddT0BinEntries(); ++j) {
if (fGlobal.GetAddT0BinSize(j) > 0) {
fout.width(16);
fout << left << "addt0";
for (Int_t k=0; k<fGlobal.GetAddT0BinSize(j); ++k) {
fout.width(8);
fout.precision(1);
fout.setf(ios::fixed,ios::floatfield);
fout << left << fGlobal.GetAddT0Bin(j, k);
}
fout << endl;
}
}
// fit range
if ( (fGlobal.IsFitRangeInBin() && fGlobal.GetFitRangeOffset(0) != -1) ||
(fGlobal.GetFitRange(0) != PMUSR_UNDEFINED) ) {
fout.width(16);
fout << left << "fit";
if (fGlobal.IsFitRangeInBin()) { // fit range given in bins
fout << "fgb";
if (fGlobal.GetFitRangeOffset(0) > 0)
fout << "+" << fGlobal.GetFitRangeOffset(0);
fout << " lgb";
if (fGlobal.GetFitRangeOffset(1) > 0)
fout << "-" << fGlobal.GetFitRangeOffset(1);
} else { // fit range given in time
for (UInt_t j=0; j<2; j++) {
if (fGlobal.GetFitRange(j) == -1)
break;
UInt_t neededWidth = 7;
UInt_t neededPrec = LastSignificant(fRuns[i].GetFitRange(j));
fout.width(neededWidth);
fout.precision(neededPrec);
fout << left << fixed << fGlobal.GetFitRange(j);
if (j==0)
fout << " ";
}
}
fout << endl;
}
// packing
if (fGlobal.GetPacking() != -1) {
fout.width(16);
fout << left << "packing";
fout << fGlobal.GetPacking() << endl;
}
fout << endl << hline.Data() << endl;
}
// write RUN blocks
@ -1655,14 +1833,21 @@ Int_t PMsrHandler::WriteMsrFile(const Char_t *filename, map<UInt_t, TString> *co
}
// fittype
if (fRuns[i].GetFitType() != -1) {
fout.width(16);
switch (fRuns[i].GetFitType()) {
case MSR_FITTYPE_SINGLE_HISTO:
fout << left << "fittype" << MSR_FITTYPE_SINGLE_HISTO << " (single histogram fit)" << endl;
break;
case MSR_FITTYPE_SINGLE_HISTO_RRF:
fout << left << "fittype" << MSR_FITTYPE_SINGLE_HISTO_RRF << " (single histogram RRF fit)" << endl;
break;
case MSR_FITTYPE_ASYM:
fout << left << "fittype" << MSR_FITTYPE_ASYM << " (asymmetry fit)" << endl ;
break;
case MSR_FITTYPE_ASYM_RRF:
fout << left << "fittype" << MSR_FITTYPE_ASYM_RRF << " (asymmetry RRF fit)" << endl ;
break;
case MSR_FITTYPE_MU_MINUS:
fout << left << "fittype" << MSR_FITTYPE_MU_MINUS << " (mu minus fit)" << endl ;
break;
@ -1672,6 +1857,7 @@ Int_t PMsrHandler::WriteMsrFile(const Char_t *filename, map<UInt_t, TString> *co
default:
break;
}
}
// alpha
if (fRuns[i].GetAlphaParamNo() != -1) {
@ -1810,6 +1996,7 @@ Int_t PMsrHandler::WriteMsrFile(const Char_t *filename, map<UInt_t, TString> *co
}
// addt0
if (fRuns[i].GetAddT0BinEntries() > 0) {
for (UInt_t j = 0; j < fRuns[i].GetRunNameSize() - 1; ++j) {
if (fRuns[i].GetAddT0BinSize(j) > 0) {
fout.width(16);
@ -1823,6 +2010,7 @@ Int_t PMsrHandler::WriteMsrFile(const Char_t *filename, map<UInt_t, TString> *co
fout << endl;
}
}
}
// xy-data
if (fRuns[i].GetXDataIndex() != -1) { // indices
@ -1847,6 +2035,8 @@ Int_t PMsrHandler::WriteMsrFile(const Char_t *filename, map<UInt_t, TString> *co
}
// fit
if ( (fRuns[i].IsFitRangeInBin() && fRuns[i].GetFitRangeOffset(0) != -1) ||
(fRuns[i].GetFitRange(0) != PMUSR_UNDEFINED) ) {
fout.width(16);
fout << left << "fit";
if (fRuns[i].IsFitRangeInBin()) { // fit range given in bins
@ -1870,11 +2060,15 @@ Int_t PMsrHandler::WriteMsrFile(const Char_t *filename, map<UInt_t, TString> *co
}
}
fout << endl;
}
// packing
if (fRuns[i].GetPacking() != -1) {
fout.width(16);
fout << left << "packing";
fout << fRuns[i].GetPacking() << endl;
}
fout << endl;
}
@ -1971,6 +2165,11 @@ Int_t PMsrHandler::WriteMsrFile(const Char_t *filename, map<UInt_t, TString> *co
// range
if ((fFourier.fPlotRange[0] != -1.0) || (fFourier.fPlotRange[1] != -1.0)) {
fout.setf(ios::fixed,ios::floatfield);
UInt_t neededPrec = LastSignificant(fFourier.fPlotRange[0]);
if (LastSignificant(fFourier.fPlotRange[1]) > neededPrec)
neededPrec = LastSignificant(fFourier.fPlotRange[1]);
fout.precision(neededPrec);
fout << "range " << fFourier.fPlotRange[0] << " " << fFourier.fPlotRange[1] << endl;
}
@ -1989,9 +2188,15 @@ Int_t PMsrHandler::WriteMsrFile(const Char_t *filename, map<UInt_t, TString> *co
case MSR_PLOT_SINGLE_HISTO:
fout << "PLOT " << fPlots[i].fPlotType << " (single histo plot)" << endl;
break;
case MSR_PLOT_SINGLE_HISTO_RRF:
fout << "PLOT " << fPlots[i].fPlotType << " (single histo RRF plot)" << endl;
break;
case MSR_PLOT_ASYM:
fout << "PLOT " << fPlots[i].fPlotType << " (asymmetry plot)" << endl;
break;
case MSR_PLOT_ASYM_RRF:
fout << "PLOT " << fPlots[i].fPlotType << " (asymmetry RRF plot)" << endl;
break;
case MSR_PLOT_MU_MINUS:
fout << "PLOT " << fPlots[i].fPlotType << " (mu minus plot)" << endl;
break;
@ -2677,8 +2882,8 @@ Bool_t PMsrHandler::HandleGlobalEntry(PMsrLines &lines)
TString str;
TObjArray *tokens = 0;
TObjString *ostr = 0;
Int_t ival;
Double_t dval;
Int_t ival = 0;
Double_t dval = 0.0;
UInt_t addT0Counter = 0;
// since this routine is called, a GLOBAL block is present
@ -2709,7 +2914,9 @@ Bool_t PMsrHandler::HandleGlobalEntry(PMsrLines &lines)
if (str.IsDigit()) {
Int_t fittype = str.Atoi();
if ((fittype == MSR_FITTYPE_SINGLE_HISTO) ||
(fittype == MSR_FITTYPE_SINGLE_HISTO_RRF) ||
(fittype == MSR_FITTYPE_ASYM) ||
(fittype == MSR_FITTYPE_ASYM_RRF) ||
(fittype == MSR_FITTYPE_MU_MINUS) ||
(fittype == MSR_FITTYPE_NON_MUSR)) {
global.SetFitType(fittype);
@ -2720,6 +2927,55 @@ Bool_t PMsrHandler::HandleGlobalEntry(PMsrLines &lines)
error = true;
}
}
} else if (iter->fLine.BeginsWith("rrf_freq", TString::kIgnoreCase)) {
if (tokens->GetEntries() < 3) {
error = true;
} else {
ostr = dynamic_cast<TObjString*>(tokens->At(1));
str = ostr->GetString();
if (str.IsFloat()) {
dval = str.Atof();
if (dval <= 0.0)
error = true;
}
if (!error) {
ostr = dynamic_cast<TObjString*>(tokens->At(2));
str = ostr->GetString();
global.SetRRFFreq(dval, str.Data());
if (global.GetRRFFreq(str.Data()) == RRF_FREQ_UNDEF)
error = true;
}
}
} else if (iter->fLine.BeginsWith("rrf_packing", TString::kIgnoreCase)) {
if (tokens->GetEntries() < 2) {
error = true;
} else {
ostr = dynamic_cast<TObjString*>(tokens->At(1));
str = ostr->GetString();
if (str.IsDigit()) {
ival = str.Atoi();
if (ival > 0) {
global.SetRRFPacking(ival);
} else {
error = true;
}
} else {
error = true;
}
}
} else if (iter->fLine.BeginsWith("rrf_phase", TString::kIgnoreCase)) {
if (tokens->GetEntries() < 2) {
error = true;
} else {
ostr = dynamic_cast<TObjString*>(tokens->At(1));
str = ostr->GetString();
if (str.IsFloat()) {
dval = str.Atof();
global.SetRRFPhase(dval);
} else {
error = true;
}
}
} else if (iter->fLine.BeginsWith("data", TString::kIgnoreCase)) { // data
if (tokens->GetEntries() < 3) {
error = true;
@ -2861,29 +3117,6 @@ Bool_t PMsrHandler::HandleGlobalEntry(PMsrLines &lines)
fGlobal = global;
}
/*
cout << endl << "debug> PMsrHandler::HandleGlobalEntry: Global: fittype : " << fGlobal.GetFitType();
cout << endl << "debug> PMsrHandler::HandleGlobalEntry: Global: data bin range: ";
for (UInt_t i=0; i<4; i++) {
cout << fGlobal.GetDataRange(i) << ", ";
}
cout << endl << "debug> PMsrHandler::HandleGlobalEntry: Global: t0's : ";
for (UInt_t i=0; i<fGlobal.GetT0BinSize(); i++)
cout << fGlobal.GetT0Bin(i) << ", ";
cout << endl << "debug> PMsrHandler::HandleGlobalEntry: Global: addt0's : ";
for (UInt_t i=0; i<fGlobal.GetAddT0BinEntries(); i++) {
cout << endl << " debug> --> " << i << ": ";
for (UInt_t j=0; j<(UInt_t)fGlobal.GetAddT0BinSize(i); j++) {
cout << fGlobal.GetAddT0Bin(i,j) << ", ";
}
}
cout << endl << "debug> PMsrHandler::HandleGlobalEntry: Global: fit in bin: " << fGlobal.IsFitRangeInBin();
cout << endl << "debug> PMsrHandler::HandleGlobalEntry: Global: fit offset: " << fGlobal.GetFitRangeOffset(0) << ", " << fGlobal.GetFitRangeOffset(1);
cout << endl << "debug> PMsrHandler::HandleGlobalEntry: Global: fit : " << fGlobal.GetFitRange(0) << ", " << fGlobal.GetFitRange(1);
cout << endl << "debug> PMsrHandler::HandleGlobalEntry: Global: packing : " << fGlobal.GetPacking();
cout << endl;
*/
return !error;
}
@ -3017,7 +3250,9 @@ Bool_t PMsrHandler::HandleRunEntry(PMsrLines &lines)
if (str.IsDigit()) {
Int_t fittype = str.Atoi();
if ((fittype == MSR_FITTYPE_SINGLE_HISTO) ||
(fittype == MSR_FITTYPE_SINGLE_HISTO_RRF) ||
(fittype == MSR_FITTYPE_ASYM) ||
(fittype == MSR_FITTYPE_ASYM_RRF) ||
(fittype == MSR_FITTYPE_MU_MINUS) ||
(fittype == MSR_FITTYPE_NON_MUSR)) {
param.SetFitType(fittype);
@ -3188,15 +3423,19 @@ Bool_t PMsrHandler::HandleRunEntry(PMsrLines &lines)
if (tokens->GetEntries() < 2) {
error = true;
} else {
PIntVector group;
PUIntVector group;
str = iter->fLine;
if (ParseDetectorGrouping(str, group)) {
PStringNumberList *rl = new PStringNumberList(str.Data());
string errorMsg("");
if (rl->Parse(errorMsg, true)) {
group = rl->GetList();
for (UInt_t i=0; i<group.size(); i++) {
param.SetForwardHistoNo(group[i]);
}
} else {
error = true;
}
delete rl;
group.clear();
}
}
@ -3209,15 +3448,19 @@ Bool_t PMsrHandler::HandleRunEntry(PMsrLines &lines)
if (tokens->GetEntries() < 2) {
error = true;
} else {
PIntVector group;
PUIntVector group;
str = iter->fLine;
if (ParseDetectorGrouping(str, group)) {
PStringNumberList *rl = new PStringNumberList(str.Data());
string errorMsg("");
if (rl->Parse(errorMsg, true)) {
group = rl->GetList();
for (UInt_t i=0; i<group.size(); i++) {
param.SetBackwardHistoNo(group[i]);
}
} else {
error = true;
}
delete rl;
group.clear();
}
}
@ -3721,6 +3964,11 @@ Bool_t PMsrHandler::HandleFourierEntry(PMsrLines &lines)
ostr = dynamic_cast<TObjString*>(tokens->At(1));
str = ostr->GetString();
if (str.BeginsWith("par", TString::kIgnoreCase)) { // parameter value
if (fFourierOnly) {
cerr << endl << ">> PMsrHandler::HandleFourierEntry: **WARNING** Found phase parameter for Fourier only.";
cerr << endl << ">> This is currently not supported. Will set the phase to 0." << endl;
fourier.fPhase = 0.0;
} else {
Int_t no = 0;
if (FilterNumber(str, "par", 0, no)) {
// check that the parameter is in range
@ -3736,6 +3984,7 @@ Bool_t PMsrHandler::HandleFourierEntry(PMsrLines &lines)
error = true;
continue;
}
}
} else if (str.IsFloat()) { // phase value
fourier.fPhase = str.Atof();
} else {
@ -3909,39 +4158,34 @@ Bool_t PMsrHandler::HandlePlotEntry(PMsrLines &lines)
param.fLifeTimeCorrection = true;
} else if (iter1->fLine.Contains("runs", TString::kIgnoreCase)) { // handle plot runs
TComplex run;
PStringNumberList *rl;
string errorMsg;
PUIntVector runList;
switch (param.fPlotType) {
case -1:
error = true;
break;
case MSR_PLOT_SINGLE_HISTO: // like: runs 1 5 13
case MSR_PLOT_SINGLE_HISTO_RRF:
case MSR_PLOT_ASYM:
case MSR_PLOT_ASYM_RRF:
case MSR_PLOT_NON_MUSR:
case MSR_PLOT_MU_MINUS:
tokens = iter1->fLine.Tokenize(" \t");
if (!tokens) {
rl = new PStringNumberList(iter1->fLine.Data());
if (!rl->Parse(errorMsg, true)) {
cerr << endl << ">> PMsrHandler::HandlePlotEntry: **SEVERE ERROR** Couldn't tokenize PLOT in line " << iter1->fLineNo;
cerr << endl << ">> Error Message: " << errorMsg;
cerr << endl << endl;
return false;
}
if (tokens->GetEntries() < 2) { // runs missing
error = true;
} else {
for (Int_t i=1; i<tokens->GetEntries(); i++) {
ostr = dynamic_cast<TObjString*>(tokens->At(i));
str = ostr->GetString();
if (str.IsDigit()) {
run = TComplex(str.Atoi(),-1.0);
runList = rl->GetList();
for (UInt_t i=0; i<runList.size(); i++) {
run = TComplex(runList[i], -1.0);
param.fRuns.push_back(run);
} else {
error = true;
}
}
}
// clean up
if (tokens) {
delete tokens;
tokens = 0;
}
runList.clear();
delete rl;
break;
default:
error = true;
@ -4336,8 +4580,10 @@ Bool_t PMsrHandler::HandlePlotEntry(PMsrLines &lines)
cerr << endl << ">> [use_fit_ranges [ymin ymax]]";
cerr << endl << ">> [view_packing n]";
cerr << endl;
cerr << endl << ">> where <plot_type> is: 0=single histo asym,";
cerr << endl << ">> where <plot_type> is: 0=single histo,";
cerr << endl << ">> 1=RRF single histo,";
cerr << endl << ">> 2=forward-backward asym,";
cerr << endl << ">> 3=forward-backward RRF asym,";
cerr << endl << ">> 4=mu minus single histo,";
cerr << endl << ">> 8=non muSR.";
cerr << endl << ">> <run_list> is the list of runs, e.g. runs 1 3";
@ -5054,7 +5300,7 @@ Bool_t PMsrHandler::CheckRunBlockIntegrity()
cerr << endl << ">> forward parameter number not defined. Necessary for single histogram fits." << endl;
return false;
}
if (fRuns[i].GetNormParamNo() > static_cast<Int_t>(fParam.size())) {
if ((fRuns[i].GetNormParamNo() > static_cast<Int_t>(fParam.size())) && !fFourierOnly) {
// check if forward histogram number is a function
if (fRuns[i].GetNormParamNo() - MSR_PARAM_FUN_OFFSET > static_cast<Int_t>(fParam.size())) {
cerr << endl << ">> PMsrHandler::CheckRunBlockIntegrity(): **ERROR** in RUN block number " << i+1;
@ -5090,6 +5336,53 @@ Bool_t PMsrHandler::CheckRunBlockIntegrity()
fRuns[i].SetPacking(1);
}
break;
case PRUN_SINGLE_HISTO_RRF:
// check that there is a forward parameter number
if (fRuns[i].GetForwardHistoNo() == -1) {
cerr << endl << ">> PMsrHandler::CheckRunBlockIntegrity(): **ERROR** in RUN block number " << i+1;
cerr << endl << ">> forward parameter number not defined. Necessary for single histogram RRF fits." << endl;
return false;
}
if ((fRuns[i].GetNormParamNo() > static_cast<Int_t>(fParam.size())) && !fFourierOnly) {
// check if forward histogram number is a function
if (fRuns[i].GetNormParamNo() - MSR_PARAM_FUN_OFFSET > static_cast<Int_t>(fParam.size())) {
cerr << endl << ">> PMsrHandler::CheckRunBlockIntegrity(): **ERROR** in RUN block number " << i+1;
cerr << endl << ">> forward histogram number " << fRuns[i].GetNormParamNo() << " is larger than the number of fit parameters (" << fParam.size() << ").";
cerr << endl << ">> Consider to check the manual ;-)" << endl;
return false;
}
}
// check fit range
if (!fRuns[i].IsFitRangeInBin() && !fFourierOnly) { // fit range given as times in usec (RUN block)
if ((fRuns[i].GetFitRange(0) == PMUSR_UNDEFINED) || (fRuns[i].GetFitRange(1) == PMUSR_UNDEFINED)) { // check fit range in RUN block
if (!fGlobal.IsFitRangeInBin()) { // fit range given as times in usec (GLOBAL block)
if ((fGlobal.GetFitRange(0) == PMUSR_UNDEFINED) || (fGlobal.GetFitRange(1) == PMUSR_UNDEFINED)) { // check fit range in GLOBAL block
cerr << endl << "PMsrHandler::CheckRunBlockIntegrity(): **ERROR** in RUN block number " << i+1;
cerr << endl << " Fit range is not defined. Necessary for single histogram fits." << endl;
return false;
}
}
}
}
// check number of T0's provided
if ((fRuns[i].GetT0BinSize() > fRuns[i].GetForwardHistoNoSize()) &&
(fGlobal.GetT0BinSize() > fRuns[i].GetForwardHistoNoSize())) {
cerr << endl << ">> PMsrHandler::CheckRunBlockIntegrity(): **ERROR** in RUN block number " << i+1;
cerr << endl << ">> Found " << fRuns[i].GetT0BinSize() << " T0 entries. Expecting only " << fRuns[i].GetForwardHistoNoSize() << ". Needs to be fixed." << endl;
cerr << endl << ">> In GLOBAL block: " << fGlobal.GetT0BinSize() << " T0 entries. Expecting only " << fRuns[i].GetForwardHistoNoSize() << ". Needs to be fixed." << endl;
return false;
}
// check that RRF frequency is given
if (fGlobal.GetRRFUnitTag() == RRF_UNIT_UNDEF) {
cerr << endl << ">> PMsrHandler::CheckRunBlockIntegrity(): **ERROR** no RRF frequency found in the GLOBAL block." << endl;
return false;
}
// check that RRF packing is given
if (fGlobal.GetRRFPacking() == -1) {
cerr << endl << ">> PMsrHandler::CheckRunBlockIntegrity(): **ERROR** no RRF packing found in the GLOBAL block." << endl;
return false;
}
break;
case PRUN_ASYMMETRY:
// check alpha
if ((fRuns[i].GetAlphaParamNo() == -1) && !fFourierOnly) {
@ -5142,6 +5435,62 @@ Bool_t PMsrHandler::CheckRunBlockIntegrity()
fRuns[i].SetPacking(1);
}
break;
case PRUN_ASYMMETRY_RRF:
// check alpha
if ((fRuns[i].GetAlphaParamNo() == -1) && !fFourierOnly) {
cerr << endl << ">> PMsrHandler::CheckRunBlockIntegrity(): **ERROR** in RUN block number " << i+1;
cerr << endl << ">> alpha parameter number missing which is needed for an asymmetry RRF fit.";
cerr << endl << ">> Consider to check the manual ;-)" << endl;
return false;
}
// check that there is a forward parameter number
if (fRuns[i].GetForwardHistoNo() == -1) {
cerr << endl << ">> PMsrHandler::CheckRunBlockIntegrity(): **ERROR** in RUN block number " << i+1;
cerr << endl << ">> forward histogram number not defined. Necessary for asymmetry RRF fits." << endl;
return false;
}
// check that there is a backward parameter number
if (fRuns[i].GetBackwardHistoNo() == -1) {
cerr << endl << ">> PMsrHandler::CheckRunBlockIntegrity(): **ERROR** in RUN block number " << i+1;
cerr << endl << ">> backward histogram number not defined. Necessary for asymmetry RRF fits." << endl;
return false;
}
// check fit range
if (!fRuns[i].IsFitRangeInBin()) { // fit range given as times in usec
if ((fRuns[i].GetFitRange(0) == PMUSR_UNDEFINED) || (fRuns[i].GetFitRange(1) == PMUSR_UNDEFINED)) {
if ((fGlobal.GetFitRange(0) == PMUSR_UNDEFINED) || (fGlobal.GetFitRange(1) == PMUSR_UNDEFINED)) {
cerr << endl << ">> PMsrHandler::CheckRunBlockIntegrity(): **ERROR** in RUN block number " << i+1;
cerr << endl << ">> Fit range is not defined, also NOT present in the GLOBAL block. Necessary for asymmetry RRF fits." << endl;
return false;
}
}
}
// check number of T0's provided
if ((fRuns[i].GetT0BinSize() > 2*fRuns[i].GetForwardHistoNoSize()) &&
(fGlobal.GetT0BinSize() > 2*fRuns[i].GetForwardHistoNoSize())) {
cerr << endl << ">> PMsrHandler::CheckRunBlockIntegrity(): **ERROR** in RUN block number " << i+1;
cerr << endl << ">> Found " << fRuns[i].GetT0BinSize() << " T0 entries. Expecting only " << 2*fRuns[i].GetForwardHistoNoSize() << " in forward. Needs to be fixed." << endl;
cerr << endl << ">> In GLOBAL block: " << fGlobal.GetT0BinSize() << " T0 entries. Expecting only " << 2*fRuns[i].GetForwardHistoNoSize() << ". Needs to be fixed." << endl;
return false;
}
if ((fRuns[i].GetT0BinSize() > 2*fRuns[i].GetBackwardHistoNoSize()) &&
(fGlobal.GetT0BinSize() > 2*fRuns[i].GetBackwardHistoNoSize())) {
cerr << endl << ">> PMsrHandler::CheckRunBlockIntegrity(): **ERROR** in RUN block number " << i+1;
cerr << endl << ">> Found " << fRuns[i].GetT0BinSize() << " T0 entries. Expecting only " << 2*fRuns[i].GetBackwardHistoNoSize() << " in backward. Needs to be fixed." << endl;
cerr << endl << ">> In GLOBAL block: " << fGlobal.GetT0BinSize() << " T0 entries. Expecting only " << 2*fRuns[i].GetBackwardHistoNoSize() << ". Needs to be fixed." << endl;
return false;
}
// check that RRF frequency is given
if (fGlobal.GetRRFUnitTag() == RRF_UNIT_UNDEF) {
cerr << endl << ">> PMsrHandler::CheckRunBlockIntegrity(): **ERROR** no RRF frequency found in the GLOBAL block." << endl;
return false;
}
// check that RRF packing is given
if (fGlobal.GetRRFPacking() == -1) {
cerr << endl << ">> PMsrHandler::CheckRunBlockIntegrity(): **ERROR** no RRF packing found in the GLOBAL block." << endl;
return false;
}
break;
case PRUN_MU_MINUS:
// needs eventually to be implemented
break;
@ -5338,6 +5687,9 @@ Bool_t PMsrHandler::CheckFuncs()
{
Bool_t result = true;
if (fFourierOnly)
return result;
PIntVector funVec;
PIntVector funBlock;
PIntVector funLineBlockNo;
@ -5525,6 +5877,103 @@ void PMsrHandler::CheckMaxLikelihood()
}
}
//--------------------------------------------------------------------------
// CheckRRFSettings (public)
//--------------------------------------------------------------------------
/**
* <p>Make sure that if RRF settings are found in the GLOBAL section, the fit types
* in the RUN blocks correspond.
*/
Bool_t PMsrHandler::CheckRRFSettings()
{
Bool_t result = true;
Int_t fittype = fGlobal.GetFitType();
// first set of tests: if RRF parameters are set, check if RRF fit is chosen.
if (fGlobal.GetRRFFreq(fGlobal.GetRRFUnit().Data()) != RRF_FREQ_UNDEF) {
if (fittype != -1) { // check if GLOBAL fittype is set
if ((fittype != MSR_FITTYPE_SINGLE_HISTO_RRF) &&
(fittype != MSR_FITTYPE_ASYM_RRF)) {
cerr << endl << ">> PMsrHandler::CheckRRFSettings: **ERROR** found GLOBAL fittype " << fittype << " and";
cerr << endl << ">> RRF settings in the GLOBAL section. This is NOT compatible. Fix it first.";
result = false;
}
} else { // GLOBAL fittype is NOT set
for (UInt_t i=0; i<fRuns.size(); i++) {
fittype = fRuns[i].GetFitType();
if ((fittype != MSR_FITTYPE_SINGLE_HISTO_RRF) &&
(fittype != MSR_FITTYPE_ASYM_RRF)) {
cerr << endl << ">> PMsrHandler::CheckRRFSettings: **ERROR** found RUN with fittype " << fittype << " and";
cerr << endl << ">> RRF settings in the GLOBAL section. This is NOT compatible. Fix it first.";
result = false;
break;
}
}
}
} else {
if (fGlobal.GetRRFPacking() != -1) {
cerr << endl << ">> PMsrHandler::CheckRRFSettings: **WARNING** found in the GLOBAL section rrf_packing, without";
cerr << endl << ">> rrf_freq. Doesn't make any sense. Will drop rrf_packing";
cerr << endl << endl;
fGlobal.SetRRFPacking(-1);
}
if (fGlobal.GetRRFPhase() != 0.0) {
cerr << endl << ">> PMsrHandler::CheckRRFSettings: **WARNING** found in the GLOBAL section rrf_phase, without";
cerr << endl << ">> rrf_freq. Doesn't make any sense. Will drop rrf_phase";
cerr << endl << endl;
fGlobal.SetRRFPhase(0.0);
}
}
// if not a RRF fit, done at this point
if ((fittype != MSR_FITTYPE_SINGLE_HISTO_RRF) &&
(fittype != MSR_FITTYPE_ASYM_RRF)) {
return true;
}
// second set of tests: if RRF fit is chosen, do I find the necessary RRF parameters?
fittype = fGlobal.GetFitType();
if ((fittype == MSR_FITTYPE_SINGLE_HISTO_RRF) ||
(fittype == MSR_FITTYPE_ASYM_RRF)) { // make sure RRF freq and RRF packing are set
if (fGlobal.GetRRFFreq(fGlobal.GetRRFUnit().Data()) == RRF_FREQ_UNDEF) {
cerr << endl << ">> PMsrHandler::CheckRRFSettings: **ERROR** RRF fit chosen, but";
cerr << endl << ">> no RRF frequency found in the GLOBAL section! Fix it.";
return false;
}
if (fGlobal.GetRRFPacking() == -1) {
cerr << endl << ">> PMsrHandler::CheckRRFSettings: **ERROR** RRF fit chosen, but";
cerr << endl << ">> no RRF packing found in the GLOBAL section! Fix it.";
return false;
}
} else { // check single runs for RRF
UInt_t rrfFitCounter = 0;
for (UInt_t i=0; i<fRuns.size(); i++) {
fittype = fRuns[i].GetFitType();
if ((fittype == MSR_FITTYPE_SINGLE_HISTO_RRF) ||
(fittype == MSR_FITTYPE_ASYM_RRF)) { // make sure RRF freq and RRF packing are set
rrfFitCounter++;
}
}
if (rrfFitCounter != fRuns.size()) {
cerr << endl << ">> PMsrHandler::CheckRRFSettings: **ERROR** #Runs (" << fRuns.size() << ") != # RRF fits found (" << rrfFitCounter << ")";
cerr << endl << ">> This is currently not supported.";
return false;
}
if (fGlobal.GetRRFFreq(fGlobal.GetRRFUnit().Data()) == RRF_FREQ_UNDEF) {
cerr << endl << ">> PMsrHandler::CheckRRFSettings: **ERROR** RRF fit chosen, but";
cerr << endl << ">> no RRF frequency found in the GLOBAL section! Fix it.";
return false;
}
if (fGlobal.GetRRFPacking() == -1) {
cerr << endl << ">> PMsrHandler::CheckRRFSettings: **ERROR** RRF fit chosen, but";
cerr << endl << ">> no RRF packing found in the GLOBAL section! Fix it.";
return false;
}
}
return result;
}
//--------------------------------------------------------------------------
// GetGroupingString (public)
//--------------------------------------------------------------------------
@ -5658,86 +6107,6 @@ UInt_t PMsrHandler::LastSignificant(Double_t dval, UInt_t precLimit)
return lastSignificant;
}
//--------------------------------------------------------------------------
// ParseDetectorGrouping (private)
//--------------------------------------------------------------------------
/**
* <p>
*
* \param str forward/backward string to be decoded
* \param group decoded detector grouping vector
*
* <b>return:</b> true if parsing was successful, false otherwise.
*/
Bool_t PMsrHandler::ParseDetectorGrouping(TString str, PIntVector &group)
{
TObjArray *tok=0, *tok1=0;
TObjString *ostr=0;
Int_t first=0, last=0;
// change cn - cm to cn-cm. Will *NOT* handle cn - cm etc
str = str.ReplaceAll(" - ", "-");
group.clear();
tok = str.Tokenize(" \t");
// check that there are indeed enough tokens
if (tok->GetEntries() < 2) {
delete tok;
return false;
}
for (Int_t i=1; i<tok->GetEntries(); i++) {
ostr = dynamic_cast<TObjString*>(tok->At(i));
if (ostr->GetString().Contains("-")) { // hopefully a cn-cm token
tok1 = ostr->GetString().Tokenize("-");
if (tok1->GetEntries() == 2) {
ostr = dynamic_cast<TObjString*>(tok1->At(0));
if (ostr->GetString().IsDigit()) {
first = ostr->GetString().Atoi();
} else {
if (tok) delete tok;
if (tok1) delete tok1;
return false;
}
ostr = dynamic_cast<TObjString*>(tok1->At(1));
if (ostr->GetString().IsDigit()) {
last = ostr->GetString().Atoi();
} else {
if (tok) delete tok;
if (tok1) delete tok1;
return false;
}
if (last < first) {
if (tok) delete tok;
return false;
}
for (Int_t i=first; i<=last; i++)
group.push_back(i);
} else {
if (tok) delete tok;
if (tok1) delete tok1;
return false;
}
} else { // hopefully a number
if (ostr->GetString().IsDigit()) {
group.push_back(ostr->GetString().Atoi());
} else {
if (tok) delete tok;
return false;
}
}
}
// clean up
if (tok) delete tok;
if (tok1) delete tok1;
return true;
}
//--------------------------------------------------------------------------
// MakeDetectorGroupingString (private)
//--------------------------------------------------------------------------

View File

@ -8,7 +8,7 @@
***************************************************************************/
/***************************************************************************
* Copyright (C) 2007-2014 by Andreas Suter *
* Copyright (C) 2007-2016 by Andreas Suter *
* andreas.suter@psi.ch *
* *
* This program is free software; you can redistribute it and/or modify *
@ -28,10 +28,14 @@
***************************************************************************/
#include <cassert>
#include <iostream>
using namespace std;
#include <boost/algorithm/string.hpp>
using namespace boost;
#include "TMath.h"
#include "PMusr.h"
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
@ -706,6 +710,10 @@ void PRawRunData::SetTempError(const UInt_t idx, const Double_t errTemp)
PMsrGlobalBlock::PMsrGlobalBlock()
{
fGlobalPresent = false;
fRRFFreq = RRF_FREQ_UNDEF; // rotating reference frequency in units given by fRRFUnitTag. Only needed for fittype 1
fRRFUnitTag = RRF_UNIT_UNDEF; // RRF unit tag. Default: undefined
fRRFPhase = 0.0;
fRRFPacking = -1; // undefined RRF packing/rebinning
fFitType = -1; // undefined fit type
for (UInt_t i=0; i<4; i++) {
fDataRange[i] = -1; // undefined data bin range
@ -718,6 +726,135 @@ PMsrGlobalBlock::PMsrGlobalBlock()
fPacking = -1; // undefined packing/rebinning
}
//--------------------------------------------------------------------------
// GetRRFFreq (public)
//--------------------------------------------------------------------------
/**
* <p> get RRF frequency value in specific units. If units is unknown, RRF_UNDEF_FREQ will be returned.
*
* \param unit unit string in which the units shall be given
*/
Double_t PMsrGlobalBlock::GetRRFFreq(const char *unit)
{
Double_t freq = 0.0;
// check that the units given make sense
TString unitStr = unit;
Int_t unitTag = RRF_UNIT_UNDEF;
if (!unitStr.CompareTo("MHz", TString::kIgnoreCase))
unitTag = RRF_UNIT_MHz;
else if (!unitStr.CompareTo("Mc", TString::kIgnoreCase))
unitTag = RRF_UNIT_Mcs;
else if (!unitStr.CompareTo("T", TString::kIgnoreCase))
unitTag = RRF_UNIT_T;
else
return RRF_FREQ_UNDEF;
// calc the conversion factor
if (unitTag == fRRFUnitTag)
freq = fRRFFreq;
else if ((unitTag == RRF_UNIT_MHz) && (fRRFUnitTag == RRF_UNIT_Mcs))
freq = fRRFFreq/TMath::TwoPi();
else if ((unitTag == RRF_UNIT_MHz) && (fRRFUnitTag == RRF_UNIT_T))
freq = fRRFFreq*1e4*GAMMA_BAR_MUON; // 1e4 need for T -> G since GAMMA_BAR_MUON is given in MHz/G
else if ((unitTag == RRF_UNIT_Mcs) && (fRRFUnitTag == RRF_UNIT_MHz))
freq = fRRFFreq*TMath::TwoPi();
else if ((unitTag == RRF_UNIT_Mcs) && (fRRFUnitTag == RRF_UNIT_T))
freq = fRRFFreq*1e4*TMath::TwoPi()*GAMMA_BAR_MUON; // 1e4 need for T -> G since GAMMA_BAR_MUON is given in MHz/G
else if ((unitTag == RRF_UNIT_T) && (fRRFUnitTag == RRF_UNIT_MHz))
freq = fRRFFreq/GAMMA_BAR_MUON*1e-4; // 1e-4 need for G -> T since GAMMA_BAR_MUON is given in MHz/G
else if ((unitTag == RRF_UNIT_T) && (fRRFUnitTag == RRF_UNIT_Mcs))
freq = fRRFFreq/(TMath::TwoPi()*GAMMA_BAR_MUON)*1e-4; // 1e-4 need for G -> T since GAMMA_BAR_MUON is given in MHz/G
return freq;
}
//--------------------------------------------------------------------------
// SetRRFFreq (public)
//--------------------------------------------------------------------------
/**
* <p> set RRF frequency value in specific units. If units is unknown, 0.0 will be set.
*
* \param RRF frequency value
* \param unit unit string in which the units shall be given
*/
void PMsrGlobalBlock::SetRRFFreq(Double_t freq, const char *unit)
{
// check that the units given make sense
TString unitStr = unit;
Int_t unitTag = RRF_UNIT_UNDEF;
if (!unitStr.CompareTo("MHz", TString::kIgnoreCase))
unitTag = RRF_UNIT_MHz;
else if (!unitStr.CompareTo("Mc", TString::kIgnoreCase))
unitTag = RRF_UNIT_Mcs;
else if (!unitStr.CompareTo("T", TString::kIgnoreCase))
unitTag = RRF_UNIT_T;
else {
cerr << endl << ">> PMsrGlobalBlock::SetRRFFreq: **ERROR** found undefined RRF unit '" << unit << "'!";
cerr << endl << ">> Will set RRF frequency to 0.0." << endl;
fRRFFreq = 0.0;
fRRFUnitTag = RRF_UNIT_UNDEF;
}
fRRFFreq = freq;
fRRFUnitTag = unitTag;
}
//--------------------------------------------------------------------------
// GetRRFUnit (public)
//--------------------------------------------------------------------------
/**
* <p> returns RRF frequency unit.
*/
TString PMsrGlobalBlock::GetRRFUnit()
{
TString unit;
switch (fRRFUnitTag) {
case RRF_UNIT_UNDEF:
unit = TString("??");
break;
case RRF_UNIT_kHz:
unit = TString("kHz");
break;
case RRF_UNIT_MHz:
unit = TString("MHz");
break;
case RRF_UNIT_Mcs:
unit = TString("Mc");
break;
case RRF_UNIT_G:
unit = TString("G");
break;
case RRF_UNIT_T:
unit = TString("T");
break;
default:
unit = TString("??");
break;
}
return unit;
}
//--------------------------------------------------------------------------
// SetRRFPacking (public)
//--------------------------------------------------------------------------
/**
* <p> set RRF packing.
*
* \param RRF packing
*/
void PMsrGlobalBlock::SetRRFPacking(Int_t pack)
{
if (pack <= 0) {
cerr << endl << "PMsrGlobalBlock::SetRRFPacking: **WARNING** found RRF packing <= 0. Likely doesn't make any sense." << endl;
fRRFPacking = -1; // set to undefined
}
fRRFPacking = pack;
}
//--------------------------------------------------------------------------
// GetDataRange (public)
//--------------------------------------------------------------------------
@ -1741,3 +1878,167 @@ void PMsrRunBlock::SetMapGlobal(UInt_t idx, Int_t ival)
// else do nothing at the moment
return;
}
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// implementation PStringNumberList
//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//--------------------------------------------------------------------------
// Parse (public)
//--------------------------------------------------------------------------
/**
* <p>Helper class which parses list of numbers of the following 3 forms and its combination.
* (i) list of integers separted by spaces, e.g. 1 3 7 14
* (ii) a range of integers of the form nS-nE, e.g. 13-27 which will generate 13, 14, 15, .., 26, 27
* (iii) a sequence of integers of the form nS:nE:nStep, e.g. 10:20:2 which will generate 10, 12, 14, .., 18, 20
*
* \param errorMsg error message
* \param ignoreFirstToken if true, the first parse token will be ignored
*
* @return true if parse has been successful, otherwise false
*/
bool PStringNumberList::Parse(string &errorMsg, bool ignoreFirstToken)
{
bool result=true;
vector<string> splitVec;
int ival;
// before checking tokens, remove 'forbidden' " - " and " : "
StripSpaces();
// split string into space separated tokens
split(splitVec, fString, is_any_of(" "), token_compress_on);
unsigned int start=0;
if (ignoreFirstToken)
start=1;
for (unsigned int i=start; i<splitVec.size(); i++) {
if (splitVec[i].length() != 0) { // ignore empty tokens
if (splitVec[i].find("-") != string::npos) { // check for potential range
vector<string> subSplitVec;
// split potential nS-nE token
split(subSplitVec, splitVec[i], is_any_of("-"), token_compress_on);
int start=-1, end=-1;
unsigned int count=0;
for (unsigned int j=0; j<subSplitVec.size(); j++) {
if (subSplitVec[j].length() != 0) { // ignore empty tokens
if (!IsNumber(subSplitVec[j])) {
result = false;
} else {
count++;
if (count == 1)
start = atoi(subSplitVec[j].c_str());
else if (count == 2)
end = atoi(subSplitVec[j].c_str());
else
result = false;
}
}
}
if ((start < 0) || (end < 0)) { // check that there is a vaild start and end
errorMsg = "**ERROR** start or end of a range is not valid";
result = false;
}
if (result) { // no error, hence check start and end
if (start > end) {
int swap = end;
cerr << "**WARNING** start=" << start << " > end=" << end << ", hence I will swap them" << endl;
end = start;
start = swap;
}
for (int j=start; j<=end; j++)
fList.push_back(j);
}
} else if (splitVec[i].find(":") != string::npos) { // check for potential sequence
vector<string> subSplitVec;
// split potential rStart:rEnd:rStep token
split(subSplitVec, splitVec[i], is_any_of(":"), token_compress_on);
int start=-1, end=-1, step=-1;
unsigned int count=0;
for (unsigned int j=0; j<subSplitVec.size(); j++) {
if (subSplitVec[j].length() != 0) { // ignore empty tokens
if (!IsNumber(subSplitVec[j])) {
result = false;
} else {
count++;
if (count == 1)
start = atoi(subSplitVec[j].c_str());
else if (count == 2)
end = atoi(subSplitVec[j].c_str());
else if (count == 3)
step = atoi(subSplitVec[j].c_str());
else
result = false;
}
}
}
if ((start < 0) || (end < 0) || (step < 0)) { // check that there is a vaild start and end
errorMsg = "**ERROR** start, end, or step of a sequence is not valid";
result = false;
}
if (result) { // no error, hence check start and end
if (start > end) {
int swap = end;
cerr << "**WARNING** start=" << start << " > end=" << end << ", hence I will swap them" << endl;
end = start;
start = swap;
}
for (int j=start; j<=end; j+=step)
fList.push_back(j);
}
} else if (IsNumber(splitVec[i])) {
ival = atoi(splitVec[i].c_str());
fList.push_back(ival);
} else {
errorMsg = "**ERROR** invalid token: " + splitVec[i];
result = false;
}
}
}
return result;
}
//--------------------------------------------------------------------------
// StripSpaces (private)
//--------------------------------------------------------------------------
/**
* <p>This routine removes arbitray number of spaces between '-' and ':',
* e.g. 123 - 125 will be converted to 123-125, etc.
*/
void PStringNumberList::StripSpaces()
{
string str=fString;
int pos=-1;
// backward scan
for (int i=str.size(); i>=0; --i) { // check if first space is found
if ((str[i] == ' ') && (pos == -1)) {
pos = i;
} else if ((str[i] == '-') || (str[i] == ':')) { // check for '-' or ':'
if (pos != -1) {
str.erase(i+1, pos-i);
}
} else if (str[i] != ' ') { // anything but different than a space leads to a reset of the pos counter
pos = -1;
}
}
// forward scan
for (unsigned int i=0; i<str.size(); i++) { // check if first space is found
if ((str[i] == ' ') && (pos == -1)) {
pos = i;
} else if ((str[i] == '-') || (str[i] == ':')) { // check for '-' or ':'
if (pos != -1) {
str.erase(pos, i-pos);
i = pos;
}
} else if (str[i] != ' ') { // anything but different than a space leads to a reset of the pos counter
pos = -1;
}
}
fString = str;
}

View File

@ -8,7 +8,7 @@
***************************************************************************/
/***************************************************************************
* Copyright (C) 2007-2014 by Andreas Suter *
* Copyright (C) 2007-2016 by Andreas Suter *
* andreas.suter@psi.ch *
* *
* This program is free software; you can redistribute it and/or modify *
@ -35,10 +35,15 @@ using namespace std;
#include <TRandom.h>
#include <TROOT.h>
#include <TObjString.h>
#include <TGFileDialog.h>
#include "PMusrCanvas.h"
#include "PFourier.h"
static const char *gFiletypes[] = { "Data files", "*.dat",
"All files", "*",
0, 0 };
ClassImp(PMusrCanvasPlotRange)
//--------------------------------------------------------------------------
@ -70,7 +75,7 @@ PMusrCanvasPlotRange::PMusrCanvasPlotRange()
void PMusrCanvasPlotRange::SetXRange(Double_t xmin, Double_t xmax)
{
if (xmin > xmax) {
cerr << endl << "PMusrCanvasPlotRange::SetXRange: **WARNING** xmin > xmax, will swap them." << endl;
cerr << endl << ">> PMusrCanvasPlotRange::SetXRange(): **WARNING** xmin > xmax, will swap them." << endl;
fXmin = xmax;
fXmax = xmin;
} else {
@ -92,7 +97,7 @@ void PMusrCanvasPlotRange::SetXRange(Double_t xmin, Double_t xmax)
void PMusrCanvasPlotRange::SetYRange(Double_t ymin, Double_t ymax)
{
if (ymin > ymax) {
cerr << endl << "PMusrCanvasPlotRange::SetYRange: **WARNING** ymin > ymax, will swap them." << endl;
cerr << endl << ">> PMusrCanvasPlotRange::SetYRange(): **WARNING** ymin > ymax, will swap them." << endl;
fYmin = ymax;
fYmax = ymin;
} else {
@ -128,7 +133,6 @@ PMusrCanvas::PMusrCanvas()
fImp = 0;
fBar = 0;
fPopupMain = 0;
fPopupSave = 0;
fPopupFourier = 0;
fStyle = 0;
@ -181,8 +185,8 @@ PMusrCanvas::PMusrCanvas()
*/
PMusrCanvas::PMusrCanvas(const Int_t number, const Char_t* title,
Int_t wtopx, Int_t wtopy, Int_t ww, Int_t wh,
const Bool_t batch) :
fBatchMode(batch), fPlotNumber(number)
const Bool_t batch, const Bool_t fourier) :
fStartWithFourier(fourier), fBatchMode(batch), fPlotNumber(number)
{
fTimeout = 0;
fTimeoutTimer = 0;
@ -236,8 +240,8 @@ PMusrCanvas::PMusrCanvas(const Int_t number, const Char_t* title,
Int_t wtopx, Int_t wtopy, Int_t ww, Int_t wh,
PMsrFourierStructure fourierDefault,
const PIntVector markerList, const PIntVector colorList,
const Bool_t batch) :
fBatchMode(batch),
const Bool_t batch, const Bool_t fourier) :
fStartWithFourier(fourier), fBatchMode(batch),
fPlotNumber(number), fFourier(fourierDefault),
fMarkerList(markerList), fColorList(colorList)
{
@ -401,37 +405,76 @@ void PMusrCanvas::SetMsrHandler(PMsrHandler *msrHandler)
}
// check if RRF data are present
if ((fMsrHandler->GetMsrPlotList()->at(0).fRRFPacking > 0) &&
(fMsrHandler->GetMsrPlotList()->at(0).fRRFFreq != 0.0)) {
if (((fMsrHandler->GetMsrPlotList()->at(0).fRRFPacking > 0) &&
(fMsrHandler->GetMsrPlotList()->at(0).fRRFFreq != 0.0)) ||
(fMsrHandler->GetMsrGlobal()->GetRRFPacking() > 0 &&
fMsrHandler->GetMsrGlobal()->GetRRFUnit().CompareTo("??"))) {
fRRFLatexText = new TLatex();
fRRFLatexText->SetNDC(kTRUE);
fRRFLatexText->SetTextFont(62);
fRRFLatexText->SetTextSize(0.03);
Int_t rrfUnitTag = -1;
Double_t rrfFreq = 0.0;
if (fMsrHandler->GetMsrPlotList()->at(0).fRRFPacking > 0) { // RRF single histo PLOT
fRRFText = new TString("RRF: ");
if (fMsrHandler->GetMsrPlotList()->at(0).fRRFUnit == RRF_UNIT_kHz) {
rrfUnitTag = fMsrHandler->GetMsrPlotList()->at(0).fRRFUnit;
rrfFreq = fMsrHandler->GetMsrPlotList()->at(0).fRRFFreq;
TString rrfFreqStr("");
rrfFreqStr.Form("%.5g", rrfFreq);
if (rrfUnitTag == RRF_UNIT_kHz) {
*fRRFText += TString("#nu_{RRF} = ");
*fRRFText += fMsrHandler->GetMsrPlotList()->at(0).fRRFFreq;
*fRRFText += rrfFreq;
*fRRFText += TString(" (kHz)");
} else if (fMsrHandler->GetMsrPlotList()->at(0).fRRFUnit == RRF_UNIT_MHz) {
} else if (rrfUnitTag == RRF_UNIT_MHz) {
*fRRFText += TString("#nu_{RRF} = ");
*fRRFText += fMsrHandler->GetMsrPlotList()->at(0).fRRFFreq;
*fRRFText += rrfFreqStr;
*fRRFText += TString(" (MHz)");
} else if (fMsrHandler->GetMsrPlotList()->at(0).fRRFUnit == RRF_UNIT_Mcs) {
} else if (rrfUnitTag == RRF_UNIT_Mcs) {
*fRRFText += TString("#omega_{RRF} = ");
*fRRFText += fMsrHandler->GetMsrPlotList()->at(0).fRRFFreq;
*fRRFText += rrfFreqStr;
*fRRFText += TString(" (Mc/s)");
} else if (fMsrHandler->GetMsrPlotList()->at(0).fRRFUnit == RRF_UNIT_G) {
} else if (rrfUnitTag == RRF_UNIT_G) {
*fRRFText += TString("B_{RRF} = ");
*fRRFText += fMsrHandler->GetMsrPlotList()->at(0).fRRFFreq;
*fRRFText += rrfFreqStr;
*fRRFText += TString(" (G)");
} else if (fMsrHandler->GetMsrPlotList()->at(0).fRRFUnit == RRF_UNIT_T) {
} else if (rrfUnitTag == RRF_UNIT_T) {
*fRRFText += TString("B_{RRF} = ");
*fRRFText += fMsrHandler->GetMsrPlotList()->at(0).fRRFFreq;
*fRRFText += rrfFreqStr;
*fRRFText += TString(" (T)");
}
*fRRFText += TString(", RRF packing = ");
*fRRFText += fMsrHandler->GetMsrPlotList()->at(0).fRRFPacking;
} else { // RRF single histo FIT
fRRFText = new TString("RRF: ");
rrfUnitTag = fMsrHandler->GetMsrGlobal()->GetRRFUnitTag();
rrfFreq = fMsrHandler->GetMsrGlobal()->GetRRFFreq(fMsrHandler->GetMsrGlobal()->GetRRFUnit().Data());
TString rrfFreqStr("");
rrfFreqStr.Form("%.5g", rrfFreq);
if (rrfUnitTag == RRF_UNIT_kHz) {
*fRRFText += TString("#nu_{RRF} = ");
*fRRFText += rrfFreqStr;
*fRRFText += TString(" (kHz)");
} else if (rrfUnitTag == RRF_UNIT_MHz) {
*fRRFText += TString("#nu_{RRF} = ");
*fRRFText += rrfFreqStr;
*fRRFText += TString(" (MHz)");
} else if (rrfUnitTag == RRF_UNIT_Mcs) {
*fRRFText += TString("#omega_{RRF} = ");
*fRRFText += rrfFreqStr;
*fRRFText += TString(" (Mc/s)");
} else if (rrfUnitTag == RRF_UNIT_G) {
*fRRFText += TString("B_{RRF} = ");
*fRRFText += rrfFreqStr;
*fRRFText += TString(" (G)");
} else if (rrfUnitTag == RRF_UNIT_T) {
*fRRFText += TString("B_{RRF} = ");
*fRRFText += rrfFreqStr;
*fRRFText += TString(" (T)");
}
*fRRFText += TString(", RRF packing = ");
*fRRFText += fMsrHandler->GetMsrGlobal()->GetRRFPacking();
}
}
}
@ -605,7 +648,7 @@ void PMusrCanvas::UpdateDataTheoryPad()
// first check that plot number is smaller than the maximal number of runs
if ((Int_t)plotInfo.fRuns[i] > (Int_t)runs.size()) {
fValid = false;
cerr << endl << "PMusrCanvas::UpdateDataTheoryPad: **ERROR** run plot number " << (Int_t)plotInfo.fRuns[i] << " is larger than the number of runs " << runs.size();
cerr << endl << ">> PMusrCanvas::UpdateDataTheoryPad(): **ERROR** run plot number " << (Int_t)plotInfo.fRuns[i] << " is larger than the number of runs " << runs.size();
cerr << endl;
return;
}
@ -616,7 +659,7 @@ void PMusrCanvas::UpdateDataTheoryPad()
}
if (fitType == -1) {
fValid = false;
cerr << endl << "PMusrCanvas::UpdateDataTheoryPad: **ERROR** plottype = " << fPlotType;
cerr << endl << ">> PMusrCanvas::UpdateDataTheoryPad(): **ERROR** plottype = " << fPlotType;
cerr << ", fittype = " << runs[runNo].GetFitType() << "(RUN block)/";
cerr << "fittype = " << globalBlock->GetFitType() << "(GLOBAL block). However, they have to correspond!";
cerr << endl;
@ -639,7 +682,19 @@ void PMusrCanvas::UpdateDataTheoryPad()
if (!data) { // something wrong
fValid = false;
// error message
cerr << endl << "PMusrCanvas::UpdateDataTheoryPad: **ERROR** couldn't obtain run no " << runNo << " for a single histogram plot";
cerr << endl << ">> PMusrCanvas::UpdateDataTheoryPad(): **ERROR** couldn't obtain run no " << runNo << " for a single histogram plot";
cerr << endl;
return;
}
// handle data
HandleDataSet(i, runNo, data);
break;
case MSR_FITTYPE_SINGLE_HISTO_RRF:
data = fRunList->GetSingleHistoRRF(runNo, PRunListCollection::kRunNo);
if (!data) { // something wrong
fValid = false;
// error message
cerr << endl << ">> PMusrCanvas::UpdateDataTheoryPad(): **ERROR** couldn't obtain run no " << runNo << " for a single histogram RRF plot";
cerr << endl;
return;
}
@ -651,7 +706,19 @@ void PMusrCanvas::UpdateDataTheoryPad()
if (!data) { // something wrong
fValid = false;
// error message
cerr << endl << "PMusrCanvas::UpdateDataTheoryPad: **ERROR** couldn't obtain run no " << runNo << " for a asymmetry plot";
cerr << endl << ">> PMusrCanvas::UpdateDataTheoryPad(): **ERROR** couldn't obtain run no " << runNo << " for a asymmetry plot";
cerr << endl;
return;
}
// handle data
HandleDataSet(i, runNo, data);
break;
case MSR_FITTYPE_ASYM_RRF:
data = fRunList->GetAsymmetryRRF(runNo, PRunListCollection::kRunNo);
if (!data) { // something wrong
fValid = false;
// error message
cerr << endl << ">> PMusrCanvas::UpdateDataTheoryPad(): **ERROR** couldn't obtain run no " << runNo << " for a asymmetry RRF plot";
cerr << endl;
return;
}
@ -663,7 +730,7 @@ void PMusrCanvas::UpdateDataTheoryPad()
if (!data) { // something wrong
fValid = false;
// error message
cerr << endl << "PMusrCanvas::UpdateDataTheoryPad: **ERROR** couldn't obtain run no " << runNo << " for a mu minus single histogram plot";
cerr << endl << ">> PMusrCanvas::UpdateDataTheoryPad(): **ERROR** couldn't obtain run no " << runNo << " for a mu minus single histogram plot";
cerr << endl;
return;
}
@ -675,7 +742,7 @@ void PMusrCanvas::UpdateDataTheoryPad()
if (!data) { // something wrong
fValid = false;
// error message
cerr << endl << "PMusrCanvas::UpdateDataTheoryPad: **ERROR** couldn't obtain run no " << runNo << " for a none musr data plot";
cerr << endl << ">> PMusrCanvas::UpdateDataTheoryPad(): **ERROR** couldn't obtain run no " << runNo << " for a none musr data plot";
cerr << endl;
return;
}
@ -695,7 +762,7 @@ void PMusrCanvas::UpdateDataTheoryPad()
default:
fValid = false;
// error message
cerr << endl << "PMusrCanvas::UpdateDataTheoryPad: **ERROR** wrong plottype tag?!";
cerr << endl << ">> PMusrCanvas::UpdateDataTheoryPad(): **ERROR** wrong plottype tag?!";
cerr << endl;
return;
break;
@ -703,7 +770,62 @@ void PMusrCanvas::UpdateDataTheoryPad()
}
// generate the histo plot
if (!fStartWithFourier || (fPlotType == MSR_PLOT_NON_MUSR)) {
PlotData();
} else { // show Fourier straight ahead.
// set the menu properly
if (!fBatchMode)
fPopupMain->UnCheckEntry(P_MENU_ID_DATA+P_MENU_PLOT_OFFSET*fPlotNumber);
// filter proper Fourier plot tag, and set the menu tags properly
switch (fFourier.fPlotTag) {
case FOURIER_PLOT_REAL:
fCurrentPlotView = PV_FOURIER_REAL;
if (!fBatchMode) {
fPopupFourier->CheckEntry(P_MENU_ID_FOURIER+P_MENU_PLOT_OFFSET*fPlotNumber+P_MENU_ID_FOURIER_REAL);
fPopupFourier->EnableEntry(P_MENU_ID_FOURIER+P_MENU_PLOT_OFFSET*fPlotNumber+P_MENU_ID_FOURIER_PHASE_PLUS);
fPopupFourier->EnableEntry(P_MENU_ID_FOURIER+P_MENU_PLOT_OFFSET*fPlotNumber+P_MENU_ID_FOURIER_PHASE_MINUS);
}
break;
case FOURIER_PLOT_IMAG:
fCurrentPlotView = PV_FOURIER_IMAG;
if (!fBatchMode) {
fPopupFourier->CheckEntry(P_MENU_ID_FOURIER+P_MENU_PLOT_OFFSET*fPlotNumber+P_MENU_ID_FOURIER_IMAG);
fPopupFourier->EnableEntry(P_MENU_ID_FOURIER+P_MENU_PLOT_OFFSET*fPlotNumber+P_MENU_ID_FOURIER_PHASE_PLUS);
fPopupFourier->EnableEntry(P_MENU_ID_FOURIER+P_MENU_PLOT_OFFSET*fPlotNumber+P_MENU_ID_FOURIER_PHASE_MINUS);
}
break;
case FOURIER_PLOT_REAL_AND_IMAG:
fCurrentPlotView = PV_FOURIER_REAL_AND_IMAG;
if (!fBatchMode) {
fPopupFourier->CheckEntry(P_MENU_ID_FOURIER+P_MENU_PLOT_OFFSET*fPlotNumber+P_MENU_ID_FOURIER_REAL_AND_IMAG);
fPopupFourier->EnableEntry(P_MENU_ID_FOURIER+P_MENU_PLOT_OFFSET*fPlotNumber+P_MENU_ID_FOURIER_PHASE_PLUS);
fPopupFourier->EnableEntry(P_MENU_ID_FOURIER+P_MENU_PLOT_OFFSET*fPlotNumber+P_MENU_ID_FOURIER_PHASE_MINUS);
}
break;
case FOURIER_PLOT_POWER:
fCurrentPlotView = PV_FOURIER_PWR;
if (!fBatchMode) {
fPopupFourier->CheckEntry(P_MENU_ID_FOURIER+P_MENU_PLOT_OFFSET*fPlotNumber+P_MENU_ID_FOURIER_PWR);
}
break;
case FOURIER_PLOT_PHASE:
fCurrentPlotView = PV_FOURIER_PHASE;
if (!fBatchMode) {
fPopupFourier->CheckEntry(P_MENU_ID_FOURIER+P_MENU_PLOT_OFFSET*fPlotNumber+P_MENU_ID_FOURIER_PHASE);
}
break;
default:
fCurrentPlotView = PV_FOURIER_PWR;
if (!fBatchMode) {
fPopupFourier->CheckEntry(P_MENU_ID_FOURIER+P_MENU_PLOT_OFFSET*fPlotNumber+P_MENU_ID_FOURIER_PWR);
}
break;
}
HandleFourier();
PlotFourier();
}
}
//--------------------------------------------------------------------------
@ -763,13 +885,15 @@ void PMusrCanvas::UpdateInfoPad()
else
tstr = *runs[runNo].GetRunName() + TString(","); // run_name
// histo info (depending on the fittype
if (runs[runNo].GetFitType() == MSR_FITTYPE_SINGLE_HISTO) {
if ((runs[runNo].GetFitType() == MSR_FITTYPE_SINGLE_HISTO) ||
(runs[runNo].GetFitType() == MSR_FITTYPE_SINGLE_HISTO_RRF)) {
tstr += TString("h:");
TString grouping;
fMsrHandler->GetGroupingString(runNo, "forward", grouping);
tstr += grouping;
tstr += TString(",");
} else if (runs[runNo].GetFitType() == MSR_FITTYPE_ASYM) {
} else if ((runs[runNo].GetFitType() == MSR_FITTYPE_ASYM) ||
(runs[runNo].GetFitType() == MSR_FITTYPE_ASYM_RRF)) {
tstr += TString("h:");
TString grouping;
fMsrHandler->GetGroupingString(runNo, "forward", grouping);
@ -1282,8 +1406,16 @@ void PMusrCanvas::HandleMenuPopup(Int_t id)
cout << "**INFO** averaging of a single data set doesn't make any sense, will ignore 'a' ..." << endl;
return;
}
} else if (id == P_MENU_ID_SAVE_DATA+P_MENU_PLOT_OFFSET*fPlotNumber+P_MENU_ID_SAVE_ASCII) {
SaveDataAscii();
} else if (id == P_MENU_ID_EXPORT_DATA+P_MENU_PLOT_OFFSET*fPlotNumber) {
static TString dir(".");
TGFileInfo fi;
fi.fFileTypes = gFiletypes;
fi.fIniDir = StrDup(dir);
fi.fOverwrite = true;
new TGFileDialog(0, fImp, kFDSave, &fi);
if (fi.fFilename && strlen(fi.fFilename)) {
ExportData(fi.fFilename);
}
}
// check if phase increment/decrement needs to be ghost
@ -1342,7 +1474,7 @@ void PMusrCanvas::SaveGraphicsAndQuit(Char_t *fileName, Char_t *graphicsFormat)
}
if (idx == -1) {
cerr << endl << "PMusrCanvas::SaveGraphicsAndQuit **ERROR**: fileName (" << fileName << ") is invalid." << endl;
cerr << endl << ">> PMusrCanvas::SaveGraphicsAndQuit(): **ERROR** fileName (" << fileName << ") is invalid." << endl;
return;
}
@ -1362,13 +1494,20 @@ void PMusrCanvas::SaveGraphicsAndQuit(Char_t *fileName, Char_t *graphicsFormat)
}
//--------------------------------------------------------------------------
// SaveDataAscii
// ExportData
//--------------------------------------------------------------------------
/**
* <p>Saves the currently seen data (data, difference, Fourier spectra, ...) in ascii column format.
*
* \param fileName file name to be used to save the data.
*/
void PMusrCanvas::SaveDataAscii()
void PMusrCanvas::ExportData(const Char_t *fileName)
{
if (fileName == 0) { // path file name NOT provided, generate a default path file name
cerr << endl << ">> PMusrCanvas::ExportData(): **ERROR** NO path file name provided. Will do nothing." << endl;
return;
}
// collect relevant data
PMusrCanvasAsciiDump dump;
PMusrCanvasAsciiDumpVector dumpVector;
@ -2014,35 +2153,13 @@ void PMusrCanvas::SaveDataAscii()
break;
}
// generate output filename
// in order to handle names with "." correctly this slightly odd data-filename generation
TObjArray *tokens = fMsrHandler->GetFileName().Tokenize(".");
TObjString *ostr;
TString str;
TString fln = TString("");
for (Int_t i=0; i<tokens->GetEntries()-1; i++) {
ostr = dynamic_cast<TObjString*>(tokens->At(i));
fln += ostr->GetString() + TString(".");
}
if (!fDifferenceView) {
fln += "data.ascii";
} else {
fln += "diff.ascii";
}
if (tokens) {
delete tokens;
tokens = 0;
}
// open file
ofstream fout;
// open output data-file
fout.open(fln.Data(), iostream::out);
fout.open(fileName, iostream::out);
if (!fout.is_open()) {
cerr << endl << ">> PMusrCanvas::SaveDataAscii: **ERROR** couldn't open file " << fln.Data() << " for writing." << endl;
cerr << endl << ">> PMusrCanvas::ExportData(): **ERROR** couldn't open file " << fileName << " for writing." << endl;
return;
}
@ -2366,7 +2483,6 @@ void PMusrCanvas::InitMusrCanvas(const Char_t* title, Int_t wtopx, Int_t wtopy,
fImp = 0;
fBar = 0;
fPopupMain = 0;
fPopupSave = 0;
fPopupFourier = 0;
fMainCanvas = 0;
@ -2382,7 +2498,7 @@ void PMusrCanvas::InitMusrCanvas(const Char_t* title, Int_t wtopx, Int_t wtopy,
canvasName += fPlotNumber;
fMainCanvas = new TCanvas(canvasName.Data(), title, wtopx, wtopy, ww, wh);
if (fMainCanvas == 0) {
cerr << endl << "PMusrCanvas::PMusrCanvas: **PANIC ERROR**: Couldn't invoke " << canvasName.Data();
cerr << endl << ">> PMusrCanvas::PMusrCanvas(): **PANIC ERROR** Couldn't invoke " << canvasName.Data();
cerr << endl;
return;
}
@ -2415,10 +2531,7 @@ void PMusrCanvas::InitMusrCanvas(const Char_t* title, Int_t wtopx, Int_t wtopy,
fPopupMain->AddEntry("Average", P_MENU_ID_AVERAGE+P_MENU_PLOT_OFFSET*fPlotNumber);
fPopupMain->AddSeparator();
fPopupSave = new TGPopupMenu();
fPopupSave->AddEntry("Save ascii", P_MENU_ID_SAVE_DATA+P_MENU_PLOT_OFFSET*fPlotNumber+P_MENU_ID_SAVE_ASCII);
fPopupMain->AddPopup("&Save Data", fPopupSave);
fPopupMain->AddEntry("Export Data", P_MENU_ID_EXPORT_DATA+P_MENU_PLOT_OFFSET*fPlotNumber);
fBar->MapSubwindows();
fBar->Layout();
@ -2431,7 +2544,7 @@ void PMusrCanvas::InitMusrCanvas(const Char_t* title, Int_t wtopx, Int_t wtopy,
// title pad
fTitlePad = new TPaveText(0.0, YTITLE, 1.0, 1.0, "NDC");
if (fTitlePad == 0) {
cerr << endl << "PMusrCanvas::PMusrCanvas: **PANIC ERROR**: Couldn't invoke fTitlePad";
cerr << endl << ">> PMusrCanvas::PMusrCanvas(): **PANIC ERROR** Couldn't invoke fTitlePad";
cerr << endl;
return;
}
@ -2443,7 +2556,7 @@ void PMusrCanvas::InitMusrCanvas(const Char_t* title, Int_t wtopx, Int_t wtopy,
// data/theory pad
fDataTheoryPad = new TPad("dataTheoryPad", "dataTheoryPad", 0.0, YINFO, XTHEO, YTITLE);
if (fDataTheoryPad == 0) {
cerr << endl << "PMusrCanvas::PMusrCanvas: **PANIC ERROR**: Couldn't invoke fDataTheoryPad";
cerr << endl << ">> PMusrCanvas::PMusrCanvas(): **PANIC ERROR** Couldn't invoke fDataTheoryPad";
cerr << endl;
return;
}
@ -2453,7 +2566,7 @@ void PMusrCanvas::InitMusrCanvas(const Char_t* title, Int_t wtopx, Int_t wtopy,
// parameter pad
fParameterPad = new TPaveText(XTHEO, 0.5, 1.0, YTITLE, "NDC");
if (fParameterPad == 0) {
cerr << endl << "PMusrCanvas::PMusrCanvas: **PANIC ERROR**: Couldn't invoke fParameterPad";
cerr << endl << ">> PMusrCanvas::PMusrCanvas(): **PANIC ERROR** Couldn't invoke fParameterPad";
cerr << endl;
return;
}
@ -2464,7 +2577,7 @@ void PMusrCanvas::InitMusrCanvas(const Char_t* title, Int_t wtopx, Int_t wtopy,
// theory pad
fTheoryPad = new TPaveText(XTHEO, 0.1, 1.0, 0.5, "NDC");
if (fTheoryPad == 0) {
cerr << endl << "PMusrCanvas::PMusrCanvas: **PANIC ERROR**: Couldn't invoke fTheoryPad";
cerr << endl << ">> PMusrCanvas::PMusrCanvas(): **PANIC ERROR** Couldn't invoke fTheoryPad";
cerr << endl;
return;
}
@ -2476,7 +2589,7 @@ void PMusrCanvas::InitMusrCanvas(const Char_t* title, Int_t wtopx, Int_t wtopy,
// info pad
fInfoPad = new TLegend(0.0, 0.0, 1.0, YINFO, "NDC");
if (fInfoPad == 0) {
cerr << endl << "PMusrCanvas::PMusrCanvas: **PANIC ERROR**: Couldn't invoke fInfoPad";
cerr << endl << ">> PMusrCanvas::PMusrCanvas(): **PANIC ERROR** Couldn't invoke fInfoPad";
cerr << endl;
return;
}
@ -2881,9 +2994,9 @@ void PMusrCanvas::HandleDataSet(UInt_t plotNo, UInt_t runNo, PRunData *data)
Double_t dval = (startFitRange - data->GetDataTimeStart())/data->GetDataTimeStep();
if (dval < 0.0) { // make sure that startBin >= 0
startBin = 0;
cerr << endl << "PMusrCanvas::HandleDataSet() **WARNING** found startBin data < 0 for 'use_fit_range', will set it to 0" << endl << endl;
cerr << endl << ">> PMusrCanvas::HandleDataSet(): **WARNING** found startBin data < 0 for 'use_fit_range', will set it to 0" << endl << endl;
} else if (dval >= (Double_t)data->GetValue()->size()) { // make sure that startBin <= length of data vector
cerr << endl << ">> PMusrCanvas::HandleDataSet() **WARNING** found startBin data=" << (UInt_t)dval << " >= data vector size=" << data->GetValue()->size() << " for 'use_fit_range',";
cerr << endl << ">> PMusrCanvas::HandleDataSet(): **WARNING** found startBin data=" << (UInt_t)dval << " >= data vector size=" << data->GetValue()->size() << " for 'use_fit_range',";
cerr << endl << ">> will set it to data vector size" << endl << endl;
startBin = data->GetValue()->size();
} else {
@ -2897,9 +3010,9 @@ void PMusrCanvas::HandleDataSet(UInt_t plotNo, UInt_t runNo, PRunData *data)
dval = (endFitRange - data->GetDataTimeStart())/data->GetDataTimeStep();
if (dval < 0.0) { // make sure that endBin >= 0
endBin = 0;
cerr << endl << "PMusrCanvas::HandleDataSet() **WARNING** found endBin data < 0 for 'use_fit_range', will set it to 0" << endl << endl;
cerr << endl << ">> PMusrCanvas::HandleDataSet(): **WARNING** found endBin data < 0 for 'use_fit_range', will set it to 0" << endl << endl;
} else if (dval >= (Double_t)data->GetValue()->size()) { // make sure that endBin <= length of data vector
cerr << endl << ">> PMusrCanvas::HandleDataSet() **WARNING** found endBin data=" << (UInt_t)dval << " >= data vector size=" << data->GetValue()->size() << " for 'use_fit_range',";
cerr << endl << ">> PMusrCanvas::HandleDataSet(): **WARNING** found endBin data=" << (UInt_t)dval << " >= data vector size=" << data->GetValue()->size() << " for 'use_fit_range',";
cerr << endl << ">> will set it to data vector size" << endl << endl;
endBin = data->GetValue()->size();
} else {
@ -2912,9 +3025,9 @@ void PMusrCanvas::HandleDataSet(UInt_t plotNo, UInt_t runNo, PRunData *data)
Double_t dval = (fMsrHandler->GetMsrPlotList()->at(fPlotNumber).fTmin[runNo] - data->GetDataTimeStart())/data->GetDataTimeStep();
if (dval < 0.0) { // make sure that startBin >= 0
startBin = 0;
cerr << endl << "PMusrCanvas::HandleDataSet() **WARNING** found startBin data < 0 for 'sub_ranges', will set it to 0" << endl << endl;
cerr << endl << ">> PMusrCanvas::HandleDataSet(): **WARNING** found startBin data < 0 for 'sub_ranges', will set it to 0" << endl << endl;
} else if (dval >= (Double_t)data->GetValue()->size()) { // make sure that startBin <= length of data vector
cerr << endl << ">> PMusrCanvas::HandleDataSet() **WARNING** found startBin data=" << (UInt_t)dval << " >= data vector size=" << data->GetValue()->size() << " for 'sub_ranges',";
cerr << endl << ">> PMusrCanvas::HandleDataSet(): **WARNING** found startBin data=" << (UInt_t)dval << " >= data vector size=" << data->GetValue()->size() << " for 'sub_ranges',";
cerr << endl << ">> will set it to data vector size" << endl << endl;
startBin = data->GetValue()->size();
} else {
@ -2924,9 +3037,9 @@ void PMusrCanvas::HandleDataSet(UInt_t plotNo, UInt_t runNo, PRunData *data)
dval = (fMsrHandler->GetMsrPlotList()->at(fPlotNumber).fTmax[runNo] - data->GetDataTimeStart())/data->GetDataTimeStep();
if (dval < 0.0) { // make sure that endBin >= 0
endBin = 0;
cerr << endl << "PMusrCanvas::HandleDataSet() **WARNING** found endBin data < 0 for 'sub_ranges', will set it to 0" << endl << endl;
cerr << endl << ">> PMusrCanvas::HandleDataSet(): **WARNING** found endBin data < 0 for 'sub_ranges', will set it to 0" << endl << endl;
} else if (dval >= (Double_t)data->GetValue()->size()) { // make sure that endtBin <= length of data vector
cerr << endl << ">> PMusrCanvas::HandleDataSet() **WARNING** found endBin data=" << (UInt_t)dval << " >= data vector size=" << data->GetValue()->size() << " for 'sub_ranges',";
cerr << endl << ">> PMusrCanvas::HandleDataSet(): **WARNING** found endBin data=" << (UInt_t)dval << " >= data vector size=" << data->GetValue()->size() << " for 'sub_ranges',";
cerr << endl << ">> will set it to data vector size" << endl << endl;
endBin = data->GetValue()->size();
} else {
@ -3013,9 +3126,9 @@ void PMusrCanvas::HandleDataSet(UInt_t plotNo, UInt_t runNo, PRunData *data)
Double_t dval = (startFitRange - data->GetDataTimeStart())/data->GetTheoryTimeStep();
if (dval < 0.0) { // make sure that startBin >= 0
startBin = 0;
cerr << endl << "PMusrCanvas::HandleDataSet() **WARNING** found startBin theory < 0 for 'use_fit_range', will set it to 0" << endl << endl;
cerr << endl << ">> PMusrCanvas::HandleDataSet(): **WARNING** found startBin theory < 0 for 'use_fit_range', will set it to 0" << endl << endl;
} else if (dval >= (Double_t)data->GetTheory()->size()) { // make sure that startBin <= length of theory vector
cerr << endl << ">> PMusrCanvas::HandleDataSet() **WARNING** found startBin theory=" << (UInt_t)dval << " >= theory vector size=" << data->GetTheory()->size() << " for 'use_fit_range',";
cerr << endl << ">> PMusrCanvas::HandleDataSet(): **WARNING** found startBin theory=" << (UInt_t)dval << " >= theory vector size=" << data->GetTheory()->size() << " for 'use_fit_range',";
cerr << endl << ">> will set it to theory vector size" << endl << endl;
startBin = data->GetTheory()->size();
} else {
@ -3029,9 +3142,9 @@ void PMusrCanvas::HandleDataSet(UInt_t plotNo, UInt_t runNo, PRunData *data)
dval = (endFitRange - data->GetDataTimeStart())/data->GetTheoryTimeStep();
if (dval < 0.0) { // make sure that endBin >= 0
endBin = 0;
cerr << endl << "PMusrCanvas::HandleDataSet() **WARNING** found endBin theory < 0 for 'use_fit_range', will set it to 0" << endl << endl;
cerr << endl << ">> PMusrCanvas::HandleDataSet(): **WARNING** found endBin theory < 0 for 'use_fit_range', will set it to 0" << endl << endl;
} else if (dval >= (Double_t)data->GetTheory()->size()) { // make sure that endBin <= length of theory vector
cerr << endl << ">> PMusrCanvas::HandleDataSet() **WARNING** found endBin theory=" << (UInt_t)dval << " >= theory vector size=" << data->GetTheory()->size() << " for 'use_fit_range',";
cerr << endl << ">> PMusrCanvas::HandleDataSet(): **WARNING** found endBin theory=" << (UInt_t)dval << " >= theory vector size=" << data->GetTheory()->size() << " for 'use_fit_range',";
cerr << endl << ">> will set it to theory vector size" << endl << endl;
endBin = data->GetTheory()->size();
} else {
@ -3047,9 +3160,9 @@ void PMusrCanvas::HandleDataSet(UInt_t plotNo, UInt_t runNo, PRunData *data)
Double_t dval = (fMsrHandler->GetMsrPlotList()->at(fPlotNumber).fTmin[runNo] -data->GetDataTimeStart())/data->GetTheoryTimeStep();
if (dval < 0.0) { // make sure that startBin >= 0
startBin = 0;
cerr << endl << "PMusrCanvas::HandleDataSet() **WARNING** found startBin theory < 0 for 'sub_ranges', will set it to 0" << endl << endl;
cerr << endl << ">> PMusrCanvas::HandleDataSet(): **WARNING** found startBin theory < 0 for 'sub_ranges', will set it to 0" << endl << endl;
} else if (dval >= (Double_t)data->GetTheory()->size()) { // make sure that startBin <= length of theory vector
cerr << endl << ">> PMusrCanvas::HandleDataSet() **WARNING** found startBin theory=" << (UInt_t)dval << " >= theory vector size=" << data->GetTheory()->size() << " for 'sub_ranges',";
cerr << endl << ">> PMusrCanvas::HandleDataSet(): **WARNING** found startBin theory=" << (UInt_t)dval << " >= theory vector size=" << data->GetTheory()->size() << " for 'sub_ranges',";
cerr << endl << ">> will set it to theory vector size" << endl << endl;
startBin = data->GetTheory()->size();
} else {
@ -3059,9 +3172,9 @@ void PMusrCanvas::HandleDataSet(UInt_t plotNo, UInt_t runNo, PRunData *data)
dval = (fMsrHandler->GetMsrPlotList()->at(fPlotNumber).fTmax[runNo] -data->GetDataTimeStart())/data->GetTheoryTimeStep();
if (dval < 0.0) { // make sure that endBin >= 0
endBin = 0;
cerr << endl << "PMusrCanvas::HandleDataSet() **WARNING** found endBin theory < 0 for 'sub_ranges', will set it to 0" << endl << endl;
cerr << endl << ">> PMusrCanvas::HandleDataSet(): **WARNING** found endBin theory < 0 for 'sub_ranges', will set it to 0" << endl << endl;
} else if (dval >= (Double_t)data->GetTheory()->size()) { // make sure that endtBin <= length of theory vector
cerr << endl << ">> PMusrCanvas::HandleDataSet() **WARNING** found endBin theory=" << (UInt_t)dval << " >= theory vector size=" << data->GetTheory()->size() << " for 'sub_ranges',";
cerr << endl << ">> PMusrCanvas::HandleDataSet(): **WARNING** found endBin theory=" << (UInt_t)dval << " >= theory vector size=" << data->GetTheory()->size() << " for 'sub_ranges',";
cerr << endl << ">> will set it to theory vector size" << endl << endl;
endBin = data->GetTheory()->size();
} else {
@ -3358,15 +3471,19 @@ void PMusrCanvas::HandleFourier()
// check if fourier needs to be calculated
if (fData[0].dataFourierRe == 0) {
Int_t bin;
double startTime = fXmin;
double endTime = fXmax;
if (!fStartWithFourier) { // fHistoFrame presen, hence get start/end from it
bin = fHistoFrame->GetXaxis()->GetFirst();
double startTime = fHistoFrame->GetBinCenter(bin);
startTime = fHistoFrame->GetBinCenter(bin);
bin = fHistoFrame->GetXaxis()->GetLast();
double endTime = fHistoFrame->GetBinCenter(bin);
endTime = fHistoFrame->GetBinCenter(bin);
}
for (UInt_t i=0; i<fData.size(); i++) {
// calculate fourier transform of the data
PFourier fourierData(fData[i].data, fFourier.fUnits, startTime, endTime, fFourier.fDCCorrected, fFourier.fFourierPower);
if (!fourierData.IsValid()) {
cerr << endl << "**SEVERE ERROR** PMusrCanvas::HandleFourier: couldn't invoke PFourier to calculate the Fourier data ..." << endl;
cerr << endl << ">> PMusrCanvas::HandleFourier(): **SEVERE ERROR** couldn't invoke PFourier to calculate the Fourier data ..." << endl;
return;
}
fourierData.Transform(fFourier.fApodization);
@ -3406,7 +3523,7 @@ void PMusrCanvas::HandleFourier()
Int_t powerPad = (Int_t)round(log((endTime-startTime)/fData[i].theory->GetBinWidth(1))/log(2))+3;
PFourier fourierTheory(fData[i].theory, fFourier.fUnits, startTime, endTime, fFourier.fDCCorrected, powerPad);
if (!fourierTheory.IsValid()) {
cerr << endl << "**SEVERE ERROR** PMusrCanvas::HandleFourier: couldn't invoke PFourier to calculate the Fourier theory ..." << endl;
cerr << endl << ">> PMusrCanvas::HandleFourier(): **SEVERE ERROR** couldn't invoke PFourier to calculate the Fourier theory ..." << endl;
return;
}
fourierTheory.Transform(fFourier.fApodization);
@ -3526,7 +3643,7 @@ void PMusrCanvas::HandleDifferenceFourier()
// calculate fourier transform of the data
PFourier fourierData(fData[i].diff, fFourier.fUnits, startTime, endTime, fFourier.fDCCorrected, fFourier.fFourierPower);
if (!fourierData.IsValid()) {
cerr << endl << "**SEVERE ERROR** PMusrCanvas::HandleFourier: couldn't invoke PFourier to calculate the Fourier diff ..." << endl;
cerr << endl << ">> PMusrCanvas::HandleFourier(): **SEVERE ERROR** couldn't invoke PFourier to calculate the Fourier diff ..." << endl;
return;
}
fourierData.Transform(fFourier.fApodization);
@ -3800,7 +3917,7 @@ void PMusrCanvas::HandleAverage()
for (Int_t i=0; i<fData[0].data->GetNbinsX(); i++) {
dval = 0.0;
for (UInt_t j=0; j<fData.size(); j++) {
dval += GetInterpolatedValue(fData[j].data, fData[0].data->GetBinContent(i));
dval += GetInterpolatedValue(fData[j].data, fData[0].data->GetBinCenter(i));
}
fDataAvg.data->SetBinContent(i, dval/fData.size());
}
@ -3814,7 +3931,7 @@ void PMusrCanvas::HandleAverage()
for (Int_t i=0; i<fData[0].dataFourierRe->GetNbinsX(); i++) {
dval = 0.0;
for (UInt_t j=0; j<fData.size(); j++) {
dval += GetInterpolatedValue(fData[j].dataFourierRe, fData[0].dataFourierRe->GetBinContent(i));
dval += GetInterpolatedValue(fData[j].dataFourierRe, fData[0].dataFourierRe->GetBinCenter(i));
}
fDataAvg.dataFourierRe->SetBinContent(i, dval/fData.size());
}
@ -3828,7 +3945,7 @@ void PMusrCanvas::HandleAverage()
for (Int_t i=0; i<fData[0].dataFourierIm->GetNbinsX(); i++) {
dval = 0.0;
for (UInt_t j=0; j<fData.size(); j++) {
dval += GetInterpolatedValue(fData[j].dataFourierIm, fData[0].dataFourierIm->GetBinContent(i));
dval += GetInterpolatedValue(fData[j].dataFourierIm, fData[0].dataFourierIm->GetBinCenter(i));
}
fDataAvg.dataFourierIm->SetBinContent(i, dval/fData.size());
}
@ -3842,7 +3959,7 @@ void PMusrCanvas::HandleAverage()
for (Int_t i=0; i<fData[0].dataFourierPwr->GetNbinsX(); i++) {
dval = 0.0;
for (UInt_t j=0; j<fData.size(); j++) {
dval += GetInterpolatedValue(fData[j].dataFourierPwr, fData[0].dataFourierPwr->GetBinContent(i));
dval += GetInterpolatedValue(fData[j].dataFourierPwr, fData[0].dataFourierPwr->GetBinCenter(i));
}
fDataAvg.dataFourierPwr->SetBinContent(i, dval/fData.size());
}
@ -3856,7 +3973,7 @@ void PMusrCanvas::HandleAverage()
for (Int_t i=0; i<fData[0].dataFourierPhase->GetNbinsX(); i++) {
dval = 0.0;
for (UInt_t j=0; j<fData.size(); j++) {
dval += GetInterpolatedValue(fData[j].dataFourierPhase, fData[0].dataFourierPhase->GetBinContent(i));
dval += GetInterpolatedValue(fData[j].dataFourierPhase, fData[0].dataFourierPhase->GetBinCenter(i));
}
fDataAvg.dataFourierPhase->SetBinContent(i, dval/fData.size());
}
@ -3870,7 +3987,7 @@ void PMusrCanvas::HandleAverage()
for (Int_t i=0; i<fData[0].theory->GetNbinsX(); i++) {
dval = 0.0;
for (UInt_t j=0; j<fData.size(); j++) {
dval += GetInterpolatedValue(fData[j].theory, fData[0].theory->GetBinContent(i));
dval += GetInterpolatedValue(fData[j].theory, fData[0].theory->GetBinCenter(i));
}
fDataAvg.theory->SetBinContent(i, dval/fData.size());
}
@ -3880,7 +3997,7 @@ void PMusrCanvas::HandleAverage()
for (Int_t i=0; i<fData[0].theoryFourierRe->GetNbinsX(); i++) {
dval = 0.0;
for (UInt_t j=0; j<fData.size(); j++) {
dval += GetInterpolatedValue(fData[j].theoryFourierRe, fData[0].theoryFourierRe->GetBinContent(i));
dval += GetInterpolatedValue(fData[j].theoryFourierRe, fData[0].theoryFourierRe->GetBinCenter(i));
}
fDataAvg.theoryFourierRe->SetBinContent(i, dval/fData.size());
}
@ -3894,7 +4011,7 @@ void PMusrCanvas::HandleAverage()
for (Int_t i=0; i<fData[0].theoryFourierIm->GetNbinsX(); i++) {
dval = 0.0;
for (UInt_t j=0; j<fData.size(); j++) {
dval += GetInterpolatedValue(fData[j].theoryFourierIm, fData[0].theoryFourierIm->GetBinContent(i));
dval += GetInterpolatedValue(fData[j].theoryFourierIm, fData[0].theoryFourierIm->GetBinCenter(i));
}
fDataAvg.theoryFourierIm->SetBinContent(i, dval/fData.size());
}
@ -3908,7 +4025,7 @@ void PMusrCanvas::HandleAverage()
for (Int_t i=0; i<fData[0].theoryFourierPwr->GetNbinsX(); i++) {
dval = 0.0;
for (UInt_t j=0; j<fData.size(); j++) {
dval += GetInterpolatedValue(fData[j].theoryFourierPwr, fData[0].theoryFourierPwr->GetBinContent(i));
dval += GetInterpolatedValue(fData[j].theoryFourierPwr, fData[0].theoryFourierPwr->GetBinCenter(i));
}
fDataAvg.theoryFourierPwr->SetBinContent(i, dval/fData.size());
}
@ -3922,7 +4039,7 @@ void PMusrCanvas::HandleAverage()
for (Int_t i=0; i<fData[0].theoryFourierPhase->GetNbinsX(); i++) {
dval = 0.0;
for (UInt_t j=0; j<fData.size(); j++) {
dval += GetInterpolatedValue(fData[j].theoryFourierPhase, fData[0].theoryFourierPhase->GetBinContent(i));
dval += GetInterpolatedValue(fData[j].theoryFourierPhase, fData[0].theoryFourierPhase->GetBinCenter(i));
}
fDataAvg.theoryFourierPhase->SetBinContent(i, dval/fData.size());
}
@ -3936,7 +4053,7 @@ void PMusrCanvas::HandleAverage()
for (Int_t i=0; i<fData[0].diff->GetNbinsX(); i++) {
dval = 0.0;
for (UInt_t j=0; j<fData.size(); j++) {
dval += GetInterpolatedValue(fData[j].diff, fData[0].diff->GetBinContent(i));
dval += GetInterpolatedValue(fData[j].diff, fData[0].diff->GetBinCenter(i));
}
fDataAvg.diff->SetBinContent(i, dval/fData.size());
}
@ -3950,7 +4067,7 @@ void PMusrCanvas::HandleAverage()
for (Int_t i=0; i<fData[0].diffFourierRe->GetNbinsX(); i++) {
dval = 0.0;
for (UInt_t j=0; j<fData.size(); j++) {
dval += GetInterpolatedValue(fData[j].diffFourierRe, fData[0].diffFourierRe->GetBinContent(i));
dval += GetInterpolatedValue(fData[j].diffFourierRe, fData[0].diffFourierRe->GetBinCenter(i));
}
fDataAvg.diffFourierRe->SetBinContent(i, dval/fData.size());
}
@ -3964,7 +4081,7 @@ void PMusrCanvas::HandleAverage()
for (Int_t i=0; i<fData[0].diffFourierIm->GetNbinsX(); i++) {
dval = 0.0;
for (UInt_t j=0; j<fData.size(); j++) {
dval += GetInterpolatedValue(fData[j].diffFourierIm, fData[0].diffFourierIm->GetBinContent(i));
dval += GetInterpolatedValue(fData[j].diffFourierIm, fData[0].diffFourierIm->GetBinCenter(i));
}
fDataAvg.diffFourierIm->SetBinContent(i, dval/fData.size());
}
@ -3978,7 +4095,7 @@ void PMusrCanvas::HandleAverage()
for (Int_t i=0; i<fData[0].diffFourierPwr->GetNbinsX(); i++) {
dval = 0.0;
for (UInt_t j=0; j<fData.size(); j++) {
dval += GetInterpolatedValue(fData[j].diffFourierPwr, fData[0].diffFourierPwr->GetBinContent(i));
dval += GetInterpolatedValue(fData[j].diffFourierPwr, fData[0].diffFourierPwr->GetBinCenter(i));
}
fDataAvg.diffFourierPwr->SetBinContent(i, dval/fData.size());
}
@ -3992,7 +4109,7 @@ void PMusrCanvas::HandleAverage()
for (Int_t i=0; i<fData[0].diffFourierPhase->GetNbinsX(); i++) {
dval = 0.0;
for (UInt_t j=0; j<fData.size(); j++) {
dval += GetInterpolatedValue(fData[j].diffFourierPhase, fData[0].diffFourierPhase->GetBinContent(i));
dval += GetInterpolatedValue(fData[j].diffFourierPhase, fData[0].diffFourierPhase->GetBinCenter(i));
}
fDataAvg.diffFourierPhase->SetBinContent(i, dval/fData.size());
}
@ -4596,14 +4713,14 @@ void PMusrCanvas::PlotData(Bool_t unzoom)
fDataTheoryPad->SetLogy(1);
// set x-axis label
fHistoFrame->GetXaxis()->SetTitle("time (#mus)");
fHistoFrame->GetXaxis()->SetTitle("Time (#mus)");
// set y-axis label
TString yAxisTitle;
PMsrRunList *runList = fMsrHandler->GetMsrRunList();
switch (fPlotType) {
case MSR_PLOT_SINGLE_HISTO:
if (runList->at(0).IsLifetimeCorrected()) { // lifetime correction
yAxisTitle = "asymmetry";
yAxisTitle = "Asymmetry";
} else { // no liftime correction
if (fScaleN0AndBkg)
yAxisTitle = "N(t) per nsec";
@ -4611,8 +4728,12 @@ void PMusrCanvas::PlotData(Bool_t unzoom)
yAxisTitle = "N(t) per bin";
}
break;
case MSR_PLOT_SINGLE_HISTO_RRF:
case MSR_PLOT_ASYM_RRF:
yAxisTitle = "RRF Asymmetry";
break;
case MSR_PLOT_ASYM:
yAxisTitle = "asymmetry";
yAxisTitle = "Asymmetry";
break;
case MSR_PLOT_MU_MINUS:
yAxisTitle = "N(t) per bin";
@ -4728,18 +4849,22 @@ void PMusrCanvas::PlotData(Bool_t unzoom)
// add all data to fMultiGraphData
for (UInt_t i=0; i<fNonMusrData.size(); i++) {
// the next two lines are ugly but needed for the following reasons:
// the next three lines are ugly but needed for the following reasons:
// TMultiGraph is taking ownership of the TGraphErrors, hence a deep copy is needed.
// This is not resulting in a memory leak, since the TMultiGraph object will do the cleanup
TGraphErrors *ge = new TGraphErrors(*(fNonMusrData[i].data));
// Data points and model curves should be fixed on the graph and not dragged around using, e.g., the mouse.
ge->SetEditable(false);
fMultiGraphData->Add(ge, "p");
}
// add all the theory to fMultiGraphData
for (UInt_t i=0; i<fNonMusrData.size(); i++) {
// the next two lines are ugly but needed for the following reasons:
// the next three lines are ugly but needed for the following reasons:
// TMultiGraph is taking ownership of the TGraphErrors, hence a deep copy is needed.
// This is not resulting in a memory leak, since the TMultiGraph object will do the cleanup
TGraphErrors *ge = new TGraphErrors(*(fNonMusrData[i].theory));
// Data points and model curves should be fixed on the graph and not dragged around using, e.g., the mouse.
ge->SetEditable(false);
fMultiGraphData->Add(ge, "l");
}
@ -4784,6 +4909,11 @@ void PMusrCanvas::PlotData(Bool_t unzoom)
if (fMultiGraphLegend)
fMultiGraphLegend->Draw();
}
// report canvas status events in non-musr plots
if (!fMainCanvas->GetShowEventStatus()) {
fMainCanvas->ToggleEventStatus();
}
}
fDataTheoryPad->Update();
@ -4966,10 +5096,12 @@ void PMusrCanvas::PlotDifference(Bool_t unzoom)
// add all diff data to fMultiGraphDiff
for (UInt_t i=0; i<fNonMusrData.size(); i++) {
// the next two lines are ugly but needed for the following reasons:
// the next three lines are ugly but needed for the following reasons:
// TMultiGraph is taking ownership of the TGraphErrors, hence a deep copy is needed.
// This is not resulting in a memory leak, since the TMultiGraph object will do the cleaing
TGraphErrors *ge = new TGraphErrors(*(fNonMusrData[i].diff));
// Data points and model curves should be fixed on the graph and not dragged around using, e.g., the mouse.
ge->SetEditable(false);
fMultiGraphDiff->Add(ge, "p");
}
@ -6043,6 +6175,11 @@ void PMusrCanvas::PlotAverage(Bool_t unzoom)
break;
}
// check if RRF and if yes show a label
if ((fRRFText != 0) && (fRRFLatexText != 0)) {
fRRFLatexText->DrawLatex(0.1, 0.92, fRRFText->Data());
}
fDataTheoryPad->Update();
fMainCanvas->cd();

View File

@ -8,7 +8,7 @@
***************************************************************************/
/***************************************************************************
* Copyright (C) 2007-2014 by Andreas Suter *
* Copyright (C) 2007-2016 by Andreas Suter *
* andreas.suter@psi.ch *
* *
* This program is free software; you can redistribute it and/or modify *

View File

@ -8,7 +8,7 @@
***************************************************************************/
/***************************************************************************
* Copyright (C) 2007-2015 by Andreas Suter *
* Copyright (C) 2007-2016 by Andreas Suter *
* andreas.suter@psi.ch *
* *
* This program is free software; you can redistribute it and/or modify *
@ -27,6 +27,8 @@
* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
***************************************************************************/
#include <cmath>
#include "PPrepFourier.h"
//--------------------------------------------------------------------------
@ -48,10 +50,11 @@ PPrepFourier::PPrepFourier()
/**
* <p>Constructor.
*/
PPrepFourier::PPrepFourier(const Int_t *bkgRange, const Int_t packing) :
PPrepFourier::PPrepFourier(const Int_t packing, const Int_t *bkgRange, PDoubleVector bkg) :
fPacking(packing)
{
SetBkgRange(bkgRange);
SetBkg(bkg);
}
//--------------------------------------------------------------------------
@ -76,7 +79,7 @@ PPrepFourier::~PPrepFourier()
*/
void PPrepFourier::SetBkgRange(const Int_t *bkgRange)
{
int err=0;
Int_t err=0;
if (bkgRange[0] >= -1) {
fBkgRange[0] = bkgRange[0];
} else {
@ -112,6 +115,20 @@ void PPrepFourier::SetBkgRange(const Int_t *bkgRange)
}
}
//--------------------------------------------------------------------------
// SetBkgRange
//--------------------------------------------------------------------------
/**
* <p>set the background values for all the histos.
*
* \param bkg vector
*/
void PPrepFourier::SetBkg(PDoubleVector bkg)
{
for (UInt_t i=0; i<bkg.size(); i++)
fBkg.push_back(bkg[i]);
}
//--------------------------------------------------------------------------
// SetPacking
//--------------------------------------------------------------------------
@ -157,30 +174,47 @@ void PPrepFourier::DoBkgCorrection()
}
// if no bkg-range is given, nothing needs to be done
if ((fBkgRange[0] == -1) && (fBkgRange[1] == -1)) {
if ((fBkgRange[0] == -1) && (fBkgRange[1] == -1) && (fBkg.size() == 0)) {
return;
}
if ((fBkgRange[0] != -1) && (fBkgRange[1] != -1)) { // background range is given
// make sure that the bkg range is ok
for (unsigned int i=0; i<fRawData.size(); i++) {
if ((fBkgRange[0] >= fRawData[i].rawData.size()) || (fBkgRange[1] >= fRawData[i].rawData.size())) {
for (UInt_t i=0; i<fRawData.size(); i++) {
if ((fBkgRange[0] >= (Int_t)fRawData[i].rawData.size()) || (fBkgRange[1] >= (Int_t)fRawData[i].rawData.size())) {
cerr << endl << "PPrepFourier::DoBkgCorrection() **ERROR** bkg-range out of data-range!";
return;
}
}
Double_t bkg=0.0;
for (unsigned int i=0; i<fRawData.size(); i++) {
for (UInt_t i=0; i<fRawData.size(); i++) {
// calculate the bkg for the given range
for (int j=fBkgRange[0]; j<=fBkgRange[1]; j++) {
for (Int_t j=fBkgRange[0]; j<=fBkgRange[1]; j++) {
bkg += fRawData[i].rawData[j];
}
bkg /= (fBkgRange[1]-fBkgRange[0]+1);
cout << "info> background " << i << ": " << bkg << endl;
// correct data
for (unsigned int j=0; j<fData[i].size(); j++)
for (UInt_t j=0; j<fData[i].size(); j++)
fData[i][j] -= bkg;
}
} else { // there might be an explicit background list
// check if there is a background list
if (fBkg.size() == 0)
return;
// check if there are as many background values than data values
if (fBkg.size() != fData.size()) {
cerr << endl << "PPrepFourier::DoBkgCorrection() **ERROR** #bkg values != #histos. Will do nothing here." << endl;
return;
}
for (UInt_t i=0; i<fData.size(); i++)
for (UInt_t j=0; j<fData[i].size(); j++)
fData[i][j] -= fBkg[i];
}
}
//--------------------------------------------------------------------------
@ -201,10 +235,10 @@ void PPrepFourier::DoPacking()
PDoubleVector tmpData;
Double_t dval = 0.0;
for (unsigned int i=0; i<fData.size(); i++) {
for (UInt_t i=0; i<fData.size(); i++) {
tmpData.clear();
dval = 0.0;
for (unsigned int j=0; j<fData[i].size(); j++) {
for (UInt_t j=0; j<fData[i].size(); j++) {
if ((j % fPacking == 0) && (j != 0)) {
tmpData.push_back(dval);
dval = 0.0;
@ -218,20 +252,6 @@ void PPrepFourier::DoPacking()
}
}
//--------------------------------------------------------------------------
// DoFiltering
//--------------------------------------------------------------------------
/**
* <p>Not implemented yet.
*/
void PPrepFourier::DoFiltering()
{
// make sure fData are already present, and if not create the necessary data sets
if (fData.size() != fRawData.size()) {
InitData();
}
}
//--------------------------------------------------------------------------
// DoLifeTimeCorrection
//--------------------------------------------------------------------------
@ -251,9 +271,9 @@ void PPrepFourier::DoLifeTimeCorrection(Double_t fudge)
// calc exp(+t/tau)*N(t), where N(t) is already background corrected
Double_t scale;
for (unsigned int i=0; i<fData.size(); i++) {
for (UInt_t i=0; i<fData.size(); i++) {
scale = fRawData[i].timeResolution / PMUON_LIFETIME;
for (unsigned int j=0; j<fData[i].size(); j++) {
for (UInt_t j=0; j<fData[i].size(); j++) {
fData[i][j] *= exp(j*scale);
}
}
@ -261,14 +281,14 @@ void PPrepFourier::DoLifeTimeCorrection(Double_t fudge)
// calc N0
Double_t dval;
Double_t N0;
for (unsigned int i=0; i<fData.size(); i++) {
for (UInt_t i=0; i<fData.size(); i++) {
dval = 0.0;
for (unsigned int j=0; j<fData[i].size(); j++) {
for (UInt_t j=0; j<fData[i].size(); j++) {
dval += fData[i][j];
}
N0 = dval/fData[i].size();
N0 *= fudge;
for (unsigned int j=0; j<fData[i].size(); j++) {
for (UInt_t j=0; j<fData[i].size(); j++) {
fData[i][j] -= N0;
fData[i][j] /= N0;
}
@ -293,6 +313,24 @@ TString PPrepFourier::GetInfo(const UInt_t idx)
return info;
}
//--------------------------------------------------------------------------
// GetDataSetTag
//--------------------------------------------------------------------------
/**
* <p>Returns the data set tag of the object
*
* \param idx index of the object
*/
Int_t PPrepFourier::GetDataSetTag(const UInt_t idx)
{
Int_t result = -1;
if (idx < fRawData.size())
result = fRawData[idx].dataSetTag;
return result;
}
//--------------------------------------------------------------------------
// GetData
//--------------------------------------------------------------------------
@ -317,7 +355,7 @@ vector<TH1F*> PPrepFourier::GetData()
UInt_t startIdx;
UInt_t endIdx;
for (unsigned int i=0; i<fData.size(); i++) {
for (UInt_t i=0; i<fData.size(); i++) {
name = TString::Format("histo%2d", i);
dt = fRawData[i].timeResolution*fPacking;
start = fRawData[i].timeRange[0];
@ -353,7 +391,7 @@ vector<TH1F*> PPrepFourier::GetData()
}
data[i] = new TH1F(name.Data(), fRawData[i].info.Data(), size, start, end);
for (unsigned int j=startIdx; j<endIdx; j++)
for (UInt_t j=startIdx; j<endIdx; j++)
data[i]->SetBinContent(j-startIdx+1, fData[i][j]);
}
@ -410,14 +448,14 @@ TH1F *PPrepFourier::GetData(const UInt_t idx)
}
TH1F *data = new TH1F(name.Data(), fRawData[idx].info.Data(), size, start, end);
for (unsigned int i=startIdx; i<endIdx; i++)
for (UInt_t i=startIdx; i<endIdx; i++)
data->SetBinContent(i-startIdx+1, fData[idx][i]);
return data;
}
//--------------------------------------------------------------------------
// InitData
// InitData (private)
//--------------------------------------------------------------------------
/**
* <p>Copy raw-data to internal data from t0 to the size of raw-data.
@ -425,13 +463,13 @@ TH1F *PPrepFourier::GetData(const UInt_t idx)
void PPrepFourier::InitData()
{
fData.resize(fRawData.size());
unsigned int t0;
for (unsigned int i=0; i<fRawData.size(); i++) {
UInt_t t0;
for (UInt_t i=0; i<fRawData.size(); i++) {
if (fRawData[i].t0 >= 0)
t0 = fRawData[i].t0;
else
t0 = 0;
for (unsigned int j=t0; j<fRawData[i].rawData.size(); j++) {
for (UInt_t j=t0; j<fRawData[i].rawData.size(); j++) {
fData[i].push_back(fRawData[i].rawData[j]);
}
}

View File

@ -8,7 +8,7 @@
***************************************************************************/
/***************************************************************************
* Copyright (C) 2007-2014 by Andreas Suter *
* Copyright (C) 2007-2016 by Andreas Suter *
* andreas.suter@psi.ch *
* *
* This program is free software; you can redistribute it and/or modify *
@ -87,7 +87,7 @@ PRunAsymmetry::PRunAsymmetry(PMsrHandler *msrInfo, PRunDataHandler *rawData, UIn
fPacking = fMsrInfo->GetMsrGlobal()->GetPacking();
}
if (fPacking == -1) { // this should NOT happen, somethin is severely wrong
cerr << endl << ">> PRunAsymmetry::PRunAsymmetry: **SEVERE ERROR**: Couldn't find any packing information!";
cerr << endl << ">> PRunAsymmetry::PRunAsymmetry(): **SEVERE ERROR**: Couldn't find any packing information!";
cerr << endl << ">> This is very bad :-(, will quit ...";
cerr << endl;
fValid = false;
@ -342,7 +342,7 @@ void PRunAsymmetry::SetFitRangeBin(const TString fitRange)
Int_t pos = 2*(fRunNo+1)-1;
if (pos + 1 >= tok->GetEntries()) {
cerr << endl << ">> PRunSingleHisto::SetFitRangeBin(): **ERROR** invalid FIT_RANGE command found: '" << fitRange << "'";
cerr << endl << ">> PRunAsymmetry::SetFitRangeBin(): **ERROR** invalid FIT_RANGE command found: '" << fitRange << "'";
cerr << endl << ">> will ignore it. Sorry ..." << endl;
} else {
// handle fgb+n0 entry
@ -370,7 +370,7 @@ void PRunAsymmetry::SetFitRangeBin(const TString fitRange)
fFitEndTime = (fGoodBins[1] - offset - fT0s[0]) * fTimeResolution;
}
} else { // error
cerr << endl << ">> PRunSingleHisto::SetFitRangeBin(): **ERROR** invalid FIT_RANGE command found: '" << fitRange << "'";
cerr << endl << ">> PRunAsymmetry::SetFitRangeBin(): **ERROR** invalid FIT_RANGE command found: '" << fitRange << "'";
cerr << endl << ">> will ignore it. Sorry ..." << endl;
}

File diff suppressed because it is too large Load Diff

View File

@ -8,7 +8,7 @@
***************************************************************************/
/***************************************************************************
* Copyright (C) 2007-2014 by Andreas Suter *
* Copyright (C) 2007-2016 by Andreas Suter *
* andreas.suter@psi.ch *
* *
* This program is free software; you can redistribute it and/or modify *

View File

@ -8,7 +8,7 @@
***************************************************************************/
/***************************************************************************
* Copyright (C) 2007-2014 by Andreas Suter *
* Copyright (C) 2007-2016 by Andreas Suter *
* andreas.suter@psi.ch *
* *
* This program is free software; you can redistribute it and/or modify *
@ -280,7 +280,8 @@ void PRunDataHandler::ReadData()
fAllDataAvailable = ReadRootFile();
} else if ((fFileFormat == "NeXus") || (fFileFormat == "nexus")) {
fAllDataAvailable = ReadNexusFile();
} else if ((fFileFormat == "PsiBin") || (fFileFormat == "psibin")) {
} else if ((fFileFormat == "PsiBin") || (fFileFormat == "psibin") ||
(fFileFormat == "PsiMdu") || (fFileFormat == "psimdu")) {
fAllDataAvailable = ReadPsiBinFile();
} else if ((fFileFormat == "Mud") || (fFileFormat == "mud")) {
fAllDataAvailable = ReadMudFile();
@ -1733,9 +1734,34 @@ Bool_t PRunDataHandler::ReadRootFile()
header->Get("RunInfo/RedGreen Offsets", ivec, ok);
if (ok) {
// check if any2many is used and a group histo list is defined, if NOT, only take the 0-offset data!
if (fAny2ManyInfo) { // i.e. any2many is called
if (fAny2ManyInfo->groupHistoList.size() == 0) { // NO group list defined -> use only the 0-offset data
redGreenOffsets.push_back(0);
} else { // group list defined
// make sure that the group list elements is a subset of present RedGreen offsets
Bool_t found = false;
for (UInt_t i=0; i<fAny2ManyInfo->groupHistoList.size(); i++) {
found = false;
for (UInt_t j=0; j<ivec.size(); j++) {
if (fAny2ManyInfo->groupHistoList[i] == ivec[j])
found = true;
}
if (!found) {
cerr << endl << ">> PRunDataHandler::ReadRootFile: **ERROR** requested histo group " << fAny2ManyInfo->groupHistoList[i];
cerr << endl << ">> which is NOT present in the data file." << endl;
return false;
}
}
// found all requested histo groups, hence stuff it to the right places
redGreenOffsets = fAny2ManyInfo->groupHistoList;
runData.SetRedGreenOffset(fAny2ManyInfo->groupHistoList);
}
} else { // not any2many, i.e. musrfit, musrview, ...
redGreenOffsets = ivec;
runData.SetRedGreenOffset(ivec);
}
}
// check further for LEM specific stuff in RunInfo
@ -5058,7 +5084,11 @@ Bool_t PRunDataHandler::WriteWkmFile(TString fln)
if (lem_wkm_style)
cout << endl << "TOF(M3S1): nocut";
cout << endl << "Groups: " << fData[0].GetNoOfHistos();
cout << endl << "Channels: " << static_cast<UInt_t>(fData[0].GetDataBin(1)->size()/fAny2ManyInfo->rebin);
UInt_t histo0 = 1;
if (fAny2ManyInfo->groupHistoList.size() != 0) { // red/green list found
histo0 = fAny2ManyInfo->groupHistoList[0]+1; // take the first available red/green entry
}
cout << endl << "Channels: " << static_cast<UInt_t>(fData[0].GetDataBin(histo0)->size()/fAny2ManyInfo->rebin);
cout.precision(10);
cout << endl << "Resolution: " << fData[0].GetTimeResolution()*fAny2ManyInfo->rebin/1.0e3; // ns->us
cout.setf(ios::fixed,ios::floatfield); // floatfield set to fixed
@ -5147,7 +5177,11 @@ Bool_t PRunDataHandler::WritePsiBinFile(TString fln)
// run number
psibin.put_runNumber_int(fData[0].GetRunNumber());
// length of histograms
psibin.put_histoLength_bin((int)(fData[0].GetDataBin(1)->size()/fAny2ManyInfo->rebin));
UInt_t histo0 = 1;
if (fAny2ManyInfo->groupHistoList.size() != 0) { // red/green list found
histo0 = fAny2ManyInfo->groupHistoList[0]+1; // take the first available red/green entry
}
psibin.put_histoLength_bin((int)(fData[0].GetDataBin(histo0)->size()/fAny2ManyInfo->rebin));
// number of histograms
psibin.put_numberHisto_int((int)fData[0].GetNoOfHistos());
// run title = sample (10 char) / temp (10 char) / field (10 char) / orientation (10 char)
@ -5436,7 +5470,7 @@ Bool_t PRunDataHandler::WriteMudFile(TString fln)
noOfEvents = 0;
k = 0;
for (UInt_t j=0; j<dataSet->GetData()->size(); j++) {
if ((j != 0) && (j % fAny2ManyInfo->rebin == 0)) {
if ((j > 0) && (j % fAny2ManyInfo->rebin == 0)) {
data[k] = ival;
noOfEvents += ival;
k++;
@ -5621,7 +5655,7 @@ Bool_t PRunDataHandler::WriteAsciiFile(TString fln)
}
for (UInt_t i=0; i<length; i++) {
if ((i % fAny2ManyInfo->rebin) == 0) {
if ((i > 0) && ((i % fAny2ManyInfo->rebin) == 0)) {
cout << endl;
for (UInt_t j=0; j<dataRebin.size(); j++) {
cout.width(8);

View File

@ -8,7 +8,7 @@
***************************************************************************/
/***************************************************************************
* Copyright (C) 2007-2014 by Andreas Suter *
* Copyright (C) 2007-2016 by Andreas Suter *
* andreas.suter@psi.ch *
* *
* This program is free software; you can redistribute it and/or modify *
@ -58,12 +58,24 @@ PRunListCollection::~PRunListCollection()
}
fRunSingleHistoList.clear();
for (UInt_t i=0; i<fRunSingleHistoRRFList.size(); i++) {
fRunSingleHistoRRFList[i]->CleanUp();
fRunSingleHistoRRFList[i]->~PRunSingleHistoRRF();
}
fRunSingleHistoRRFList.clear();
for (UInt_t i=0; i<fRunAsymmetryList.size(); i++) {
fRunAsymmetryList[i]->CleanUp();
fRunAsymmetryList[i]->~PRunAsymmetry();
}
fRunAsymmetryList.clear();
for (UInt_t i=0; i<fRunAsymmetryRRFList.size(); i++) {
fRunAsymmetryRRFList[i]->CleanUp();
fRunAsymmetryRRFList[i]->~PRunAsymmetryRRF();
}
fRunAsymmetryRRFList.clear();
for (UInt_t i=0; i<fRunMuMinusList.size(); i++) {
fRunMuMinusList[i]->CleanUp();
fRunMuMinusList[i]->~PRunMuMinus();
@ -106,11 +118,21 @@ Bool_t PRunListCollection::Add(Int_t runNo, EPMusrHandleTag tag)
if (!fRunSingleHistoList[fRunSingleHistoList.size()-1]->IsValid())
success = false;
break;
case PRUN_SINGLE_HISTO_RRF:
fRunSingleHistoRRFList.push_back(new PRunSingleHistoRRF(fMsrInfo, fData, runNo, tag));
if (!fRunSingleHistoRRFList[fRunSingleHistoRRFList.size()-1]->IsValid())
success = false;
break;
case PRUN_ASYMMETRY:
fRunAsymmetryList.push_back(new PRunAsymmetry(fMsrInfo, fData, runNo, tag));
if (!fRunAsymmetryList[fRunAsymmetryList.size()-1]->IsValid())
success = false;
break;
case PRUN_ASYMMETRY_RRF:
fRunAsymmetryRRFList.push_back(new PRunAsymmetryRRF(fMsrInfo, fData, runNo, tag));
if (!fRunAsymmetryRRFList[fRunAsymmetryRRFList.size()-1]->IsValid())
success = false;
break;
case PRUN_MU_MINUS:
fRunMuMinusList.push_back(new PRunMuMinus(fMsrInfo, fData, runNo, tag));
if (!fRunMuMinusList[fRunMuMinusList.size()-1]->IsValid())
@ -147,8 +169,12 @@ void PRunListCollection::SetFitRange(const TString fitRange)
{
for (UInt_t i=0; i<fRunSingleHistoList.size(); i++)
fRunSingleHistoList[i]->SetFitRangeBin(fitRange);
for (UInt_t i=0; i<fRunSingleHistoRRFList.size(); i++)
fRunSingleHistoRRFList[i]->SetFitRangeBin(fitRange);
for (UInt_t i=0; i<fRunAsymmetryList.size(); i++)
fRunAsymmetryList[i]->SetFitRangeBin(fitRange);
for (UInt_t i=0; i<fRunAsymmetryRRFList.size(); i++)
fRunAsymmetryRRFList[i]->SetFitRangeBin(fitRange);
for (UInt_t i=0; i<fRunMuMinusList.size(); i++)
fRunMuMinusList[i]->SetFitRangeBin(fitRange);
for (UInt_t i=0; i<fRunNonMusrList.size(); i++)
@ -169,8 +195,12 @@ void PRunListCollection::SetFitRange(const PDoublePairVector fitRange)
{
for (UInt_t i=0; i<fRunSingleHistoList.size(); i++)
fRunSingleHistoList[i]->SetFitRange(fitRange);
for (UInt_t i=0; i<fRunSingleHistoRRFList.size(); i++)
fRunSingleHistoRRFList[i]->SetFitRange(fitRange);
for (UInt_t i=0; i<fRunAsymmetryList.size(); i++)
fRunAsymmetryList[i]->SetFitRange(fitRange);
for (UInt_t i=0; i<fRunAsymmetryRRFList.size(); i++)
fRunAsymmetryRRFList[i]->SetFitRange(fitRange);
for (UInt_t i=0; i<fRunMuMinusList.size(); i++)
fRunMuMinusList[i]->SetFitRange(fitRange);
for (UInt_t i=0; i<fRunNonMusrList.size(); i++)
@ -198,6 +228,27 @@ Double_t PRunListCollection::GetSingleHistoChisq(const std::vector<Double_t>& pa
return chisq;
}
//--------------------------------------------------------------------------
// GetSingleHistoRRFChisq (public)
//--------------------------------------------------------------------------
/**
* <p>Calculates chi-square of <em>all</em> single histogram RRF runs of a msr-file.
*
* <b>return:</b>
* - chi-square of all single histogram RRF runs of the msr-file
*
* \param par fit parameter vector
*/
Double_t PRunListCollection::GetSingleHistoRRFChisq(const std::vector<Double_t>& par) const
{
Double_t chisq = 0.0;
for (UInt_t i=0; i<fRunSingleHistoRRFList.size(); i++)
chisq += fRunSingleHistoRRFList[i]->CalcChiSquare(par);
return chisq;
}
//--------------------------------------------------------------------------
// GetAsymmetryChisq (public)
//--------------------------------------------------------------------------
@ -219,6 +270,27 @@ Double_t PRunListCollection::GetAsymmetryChisq(const std::vector<Double_t>& par)
return chisq;
}
//--------------------------------------------------------------------------
// GetAsymmetryRRFChisq (public)
//--------------------------------------------------------------------------
/**
* <p>Calculates chi-square of <em>all</em> asymmetry RRF runs of a msr-file.
*
* <b>return:</b>
* - chi-square of all asymmetry RRF runs of the msr-file
*
* \param par fit parameter vector
*/
Double_t PRunListCollection::GetAsymmetryRRFChisq(const std::vector<Double_t>& par) const
{
Double_t chisq = 0.0;
for (UInt_t i=0; i<fRunAsymmetryRRFList.size(); i++)
chisq += fRunAsymmetryRRFList[i]->CalcChiSquare(par);
return chisq;
}
//--------------------------------------------------------------------------
// GetMuMinusChisq (public)
//--------------------------------------------------------------------------
@ -299,9 +371,15 @@ Double_t PRunListCollection::GetSingleHistoChisqExpected(const std::vector<Doubl
case PRUN_SINGLE_HISTO:
expectedChisq = fRunSingleHistoList[subIdx]->CalcChiSquareExpected(par);
break;
case PRUN_SINGLE_HISTO_RRF:
expectedChisq = fRunSingleHistoRRFList[subIdx]->CalcChiSquareExpected(par);
break;
case PRUN_ASYMMETRY:
expectedChisq = fRunAsymmetryList[subIdx]->CalcChiSquareExpected(par);
break;
case PRUN_ASYMMETRY_RRF:
expectedChisq = fRunAsymmetryRRFList[subIdx]->CalcChiSquareExpected(par);
break;
case PRUN_MU_MINUS:
expectedChisq = fRunMuMinusList[subIdx]->CalcChiSquareExpected(par);
break;
@ -336,26 +414,33 @@ Double_t PRunListCollection::GetSingleRunChisq(const std::vector<Double_t>& par,
return chisq;
}
Int_t subIdx = 0;
Int_t type = fMsrInfo->GetMsrRunList()->at(idx).GetFitType();
if (type == -1) { // i.e. not forun in the RUN block, try the GLOBAL block
if (type == -1) { // i.e. not found in the RUN block, try the GLOBAL block
type = fMsrInfo->GetMsrGlobal()->GetFitType();
}
subIdx = idx;
} else { // found in the RUN block
// count how many entries of this fit-type are present up to idx
UInt_t subIdx = 0;
for (UInt_t i=0; i<idx; i++) {
if (fMsrInfo->GetMsrRunList()->at(i).GetFitType() == type)
subIdx++;
}
}
// return the chisq of the single run
switch (type) {
case PRUN_SINGLE_HISTO:
chisq = fRunSingleHistoList[subIdx]->CalcChiSquare(par);
break;
case PRUN_SINGLE_HISTO_RRF:
chisq = fRunSingleHistoRRFList[subIdx]->CalcChiSquare(par);
break;
case PRUN_ASYMMETRY:
chisq = fRunAsymmetryList[subIdx]->CalcChiSquare(par);
break;
case PRUN_ASYMMETRY_RRF:
chisq = fRunAsymmetryRRFList[subIdx]->CalcChiSquare(par);
break;
case PRUN_MU_MINUS:
chisq = fRunMuMinusList[subIdx]->CalcChiSquare(par);
break;
@ -376,7 +461,7 @@ Double_t PRunListCollection::GetSingleRunChisq(const std::vector<Double_t>& par,
* <p>Calculates log max-likelihood of <em>all</em> single histogram runs of a msr-file.
*
* <b>return:</b>
* - chi-square of all single histogram runs of the msr-file
* - log max-likelihood of all single histogram runs of the msr-file
*
* \param par fit parameter vector
*/
@ -390,6 +475,27 @@ Double_t PRunListCollection::GetSingleHistoMaximumLikelihood(const std::vector<D
return mlh;
}
//--------------------------------------------------------------------------
// GetSingleHistoRRFMaximumLikelihood (public)
//--------------------------------------------------------------------------
/**
* <p>Calculates log max-likelihood of <em>all</em> single histogram RRF runs of a msr-file.
*
* <b>return:</b>
* - log max-likelihood of all single histogram runs of the msr-file
*
* \param par fit parameter vector
*/
Double_t PRunListCollection::GetSingleHistoRRFMaximumLikelihood(const std::vector<Double_t>& par) const
{
Double_t mlh = 0.0;
for (UInt_t i=0; i<fRunSingleHistoRRFList.size(); i++)
mlh += fRunSingleHistoRRFList[i]->CalcMaxLikelihood(par);
return mlh;
}
//--------------------------------------------------------------------------
// GetAsymmetryMaximumLikelihood (public)
//--------------------------------------------------------------------------
@ -412,6 +518,28 @@ Double_t PRunListCollection::GetAsymmetryMaximumLikelihood(const std::vector<Dou
return mlh;
}
//--------------------------------------------------------------------------
// GetAsymmetryRRFMaximumLikelihood (public)
//--------------------------------------------------------------------------
/**
* <p> Since it is not clear yet how to handle asymmetry fits with max likelihood
* the chi square will be used!
*
* <b>return:</b>
* - chi-square of all asymmetry RRF runs of the msr-file
*
* \param par fit parameter vector
*/
Double_t PRunListCollection::GetAsymmetryRRFMaximumLikelihood(const std::vector<Double_t>& par) const
{
Double_t mlh = 0.0;
for (UInt_t i=0; i<fRunAsymmetryRRFList.size(); i++)
mlh += fRunAsymmetryRRFList[i]->CalcChiSquare(par);
return mlh;
}
//--------------------------------------------------------------------------
// GetMuMinusMaximumLikelihood (public)
//--------------------------------------------------------------------------
@ -419,7 +547,7 @@ Double_t PRunListCollection::GetAsymmetryMaximumLikelihood(const std::vector<Dou
* <p>Calculates log max-likelihood of <em>all</em> mu minus runs of a msr-file.
*
* <b>return:</b>
* - chi-square of all mu minus runs of the msr-file
* - log max-likelihood of all mu minus runs of the msr-file
*
* \param par fit parameter vector
*/
@ -493,9 +621,15 @@ UInt_t PRunListCollection::GetNoOfBinsFitted(const UInt_t idx) const
case PRUN_SINGLE_HISTO:
result = fRunSingleHistoList[subIdx]->GetNoOfFitBins();
break;
case PRUN_SINGLE_HISTO_RRF:
result = fRunSingleHistoRRFList[subIdx]->GetNoOfFitBins();
break;
case PRUN_ASYMMETRY:
result = fRunAsymmetryList[subIdx]->GetNoOfFitBins();
break;
case PRUN_ASYMMETRY_RRF:
result = fRunAsymmetryRRFList[subIdx]->GetNoOfFitBins();
break;
case PRUN_MU_MINUS:
result = fRunMuMinusList[subIdx]->GetNoOfFitBins();
break;
@ -526,9 +660,15 @@ UInt_t PRunListCollection::GetTotalNoOfBinsFitted() const
for (UInt_t i=0; i<fRunSingleHistoList.size(); i++)
counts += fRunSingleHistoList[i]->GetNoOfFitBins();
for (UInt_t i=0; i<fRunSingleHistoRRFList.size(); i++)
counts += fRunSingleHistoRRFList[i]->GetNoOfFitBins();
for (UInt_t i=0; i<fRunAsymmetryList.size(); i++)
counts += fRunAsymmetryList[i]->GetNoOfFitBins();
for (UInt_t i=0; i<fRunAsymmetryRRFList.size(); i++)
counts += fRunAsymmetryRRFList[i]->GetNoOfFitBins();
for (UInt_t i=0; i<fRunMuMinusList.size(); i++)
counts += fRunMuMinusList[i]->GetNoOfFitBins();
@ -558,7 +698,7 @@ PRunData* PRunListCollection::GetSingleHisto(UInt_t index, EDataSwitch tag)
switch (tag) {
case kIndex:
if ((index < 0) || (index >= fRunSingleHistoList.size())) {
cerr << endl << "PRunListCollection::GetSingleHisto: **ERROR** index = " << index << " out of bounds";
cerr << endl << ">> PRunListCollection::GetSingleHisto(): **ERROR** index = " << index << " out of bounds";
cerr << endl;
return 0;
}
@ -581,6 +721,49 @@ PRunData* PRunListCollection::GetSingleHisto(UInt_t index, EDataSwitch tag)
return data;
}
//--------------------------------------------------------------------------
// GetSingleHistoRRF (public)
//--------------------------------------------------------------------------
/**
* <p>Get a processed single histogram RRF data set.
*
* <b>return:</b>
* - pointer to the run data set (processed data) if data set is found
* - null pointer otherwise
*
* \param index msr-file run index
* \param tag kIndex -> data at index, kRunNo -> data of given run no
*/
PRunData* PRunListCollection::GetSingleHistoRRF(UInt_t index, EDataSwitch tag)
{
PRunData *data = 0;
switch (tag) {
case kIndex:
if ((index < 0) || (index >= fRunSingleHistoRRFList.size())) {
cerr << endl << ">> PRunListCollection::GetSingleHistoRRF(): **ERROR** index = " << index << " out of bounds";
cerr << endl;
return 0;
}
fRunSingleHistoRRFList[index]->CalcTheory();
data = fRunSingleHistoRRFList[index]->GetData();
break;
case kRunNo:
for (UInt_t i=0; i<fRunSingleHistoRRFList.size(); i++) {
if (fRunSingleHistoRRFList[i]->GetRunNo() == index) {
data = fRunSingleHistoRRFList[i]->GetData();
break;
}
}
break;
default: // error
break;
}
return data;
}
//--------------------------------------------------------------------------
// GetAsymmetry (public)
//--------------------------------------------------------------------------
@ -601,7 +784,7 @@ PRunData* PRunListCollection::GetAsymmetry(UInt_t index, EDataSwitch tag)
switch (tag) {
case kIndex: // called from musrfit when dumping the data
if ((index < 0) || (index > fRunAsymmetryList.size())) {
cerr << endl << "PRunListCollection::GetAsymmetry: **ERROR** index = " << index << " out of bounds";
cerr << endl << ">> PRunListCollection::GetAsymmetry(): **ERROR** index = " << index << " out of bounds";
cerr << endl;
return 0;
}
@ -624,6 +807,49 @@ PRunData* PRunListCollection::GetAsymmetry(UInt_t index, EDataSwitch tag)
return data;
}
//--------------------------------------------------------------------------
// GetAsymmetryRRF (public)
//--------------------------------------------------------------------------
/**
* <p>Get a processed asymmetry RRF data set.
*
* <b>return:</b>
* - pointer to the run data set (processed data) if data set is found
* - null pointer otherwise
*
* \param index msr-file run index
* \param tag kIndex -> data at index, kRunNo -> data of given run no
*/
PRunData* PRunListCollection::GetAsymmetryRRF(UInt_t index, EDataSwitch tag)
{
PRunData *data = 0;
switch (tag) {
case kIndex: // called from musrfit when dumping the data
if ((index < 0) || (index > fRunAsymmetryRRFList.size())) {
cerr << endl << ">> PRunListCollection::GetAsymmetryRRF(): **ERROR** index = " << index << " out of bounds";
cerr << endl;
return 0;
}
fRunAsymmetryRRFList[index]->CalcTheory();
data = fRunAsymmetryRRFList[index]->GetData();
break;
case kRunNo: // called from PMusrCanvas
for (UInt_t i=0; i<fRunAsymmetryRRFList.size(); i++) {
if (fRunAsymmetryRRFList[i]->GetRunNo() == index) {
data = fRunAsymmetryRRFList[i]->GetData();
break;
}
}
break;
default: // error
break;
}
return data;
}
//--------------------------------------------------------------------------
// GetMuMinus (public)
//--------------------------------------------------------------------------
@ -644,7 +870,7 @@ PRunData* PRunListCollection::GetMuMinus(UInt_t index, EDataSwitch tag)
switch (tag) {
case kIndex:
if ((index < 0) || (index > fRunMuMinusList.size())) {
cerr << endl << "PRunListCollection::GetMuMinus: **ERROR** index = " << index << " out of bounds";
cerr << endl << ">> PRunListCollection::GetMuMinus(): **ERROR** index = " << index << " out of bounds";
cerr << endl;
return 0;
}
@ -686,7 +912,7 @@ PRunData* PRunListCollection::GetNonMusr(UInt_t index, EDataSwitch tag)
switch (tag) {
case kIndex:
if ((index < 0) || (index > fRunNonMusrList.size())) {
cerr << endl << "PRunListCollection::GetNonMusr: **ERROR** index = " << index << " out of bounds";
cerr << endl << ">> PRunListCollection::GetNonMusr(): **ERROR** index = " << index << " out of bounds";
cerr << endl;
return 0;
}

View File

@ -8,7 +8,7 @@
***************************************************************************/
/***************************************************************************
* Copyright (C) 2007-2014 by Andreas Suter *
* Copyright (C) 2007-2016 by Andreas Suter *
* andreas.suter@psi.ch *
* *
* This program is free software; you can redistribute it and/or modify *

View File

@ -8,7 +8,7 @@
***************************************************************************/
/***************************************************************************
* Copyright (C) 2007-2014 by Andreas Suter *
* Copyright (C) 2007-2016 by Andreas Suter *
* andreas.suter@psi.ch *
* *
* This program is free software; you can redistribute it and/or modify *

View File

@ -8,7 +8,7 @@
***************************************************************************/
/***************************************************************************
* Copyright (C) 2007-2014 by Andreas Suter *
* Copyright (C) 2007-2016 by Andreas Suter *
* andreas.suter@psi.ch *
* *
* This program is free software; you can redistribute it and/or modify *
@ -861,7 +861,7 @@ Bool_t PRunSingleHisto::PrepareRawViewData(PRawRunData* runData, const UInt_t hi
if (fScaleN0AndBkg) {
dataNorm = 1.0/ (packing * (fTimeResolution * 1.0e3)); // fTimeResolution us->ns
} else if (!fScaleN0AndBkg && (fMsrInfo->GetMsrPlotList()->at(0).fViewPacking > 0)) {
theoryNorm = (Double_t)fMsrInfo->GetMsrPlotList()->at(0).fViewPacking/(Double_t)packing;
theoryNorm = (Double_t)fMsrInfo->GetMsrPlotList()->at(0).fViewPacking/(Double_t)fPacking;
}
// raw data, since PMusrCanvas is doing ranging etc.
@ -1052,7 +1052,7 @@ Bool_t PRunSingleHisto::PrepareViewData(PRawRunData* runData, const UInt_t histo
if (fScaleN0AndBkg) {
dataNorm = 1.0/ (packing * (fTimeResolution * 1.0e3)); // fTimeResolution us->ns
} else if (!fScaleN0AndBkg && (fMsrInfo->GetMsrPlotList()->at(0).fViewPacking > 0)) {
theoryNorm = (Double_t)fMsrInfo->GetMsrPlotList()->at(0).fViewPacking/(Double_t)packing;
theoryNorm = (Double_t)fMsrInfo->GetMsrPlotList()->at(0).fViewPacking/(Double_t)fPacking;
}
// transform raw histo data. This is done the following way (for details see the manual):

File diff suppressed because it is too large Load Diff

View File

@ -8,7 +8,7 @@
***************************************************************************/
/***************************************************************************
* Copyright (C) 2007-2014 by Andreas Suter *
* Copyright (C) 2007-2016 by Andreas Suter *
* andreas.suter@psi.ch *
* *
* This program is free software; you can redistribute it and/or modify *

View File

@ -8,7 +8,7 @@
***************************************************************************/
/***************************************************************************
* Copyright (C) 2007-2014 by Andreas Suter *
* Copyright (C) 2007-2016 by Andreas Suter *
* andreas.suter@psi.ch *
* *
* This program is free software; you can redistribute it and/or modify *
@ -2307,7 +2307,7 @@ Double_t PTheory::SkewedGauss(register Double_t t, const PDoubleVector& paramVal
Double_t freq = TWO_PI*val[1];
if ((zp >= 25.0) || (zm >= 25.0)) // needed to prevent crash of 1F1
skg = 2.0e300;
skg = 2.0e6;
else if (fabs(val[2]) == fabs(val[3])) // sigma+ == sigma- -> Gaussian
skg = TMath::Cos(phase+freq*tt) * gp;
else

View File

@ -8,7 +8,7 @@
***************************************************************************/
/***************************************************************************
* Copyright (C) 2007-2014 by Andreas Suter *
* Copyright (C) 2007-2016 by Andreas Suter *
* andreas.suter@psi.ch *
* *
* This program is free software; you can redistribute it and/or modify *

View File

@ -8,7 +8,7 @@
***************************************************************************/
/***************************************************************************
* Copyright (C) 2007-2014 by Andreas Suter *
* Copyright (C) 2007-2016 by Andreas Suter *
* andreas.suter@psi.ch *
* *
* This program is free software; you can redistribute it and/or modify *

View File

@ -1437,14 +1437,14 @@ bool TMusrRunHeader::UpdateFolder(TObject *treeObj, TString path)
// remove the first path element
if (!RemoveFirst(path, '/')) {
cerr << endl << ">> TMusrRunHeader::FillFolder(): **ERROR** couldn't tokenize path!!" << endl;
cerr << endl << ">> TMusrRunHeader::UpdateFolder(): **ERROR** couldn't tokenize path!!" << endl;
return false;
}
if (!obj) { // required object not present, create it
TObjArray *oarray = new TObjArray();
if (!oarray) {
cerr << endl << ">> TMusrRunHeader::FillFolder(): **ERROR** couldn't create header structure!!" << endl;
cerr << endl << ">> TMusrRunHeader::UpdateFolder(): **ERROR** couldn't create header structure!!" << endl;
return false;
}
// set the name of the new TObjArray
@ -1636,7 +1636,7 @@ TObjString TMusrRunHeader::GetHeaderString(UInt_t idx)
str += subStr;
str += "; ";
}
subStr.Form(fmt, dvec.size()-1);
subStr.Form(fmt, dvec[dvec.size()-1]);
str += subStr;
str += " -@";
str += MRH_DOUBLE_VECTOR;

Binary file not shown.

View File

@ -12,6 +12,7 @@
\usepackage{rotating}
\usepackage{dcolumn}
\usepackage{geometry}
\usepackage{color}
\geometry{a4paper,left=20mm,right=20mm,top=20mm,bottom=20mm}
@ -72,7 +73,7 @@ E-Mail: & \verb?andreas.suter@psi.ch? &&
%
\section*{\musrfithead plug-in for the calculation of the temperature dependence of $\bm{1/\lambda^2}$ for various gap symmetries}%
This memo is intended to give a short summary of the background on which the \gapint plug-in for \musrfit \cite{musrfit} has been developped. The aim of this implementation is the efficient calculation of integrals of the form
This memo is intended to give a short summary of the background on which the \gapint plug-in for \musrfit \cite{musrfit} has been developed. The aim of this implementation is the efficient calculation of integrals of the form
\begin{equation}\label{int}
I(T) = 1 + \frac{1}{\pi}\int_0^{2\pi}\int_{\Delta(\varphi,T)}^{\infty}\left(\frac{\partial f}{\partial E}\right) \frac{E}{\sqrt{E^2-\Delta^2(\varphi,T)}}\mathrm{d}E\mathrm{d}\varphi\,,
\end{equation}
@ -104,18 +105,27 @@ For the numerical integration we use algorithms of the \textsc{Cuba} library \ci
\subsection*{Implemented gap functions and function calls from MUSRFIT}
Currently the calculation of $\tilde{I}(T)$ is implemented for various gap functions.
The temperature dependence of the gap functions is either given by Eq.(\ref{eq:gapT_Prozorov}) \cite{Prozorov}, or by Eq.(\ref{eq:gapT_Manzano}) \cite{Manzano}.
\vspace{2mm}
\noindent \color{red}\textbf{A few words of warning:~}\color{black} The temperature dependence of the gap function is typically derived from within the BCS framework,
and strongly links $T_c$ and $\Delta_0$ (e.g.\xspace $\Delta_0 = 1.76\, k_{\rm B} T_c$ for an s-wave superconductor). In a self-consistent
description this would mean that $\Delta_0$ of $\Delta(\varphi)$ is locked to $T_c$ as well. In the implementation provided, this limitation
is lifted, and therefore the \emph{user} should judge and question the result if the ratio $\Delta_0/(k_{\rm B}T_c)$ is strongly deviating from
BCS values!
\begin{equation}\label{eq:gapT_Prozorov}
\Delta(\varphi,T) \simeq \Delta(\varphi,0)\,\tanh\left[\frac{\pi k_{\rm B} T_{\rm c}}{\Delta_0}\sqrt{a_{\rm G} \left(\frac{T_{\rm c}}{T}-1\right)}\right]
\Delta(\varphi,T) \simeq \Delta(\varphi)\,\tanh\left[c_0\,\sqrt{a_{\rm G} \left(\frac{T_{\rm c}}{T}-1\right)}\right]
\end{equation}
\noindent with $\Delta_0$ as given below, and $a_{\rm G}$ depends on the pairing state:
\noindent with $\Delta(\varphi)$ as given below, and $c_0$ and $a_{\rm G}$ depends on the pairing state:
\begin{description}
\item [\textit{s}-wave:] $a_{\rm G}=1$ \qquad with $\Delta_0 = 1.76\, k_{\rm B} T_c$
\item [\textit{d}-wave:] $a_{\rm G}=4/3$ \quad with $\Delta_0 = 2.14\, k_{\rm B} T_c$
\item [\textit{s}-wave:] $a_{\rm G}=1$ \qquad with $c_0 = \frac{\displaystyle\pi k_{\rm B} T_{\rm c}}{\displaystyle\Delta_0} = \pi/1.76 = 1.785$
\item [\textit{d}-wave:] $a_{\rm G}=4/3$ \quad with $c_0 = \frac{\displaystyle\pi k_{\rm B} T_{\rm c}}{\displaystyle\Delta_0} = \pi/2.14 = 1.468$
\end{description}
\begin{equation}\label{eq:gapT_Manzano}
\Delta(\varphi,T) \simeq \Delta(\varphi)\tanh\left(1.82\left(1.018\left(\frac{T_{\mathrm c}}{T}-1\right)\right)^{0.51}\right)\,.
\Delta(\varphi,T) \simeq \Delta(\varphi)\tanh\left[1.82\left(1.018\left(\frac{T_{\mathrm c}}{T}-1\right)\right)^{0.51}\right]\,.
\end{equation}
The \gapint plug-in calculates $\tilde{I}(T)$ for the following $\Delta(\varphi)$:
@ -124,37 +134,39 @@ The \gapint plug-in calculates $\tilde{I}(T)$ for the following $\Delta(\varphi)
\begin{equation}
\Delta(\varphi) = \Delta_0
\end{equation}
\musrfit theory line: \verb?userFcn libGapIntegrals TGapSWave 1 2 [3]?\\
(Parameters: $T_{\mathrm c}~(\mathrm{K})$, $\Delta_0~(\mathrm{meV})$, $[a_{\rm G}~(1)]$. If $a_{\rm G}$ is given, the temperature dependence
according to Eq.(\ref{eq:gapT_Prozorov}) will be used, otherwise Eq.(\ref{eq:gapT_Manzano}) will be utilized.)
\musrfit theory line: \verb?userFcn libGapIntegrals TGapSWave 1 2 [3 4]?\\[1.5ex]
Parameters: $T_{\mathrm c}~(\mathrm{K})$, $\Delta_0~(\mathrm{meV})$, $[c_0~(1),~ a_{\rm G}~(1)]$. If $c_0$ and $a_{\rm G}$ are provided,
the temperature dependence according to Eq.(\ref{eq:gapT_Prozorov}) will be used, otherwise Eq.(\ref{eq:gapT_Manzano}) will be utilized.
\item[\textit{d}-wave gap \cite{Deutscher}:]
\begin{equation}
\Delta(\varphi) = \Delta_0\cos\left(2\varphi\right)
\end{equation}
\musrfit theory line: \verb?userFcn libGapIntegrals TGapDWave 1 2 [3]?\\
(Parameters: $T_{\mathrm c}~(\mathrm{K})$, $\Delta_0~(\mathrm{meV})$, $[a_{\rm G}~(1)]$. If $a_{\rm G}$ is given, the temperature dependence
according to Eq.(\ref{eq:gapT_Prozorov}) will be used, otherwise Eq.(\ref{eq:gapT_Manzano}) will be utilized.)
\musrfit theory line: \verb?userFcn libGapIntegrals TGapDWave 1 2 [3 4]?\\[1.5ex]
Parameters: $T_{\mathrm c}~(\mathrm{K})$, $\Delta_0~(\mathrm{meV})$, $[c_0~(1),~a_{\rm G}~(1)]$. If $c_0$ and $a_{\rm G}$ are provided,
the temperature dependence according to Eq.(\ref{eq:gapT_Prozorov}) will be used, otherwise Eq.(\ref{eq:gapT_Manzano}) will be utilized.
\item[non-monotonic \textit{d}-wave gap \cite{Matsui}:]
\begin{equation}
\Delta(\varphi) = \Delta_0\left[a \cos\left(2\varphi\right) + (1-a)\cos\left(6\varphi\right)\right]
\end{equation}
\musrfit theory line: \verb?userFcn libGapIntegrals TGapNonMonDWave1 1 2 3 [4]?\\
(Parameters: $T_{\mathrm c}~(\mathrm{K})$, $\Delta_0~(\mathrm{meV})$, $a~(1)$, $[a_{\rm G}~(1)]$. If $a_{\rm G}$ is given, the temperature dependence
according to Eq.(\ref{eq:gapT_Prozorov}) will be used, otherwise Eq.(\ref{eq:gapT_Manzano}) will be utilized.)
\musrfit theory line: \verb?userFcn libGapIntegrals TGapNonMonDWave1 1 2 3 [4 5]?\\[1.5ex]
Parameters: $T_{\mathrm c}~(\mathrm{K})$, $\Delta_0~(\mathrm{meV})$, $a~(1)$, $[c_0~(1),~a_{\rm G}~(1)]$. If $c_0$ and $a_{\rm G}$ are provided,
the temperature dependence according to Eq.(\ref{eq:gapT_Prozorov}) will be used, otherwise Eq.(\ref{eq:gapT_Manzano}) will be utilized.
\item[non-monotonic \textit{d}-wave gap \cite{Eremin}:]
\begin{equation}
\Delta(\varphi) = \Delta_0\left[\frac{2}{3} \sqrt{\frac{a}{3}}\cos\left(2\varphi\right) / \left( 1 + a\cos^2\left(2\varphi\right)\right)^{\frac{3}{2}}\right],\,a>1/2
\end{equation}
\musrfit theory line: \verb?userFcn libGapIntegrals TGapNonMonDWave2 1 2 3 [4]?\\
(Parameters: $T_{\mathrm c}~(\mathrm{K})$, $\Delta_0~(\mathrm{meV})$, $a~(1)$, $a~(1)$, $[a_{\rm G}~(1)]$. If $a_{\rm G}$ is given, the temperature dependence
according to Eq.(\ref{eq:gapT_Prozorov}) will be used, otherwise Eq.(\ref{eq:gapT_Manzano}) will be utilized.)
\musrfit theory line: \verb?userFcn libGapIntegrals TGapNonMonDWave2 1 2 3 [4 5]?\\[1.5ex]
Parameters: $T_{\mathrm c}~(\mathrm{K})$, $\Delta_0~(\mathrm{meV})$, $a~(1)$, $a~(1)$, $[c_0~(1),~a_{\rm G}~(1)]$.
If $c_0$ and $a_{\rm G}$ are provided, the temperature dependence according to Eq.(\ref{eq:gapT_Prozorov}) will be used,
otherwise Eq.(\ref{eq:gapT_Manzano}) will be utilized.
\item[anisotropic \textit{s}-wave gap \cite{AnisotropicSWave}:]
\begin{equation}
\Delta(\varphi) = \Delta_0\left[1+a\cos\left(4\varphi\right)\right]\,,\,0\leqslant a\leqslant1
\end{equation}
\musrfit theory line: \verb?userFcn libGapIntegrals TGapAnSWave 1 2 3 [4]?\\
(Parameters: $T_{\mathrm c}~(\mathrm{K})$, $\Delta_0~(\mathrm{meV})$, $a~(1)$, $[a_{\rm G}~(1)]$. If $a_{\rm G}$ is given, the temperature dependence
according to Eq.(\ref{eq:gapT_Prozorov}) will be used, otherwise Eq.(\ref{eq:gapT_Manzano}) will be utilized.)
\musrfit theory line: \verb?userFcn libGapIntegrals TGapAnSWave 1 2 3 [4 5]?\\[1.5ex]
Parameters: $T_{\mathrm c}~(\mathrm{K})$, $\Delta_0~(\mathrm{meV})$, $a~(1)$, $[c_0~(1),~a_{\rm G}~(1)]$.
If $c_0$ and $a_{\rm G}$ are provided, the temperature dependence according to Eq.(\ref{eq:gapT_Prozorov}) will be used,
otherwise Eq.(\ref{eq:gapT_Manzano}) will be utilized.
\end{description}
\noindent It is also possible to calculate a power law temperature dependence (in the two fluid approximation $n=4$) and the dirty \textit{s}-wave expression.
@ -164,16 +176,16 @@ Obviously for this no integration is needed.
\begin{equation}
\frac{\lambda(0)^2}{\lambda(T)^2} = 1-\left(\frac{T}{T_{\mathrm c}}\right)^n
\end{equation}
\musrfit theory line: \verb?userFcn libGapIntegrals TGapPowerLaw 1 2?\\
(Parameters: $T_{\mathrm c}~(\mathrm{K})$, $n~(1)$)
\musrfit theory line: \verb?userFcn libGapIntegrals TGapPowerLaw 1 2?\\[1.5ex]
Parameters: $T_{\mathrm c}~(\mathrm{K})$, $n~(1)$
\item[dirty \textit{s}-wave \cite{Tinkham}:]
\begin{equation}
\frac{\lambda(0)^2}{\lambda(T)^2} = \frac{\Delta(T)}{\Delta_0}\,\tanh\left[\frac{\Delta(T)}{2 k_{\rm B} T}\right]
\end{equation}
with $\Delta(T)$ given by Eq.(\ref{eq:gapT}).\\
\musrfit theory line: \verb?userFcn libGapIntegrals TGapDirtySWave 1 2 [3]?\\
(Parameters: $T_{\mathrm c}~(\mathrm{K})$, $\Delta_0~(\mathrm{meV})$, $[a_{\rm G}~(1)]$. If $a_{\rm G}$ is given, the temperature dependence
according to Eq.(\ref{eq:gapT_Prozorov}) will be used, otherwise Eq.(\ref{eq:gapT_Manzano}) will be utilized.)
\musrfit theory line: \verb?userFcn libGapIntegrals TGapDirtySWave 1 2 [3 4]?\\[1.5ex]
Parameters: $T_{\mathrm c}~(\mathrm{K})$, $\Delta_0~(\mathrm{meV})$, $[c_0~(1),~a_{\rm G}~(1)]$.
If $c_0$ and $a_{\rm G}$ are provided, the temperature dependence according to Eq.(\ref{eq:gapT_Prozorov}) will be used,
otherwise Eq.(\ref{eq:gapT_Manzano}) will be utilized.
\end{description}
\noindent Currently there are two gap functions to be found in the code which are \emph{not} documented here:
@ -187,7 +199,8 @@ The \gapint library is free software; you can redistribute it and/or modify it u
\bibliographystyle{plain}
\begin{thebibliography}{1}
\bibitem{musrfit} A.~Suter, \textit{\musrfit User Manual}, https://wiki.intranet.psi.ch/MUSR/MusrFit
\bibitem{musrfit} A. Suter, and B.M. Wojek, Physics Procedia \textbf{30}, 69 (2012).
A.~Suter, \textit{\musrfit User Manual}, http://lmu.web.psi.ch/musrfit/user/MUSR/WebHome.html
\bibitem{cuba} T.~Hahn, \textit{Cuba -- a library for multidimensional numerical integration}, Comput.~Phys.~Commun.~\textbf{168}~(2005)~78-95, http://www.feynarts.de/cuba/
\bibitem{Prozorov} R.~Prozorov and R.W.~Giannetta, \textit{Magnetic penetration depth in unconventional superconductors}, Supercond.\ Sci.\ Technol.\ \textbf{19}~(2006)~R41-R67, and Erratum in Supercond.\ Sci.\ Technol.\ \textbf{21}~(2008)~082003.
\bibitem{Manzano} A.~Carrington and F.~Manzano, Physica~C~\textbf{385}~(2003)~205

View File

@ -459,10 +459,12 @@ TLambdaInvNonMonDWave2::~TLambdaInvNonMonDWave2() {
*/
double TGapSWave::operator()(double t, const vector<double> &par) const {
assert((par.size() == 2) || (par.size() == 3)); // two or three parameters: Tc (K), Delta(0) (meV), [a (1)]
// 2 parameters: see A.~Carrington and F.~Manzano, Physica~C~\textbf{385}~(2003)~205
// 3 parameters: see R. Prozorov and R. Giannetta, Supercond. Sci. Technol. 19 (2006) R41-R67
// parameters: [0] Tc (K), [1] Delta0 (meV), [[2] c0 (1), [3] aG (1)]
assert((par.size() == 2) || (par.size() == 4)); // 2 parameters: see A.~Carrington and F.~Manzano, Physica~C~\textbf{385}~(2003)~205
// 4 parameters: see R. Prozorov and R. Giannetta, Supercond. Sci. Technol. 19 (2006) R41-R67
// and Erratum Supercond. Sci. Technol. 21 (2008) 082003
// c0 in the original context is c0 = (pi kB Tc) / Delta0
if (t<=0.0)
return 1.0;
else if (t >= par[0])
@ -509,7 +511,7 @@ double TGapSWave::operator()(double t, const vector<double> &par) const {
if (par.size() == 2) { // Carrington/Manzano
intPar.push_back(par[1]*tanh(1.82*pow(1.018*(par[0]/t-1.0),0.51)));
} else { // Prozorov/Giannetta
intPar.push_back(par[1]*tanh(0.2707214816*par[0]/par[1]*sqrt(par[2]*(par[0]/t-1.0)))); // tanh(pi kB Tc / Delta(0) * sqrt()), pi kB = 0.2707214816 meV/K
intPar.push_back(par[1]*tanh(par[2]*sqrt(par[3]*(par[0]/t-1.0)))); // Delta0*tanh(c0*sqrt(aG*(Tc/T-1)))
}
fGapIntegral->SetParameters(intPar);
@ -536,10 +538,12 @@ double TGapSWave::operator()(double t, const vector<double> &par) const {
*/
double TGapDWave::operator()(double t, const vector<double> &par) const {
assert((par.size() == 2) || (par.size() == 3)); // two or three parameters: Tc (K), Delta(0) (meV), [a (1)]
// 2 parameters: see A.~Carrington and F.~Manzano, Physica~C~\textbf{385}~(2003)~205
// 3 parameters: see R. Prozorov and R. Giannetta, Supercond. Sci. Technol. 19 (2006) R41-R67
// parameters: [0] Tc (K), [1] Delta0 (meV), [[2] c0 (1), [3] aG (1)]
assert((par.size() == 2) || (par.size() == 4)); // 2 parameters: see A.~Carrington and F.~Manzano, Physica~C~\textbf{385}~(2003)~205
// 4 parameters: see R. Prozorov and R. Giannetta, Supercond. Sci. Technol. 19 (2006) R41-R67
// and Erratum Supercond. Sci. Technol. 21 (2008) 082003
// c0 in the original context is c0 = (pi kB Tc) / Delta0
if (t<=0.0)
return 1.0;
else if (t >= par[0])
@ -585,7 +589,7 @@ double TGapDWave::operator()(double t, const vector<double> &par) const {
if (par.size() == 2) { // Carrington/Manzano
intPar.push_back(par[1]*tanh(1.82*pow(1.018*(par[0]/t-1.0),0.51)));
} else { // Prozorov/Giannetta
intPar.push_back(par[1]*tanh(0.2707214816*par[0]/par[1]*sqrt(par[2]*(par[0]/t-1.0)))); // tanh(pi kB Tc / Delta(0) * sqrt()), pi kB = 0.2707214816 meV/K
intPar.push_back(par[1]*tanh(par[2]*sqrt(par[3]*(par[0]/t-1.0)))); // Delta0*tanh(c0*sqrt(aG*(Tc/T-1)))
}
intPar.push_back(4.0*(t+intPar[1])); // upper limit of energy-integration: cutoff energy
intPar.push_back(TMath::PiOver2()); // upper limit of phi-integration
@ -618,9 +622,10 @@ double TGapDWave::operator()(double t, const vector<double> &par) const {
*/
double TGapCosSqDWave::operator()(double t, const vector<double> &par) const {
assert((par.size() == 3) || (par.size() == 5)); // three or five parameters: Tc (K), DeltaD(0) (meV), DeltaS(0) (meV), [aD (1), aS (1)]
// 3 parameters: see A.~Carrington and F.~Manzano, Physica~C~\textbf{385}~(2003)~205
// 5 parameters: see R. Prozorov and R. Giannetta, Supercond. Sci. Technol. 19 (2006) R41-R67
// parameters: [0] Tc (K), [1] Delta0_D (meV), [2] Delta0_S (meV) [[3] c0_D (1), [4] aG_D (1), [5] c0_S (1), [6] aG_S (1)]
assert((par.size() == 3) || (par.size() == 7)); // 3 parameters: see A.~Carrington and F.~Manzano, Physica~C~\textbf{385}~(2003)~205
// 7 parameters: see R. Prozorov and R. Giannetta, Supercond. Sci. Technol. 19 (2006) R41-R67
// and Erratum Supercond. Sci. Technol. 21 (2008) 082003
if (t<=0.0)
return 1.0;
@ -667,14 +672,14 @@ double TGapCosSqDWave::operator()(double t, const vector<double> &par) const {
if (par.size() == 3) { // Carrington/Manzano
intPar.push_back(par[1]*tanh(1.82*pow(1.018*(par[0]/t-1.0),0.51)));
} else { // Prozorov/Giannetta
intPar.push_back(par[1]*tanh(0.2707214816*par[0]/par[1]*sqrt(par[3]*(par[0]/t-1.0)))); // DeltaD(T) : tanh(pi kB Tc / Delta(0) * sqrt()), pi kB = 0.2707214816 meV/K
intPar.push_back(par[1]*tanh(par[3]*sqrt(par[4]*(par[0]/t-1.0)))); // Delta0_D*tanh(c0_D*sqrt(aG_D*(Tc/T-1)))
}
intPar.push_back(1.0*(t+intPar[1])); // upper limit of energy-integration: cutoff energy
intPar.push_back(TMath::Pi()); // upper limit of phi-integration
if (par.size() == 3) { // Carrington/Manzano
intPar.push_back(par[2]*tanh(1.82*pow(1.018*(par[0]/t-1.0),0.51)));
} else { // Prozorov/Giannetta
intPar.push_back(par[2]*tanh(0.2707214816*par[0]/par[2]*sqrt(par[4]*(par[0]/t-1.0)))); // DeltaS(T) : tanh(pi kB Tc / Delta(0) * sqrt()), pi kB = 0.2707214816 meV/K
intPar.push_back(par[2]*tanh(par[5]*sqrt(par[6]*(par[0]/t-1.0)))); // Delta0_S*tanh(c0_S*sqrt(aG_S*(Tc/T-1)))
}
// double xl[] = {0.0, 0.0}; // lower bound E, phi
@ -705,10 +710,12 @@ double TGapCosSqDWave::operator()(double t, const vector<double> &par) const {
*/
double TGapSinSqDWave::operator()(double t, const vector<double> &par) const {
assert((par.size() == 3) || (par.size() == 5)); // three or five parameters: Tc (K), DeltaD(0) (meV), DeltaS(0) (meV), [aD (1), aS (1)]
// 3 parameters: see A.~Carrington and F.~Manzano, Physica~C~\textbf{385}~(2003)~205
// 5 parameters: see R. Prozorov and R. Giannetta, Supercond. Sci. Technol. 19 (2006) R41-R67
// parameters: [0] Tc (K), [1] Delta0_D (meV), [2] Delta0_S (meV) [[3] c0_D (1), [4] aG_D (1), [5] c0_S (1), [6] aG_S (1)]
assert((par.size() == 3) || (par.size() == 7)); // 3 parameters: see A.~Carrington and F.~Manzano, Physica~C~\textbf{385}~(2003)~205
// 7 parameters: see R. Prozorov and R. Giannetta, Supercond. Sci. Technol. 19 (2006) R41-R67
// and Erratum Supercond. Sci. Technol. 21 (2008) 082003
// c0 in the original context is c0 = (pi kB Tc) / Delta0
if (t<=0.0)
return 1.0;
else if (t >= par[0])
@ -754,14 +761,14 @@ double TGapSinSqDWave::operator()(double t, const vector<double> &par) const {
if (par.size() == 3) { // Carrington/Manzano
intPar.push_back(par[1]*tanh(1.82*pow(1.018*(par[0]/t-1.0),0.51)));
} else { // Prozorov/Giannetta
intPar.push_back(par[1]*tanh(0.2707214816*par[0]/par[1]*sqrt(par[3]*(par[0]/t-1.0)))); // DeltaD(T) : tanh(pi kB Tc / Delta(0) * sqrt()), pi kB = 0.2707214816 meV/K
intPar.push_back(par[1]*tanh(par[3]*sqrt(par[4]*(par[0]/t-1.0)))); // Delta0_D*tanh(c0_D*sqrt(aG_D*(Tc/T-1)))
}
intPar.push_back(1.0*(t+intPar[1])); // upper limit of energy-integration: cutoff energy
intPar.push_back(TMath::Pi()); // upper limit of phi-integration
if (par.size() == 3) { // Carrington/Manzano
intPar.push_back(par[2]*tanh(1.82*pow(1.018*(par[0]/t-1.0),0.51)));
} else { // Prozorov/Giannetta
intPar.push_back(par[2]*tanh(0.2707214816*par[0]/par[2]*sqrt(par[4]*(par[0]/t-1.0)))); // DeltaS(T) : tanh(pi kB Tc / Delta(0) * sqrt()), pi kB = 0.2707214816 meV/K
intPar.push_back(par[2]*tanh(par[5]*sqrt(par[6]*(par[0]/t-1.0)))); // Delta0_S*tanh(c0_S*sqrt(aG_S*(Tc/T-1)))
}
// double xl[] = {0.0, 0.0}; // lower bound E, phi
@ -792,10 +799,13 @@ double TGapSinSqDWave::operator()(double t, const vector<double> &par) const {
*/
double TGapAnSWave::operator()(double t, const vector<double> &par) const {
assert((par.size() == 3) || (par.size() == 4)); // three or four parameters: Tc (K), Delta(0) (meV), a (1), [aS_Gap (1)]
// 3 parameters: see A.~Carrington and F.~Manzano, Physica~C~\textbf{385}~(2003)~205
// 4 parameters: see R. Prozorov and R. Giannetta, Supercond. Sci. Technol. 19 (2006) R41-R67
// parameters: [0] Tc (K), [1] Delta0 (meV), [2] a (1), [[3] c0 (1), [4] aG (1)]
assert((par.size() == 3) || (par.size() == 5)); // 3 parameters: see A.~Carrington and F.~Manzano, Physica~C~\textbf{385}~(2003)~205
// 5 parameters: see R. Prozorov and R. Giannetta, Supercond. Sci. Technol. 19 (2006) R41-R67
// and Erratum Supercond. Sci. Technol. 21 (2008) 082003
// c0 in the original context is c0 = (pi kB Tc) / Delta0
if (t<=0.0)
return 1.0;
else if (t >= par[0])
@ -841,7 +851,7 @@ double TGapAnSWave::operator()(double t, const vector<double> &par) const {
if (par.size() == 3) { // Carrington/Manzano
intPar.push_back(par[1]*tanh(1.82*pow(1.018*(par[0]/t-1.0),0.51)));
} else { // Prozorov/Giannetta
intPar.push_back(par[1]*tanh(0.2707214816*par[0]/par[1]*sqrt(par[3]*(par[0]/t-1.0)))); // DeltaS(T) : tanh(pi kB Tc / Delta(0) * sqrt()), pi kB = 0.2707214816 meV/K
intPar.push_back(par[1]*tanh(par[3]*sqrt(par[4]*(par[0]/t-1.0)))); // Delta0*tanh(c0*sqrt(aG*(Tc/T-1)))
}
intPar.push_back(par[2]);
intPar.push_back(4.0*(t+(1.0+par[2])*intPar[1])); // upper limit of energy-integration: cutoff energy
@ -875,10 +885,12 @@ double TGapAnSWave::operator()(double t, const vector<double> &par) const {
*/
double TGapNonMonDWave1::operator()(double t, const vector<double> &par) const {
assert((par.size() == 3) || (par.size() == 4)); // three or four parameters: Tc (K), Delta(0) (meV), a (1), [aD_Gap (1)]
// 3 parameters: see A.~Carrington and F.~Manzano, Physica~C~\textbf{385}~(2003)~205
// 4 parameters: see R. Prozorov and R. Giannetta, Supercond. Sci. Technol. 19 (2006) R41-R67
// parameters: [0] Tc (K), [1] Delta0 (meV), [2] a (1), [[3] c0 (1), [4] aG (1)]
assert((par.size() == 3) || (par.size() == 5)); // 3 parameters: see A.~Carrington and F.~Manzano, Physica~C~\textbf{385}~(2003)~205
// 5 parameters: see R. Prozorov and R. Giannetta, Supercond. Sci. Technol. 19 (2006) R41-R67
// and Erratum Supercond. Sci. Technol. 21 (2008) 082003
// c0 in the original context is c0 = (pi kB Tc) / Delta0
if (t<=0.0)
return 1.0;
else if (t >= par[0])
@ -924,7 +936,7 @@ double TGapNonMonDWave1::operator()(double t, const vector<double> &par) const {
if (par.size() == 3) { // Carrington/Manzano
intPar.push_back(par[1]*tanh(1.82*pow(1.018*(par[0]/t-1.0),0.51)));
} else { // Prozorov/Giannetta
intPar.push_back(par[1]*tanh(0.2707214816*par[0]/par[1]*sqrt(par[3]*(par[0]/t-1.0)))); // DeltaD(T) : tanh(pi kB Tc / Delta(0) * sqrt()), pi kB = 0.2707214816 meV/K
intPar.push_back(par[1]*tanh(par[3]*sqrt(par[4]*(par[0]/t-1.0)))); // Delta0*tanh(c0*sqrt(aG*(Tc/T-1)))
}
intPar.push_back(par[2]);
intPar.push_back(4.0*(t+intPar[1])); // upper limit of energy-integration: cutoff energy
@ -955,10 +967,12 @@ double TGapNonMonDWave1::operator()(double t, const vector<double> &par) const {
*/
double TGapNonMonDWave2::operator()(double t, const vector<double> &par) const {
assert((par.size() == 3) || (par.size() == 4)); // three parameters: Tc (K), Delta(0) (meV), a (1), [aD_Gap (1)]
// 3 parameters: see A.~Carrington and F.~Manzano, Physica~C~\textbf{385}~(2003)~205
// 4 parameters: see R. Prozorov and R. Giannetta, Supercond. Sci. Technol. 19 (2006) R41-R67
// parameters: [0] Tc (K), [1] Delta0 (meV), [2] a (1), [[3] c0 (1), [4] aG (1)]
assert((par.size() == 3) || (par.size() == 5)); // 3 parameters: see A.~Carrington and F.~Manzano, Physica~C~\textbf{385}~(2003)~205
// 5 parameters: see R. Prozorov and R. Giannetta, Supercond. Sci. Technol. 19 (2006) R41-R67
// and Erratum Supercond. Sci. Technol. 21 (2008) 082003
// c0 in the original context is c0 = (pi kB Tc) / Delta0
if (t<=0.0)
return 1.0;
else if (t >= par[0])
@ -1004,7 +1018,7 @@ double TGapNonMonDWave2::operator()(double t, const vector<double> &par) const {
if (par.size() == 3) { // Carrington/Manzano
intPar.push_back(par[1]*tanh(1.82*pow(1.018*(par[0]/t-1.0),0.51)));
} else { // Prozorov/Giannetta
intPar.push_back(par[1]*tanh(0.2707214816*par[0]/par[1]*sqrt(par[3]*(par[0]/t-1.0)))); // DeltaD(T) : tanh(pi kB Tc / Delta(0) * sqrt()), pi kB = 0.2707214816 meV/K
intPar.push_back(par[1]*tanh(par[3]*sqrt(par[4]*(par[0]/t-1.0)))); // Delta0*tanh(c0*sqrt(aG*(Tc/T-1)))
}
intPar.push_back(par[2]);
intPar.push_back(4.0*(t+intPar[1])); // upper limit of energy-integration: cutoff energy
@ -1056,9 +1070,10 @@ double TGapPowerLaw::operator()(double t, const vector<double> &par) const {
*/
double TGapDirtySWave::operator()(double t, const vector<double> &par) const {
assert((par.size() == 2) || (par.size() == 3)); // two or three parameters: Tc (K), Delta(0) (meV) [a (1)]
// 2 parameters: see A.~Carrington and F.~Manzano, Physica~C~\textbf{385}~(2003)~205
// 3 parameters: see R. Prozorov and R. Giannetta, Supercond. Sci. Technol. 19 (2006) R41-R67
// parameters: [0] Tc (K), [1] Delta0 (meV), [[2] c0 (1), [3] aG (1)]
assert((par.size() == 2) || (par.size() == 4)); // 2 parameters: see A.~Carrington and F.~Manzano, Physica~C~\textbf{385}~(2003)~205
// 4 parameters: see R. Prozorov and R. Giannetta, Supercond. Sci. Technol. 19 (2006) R41-R67
// and Erratum Supercond. Sci. Technol. 21 (2008) 082003
if (t<=0.0)
return 1.0;
@ -1069,7 +1084,7 @@ double TGapDirtySWave::operator()(double t, const vector<double> &par) const {
if (par.size() == 2) { // Carrington/Manzano
deltaT = tanh(1.82*pow(1.018*(par[0]/t-1.0),0.51));
} else { // Prozorov/Giannetta
deltaT = tanh(0.2707214816*par[0]/par[1]*sqrt(par[2]*(par[0]/t-1.0))); // tanh(pi kB Tc / Delta(0) * sqrt()), pi kB = 0.2707214816 meV/K
deltaT = tanh(par[2]*sqrt(par[3]*(par[0]/t-1.0))); // tanh(c0*sqrt(aG*(Tc/T-1)))
}
return deltaT*tanh(par[1]*deltaT/(0.172346648*t)); // Delta(T)/Delta(0)*tanh(Delta(T)/2 kB T), kB in meV/K

View File

@ -8,7 +8,7 @@
***************************************************************************/
/***************************************************************************
* Copyright (C) 2007-2014 by Andreas Suter *
* Copyright (C) 2007-2016 by Andreas Suter *
* andreas.suter@psi.ch *
* *
* This program is free software; you can redistribute it and/or modify *

View File

@ -8,7 +8,7 @@
***************************************************************************/
/***************************************************************************
* Copyright (C) 2007-2014 by Andreas Suter *
* Copyright (C) 2007-2016 by Andreas Suter *
* andreas.suter@psi.ch *
* *
* This program is free software; you can redistribute it and/or modify *

View File

@ -8,7 +8,7 @@
***************************************************************************/
/***************************************************************************
* Copyright (C) 2007-2015 by Andreas Suter *
* Copyright (C) 2007-2016 by Andreas Suter *
* andreas.suter@psi.ch *
* *
* This program is free software; you can redistribute it and/or modify *
@ -55,7 +55,9 @@ class PFourier
virtual const char* GetDataTitle() { return fData->GetTitle(); }
virtual const Int_t GetUnitTag() { return fUnitTag; }
virtual Double_t GetResolution() { return fResolution; }
virtual Double_t GetMaxFreq();
virtual TH1F* GetRealFourier(const Double_t scale = 1.0);
virtual TH1F* GetPhaseOptRealFourier(Double_t &phase, const Double_t scale = 1.0, const Double_t min = -1.0, const Double_t max = -1.0);
virtual TH1F* GetImaginaryFourier(const Double_t scale = 1.0);
virtual TH1F* GetPowerFourier(const Double_t scale = 1.0);
virtual TH1F* GetPhaseFourier(const Double_t scale = 1.0);

View File

@ -1,5 +1,14 @@
/***************************************************************************
* Copyright (C) 2007-2015 by Andreas Suter *
PFourierCanvas.h
Author: Andreas Suter
e-mail: andreas.suter@psi.ch
***************************************************************************/
/***************************************************************************
* Copyright (C) 2007-2016 by Andreas Suter *
* andreas.suter@psi.ch *
* *
* This program is free software; you can redistribute it and/or modify *
@ -40,15 +49,17 @@
// Canvas menu id's
#define P_MENU_ID_FOURIER 10001
#define P_MENU_ID_AVERAGE 10002
#define P_MENU_ID_EXPORT_DATA 10003
#define P_MENU_ID_AVERAGE_PER_DATA_SET 10003
#define P_MENU_ID_EXPORT_DATA 10004
#define P_MENU_ID_FOURIER_REAL 100
#define P_MENU_ID_FOURIER_IMAG 101
#define P_MENU_ID_FOURIER_REAL_AND_IMAG 102
#define P_MENU_ID_FOURIER_PWR 103
#define P_MENU_ID_FOURIER_PHASE 104
#define P_MENU_ID_FOURIER_PHASE_PLUS 105
#define P_MENU_ID_FOURIER_PHASE_MINUS 106
#define P_MENU_ID_FOURIER_PHASE_OPT_REAL 105
#define P_MENU_ID_FOURIER_PHASE_PLUS 106
#define P_MENU_ID_FOURIER_PHASE_MINUS 107
//------------------------------------------------------------------------
/**
@ -59,6 +70,8 @@ typedef struct {
TH1F *dataFourierIm; ///< imaginary part of the Fourier transform of the data histogram
TH1F *dataFourierPwr; ///< power spectrum of the Fourier transform of the data histogram
TH1F *dataFourierPhase; ///< phase spectrum of the Fourier transform of the data histogram
TH1F *dataFourierPhaseOptReal; ///< phase otpimized real Fourier transform of the data histogram
Double_t optPhase; ///< optimal phase which maximizes the real Fourier
} PFourierCanvasDataSet;
//------------------------------------------------------------------------
@ -75,10 +88,12 @@ class PFourierCanvas : public TObject, public TQObject
{
public:
PFourierCanvas();
PFourierCanvas(vector<PFourier*> &fourier, const Char_t* title, const Bool_t showAverage,
PFourierCanvas(vector<PFourier*> &fourier, PIntVector dataSetTag, const Char_t* title,
const Bool_t showAverage, const Bool_t showAveragePerDataSet,
const Int_t fourierPlotOpt, Double_t fourierXrange[2], Double_t phase,
Int_t wtopx, Int_t wtopy, Int_t ww, Int_t wh, const Bool_t batch);
PFourierCanvas(vector<PFourier*> &fourier, const Char_t* title, const Bool_t showAverage,
PFourierCanvas(vector<PFourier*> &fourier, PIntVector dataSetTag, const Char_t* title,
const Bool_t showAverage, const Bool_t showAveragePerDataSet,
const Int_t fourierPlotOpt, Double_t fourierXrange[2], Double_t phase,
Int_t wtopx, Int_t wtopy, Int_t ww, Int_t wh,
const PIntVector markerList, const PIntVector colorList, const Bool_t batch);
@ -103,7 +118,9 @@ class PFourierCanvas : public TObject, public TQObject
Int_t fTimeout; ///< timeout after which the Done signal should be emited. If timeout <= 0, no timeout is taking place
Bool_t fBatchMode; ///< musrview in ROOT batch mode
Bool_t fValid; ///< if true, everything looks OK
Bool_t fAveragedView; ///< tag showing that the averaged view or normal view should be presented.
Bool_t fAveragedView; ///< tag showing that the averaged view for ALL data or normal view should be presented.
Bool_t fAveragedViewPerDataSet; ///< tag showing that the averaged view for individual data sets or normal view should be presented.
PIntVector fDataSetTag; ///< vector holding the data set tags
Int_t fCurrentPlotView; ///< tag showing what the current plot view is: real, imag, power, phase, ...
Double_t fInitialXRange[2]; ///< keeps the initial x-range
Double_t fInitialYRange[2]; ///< keeps the initial y-range
@ -112,7 +129,7 @@ class PFourierCanvas : public TObject, public TQObject
TString fXaxisTitle;
vector<PFourier*> fFourier; ///< keeps all the Fourier data, ownership is with the caller
PFourierCanvasDataList fFourierHistos; ///< keeps all the Fourier histos
PFourierCanvasDataSet fFourierAverage; ///< keeps the average of the Fourier histos
PFourierCanvasDataList fFourierAverage; ///< keeps the average of the Fourier histos
Double_t fCurrentFourierPhase; ///< keeps the current Fourier phase (real/imag)
TLatex *fCurrentFourierPhaseText; ///< used in Re/Im Fourier to show the current phase in the pad
@ -127,7 +144,6 @@ class PFourierCanvas : public TObject, public TQObject
TRootCanvas *fImp; ///< ROOT native GUI version of main window with menubar and drawing area
TGMenuBar *fBar; ///< menu bar
TGPopupMenu *fPopupMain; ///< popup menu MusrFT in the main menu bar
// TGPopupMenu *fPopupSave; ///< popup menu of the MusrFT/Save Data sub menu
TGPopupMenu *fPopupFourier; ///< popup menu of the MusrFT/Fourier sub menu
// canvas related variables
@ -135,6 +151,7 @@ class PFourierCanvas : public TObject, public TQObject
TPaveText *fTitlePad; ///< title pad used to display a title
TPad *fFourierPad; ///< fourier pad used to display the fourier
TLegend *fInfoPad; ///< info pad used to display a legend of the data plotted
TLegend *fLegAvgPerDataSet; ///< legend used for averaged per data set view
virtual void CreateXaxisTitle();
virtual void CreateStyle();
@ -152,6 +169,7 @@ class PFourierCanvas : public TObject, public TQObject
virtual Double_t GetMaximum(TH1F* histo, Double_t xmin=-1.0, Double_t xmax=-1.0);
virtual Double_t GetMinimum(TH1F* histo, Double_t xmin=-1.0, Double_t xmax=-1.0);
virtual Double_t GetInterpolatedValue(TH1F* histo, Double_t xVal);
virtual TString GetDataSetName(TString title);
ClassDef(PFourierCanvas, 1)
};

View File

@ -8,7 +8,7 @@
***************************************************************************/
/***************************************************************************
* Copyright (C) 2007-2015 by Andreas Suter *
* Copyright (C) 2007-2016 by Andreas Suter *
* andreas.suter@psi.ch *
* *
* This program is free software; you can redistribute it and/or modify *

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