diff --git a/doc/html/user/MUSR/BmwLibs.html b/doc/html/user/MUSR/BmwLibs.html index b9d6f6f2..795d441e 100644 --- a/doc/html/user/MUSR/BmwLibs.html +++ b/doc/html/user/MUSR/BmwLibs.html @@ -1,7 +1,7 @@ - +
@@ -21,7 +21,7 @@ - +
msr2data
msr2data
(originally written by B. M. Wojek) is a program implemented in C++
. Its purpose is to process multiple musrfit
msr files with the same parameters and summarize the fitting results either in a TRIUMF DB (1) or a column ASCII file. It evolved from a script called mlog2db
which has been written only for collecting fit results of LEM data stored in mlog files generated by musrfit
and putting them together in a file with the DB format for further analysis. Therefore, any peculiarities, e.g. in supplying options to msr2data
are owed its original purpose.
+msr2data
(originally written by B. M. Wojek) is a program implemented in C++
. Its purpose is to process multiple musrfit
msr files with the same parameters and summarize the fitting results either in a TRIUMF DB here. The DB files produced by msr2data
can be viewed for instance with μView, however, they are not completely 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!">(1) or a column ASCII file. It evolved from a script called mlog2db
which has been written only for collecting fit results of LEM data stored in mlog files generated by musrfit
and putting them together in a file with the DB format for further analysis. Therefore, any peculiarities, e.g. in supplying options to msr2data
are owed its original purpose.
msr2data
is free software and licensed under the GNU GPL version 2 or any later version (at your option).
Before the usage of msr2data will be explained in greater detail first be aware of the following:
@@ -379,7 +379,7 @@ For reporting bugs or requesting new features and improvements please use the
musrfit
User Manual musrt0
can be interrupted. No changes to the msr file are applied in this case.musrt0
is simply terminated.
-
-musrparam
is used in order to extract the fit parameters of multiple msr output files and to summarize them in a multi-column ASCII file which then can be imported by other programs like gnuplot, qtiplot or Origin® to name just a few.
-As mandatory parameters it accepts two file names in the following order: - msr-file-name-1, independent-var1-1, independent-var2-1 - msr-file-name-2, independent-var1-2, independent-var2-2 - etc. --It is allowed to add comment lines starting with %. -
- msr-file-name-1, independent-var1-1, ..., par1, err_par1, par2, err_par2, par3, err_par3, ... - msr-file-name-2, independent-var1-2, ..., par1, err_par1, par2, err_par2, par3, err_par3, ... - etc. --If positive and negative errors are present, it will be -
- msr-file-name-1, independent-var1-1, ..., par1, err_par1-, err_par1+, par2, err_par2-, err_par2+, ... - etc. -- -
musrfit_startup.xml
is a configuration file located at the musrfit
binary path. In this file the following XML tags are allowed to define settings: musrfit
and musrview
will search for data files
msr
file. Additionally, in case a χ2 single-histogram fit is done, also Pearson's χ2 will be added.
@@ -338,7 +310,7 @@ An example would look like:
-msr2msr
is a small utility for converting existing WKM
msr files into musrfit
msr files. It accepts the following parameters: WKM
msr file (mandatory first parameter)
musrfit
msr file (mandatory second parameter)
@@ -350,12 +322,12 @@ A typical example then looks like:
If the input file has already the musrfit
msr file structure, the output file will be just a copy of the input file.
-any2many
is a muSR data file converter. Currently different facilities (PSI, TRIUMF, ISIS, J-PARC) are saving their muSR data files in different formats, or even worse some instruments are using other muSR data formats than others. The aim of any2many
is that these files can be converted into each other. Of course only a subset of header information can be converted.
Currently any2many
can convert the following muSR data file formats: PSI-BIN
(PSI bulk), ROOT
(PSI LEM), MUD
(TRIUMF), NeXus IDF1
and NeXus IDF2
(ISIS), PSI-MDU (PSI bulk internal only), WKM
(outdated ascii file format).
-PSI-BIN
, ROOT
, MUD
, NeXus1-HDF4
, NeXus1-HDF5
, NeXus1-XML
, NeXus2-HDF4
, NeXus2-HDF5
, NeXus2-XML
, WKM
, ASCII
+MusrRoot
, PSI-BIN
(PSI bulk), ROOT
(PSI LEM), MUD
(TRIUMF), NeXus IDF1
and NeXus IDF2
(ISIS), PSI-MDU (PSI bulk internal only), WKM
(outdated ascii file format).
+MusrRoot
, PSI-BIN
, ROOT
, MUD
, NeXus1-HDF4
, NeXus1-HDF5
, NeXus1-XML
, NeXus2-HDF4
, NeXus2-HDF5
, NeXus2-XML
, WKM
, ASCII
NeXus
input file
Will read the two files '2010/lem10_his_0123.root'
and '2010/lem10_his_0012.root'
, rebin them with 25 and export them as LEM ROOT
files with adding rebin25
to the name, e.g. 2010/lem10_his_0123_rebin25.root
.
-nexus_dump
is a little program which tries to read a NeXus
file and send the relevant information (required header info, start of the histos, etc.) to the standard output.
+
+read_musrRoot_runHeader
is a little program which tries to read a MusrRoot
file and send the relevant header information to the standard output.
+
musrgui/musredit
and another tool named msr2data
are available. The purpose of msr2data
is to process multiple msr files with the same parameters and to summarize the fitting results either in a DB or a column ASCII file. Also, new msr files can be generated from a template. For details refer to its manual.
@@ -422,7 +398,7 @@ are various possible parameter definitions which are listed here:
2. <no> <name> <value> <step> <lower_boundary> <upper_boundary>
3. <no> <name> <value> <step> <pos_error> <lower_boundary> <upper_boundary>
-where <no> is the parameter number, <name> is the parameter name (1), <value> is the initial guess of the parameter, <step> the inital step width, <lower/upper_boundary> is the lower/upper boundary for the parameter (2).
+where <no> is the parameter number, <name> is the parameter name (1), <value> is the initial guess of the parameter, <step> the inital step width, <lower/upper_boundary> is the lower/upper boundary for the parameter (2).
In the output file, <value> will be the MINUIT
fit value, <step> will contain the error estimate (or the negative error estimate if MINOS
was successfully used), <pos_error> will have the value none if MINOS
has not been used, otherwise it will show the positive error estimate.
@@ -519,35 +495,35 @@ The THEORY block is used to define the fit function. There is a set of predefine
musrview
—as input data the actual data shown in musrview
is used. In the FOURIER block of the msr file all necessary parameters for calculating and presenting the Fourier transform of the data specified in the PLOT block is given. If the FOURIER block is not present in the msr file, either the parameters set in the XML startup file or the system defaults are taken when the Fourier transform is performed. The block starts with the FOURIER keyword and may contain the following entries on the successive lines: musrfit
musrfit
, his many useful suggestions, contributions, and for the largest part of the user manual of musrfit
which makes it accessible to a broader audience! Many thanks Bastian!
@@ -136,7 +136,7 @@ pre {
musrfit
on Different Platforms NeXus
library
The ROOT
system may or may not be part of the GNU/Linux distribution. If it is, it should be checked that the provided binaries are of a recent version and then these in principle can be installed using a package manager as described above. ROOT
web page and download the packed precompiled binary version matching best the GNU/Linux distribution. Then unpack the bundle to its final destination.
-ROOT
available for your system or e.g. ROOT
should be compiled with another version of GCC
visit the web page and download the 'complete source tree for all systems'. Then unpack this source tree to its destination (e.g. /opt/root-system)(1), configure(2) it (here using the minimal set of options) and compile it as follows right below: +
ROOT
available for your system or e.g. ROOT
should be compiled with another version of GCC
visit the web page and download the 'complete source tree for all systems'. Then unpack this source tree to its destination (e.g. /opt/root-system)chown username:username /opt/root-system/ -R">(1), configure(2) it (here using the minimal set of options) and compile it as follows right below: cd /opt/root-system ./configure linux --gminimal --enable-asimage --enable-mathmore --enable-minuit2 --enable-xml (or in case of a 64 bit installation: ./configure linuxx8664gcc --gminimal --enable-asimage --enable-mathmore --enable-minuit2 --enable-xml) @@ -292,7 +292,7 @@ After the source-code extraction the autogen.sh script is calle Normally it should not be necessary to make use of any of the options except for specifying the installation path with --prefix. The other paths should be detected automatically. If this does not work for some reason the configure script will terminate and ask for the information. -When the configure script has been called successfully everything is ready for building themusrfit
libraries and executables. A standard installation sequence (withoutNeXus
support) might then look like(3): +When the configure script has been called successfully everything is ready for building themusrfit
libraries and executables. A standard installation sequence (withoutNeXus
support) might then look like(3):cd musrfit sh autogen.sh @@ -339,7 +339,7 @@ musrview test-histo-ROOT-NPP.msr Notes - 1 : In case only a single user is working at the machine it might be considerable to change the ownership of the-ROOT
folder so that the user has easy write access to this directory:chown username:username /opt/root-system/ -R+ 1 : In case only a single user is working at the machine it might be considerable to change the ownership of theROOT
folder so that the user has easy write access to this directory: 2 : When usingGCC
≥ 4.2 please make sure that the environment variables USE_PARALLEL_MINUIT2 and USE_OPENMP are not set! OtherwiseMINUIT2
will be compiled with parallelization support and cannot be used together withmusrfit
afterwards since themusrfit
code is not fully thread-safe! When compiled withGCC
≥ 4.2musrfit
itself will parallelize the χ2 calculation. @@ -410,7 +410,7 @@ In order to install theROOT
system, there are two possibilities: < cd /cygdrive/c tar xzf root_v5.xx.yy.win32gcc-gcc-4.3.tar.gz
ROOT
should be built from source, one has to visit the web page, download the 'complete source tree for all systems' and save it for instance in C:\.+
ROOT
should be built from source, one has to visit the web page, download the 'complete source tree for all systems' and save it for instance in C:\.cd /cygdrive/c tar xzf root_v5.xx.yy.source.tar.gz cd root @@ -774,7 +774,7 @@ qmake musrgui.pro make make install-The last command copies musrgui.app to the standard program directory /Applications (4) and the musrgui_startup.xml to $ROOTSYS/bin/musrgui_startup.xml. Eventually, in the installed musrgui_startup.xml the path-specifications have to be adjusted to match the local
musrfit
installation. For detailed information on this XML file refer to the manual.
+The last command copies musrgui.app to the standard program directory /Applications (4) and the musrgui_startup.xml to $ROOTSYS/bin/musrgui_startup.xml. Eventually, in the installed musrgui_startup.xml the path-specifications have to be adjusted to match the local musrfit
installation. For detailed information on this XML file refer to the manual.
Under some circumstances it might happen, that if musrgui
was called from Finder
the necessary libraries for executing musrfit
could not be found.
In that case, the only workaround for the moment is to export the environment variable DYLD_LIBRARY_PATH in the shell and call musrgui
from a terminal!
@@ -812,7 +812,7 @@ musrview test-histo-ROOT-NPP.msr
musrgui / musredit
WKM
users musrfit
Single-Histogram-Fit Tutorial musrfit
is based on so-called msr
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 msr
file and the different programs of the musrfit
suite using the example of a single-histogram fit to time-differential transverse-field μSR data. For a complete description of all options please refer to the manual.
@@ -361,7 +361,7 @@ This page only summarizes the very basic features and options of the programs co
musrfit
WKM
users
musrgui
/musredit
—editors interfacing musrfit
msr2data
—a program for automatically processing multiple musrfit msr
files
-any2many
—a universal μSR-file-format converter any2many
—a universal μSR-file-format converter
+MusrRoot
: an extensible open file format for μSR This is a little help program which reads a NeXus file and dumps most of the relevant information to the standard output. +//**************************************************************************************************** +\page musrRootValidationPage +\section musrRootValidation musrRootValidation +
This program allows to validate a given (or supposedly given) MusrRoot file if it is consistent with the minimal required entries via XML Schema schemes. +Please check \htmlonlyMusrRoot web-page\endhtmlonly \latexonly MusrRoot web-page: \texttt{http://lmu.web.psi.ch/facilities/software/musrfit/user/MUSR/MusrRoot.html}\endlatexonly + +//**************************************************************************************************** +\page read_musrRoot_runHeader_Page +\section read_musrRoot_runHeader read_musrRoot_runHeader +
This is a little help program which reads a MusrRoot file and dumps the RunHeader information to the standard output. + +//**************************************************************************************************** +\page write_musrRoot_runHeader_Page +\section write_musrRoot_runHeader write_musrRoot_runHeader +
This is a little help program shows how to write a MusrRoot file. */ diff --git a/doc/musrfit_dox.cfg b/doc/musrfit_dox.cfg index 47a2da9f..29f64c30 100644 --- a/doc/musrfit_dox.cfg +++ b/doc/musrfit_dox.cfg @@ -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.9.0 +PROJECT_NUMBER = 0.10.0 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. @@ -507,12 +507,17 @@ INPUT = musrfit.dox \ ../src/classes/PTheory.cpp \ ../src/classes/PUserFcnBase.cpp \ ../src/classes/PUserFcn.cpp \ + ../src/external/MusrRoot/TMusrRunHeader.h \ + ../src/external/MusrRoot/TMusrRunHeader.cpp \ ../src/msr2data.cpp \ ../src/msr2msr.cpp \ ../src/musrfit.cpp \ - ../src/musrparam.cpp \ ../src/musrt0.cpp \ - ../src/musrview.cpp + ../src/musrview.cpp \ + ../src/nexus_dump.cpp \ + ../src/musrRootValidation.cpp \ + ../src/read_musrRoot_runHeader.cpp \ + ../src/write_musrRoot_runHeader.cpp # If the value of the INPUT tag contains directories, you can use the # FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp diff --git a/src/external/MusrRoot/MusrRootValidationScheme.odp b/src/external/MusrRoot/MusrRootValidationScheme.odp new file mode 100644 index 00000000..3b125661 Binary files /dev/null and b/src/external/MusrRoot/MusrRootValidationScheme.odp differ