diff --git a/ChangeLog b/ChangeLog index edbfe951..5490fea9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -6,6 +6,7 @@ changes since 0.9.0 =================================== +NEW Added the online documentation to the repository. It can be found under "doc/html". NEW added chisq per run block information (all fit types). The same output rules as for the expected chisq are in place. NEW calculate expected chisq (Pearson's chisq) for single histogram fits. It always will send this information to the stdout but only writes it to the msr-file if a corresponding flag in the musrfit_startup.xml is enabling it. The following diff --git a/doc/html/MUSR/BmwLibs.html b/doc/html/MUSR/BmwLibs.html new file mode 100644 index 00000000..8878872c --- /dev/null +++ b/doc/html/MUSR/BmwLibs.html @@ -0,0 +1,158 @@ + + + + + + + + MUSR :: BmwLibs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+

+

+

+

+ + + + + +

+

+

+

+

\ No newline at end of file diff --git a/doc/html/MUSR/LibFitPofB.html b/doc/html/MUSR/LibFitPofB.html new file mode 100644 index 00000000..09a16180 --- /dev/null +++ b/doc/html/MUSR/LibFitPofB.html @@ -0,0 +1,434 @@ + + + + + + + + MUSR :: LibFitPofB + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+ +

libFitPofB

+ + +

1 Introduction

+

+libFitPofB is a collection of C++ classes using the musrfit user-function interface in order to facilitate the usage in conjunction with musrfit. The classes contained in this library generally implement calculations of one-dimensional static magnetic field distributions P(B) which lead to muon-spin depolarization functions +

+\mathcal{P}(t) = \int P(B)\cos\left(\gamma_{\mu} B t + \varphi\right) \mathrm{d}B, +

+where \gamma_{\mu} = 2\pi\times 135.54~\mathrm{MHz/T} is the gyromagnetic ratio of the muon and \varphi is the initial phase of the muon spins with respect to the positron detector.
+At the moment the only available implementations deal with field distributions measured in local isotropic superconductors, either by means of low-energy μSR in the Meissner state or by conventional μSR in the mixed state. In the following the basic usage of the library in musrfit is explained—the calculations by themselves are only outlined. For further information please refer to the original literature and/or the source code of the implementation. +

+
+Remark 1: In order to supply certain information needed for the calculations but not suited to be stored in the musrfit msr files an XML configuration file in the working directory is used. For details, see below. +

+Remark 2: The implementations in this library heavily rely on FFTW3. 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 ("wisdom handling"). In case this feature shall be used, a valid wisdom file has to be specified in the XML file. +

+Remark 3: The model functions described in the following do generally not behave nicely in conjunction with MINUIT function minimizations (or maximizations). The analysis process at the moment in most cases involves some tedious trial-and-error procedure, where the displayed MINUIT 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 msr2data cannot be advised. +

+Remark 4: 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. +

+

2 LE-μSR

+

2.1 One-dimensional London model for the Meissner state of isotropic superconductors

+

+The models for analyzing LE-μSR data assume the magnetic induction B(z) 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(B) = n(z) \left\vert \frac{\mathrm{d}B(z)}{\mathrm{d}z}\right\vert^{-1}, +

+where n(z) is the muon implantation profile simulated by TRIM.SP. +

+Assuming an array of N isotropic local superconductors with a total thickness d in the Meissner state the magnetic induction is given by solving the 1D London equation +

+\frac{\partial^2}{\partial z^2}B_i(z) = \frac{1}{\lambda_i^2}B_i(z) +

+for each layer i taking into account the boundary conditions(1) +

+B_1(0) = B_N(d) = \mu_0H +

+

+B_i(d_i) = B_{i+1}(d_i) +

+

+\lambda_i^2B_i'(z)\Big\vert_{z=d_i} = \lambda_{i+1}^2B_{i+1}'(z)\Big\vert_{z=d_i}, +

+where the d_i specify the interfaces between two adjacent layers and \lambda_i is the magnetic field penetration depth in the constituent i. +

+The calculation of the field distribution has been set up for a superconducting half-space as well as superconducting thin films with up to three superconducting layers with different penetration depths. The muon-spin depolarization functions are calculated using the following lines in the THEORY block of a musrfit msr file:
+
Superconducting half-space
+userFcn  libFitPofB TLondon1DHS 1 2 3 4 5
+
+
+The parameters are:
    +
  1. phase (deg) +
  2. muon implantation energy as specified in the XML startup file (keV) +
  3. applied field (G) +
  4. thickness of the dead layer (nm) +
  5. magnetic field penetration depth (nm) +
+

+
Superconducting thin film (one layer)
+userFcn  libFitPofB TLondon1D1L 1 2 3 4 5 6 [a b]
+
+
+The mandatory parameters are:
    +
  1. phase (deg) +
  2. muon implantation energy as specified in the XML startup file (keV) +
  3. applied field (G) +
  4. thickness of the dead layer (nm) +
  5. thickness of the actually superconducting layer (nm) +
  6. magnetic field penetration depth (nm) +
+

+The optional parameters are:
    +
  1. fraction f1 of muons in the thin film contributing to the signal (0 ≤ f1 ≤ 1) +
  2. fraction fs of muons in the substrate contributing to the signal (0 ≤ fs ≤ 1) +
+

+
Superconducting thin-film bilayer heterostructure
+userFcn  libFitPofB TLondon1D2L 1 2 3 4 5 6 7 8 [a b c]
+
+
+The mandatory parameters are:
    +
  1. phase (deg) +
  2. muon implantation energy as specified in the XML startup file (keV) +
  3. applied field (G) +
  4. thickness of the dead layer (nm) +
  5. thickness of the actually superconducting first layer (nm) +
  6. thickness of the actually superconducting second layer (nm) +
  7. magnetic field penetration depth of the first layer (nm) +
  8. magnetic field penetration depth of the second layer (nm) +
+

+The optional parameters are:
    +
  1. fraction f1 of muons in the dead and first layer contributing to the signal (0 ≤ f1 ≤ 1) +
  2. fraction f2 of muons in the second layer contributing to the signal (0 ≤ f2 ≤ 1) +
  3. fraction fs of muons in the substrate contributing to the signal (0 ≤ fs ≤ 1) +
+

+
Superconducting thin-film trilayer heterostructure
+userFcn  libFitPofB TLondon1D3L 1 2 3 4 5 6 7 8 9 10 [a b c d]
+
+
+The mandatory parameters are:
    +
  1. phase (deg) +
  2. muon implantation energy as specified in the XML startup file (keV) +
  3. applied field (G) +
  4. thickness of the dead layer (nm) +
  5. thickness of the actually superconducting first layer (nm) +
  6. thickness of the actually superconducting second layer (nm) +
  7. thickness of the actually superconducting third layer (nm) +
  8. magnetic field penetration depth of the first layer (nm) +
  9. magnetic field penetration depth of the second layer (nm) +
  10. magnetic field penetration depth of the third layer (nm) +
+

+The optional parameters are:
    +
  1. fraction f1 of muons in the dead and first layer contributing to the signal (0 ≤ f1 ≤ 1) +
  2. fraction f2 of muons in the second layer contributing to the signal (0 ≤ f2 ≤ 1) +
  3. fraction f3 of muons in the third layer contributing to the signal (0 ≤ f3 ≤ 1) +
  4. fraction fs of muons in the substrate contributing to the signal (0 ≤ fs ≤ 1) +
+

+

+

+Notes +

+ 1 : F. London, Superfluids: Macroscopic Theory of Superconductivity, Dover (1961), p. 34 +

+

+

+
+

+

3 Conventional (bulk) μSR

+

3.1 Field distributions in the mixed state of isotropic superconductors

+

+When investigating superconductors in the mixed state by means of conventional μ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 +

+B(\mathbf{r}) = \langle B \rangle \sum\limits_{\mathbf{K}}B_{\mathbf{K}}\exp(-\imath\mathbf{K}\mathbf{r}), +

+where \mathbf{r}=(x,y), \mathbf{K} are the reciprocal lattice vectors of a two-dimensional vortex lattice and the B_{\mathbf{K}} are the Fourier coefficients depending on the magnetic penetration depth \lambda and the superconducting coherence length \xi. The B_{\mathbf{K}} for some specific models are as follows:
+
London model with Gaussian cutoff(2)

B_{\mathbf{K}} = \frac{\exp\left({-K^2\xi^2/2}\right)}{1 + K^2\lambda^2}

+
Modified London model(3)

B_{\mathbf{K}} = \frac{\exp\left({-K^2\xi^2/2(1-b)}\right)}{1 + K^2\lambda^2/(1-b)},

where b = \langle B \rangle/\mu_0H_{\mathrm{c}2}. +
Analytical Ginzburg-Landau model(4)

B_{\mathbf{K}} = \frac{f_{\infty}K_1\left(\frac{\xi_v}{\lambda}\sqrt{f_{\infty}^2+\lambda^2K^2}\right)}{K_1\left(\frac{\xi_v}{\lambda}f_{\infty}\right)\sqrt{f_{\infty}^2+\lambda^2K^2}},

where f_{\infty} = 1 - b^4,~\xi_v = \xi\left(\sqrt{2}-{3\xi}/\left({4\lambda}\right)\right)\sqrt{(1+b^4)(1-2b(1-b)^2)} and K_1 is a modified Bessel function. +
+Apart from the mentioned analytical models the numerical Ginzburg-Landau model (5) is available. In this case B(\mathbf{r}) is obtained by an iterative minimization of the free energy of the vortex lattice. +

+Concerning the applicability (e.g. field regions) of each of the mentioned models please refer to the original publications! +

+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 XML file.
The muon-spin depolarization functions finally are calculated using the following lines in the THEORY block of a musrfit msr file:
+
2D triangular vortex lattice, London model with Gaussian cutoff
+userFcn  libFitPofB TBulkTriVortexLondon 1 2 3 4
+
+
+The parameters are:
    +
  1. phase (deg) +
  2. mean magnetic induction (G) +
  3. magnetic penetration depth (nm) +
  4. Ginzburg-Landau coherence length (nm) +
+

+
2D triangular vortex lattice, modified London model
+userFcn  libFitPofB TBulkTriVortexML 1 2 3 4
+
+
+The parameters are:
    +
  1. phase (deg) +
  2. mean magnetic induction (G) +
  3. magnetic penetration depth (nm) +
  4. Ginzburg-Landau coherence length (nm) +
+

+
2D triangular vortex lattice, analytical Ginzburg-Landau model
+userFcn  libFitPofB TBulkTriVortexAGL 1 2 3 4
+
+
+The parameters are:
    +
  1. phase (deg) +
  2. mean magnetic induction (G) +
  3. magnetic penetration depth (nm) +
  4. Ginzburg-Landau coherence length (nm) +
+

+
2D triangular vortex lattice, numerical Ginzburg-Landau model
+userFcn  libFitPofB TBulkTriVortexNGL 1 2 3 4
+
+
+The parameters are:
    +
  1. phase (deg) +
  2. mean magnetic induction (G) +
  3. magnetic penetration depth (nm) +
  4. Ginzburg-Landau coherence length (nm) +
+

+Remark: In order to improve the convergence of MIGRAD it has proven useful to use the log-likelihood maximization instead of the χ2 minimization routines and to choose sufficiently large initial steps for the parameters. Calling MINOS in conjunction with these functions is futile.
Therefore, the COMMANDS block of the msr file could look like: +
+COMMANDS
+STRATEGY 0
+MAX_LIKELIHOOD
+MIGRAD
+HESSE
+SAVE
+
+

+

+

+Notes +

+ 2 : E.H. Brandt, J. Low Temp. Phys. 73, 355 (1988). +

+ 3 : T.M. Riseman et al., Phys. Rev. B 52, 10569 (1995). +

+ 4 : A. Yaouanc, P. Dalmas de Réotier and E.H. Brandt, Phys. Rev. B 55, 11107 (1997). +

+ 5 : E.H. Brandt, Phys. Rev. B 68, 054506 (2003). +

+

+

+
+

+ +

4 The XML startup file

+BMW_startup.xml 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-μSR analysis have to be defined. The following XML tags are allowed to define settings:
+
<debug>ONE_OR_ZERO</debug>
activate the debugging output of the settings read from the XML file by setting 1, deactivate it with 0 +
<wisdom>PATH_TO_FILE</wisdom>
specify the PATH_TO_FILE to an FFTW3 wisdom file that should be used; if the PATH_TO_FILE is invalid, no FFTW3 wisdom will be used +
<delta_t>ResT</delta_t>
set the time resolution ResT for the calculated depolarization function in microseconds +
<delta_B>ResB</delta_B>
set the field resolution ResB for the calculated field distribution in Gauss +
<VortexLattice></VortexLattice>
set the parameters used for the calculation of the spatial field distribution of a vortex lattice
+
<N_VortexGrid>N</N_VortexGrid>
specify the number of points N (in each of the two dimensions) for which the fields within the vortex lattice are calculated (inside a <VortexLattice> environment) +
+
<LEM></LEM>
set the parameters used for the calculation of LE-μSR field distributions
+
<data_path>DATA_PATH_PREFIX</data_path>
specify the DATA_PATH_PREFIX to the TRIM.SP implantation profiles (inside a <LEM> environment) +
<N_theory>N_THEORY</N_theory>
specify the number of points N_THEORY for which B(z) is calculated (inside a <LEM> environment)
The specification of this number is not needed if the calculation of the inverse of B(z) is implemented! +
<energy_list></energy_list>
set the energies for which TRIM.SP implantation profiles are available (inside a <LEM> environment)
+
<energy_label>LABEL</energy_label>
specify the LABEL within the file name of a available TRIM.SP RGE file (inside a <energy_list> environment)
The expected name of the RGE file will be: DATA_PATH_PREFIX + LABEL + .rge +
<energy>E</energy>
specify the muon energy E (in keV) belonging to the TRIM.SP RGE file given above (inside a <energy_list> environment) +
+
+
+

+An example XML file looks as follows: +
+<?xml version="1.0" encoding="UTF-8"?>
+<BMW>
+    <debug>0</debug>
+    <wisdom>/home/user/WordsOfWisdom.dat</wisdom>
+    <delta_t>0.01</delta_t>
+    <delta_B>0.5</delta_B>
+    <VortexLattice>
+        <N_VortexGrid>1024</N_VortexGrid>
+    </VortexLattice>
+    <LEM>
+        <data_path>/home/user/TrimSP/some-sample-</data_path>
+        <N_theory>5000</N_theory>
+        <energy_list>
+          <energy_label>02_0</energy_label>
+          <energy>2.0</energy>
+          <energy_label>03_0</energy_label>
+          <energy>3.0</energy>
+          <energy_label>03_6</energy_label>
+          <energy>3.6</energy>
+          <energy_label>05_0</energy_label>
+          <energy>5.0</energy>
+          <energy_label>05_3</energy_label>
+          <energy>5.3</energy>
+        </energy_list>
+   </LEM>
+</BMW>
+
+

+-- BMW & AS
+

+
+
+This topic: MUSR > WebHome > MusrFit > BmwLibs > LibFitPofB
+Topic revision: r16 - 10 Jul 2011 - 17:49:49 - BastianWojek +
+
+
+
 
+
Ideas, requests, problems regarding PSI Wiki? Send feedback
+
+
+
+
+

+

+

+

+ + + + + +

+

+

+

+

\ No newline at end of file diff --git a/doc/html/MUSR/LibZFRelaxation.html b/doc/html/MUSR/LibZFRelaxation.html new file mode 100644 index 00000000..6ab21d80 --- /dev/null +++ b/doc/html/MUSR/LibZFRelaxation.html @@ -0,0 +1,239 @@ + + + + + + + + MUSR :: LibZFRelaxation + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+ +

libZFRelaxation

+ + +

1 Introduction

+

+libZFRelaxation is a collection of C++ classes using the musrfit user-function interface in order to facilitate the usage in conjunction with musrfit. The classes contained in this library implement the calculation of some additional zero-field μSR relaxation functions which are not built-in into musrfit. +

+In the following the use of the implemented functions is shortly introduced—for details on the applicability and derivation of these functions please refer to the original publications. +

+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. +

+

2 Isotropic static Gaussian broadened randomly oriented internal fields

+

+E. I. Kornilov and V. Yu. Pomjakushin, Phys. Lett. A 153, 364–367 (1991), doi: 10.1016/0375-9601(91)90959-C +

+

+\mathcal{P}(t) = \left(1-\alpha\right)\exp\left(-\frac{\sigma_{\mathrm{L}}^2t^2}{2}\right)+\alpha\left(\cos\left(2\pi\nu t\right)-\frac{\sigma_{\mathrm{T}}^2t}{2\pi\nu}\sin\left(2\pi\nu t\right)\right)\exp\left(-\frac{\sigma_{\mathrm{T}}^2t^2}{2}\right) +

+

+musrfit THEORY-block line:
+userFcn libZFRelaxation ZFMagGss 1 2 3 4
+
+The parameters are:
    +
  1. the precessing fraction α (= 2/3 in the article), +
  2. the "internal frequency" ν (MHz), +
  3. the "transverse depolarization rate" σT (μs-1), +
  4. the "longitudinal depolarization rate" σL (μs-1) (= 0 in the article). +
+

+

3 Isotropic static Lorentzian broadened randomly oriented internal fields

+

+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 289–290, 153–156 (2000), doi: 10.1016/S0921-4526(00)00337-9 +

+

+\mathcal{P}(t) = \left(1-\alpha\right)\exp\left(-a_{\mathrm{L}}t\right) + \alpha\left(\cos\left(2\pi\nu t\right)-\frac{a_{\mathrm{T}}}{2\pi\nu}\sin\left(2\pi\nu t\right)\right)\exp\left(-a_{\mathrm{T}}t\right) +

+

+musrfit THEORY-block line:
+userFcn libZFRelaxation ZFMagExp 1 2 3 4
+
+The parameters are:
    +
  1. the precessing fraction α (= 2/3 in the article), +
  2. the "internal frequency" ν (MHz), +
  3. the "transverse depolarization rate" aT (μs-1), +
  4. the "longitudinal depolarization rate" aL (μs-1) (= 0 in the article). +
+

+

4 Static Gaussian distributed fields with uniaxial anisotropy

+

+G. Solt, Hyperfine Interactions 96, 167–175 (1995), doi: 10.1007/BF02066280 +

+

+\mathcal{P}(t) = \frac{1}{2}\sin^2\Theta + \left(\frac{3}{2}\cos^2\Theta-\frac{1}{2}\right)f_1\left(\epsilon\right) + \sin^2\Theta f_2(\epsilon, \sigma_1, t) + \left(\frac{3}{2}\cos^2\Theta-\frac{1}{2}\right)f_3\left(\epsilon, \sigma_1, t\right), +

+where +

+\epsilon = \left(\frac{\sigma_1}{\sigma_3}\right)^2-1,\quad p(x) = 1+\epsilon x^2, +

+

+f_1\left(\epsilon\right) = 1 - \frac{\sqrt{1+\epsilon}}{\epsilon}\left(\sqrt{1+\epsilon}-\left\lbrace \begin{matrix} \left(\mathrm{asinh}\sqrt{\epsilon}\right)/\sqrt{\epsilon} \\ \left(\arcsin\sqrt{-\epsilon}\right)/\sqrt{-\epsilon} \end{matrix} \right\rbrace\right),\:\mathrm{for}\,\bigg\lbrace\begin{matrix}\epsilon > 0 \\ \epsilon < 0\end{matrix}\,, +

+

+f_2\left(\epsilon, \sigma_1, t\right) = \sqrt{1+\epsilon}\int_0^1\mathrm{d}x\left(\frac{1}{p(x)^{3/2}}-\frac{\gamma_{\mu}^2\sigma_1^2t^2}{p(x)^{5/2}}\right)\exp\left(-\frac{\gamma_{\mu}^2\sigma_1^2t^2}{2\,p(x)}\right), +

+and +

+f_3\left(\epsilon, \sigma_1, t\right) = \sqrt{1+\epsilon}\int_0^1\mathrm{d}x\left(1-x^2\right)\left(\frac{1}{p(x)^{3/2}}-\frac{\gamma_{\mu}^2\sigma_1^2t^2}{p(x)^{5/2}}\right)\exp\left(-\frac{\gamma_{\mu}^2\sigma_1^2t^2}{2\,p(x)}\right). +

+

+musrfit THEORY-block line:
+userFcn libZFRelaxation UniaxialStatGssKT 1 2 3
+
+The parameters are:
    +
  1. σ1 (μs-1), +
  2. σ3 (μs-1), +
  3. Θ (°). +
+

+-- BMW & AS
+

+
+
+This topic: MUSR > WebHome > MusrFit > BmwLibs > LibZFRelaxation
+Topic revision: r2 - 10 Jul 2011 - 17:50:10 - BastianWojek +
+
+
+
 
+
Ideas, requests, problems regarding PSI Wiki? Send feedback
+
+
+
+
+

+

+

+

+ + + + + +

+

+

+

+

\ No newline at end of file diff --git a/doc/html/MUSR/Msr2Data.html b/doc/html/MUSR/Msr2Data.html new file mode 100644 index 00000000..673a5a26 --- /dev/null +++ b/doc/html/MUSR/Msr2Data.html @@ -0,0 +1,373 @@ + + + + + + + + MUSR :: Msr2Data + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+

msr2data

+

+ +

+ +

1 Introduction

+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 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: +

+If using msr2data always bear in mind its limitations! +

+

+

+Notes +

+ 1 : For an abridged description of this format see 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! +

+

+

+
+

+ +

2 Basic Types of Usage

+Apart from numerous optional parameters that might be set or not, in principle there are four different ways of calling msr2data. These differ in how the list of runs which should be processed is supplied:
+
msr2data <run> <extension> [optional parameters]
A single run number. +
msr2data <firstRunNo> <lastRunNo> <extension> [optional parameters]
An interval of run numbers is specified through the first and the last run number. The condition <firstRunNo> < <lastRunNo> is not necessary. +
msr2data \[<run1> <run2> ... <runN> \] <extension> [optional parameters]
A space separated list of run numbers can be enclosed in [ and ]. Every run that should be processed has to be specified explicitly by its run number. +
msr2data <runListFileName> <extension> [optional parameters]
An ASCII file containing a list of run numbers and optional external parameters is passed to msr2data. For the structure of the ASCII file see below. +
+

+All four basic types of calling msr2data contain the mandatory file-name <extension> passed right after the list of runs. The meaning of this <extension> should become clear after giving examples for all four cases: +
msr2data 8472 _tf_h13
generates the DB file out.db (can be changed by using the -o option) from 8472_tf_h13.msr. +
msr2data 8472 8474 _tf_h13
generates the DB file out.db (can be changed by using the -o option) from 8472_tf_h13.msr, 8473_tf_h13.msr, and 8474_tf_h13.msr. +
msr2data [8472 8470] _tf_h13
generates the DB file out.db (can be changed by using the -o option) from 8472_tf_h13.msr and 8470_tf_h13.msr. +
msr2data run.list _tf_h13
generates the DB file out.db (can be changed by using the -o option) from all runs listed in the ASCII file run.list in the working directory. In this file it is also possible to include external parameters which should be put in the resulting DB file. The structure of the run.list is the following: + +
+RUN VAR1 VAR2 VAR3 ...
+8460 200 27.1 46.2 ...
+8472 205 27.1 46.3 ...
+8453 210 27.2 45.9 ...
+·     ·    ·    ·
+·     ·    ·    ·
+·     ·    ·    ·
+
+The first not commented and not empty line determines the parameter names and labels and has to be present!
+It is allowed to add comments (with a preceding #) or empty lines to the run-list file. +

+The following should be mentioned together with the above examples:
    +
  • The output files in the examples above are only newly created if they did not exist before invoking msr2data. If the files were already present the msr-file data would be appended! +
  • If the files have been newly created, also the DB 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 header and noheader options as shall be seen later. +
+
    +
  • If the musrfit output files do not have an <extension> as specified above like 8472.msr one has to call msr2data like in the following example:
    +msr2data 8472 8460 ""
    +
    +
+

+ +

3 Optional Parameters

+As mentioned already above there are some optional parameters which change the behavior of msr2data and can be passed in any order. Here is a complete list:
+
data
The output file format is changed to a simple column ASCII file (default output file name: out.dat). +
new
An existing output file is deleted before new information is written to it. +
header
Force the output of the file header—even if the output file was present before. +
noheader
The output of the file header is suppressed—also if the output file is newly created.
If either both or none of the header options are given, msr2data writes the file header only to new files and it solely appends the data blocks to an existing output file assuming that the header is present already. +
nosummary
There will be no attempt to read additional information like the temperature or the applied magnetic field from the data files even if these information were present there. +
-o<outputFileName>, -o <outputFileName>
The processed data will be written to the file <outputFileName> instead of the default out.db or out.dat. If <outputFileName> is equal to none (case-insensitive) the parameter data are not appended to any output file. +
fit
Additionally to the final data collection msr2data will invoke musrfit to fit the specified runs. All msr files are assumed to be present, none is newly generated! +
fit-<template>[!]
Additionally to the final data collection msr2data will generate msr files for the runs specified in the list of runs and invoke musrfit for performing fits of the data. As template for the first run the file <template><extension>.msr (or if not available: <template><extension>.mlog) is used; the subsequent input files will be created using the msr output of the last processed runs ("chain fit"). However, if for all runs only the given template should be used one has to append an exclamation mark (!) to the <template>. +
msr-<template>
The same as fit-<template>[!], without calling musrfit and the final data collection, i.e. only the msr files for the given runs are generated. +
-k
If specified together with the fit-<template> option, the --keep-mn2-output option is passed to musrfit. In the case no fits should be done, this option is ignored. +
-t
In case this option is given additionally to the fit-<template> option, musrfit is called with the --title-from-data-file option. If no fitting is done, this option is ignored. +
+

+In order to illustrate the usage of these parameters a few examples with explanations are given below: +
+msr2data 8400 8460 _tf_h13 -oABC.db fit-8472
+
+Using 8472_tf_h13.msr as first template, msr2data generates subsequent msr input files 8400_tf_h13.msr through 8460_tf_h13.msr, calls musrfit to perform a fit of these files and collects the results of the fits together with the DB header in the new file ABC.db. Additionally, some information about external parameters like the temperature will be passed to ABC.db if it is present in the data files. +
+msr2data [8500 8505] _zf fit-8472 noheader nosummary -o DEF.db 
+
+Using 8472_zf.msr as first template, msr2data generates subsequent msr input files 8500_zf.msr and 8505_zf.msr, calls musrfit to perform a fit of these files and collects the results of the fits in the file DEF.db without writing the DB file header or attempting to read additional information from the data files. +
+msr2data 8595 8585 "" noheader fit-8472! -oGHI.dat data nosummary -k 
+
+Using 8472.msr as template for all runs, msr2data generates the msr input files 8595.msr through 8585.msr, calls musrfit with the option --keep-mn2-ouput to perform a fit of these files and collects the results of the fits in the column-structured ASCII file GHI.dat without writing any file header or attempting to read additional information from the data files. +
+msr2data 8472 8475 "" fit -o none
+
+Take the given msr files 8472.msr through 8475.msr and call musrfit without finally summarizing the results. +
+msr2data 8472 8475 _tf_h13 msr-8471!
+
+Using 8471_tf_h13.msr as template for all runs, msr2data generates the msr input files 8472_tf_h13.msr through 8475_tf_h13.msr. No fitting will be performed and no DB or ASCII output will be generated! +

+ +

4 The Global Mode

+Apart from all the options described above there is another program option: global. This option changes the general behavior of msr2data 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 global option can be used in conjunction with any of the described invocations of msr2data and together with all options stated above. +

+ +

4.1 File Generation

+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:
+
run-specific parameters
these parameters are tagged with the current run number in the format %0Xu, i.e. X digits with leading zeros, at the end of the parameter name, e.g. for a 4-digit-formatted run number alpha0123 if the run number was 123 or for a 8-digit-formatted run number alpha00123456 if the run number was 123456. X has to be at least 4. +
common parameters
all parameters that are not run specific +
+The FITPARAMETER block of an exemplary template file 8472_example.msr could therefore look like:
+    FITPARAMETER
+    #       No   Name      Value     Step        Pos_Error    Boundaries
+            1   Phase     35.8359   -3.94496    3.93749
+            2   Asy8472   0.04501   -0.00208    0.00211      0       0.33
+            3   Field     143.212   -0.27960    0.27885      100     200
+            4   Rate8472  0.14245   -0.02501    0.02279      0       1
+
+Here the parameters 2 and 4 would be treated as run-specific whereas the parameters 1 and 3 would be common to the original and all newly added runs. +

+Normally, within the template file there should not appear explicitly any run-specific parameters in the THEORY and FUNCTIONS blocks. If however, those parameters are met, msr2data will try to substitute them by mapped parameters and add them accordingly to the map contained in each RUN block. +

+When msr2data is called to generate a global msr file, e.g.
+msr2data 8471 8470 _example msr-8472 global
+
+a new msr file 8471+global_example.msr is created. As can be seen in the example, the name of the global msr file always starts with the first specified run number followed by the +global identifier and the template <extension>. +The example's global FITPARAMETER block would be:
+    FITPARAMETER
+    #       No   Name      Value     Step        Pos_Error    Boundaries
+
+    # Common parameters for all runs
+
+            1   Phase     35.8359   -3.94496    3.93749
+            2   Field     143.212   -0.27960    0.27885      100     200
+
+    # Specific parameters for run 8471
+            
+            3   Asy8471   0.04501   -0.00208    0.00211      0       0.33
+            4   Rate8471  0.14245   -0.02501    0.02279      0       1
+
+     # Specific parameters for run 8470
+
+            5   Asy8470   0.04501   -0.00208    0.00211      0       0.33
+            6   Rate8470  0.14245   -0.02501    0.02279      0       1
+
+This shows that the fit parameters are reorganized in a way that the common parameters appear at the beginning of the parameter list and they are followed by copies of the parameters specific to each run (in the specified order!). Additionally, for each specified run new RUN blocks are created—for each run as many as found for the template run.
+During this reorganization all the affected parameter occurrences are changed accordingly! +

+Please be aware of the fact that comments in the template msr file are not propagated to the newly generated global msr file! +

+

4.2 Parameter Extraction

+After fitting some model to the specified data the fit parameters can be extracted from the global msr file to a DB or column-structured ASCII file—as usual this includes also parameters stored in the run data files or externally specified parameters given in a run-list file. +In order to reach this goal the global msr file has to obey certain rules:
    +
  • The order of the parameters has to match the one described above, 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. +
  • The RUN blocks have to be ordered according to the list of runs to be processed. +
+Following these rules—which is achieved most easily by generating the global msr file using msr2data as shown above—the parameters can be extracted e.g. like
+msr2data 8471 8470 _example global data -o globalFit.dat
+
+This will read in the file 8471+global_example.msr, 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 globalFit.dat. +

+ +

4.3 The Extended Global Mode

+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 global+. For example
+msr2data 8471 8470 _example global+ msr-8472
+
+Here, 8472_example.msr is first used as template to generate the file 8471-OneRunFit_example.msr, then musrfit is called for it, the result is used to generate 8470-OneRunFit_example.msr and musrfit is called for that file. Finally, the global fit file 8471+global_example.msr is produced—including the fit results of the OneRunFit files for the run-specific parameters.
+By appending an exclamation mark ! to the global+ option, the given template will be used for every new file generation (similar to the fit option explained before). The +[!] extension will be ignored, if no new global input file is generated.
+The single run msr files are not deleted at the moment. The information contained in them might be useful for some people. Of course the data can also be collected by msr2data. E.g. in order to produce a DB file OneRunFits.db one could call
+msr2data 8471 8470 -OneRunFit_example -o OneRunFits.db
+
+

+Please be aware that the program in this mode always generates new single-run msr files and always calls musrfit 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. +

+ +

5 Known Limitations

    +
  • The indexing run number of the msr file has to be at the begin of every filename. +
  • Within the data file name the RUN# has the format %0Xu, i.e. X digits with leading zeros, and has to be the rightmost number given in this format in the file name. X has to be at least 4. The highest treatable run number is 232-1 = 4294967295. +
  • In order to keep msr2data working properly the msr files should only contain one STATISTIC block at the end of the file and one FITPARAMETER block right after the TITLEmusrfit itself allows to have more creative msr files... +
  • The msr-file generation from a template takes only care of runs given on the first line of a RUN block. ADDRUN statements are simply copied! Since this is most probably not what one likes to do, it is suggested not to use the fit-<template> and msr-<template> options if ADDRUN statements were present in the template file. +
  • msr2data will write only up to two successive empty lines in newly generated msr files. In case more subsequent empty lines are encountered in a template file, these are not copied! Actually, this measure is not a limitation but has been introduced to keep the msr files in a reasonable shape. +
+

+ +

6 The Graphical User Interface Provided by musrgui / musredit

+musrgui/musredit, editors designed especially for the manipulation of musrfit msr files and graphical front ends to musrfit, offer an almost self-explanatory graphical user interface to msr2data depicted below:
+msr2data-input-tabs.png
+
1–3
Choose one of the ways to specify your list of runs. +
4
Give the file extension here, e.g. _zf for files like 8472_zf.msr. If the files do not have an extension this field stays empty. musrgui / musredit take care of passing the "" to msr2data as mentioned above. +
5
Activates the fit-<template> option if <template> is entered. In case the option "Chain Fit" is not set the given template will be used for the input-file generation for all runs to be fitted—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! +
6
Activates the -o<outputFileName> option if <outputFileName> is entered. If nothing is entered the default output file out.db or out.dat is used. +
7
If not set, the noheader option is passed to msr2data. +
8
If set, the nosummary option is passed to msr2data. +
9
If set, the -k option is passed to msr2data. +
10
If set, the data option is passed to msr2data. +
11
If set, the output file is deleted before msr2data is called. Otherwise the data is appended to the file if it existed before msr2data has been called. +
12
If set, after processing by msr2data all specified msr files are opened in tabs in musrgui / musredit. +
13
If set, the -t option is passed to msr2data. +
14
If set, msr2data is called with the option msr-<template> (instead of fit-<template>) and hence is only producing the msr input files without any fitting. +
15
If set, msr2data is called with the option fit, i.e. no template will be used to generate new msr input files; only existing files are fed to musrfit. +
16
If set, msr2data is operating in the global mode. +
17
If set, msr2data is operating in the extended global mode. +
+

+ +

7 Bugtracking

+

+For reporting bugs or requesting new features and improvements please use the PSI Tracker or send an e-mail to A. Suter. +

+-- BMW & AS
+

+
+
+This topic: MUSR > WebHome > MusrFit > Msr2Data
+Topic revision: r38 - 20 Jul 2011 - 12:13:59 - BastianWojek +
+
+
+
 
+
Ideas, requests, problems regarding PSI Wiki? Send feedback
+
+
+
+
+

+

+

+

+ + + + + +

+

+

+

+

\ No newline at end of file diff --git a/doc/html/MUSR/MusrFit.html b/doc/html/MUSR/MusrFit.html new file mode 100644 index 00000000..df71caca --- /dev/null +++ b/doc/html/MUSR/MusrFit.html @@ -0,0 +1,1366 @@ + + + + + + + + MUSR :: MusrFit + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+ +

musrfit User Manual

+ + +

1 Introduction

+

+musrfit is a software tool for analyzing time-differential μSR data. The program suite is free software and licensed under the GNU GPL version 2 or any later version (at your option). It is implemented in C++/ROOT and uses the MINUIT2 libraries developed at CERN for fitting data. Installation instructions for GNU/Linux, MS Windows, and Mac OS X can be found here. For people familiar with the μSR data analysis program WKM there is a short quick start page explaining the major differences between WKM and musrfit. Recent changes of the program are listed in the ChangeLog. +

+

2 Available Executables, Configuration Files and their Basic Usage

+

+ +

2.1 musrfit

+musrfit is the actual fitting program. It defines the FCN routine passed to MINUIT2 and performs χ2 or log-likelihood fitting. +If called from within a shell it accepts several parameters:
+
<msr_file>
filename of the msr input file defining all the details needed for performing a fit to a specified set of data—the only mandatory parameter +
-k, --keep-mn2-output
selects the option for keeping the output of MINUIT2 including the correlation coefficients between different parameters and renaming the files MINUIT2.OUTPUT and MINUIT2.root to <msr_file_without_extension>-mn2.output and <msr_file_without_extension>-mn2.root, repectively, e.g. <msr_file> = 8472.msr8472-mn2.output , 8472-mn2.root +
-c, --chisq-only
Instead of fitting the model, musrfit calculates χ2 only once and sends the result to the standard output if called with this option. This might be useful for the adjustment of the initial values of the fit parameters. +
-t, --title-from-data-file
If this option is given musrfit will replace the title in the <msr_file> by the run title in the data file of the first run appearing in a RUN block. In case there is no run title in the data file no substitution is done. +
--dump <type>
is writing a data file with the fit data and the theory; <type> can be ascii (data in columns) or root (data in ROOT histograms) +
--help
displays a small help notice in the shell explaining the basic usage of the program +
--version
prints the version number of musrfit +
+

+If called with a msr input file, e.g. +
musrfit 8472.msr
+the fit described in the input file will be executed and the results will be written to a mlog output file—in the example 8472.mlog. When the fitting has terminated the msr file and the mlog file are swapped, so that the resultant parameter values can be found in the msr file and the mlog file contains a copy of the input file. The format of the mlog file is the same as that of the msr file. For a detailed description of the msr file format refer to the corresponding section. +

+ +

2.2 musrview

+musrview is an interactive graphical user interface for the presentation of the analyzed data and the corresponding fits. If called from within a shell it accepts the following parameters:
+
<msr_file>
name of the msr input or output file to be displayed—this parameter is mandatory +
--<graphic_format_extension>
will produce a graphics output file without starting a ROOT session. The filename is based on the name of the <msr_file>, e.g. 8472.msr8472_0.png
Supported values for <graphic_format_extension> are eps, pdf, gif, jpg, png, svg, xpm, root +
--help
displays a small help notice in the shell explaining the basic usage of the program +
--version
prints the version number of musrview +
+

+If called with a msr file and the --<graphic_format_extension> option, e.g. +
musrview 8472.msr --jpg
+for each PLOT block in the the msr file a file 8472_X.jpg is produced where X counts the PLOT blocks starting from zero. +

+If called only with a msr file, e.g. +
musrview 8472.msr
+a ROOT canvas is drawn; it contains all experimental data and fits specified in the PLOT block of the msr file. +For a description of the various plotting types refer to the corresponding section. +

+Within the drawn canvas all standard actions applicable to ROOT canvases might be performed. +In the menu bar the Musrfit menu can be found. From there some musrfit-specific actions might be taken:
+
Fourier
performs the Fourier transformation of the selected data and shows the result +
Difference
shows the difference between the selected data and the fit +
Save Data
saves the selected data in a simple multi-column ASCII file +
+

+Additionally, some functions can be accessed using key-shortcuts:
+
q
quits musrview +
d
shows the difference between the selected data and the fit +
f
performs the Fourier transformation of the selected data and shows the result +
u
reset the plotting range to the area given in the msr file ("unzoom") +
+

+ +

2.3 musrt0

+musrt0 is a user interface for the determination of t0 and the time windows of data and background needed to be specified in the RUN blocks of the msr file. It can be operated either as an interactive program or in a non-interactive mode. In the non-interactive mode it accepts the following parameters:
+
<msr_file>
name of an msr file +
-g, --getT0FromPromptPeak [<firstGoodBinOffset>]
tries to estimate t0 from the prompt peak (maximum entry) in each histogram and writes the corresponding values to the t0 lines in the RUN blocks of the msr file. If an optional number <firstGoodBinOffset> is given, the lower limit of the data range will be set to t0 + <firstGoodBinOffset>. +
--help
displays a small help notice in the shell explaining the basic usage of the program +
--version
prints the version number of musrt0 +
+

+The interactive mode of musrt0 is started if the program is called with a sole msr-file argument, e.g. +
musrt0 8472.msr
+Then a ROOT canvas depicting the histogram of the data set mentioned first in the RUN block is drawn in different colors:
+musrt0
+The colors of the data points represent the choice of the time windows of data (blue) and background (red), as well as t0 (green line). In order to change these ranges the mouse cross-hair is moved to a channel of choice and one of the following keys is pressed:
+
q
close the currently open histogram and opens the next (see also below) +
Q
quit musrt0 without writing into the msr file +
z
zoom into the region about the t0 +
u
unzoom to the full range +
t
set t0 +
T
automatically set t0, i.e. jump to the maximum of the histogram +
b
set the lower limit of the background range +
B
set the upper limit of the background range +
d
set the lower limit of the data range +
D
set the upper limit of the data range +
+When all channels have been set correctly for the first histogram, pressing of the key q opens the subsequent histogram listed in a RUN block and the respective channels can be updated there. This procedure is repeated until all histograms given in the RUN blocks are processed. +

+Using the key Q, musrt0 can be interrupted. No changes to the msr file are applied in this case.
+Closing a window by clicking the X button is equivalent to pressing Q, i.e. musrt0 is simply terminated. +

+ +

2.4 musrparam

+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:
+
<input_file_name>
file name of the control file to extract the parameters. +
+The input file itself has the following structure: +
+   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 %. +

+
<output_file_name>
file name of the generated output file. +
+The output will have the structure: +
+   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.
+
+

+ +

2.5 musrfit_startup.xml

+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:
+
<data_path>PATH_TO_DATA</data_path>
add the new path PATH_TO_DATA where musrfit and musrview will search for data files +
<write_per_run_block_chisq>y/n</write_per_run_block_chisq>
if enabled χ2 for each RUN block will be written to the STATISTIC block of the resulting msr file. Additionally, in case a χ2 single-histogram fit is done, also Pearson's χ2 will be added. +
<fourier_settings></fourier_settings>
set the default parameters for the Fourier transform in musrview. For further details refer to the description of the msr file.
+
<units>UNITS</units>
specify the units of the frequency or field-domain. Valid units are Gauss, MHz and Mc/s (inside a <fourier_settings> environment) +
<fourier_power>n</fourier_power>
specify the number of points 2n (n < 21) to be used for the Fourier transform (inside a <fourier_settings> environment) +
<apodization>APOD</apodization>
set the default apodization method. Valid apodizations are none, weak, medium and strong (inside a <fourier_settings> environment) +
<plot>PLOT</plot>
specify which part of the Fourier transform is plotted by default. You can choose between real, imag, real_and_imag, power and phase (inside a <fourier_settings> environment) +
<phase>PH</phase>
set the initial phase shift PH (in degrees) of the data to be Fourier transformed (inside a <fourier_settings> environment) +
<phase_increment>PHINCR</phase_increment>
change the default value of the phase increment (in degrees) used for the phase optimization to PHINCR (inside a <fourier_settings> environment) +
+
<root_settings></root_settings>
change the default ROOT settings
+
<marker_list></marker_list>
specify the order in which musrview should use markers when plotting data (inside a <root_settings> environment)
+
<marker>X</marker>
use the ROOT marker number X (inside a <marker_list> environment) +
+
<color_list></color_list>
specify the order in which musrview should use colors when plotting data (inside a <root_settings> environment)
+
<color>R,G,B</color>
use the RGB coded color (inside a <color_list> environment) +
+
+
+

+An example would look like: +
+   <?xml version="1.0" encoding="UTF-8"?>
+   <musrfit xmlns="https://intranet.psi.ch/MUSR/MusrFit">
+       <data_path>/mnt/data/nemu/his</data_path>
+       <write_per_run_block_chisq>y</write_per_run_block_chisq>
+       <fourier_settings>
+           <units>Gauss</units>
+           <fourier_power>0</fourier_power>
+           <apodization>none</apodization>
+           <plot>real_and_imag</plot>
+           <phase>0.0</phase>
+           <phase_increment>1.0</phase_increment>
+       </fourier_settings>
+       <root_settings>
+           <marker_list>
+               <!-- Root marker numbers -->
+               <marker>24</marker>
+               <marker>25</marker>
+               <marker>26</marker>
+               <marker>27</marker>
+           </marker_list>
+           <color_list>
+               <!-- Color as RGB coded string -->
+               <color>0,0,0</color>
+               <color>255,0,0</color>
+               <color>0,255,0</color>
+               <color>0,0,255</color>
+           </color_list>
+       </root_settings>
+   </musrfit>
+
+

+ +

2.6 msr2msr

+msr2msr is a small utility for converting existing WKM msr files into musrfit msr files. It accepts the following parameters:
+
<msr_file_in>
input WKM msr file (mandatory first parameter) +
<msr_file_out>
converted output musrfit msr file (mandatory second parameter) +
--help
displays a small help notice in the shell explaining the basic usage of the program +
+

+A typical example then looks like: +
msr2msr 8472-WKM.msr 8472-musrfit.msr
+If the input file has already the musrfit msr file structure, the output file will be just a copy of the input file. +

+ +

3 Auxiliary Programs

+Additionally to the programs mentioned above editor front ends called 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. +

+Before going to use musrgui / musredit it is strongly recommended to read this manual first! +

+ +

4 Description of the msr File Format

+The programs are using an input file to control their action. This input file has the extension .msr (msr file). The msr file is built up from different blocks. Each block starts with a keyword and is—with the exception of the title—terminated by an empty line. Comments start with the character #. The various input blocks are described below. +

+ +

4.1 The Title

+The first line of the msr file is the title line. Unlike all the other input blocks, it does not start with a block keyword. It is just a simple text line, in which any information can be placed. The title text will be used in the graphical representation of the data as a headline. +

+ +

4.2 The FITPARAMETER Block

+The FITPARAMETER block is used to define the fit parameters in a MINUIT typical style. There +are various possible parameter definitions which are listed here: +
+   1. <no> <name> <value> <step>
+   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). +

+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. +

+A typical example looks like this: +
+   FITPARAMETER
+   #       No   Name      Value     Step        Pos_Error    Boundaries
+           1   alpha     1          0.02       none         0       1.8
+           2   asy       0.1042     0.004713   none         0       0.33
+           3   phase     15         1.0        none
+           4   freq      0.9        0.0379     none
+           5   rate      0.03       0.00579    none
+
+

+There is also the possibility to constrain the parameters to semi-defined intervals (like par > a or par < b). The syntax is as follows: +
+   FITPARAMETER
+   #       No   Name      Value     Step        Pos_Error    Boundaries
+   # Specify only a lower boundary for the parameter
+           1   Asy1      0.04501   -0.00208    0.00211      0       none
+
+   # Specify only an upper boundary for the parameter
+           2   Rate1     0.14245   -0.02501    0.02279      none    10
+
+   # Specify lower and upper boundaries for the parameter
+           3   Asy2      0.14501   -0.00208    0.00211      0       0.33
+
+   # Do not specify boundaries at all
+           4   Field2    343.212   -2.27960    2.27885      
+           5   Rate2     0.42045   -0.02501    0.02279      none    none
+
+

+

+

+Notes +

+ 1 : a standard string without whitespace +

+ 2 : According to the MINUIT manual this should be avoided whenever possible! +

+

+

+
+

+ +

4.3 The THEORY Block

+The THEORY block is used to define the fit function. There is a set of predefined functions available. It is also possible to use externally defined functions. How to use them will be explained afterwards, here only the predefined functions are described. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
name abbreviation parameters mathematical expression reference
asymmetry a A\,(1) A
simplExpo se \lambda\,(\mu\text{s}^{-1}) \exp\left(-\lambda t\right)
generExpo ge \lambda\,(\mu\text{s}^{-1}), \beta\,(1) \exp\left[-\left(\lambda t\right)^{\beta}\right]
simpleGss sg \sigma\,(\mu\text{s}^{-1}) \exp\left[-\frac{1}{2}\left(\sigma t\right)^2\right]
statGssKT stg \sigma\,(\mu\text{s}^{-1}) \frac{1}{3} + \frac{2}{3} \left[1-(\sigma t)^2\right] \exp\left[-\frac{1}{2}\left(\sigma t\right)^2\right] dead!
statGssKTLF sgktlf \nu\,(\mathrm{MHz}), \sigma\,(\mu\text{s}^{-1}) G_{\mathrm{G,LF}}(t) \equiv 1-\frac{2\sigma^2}{(2\pi\nu)^2}\left[1-\exp\left(-\frac{1}{2}\sigma^2t^2\right)\cos(2\pi\nu t)\right]+\frac{2\sigma^4}{(2\pi\nu)^3}\int^t_0 \exp\left(-\frac{1}{2}\sigma^2\tau^2\right)\sin(2\pi\nu\tau)\mathrm{d}\tau (4)
dynGssKTLF dgktlf \nu\,(\mathrm{MHz}), \sigma\,(\mu\text{s}^{-1}), \Gamma\,(\mathrm{MHz}) \frac{1}{2\pi \imath}\int_{\gamma-\imath\infty}^{\gamma+\imath\infty} \frac{f_{\mathrm{G}}(s+\Gamma)}{1-\Gamma f_{\mathrm{G}}(s+\Gamma)} \exp(s t) \mathrm{d}s,\mathrm{where}\,f_{\mathrm{G}}(s)\equiv \int_0^{\infty}G_{\mathrm{G,LF}}(t)\exp(-s t) \mathrm{d}t (5)
statExpKT sekt \lambda\,(\mu\text{s}^{-1}) \frac{1}{3} + \frac{2}{3} \left[1-\lambda t\right] \exp\left(-\lambda t\right) (6)
statExpKTLF sektlf \nu\,(\mathrm{MHz}), a\,(\mu\text{s}^{-1}) 1-\frac{a}{2\pi\nu}j_1(2\pi\nu t)\exp\left(-at\right)-\left(\frac{a}{2\pi\nu}\right)^2 \left[j_0(2\pi\nu t)\exp\left(-at\right)-1\right]-a\left[1+\left(\frac{a}{2\pi\nu}\right)^2\right]\int^t_0 \exp\left(-a\tau\right)j_0(2\pi\nu\tau)\mathrm{d}\tau \equiv G_{\mathrm{L,LF}}(t) (7)
dynExpKTLF dektlf \nu\,(\mathrm{MHz}), a\,(\mu\text{s}^{-1}), \Gamma\,(\mathrm{MHz}) \frac{1}{2\pi \imath}\int_{\gamma-\imath\infty}^{\gamma+\imath\infty} \frac{f_{\mathrm{L}}(s+\Gamma)}{1-\Gamma f_{\mathrm{L}}(s+\Gamma)} \exp(s t) \mathrm{d}s,\mathrm{where}\,f_{\mathrm{L}}(s)\equiv \int_0^{\infty}G_{\mathrm{L,LF}}(t)\exp(-s t) \mathrm{d}t (8)
combiLGKT lgkt \lambda\,(\mu\text{s}^{-1}), \sigma\,(\mu\text{s}^{-1}) \frac{1}{3}+\frac{2}{3}\left(1-\sigma^2 t^2-\lambda t\right)\exp\left(-\frac{\sigma^2t^2}{2}-\lambda t\right) dead!
spinGlass spg \lambda\,(\mu\text{s}^{-1}), \gamma\,(\mu\text{s}^{-1}), q\,(1) \frac{1}{3}\exp\left(-\sqrt{\frac{4\lambda^2(1-q)t}{\gamma}}\right)+\frac{2}{3}\left(1-\frac{q\lambda^2t^2}{\sqrt{\frac{4\lambda^2(1-q)t}{\gamma}+q\lambda^2t^2}}\right)\exp\left(-\sqrt{\frac{4\lambda^2(1-q)t}{\gamma}+q\lambda^2t^2}\right) dead!
rdAnisoHf rahf \nu\,(\mathrm{MHz}), \lambda\,(\mu\text{s}^{-1}) \frac{1}{6}\left(1-\frac{\nu t}{2}\right)\exp\left(-\frac{\nu t}{2}\right)+\frac{1}{3}\left(1-\frac{\nu t}{4}\right)\exp\left(-\frac{\nu t + 2.44949\lambda t}{4}\right) (9)
TFieldCos tf \varphi\,(^{\circ}), \nu\,(\mathrm{MHz}) \cos\left(2\pi\nu t+\frac{\pi\varphi}{180}\right) dead!
internFld if \alpha\,(1), \varphi\,(^{\circ}), \nu\,(\mathrm{MHz}), \lambda_{\mathrm{T}}\,(\mu\text{s}^{-1}), \lambda_{\mathrm{L}}\,(\mu\text{s}^{-1}) \alpha\,\cos\left(2\pi\nu t+\frac{\pi\varphi}{180}\right)\exp\left(-\lambda_{\mathrm{T}}t\right)+(1-\alpha)\,\exp\left(-\lambda_{\mathrm{L}}t\right) dead!
Bessel b \varphi\,(^{\circ}), \nu\,(\mathrm{MHz}) j_0\left(2\pi\nu t+\frac{\pi\varphi}{180}\right) dead!
internBsl ib \alpha\,(1), \varphi\,(^{\circ}), \nu\,(\mathrm{MHz}), \lambda_{\mathrm{T}}\,(\mu\text{s}^{-1}), \lambda_{\mathrm{L}}\,(\mu\text{s}^{-1}) \alpha\,j_0\left(2\pi\nu t+\frac{\pi\varphi}{180}\right)\exp\left(-\lambda_{\mathrm{T}}t\right)+(1-\alpha)\,\exp\left(-\lambda_{\mathrm{L}}t\right) dead!
abragam ab \sigma\,(\mu\text{s}^{-1}), \gamma\,(\mathrm{MHz}) \exp\left[-\frac{\sigma^2}{\gamma^2}\left(e^{-\gamma t}-1+\gamma t\right)\right] dead!
skewedGss skg \varphi\,(^{\circ}), \nu\,(\mathrm{MHz}), \sigma_{-}\,(\mu\text{s}^{-1}), \sigma_{+}\,(\mu\text{s}^{-1}) \frac{\sigma_{-}}{\sigma_{+}+\sigma_{-}}\exp\left[-\frac{\sigma_{-}^2t^2}{2}\right]\left\lbrace\cos\left(2\pi\nu t+\frac{\pi\varphi}{180}\right)+\sin\left(2\pi\nu t+\frac{\pi\varphi}{180}\right)\mathrm{Erfi}\left(\frac{\sigma_{-}t}{\sqrt{2}}\right)\right\rbrace+ \frac{\sigma_{+}}{\sigma_{+}+\sigma_{-}}\exp\left[-\frac{\sigma_{+}^2t^2}{2}\right]\left\lbrace\cos\left(2\pi\nu t+\frac{\pi\varphi}{180}\right)-\sin\left(2\pi\nu t+\frac{\pi\varphi}{180}\right)\mathrm{Erfi}\left(\frac{\sigma_{+}t}{\sqrt{2}}\right)\right\rbrace memo pdf
polynom p t_0\,([t]), a_0\,(1),\,a_1\,(1),\,\dots,\,a_{n}\,(1) \sum\limits_{i=0}^{n}a_i \left(t-t_0\right)^i  
+

+

+Every theory function has to be written on a single line. It starts with the theory function name or its abbreviation followed by the parameters. Consecutive lines of theory functions will be multiplied. If theory functions need to be added, a line with a + has to separate them. The parameters are given as the numbers assigned to them in the FITPARAMETER block. The order of the parameters is given in the table above. As an example +
+   simplExpo 4
+
+defines an exponential function with a depolarization rate λ given by the parameter 4 of the FITPARAMETER-block. A full fetched THEORY block could be +
+   THEORY
+   asymmetry 2
+   simplExpo 3
+   TFieldCos 4 5
+   +
+   asymmetry 6
+   simplExpo 7
+
+which means A(t) = p2 e-p3t cos(2π p5t + p4 π/180) + p6 e-p7t, where pα is the parameter α. +

+

+

+Notes +

+ 4 : R. S. Hayano et al., Phys. Rev. B 20 (1979) 850 +

+ 5 : R. S. Hayano et al., Phys. Rev. B 20 (1979) 850; P. Dalmas de Réotier and A. Yaouanc, J. Phys.: Condens. Matter 4 (1992) 4533; A. Keren, Phys. Rev. B 50 (1994) 10039 +

+ 6 , 7 : Y. J. Uemura et al., Phys. Rev. B 31 (1985) 546 +

+ 8 : R. S. Hayano et al., Phys. Rev. B 20 (1979) 850; P. Dalmas de Réotier and A. Yaouanc, J. Phys.: Condens. Matter 4 (1992) 4533 +

+ 9 : R. E. Turner and D. R. Harshman, Phys. Rev. B 34 (1986) 4467 +

+

+

+
+

+ +

4.3.1 Maps

+In case different runs are fitted simultaneously, it is very often necessary that for a given theory function, some parameters are run-dependent. An example could be a temperature scan, where the parameters (asymmetry, depolarization rates, etc.) will depend on the temperature. In order to handle such situations, a mapping of parameters in the THEORY block is possible. That means, instead of a parameter number, the mapping of the parameter is given. The definition of the mapping block is part of the RUN block and will be described there. For example +
+   THEORY
+   asymmetry 2
+   simplExpo 3
+   TFieldCos 4 5
+   +
+   asymmetry map1
+   simplExpo map2
+
+means that the first part of this theory function is common to all runs, as for instance the background, and the second part is changing from run to run, i.e. map1/2 will point to different parameters depending on the run. +

+ +

4.3.2 Functions

+Yet another useful feature is the possibility to define functions in the FUNCTIONS block. Within the THEORY block these functions can be addressed as funα, where α is the function number, e.g. fun2. +

+ +

4.3.3 User Functions

+In the case complicated and not predefined functions are needed to fit data, musrfit offers the possibility to implement external functions and introduce them to musrfit through the ROOT dictionary mechanism. The detailed rules these user-defined functions have to obey will be discussed in the according section. Here only the syntax for the msr file is provided. +To call a user function in the THEORY block the keyword userFcn is used. It is followed by the name of the shared library which holds the C++ class where the function is implemented and the name of the class. Finally, all parameters are given in the order needed by the class. Of course it is also possible to use mapped parameters or functions instead of specifying the parameters directly. +

+A THEORY block including a user function may then look like +
+   THEORY
+   asymmetry 1
+   userFcn libMyLibrary.so TMyFunction 2 3 4 map1 fun1
+   +
+   ...
+
+

+ +

4.4 The FUNCTIONS Block

+musrfit utilizes a powerful parser. Therefore, it is possible to define even rather complicated functional relations between the fit parameters and use these in the THEORY block (and in one exceptional case also in the RUN-block). Supported is the use of basic arithmetics:
+
+
Addition +
-
Subtraction +
*
Multiplication +
/
Division +
()
Parentheses +
+

+The following functions are built-in and can be used in a function definition: cos(), sin(), tan(), acos(), asin(), atan(), cosh(), sinh(), tanh(), acosh(), asinh(), atanh(), exp(), log(), ln(), sqrt(), pow(base, exponent) +

+Furthermore, some constants are predefined and might also be used:
    +
  • gamma_mu = γμ/2π = 0.0135538817 MHz/G +
  • pi = π = 3.14159265358979323846 +
+

+The fit parameters are accessed either directly through parα, where α is the number of the parameter in the FITPARAMETER block, e.g. par5 or through a mapping with mapδ, where δ specifies the mapping number in the RUN block as explained below. +

+The defined functions are denoted as funα, where α is the function number, i.e. fun1, fun2, etc. and have to be placed separately on one line each. Afterwards they might be used in the THEORY block. +

+It follows an example to illustrate the usage of functions in the THEORY block. The total asymmetry of a signal consisting of two parts should be a fit parameter. The fraction of each of the parts will then be expressed as a function of the total asymmetry. +

+
+   FITPARAMETER
+   #       No   Name      Value     Step        Pos_Error    Boundaries
+           1   alpha     1          0.02       none         0       1.8
+           2   phase     15         1.0        none
+           3   asy       0.2542     0.004713   none         0       0.33
+           4   rate1     15         1.0        none         0       none
+           5   frac1     0.33       0.0379     none         0       1
+           6   rate2     0.13       0.00579    none         0       10
+
+   ###############################################################
+   THEORY
+   asymmetry   fun1
+   simplExpo      4                   (rate)
+   +
+   asymmetry   fun2
+   simplExpo      6                   (rate)
+
+   ###############################################################
+   FUNCTIONS
+   fun1 = par3 * par5
+   fun2 = par3 * ( 1.0 - par5 )
+
+
+

+In the case that functions have to be fitted which cannot be defined in the FUNCTIONS block, the functions can be implemented externally and made usable through the userFunc mechanism. +

+ +

4.5 The RUN Block

+The RUN block is used to collect the data needed for a particular run to be fitted. This includes the run name, fit type, data format, etc. The RUN block is slightly differently organized than the other blocks. The information is collected via labels followed by the information. Each run to be fitted has its own RUN block. A RUN block starts with a run-file line which has the structure +
+   RUN <run_file_name> <beamline> <facility> <file_format>
+
+

+ + + + + + + + + + + + + + + + + + + + + + + + +
RUN-block tag comment
<run_file_name> sub path and filename without extension
<beamline> name of the beamline where the data were taken, e.g. MUE4. Used to generate a default path.
<facility> name of the facility where the data were recorded, e.g. PSI. Used to generate a default path.
<file_format> file format: NEXUS, ROOT-NPP, ROOT-PPC, PSI-BIN, PSI-MDU, WKM, MUD, MDU-ASCII, ASCII, DB
+

+The tokens following the RUN statement are used to identify the run, the potential location where the run might be found, and the file format in which the run data has been saved. In order to understand the meaning of all the above tokens, a short digression is needed. +

+ +Where is musrfit looking for data files? There is a specific order how this is done:
    +
  • Check if the file is found in the current directory +
  • Check if the path (or multiple paths) was (were) given in the XML startup file. +
  • Check if there is a system variable MUSRFULLDATAPATH. This system variable can contain multiple search paths separated by colons, e.g.
    +export MUSRFULLDATAPATH=/mnt/data/nemu/wkm/:/mnt/data/nemu/his/:/afs/psi.ch/user/s/smith/
    +
    +
  • Construct the search path from the RUN-block information in the following way: Based on the RUN line in the RUN block, default paths will be generated, e.g. for
    +RUN lem07_his_2018 MUE4 PSI ROOT-NPP
    +
    the generated search path will look like
    +musrFullDataPathToken/DATA/Facility/Beamline/Year/runName.ext
    +
    where musrFullDataPathToken is extracted from the MUSRFULLDATAPATH token by token, for the above example this might lead to the path
    +/afs/psi.ch/user/s/smith/DATA/PSI/MUE4/2007/lem07_his_2018.root
    +
    +
+

+Here are some valid examples for the first line of a RUN block:
+RUN 2007/lem07_his_2018 MUE4 PSI ROOT-NPP
+RUN 2007/lem07_2018_rb1_npp MUE4 PSI WKM
+RUN d2007/deltat_pta_gps_2650 PIM3 PSI PSI-BIN
+RUN d2010/tdc/deltat_tdc_gpd_8472 MUE1 PSI PSI-BIN
+RUN beautiful-data MUE4 PSI DB
+
+

+After this short digression back to the RUN-block description. +

+In order to describe the operations needed for fitting and plotting, quite some information are needed. These information are following the RUN statement and are listed below. Depending on the fit type these information vary and hence it is indicated for which fit/plot type the information is applicable. +
+
ADDRUN <run_file_name> <beamline> <facility> <file_format> (optional)
If an ADDRUN is just following after a RUN statement, these runs will be added. More than one ADDRUN statements are possible, i.e. adding up as many runs as wished. It is also possible to add runs with different file formats. If the t0's are given in the data files, the ADDRUN statement is all what is needed, otherwise just add the t0's with the addt0 statement.
+
+For a 'Single Histogram Fit' it will be
+addt0 t0AddRun1
+addt0 t0AddRun2
+etc.
+
For an 'Asymmetry Fit' this reads
+addt0 t0AddRun1Forward t0AddRun1Backward
+addt0 t0AddRun2Forward t0AddRun2Backward
+etc.
+
How will the background and data ranges be handled in this situation? First, the ADDRUN's will be shifted in time such that all the t0's have the same channel/bin number. Subsequently, the runs will be added. The background/data range is applied to this summed up new histogram. ADDRUN is not available for the fit type 'Non-μSR Fit' (sorry no ). +

+
+
fittype (required)
This tag is used to indicate which type of fit is wished. The supported fit types are:
+
0
Single Histogram Fit +
2
Asymmetry Fit +
4
Asymmetry Fit in a Rotating Reference Frame (Fitting is actually never going to be supported; eventually, it will be possible to plot data in a rotating reference frame) +
8
Non-μSR Fit +
+
+

+ The description of these fit types can be found in the corresponding section. +

+
alpha, beta (fit types 2, 4)
These parameters are used to correct the asymmetry for different detector efficiencies, solid angles and initial asymmetries. They are defined as α≡N0,b/N0,f and β≡|A0,b/A0,f|. If the parameters are not specified in the RUN block, for each one the value of 1 is assumed. +
+

+
alpha2, beta2 (fit type 4)
α and β parameters for the calculation of the asymmetry of the second pair of detectors for a plot in a rotating reference frame. +
+

+
+
norm (fit type 0)
Number of the fit parameter that represents the normalization constant N0 of the histogram; the value of this parameter is given either per nanosecond or per bin (see below). It is possible to substitute the parameter number by a function here (and only here in a RUN block), for instance to relate N0s of different histograms through an α parameter. +
+

+
backgr.fit (fit type 0)
Parameter number specifying the constant background in a histogram. Its value is given either per nanosecond or per bin (see below). If this keyword is present, any information on a background line are ignored. +
+

+
lifetime (fit type 0)
Fit parameter representing the lifetime of the muon. If it is not specified the value τμ=2.197019 μs is used in the calculations. +
+

+
+
lifetimecorrection (fit type 0)
Does not accept any arguments. If present, the output in musrview is corrected for the exponential decay of the muon. +
+

+
map
On this line the mapping of run-dependent parameters is done. Parameter numbers given here may be accessed through map1, map2, etc. in the THEORY and FUNCTIONS blocks (see also here). The first ten maps are always present and have the value 0 if not used; however, the total number of maps is not restricted! +
+

+
+
forward (fit type 0)
Number of the histogram in the data file to be processed. If histograms shall be grouped, all the numbers which shall be grouped. Examples:
+  forward 3   # no grouping, take histogram number 3
+  forward 1 2 # group histogram number 1 and 2
+
+
+

+
forward, backward (fit types 2, 4)
Numbers of the histograms in the data file that should be taken to calculate the asymmetry. If histograms shall be grouped, all the numbers which shall be grouped. Examples:
+  # build forward/backward asymmetry with histogram 1 and 3
+  forward  1
+  backward 3
+  # build forward/backward asymmetry with groupings 1+2+3 and 7+8+9
+  forward   1 2 3
+  backward  7 8 9
+
+
+

+
backgr.fix (fit types 0, 2, 4)
A fixed constant background in counts per nanosecond or per bin (see below) may be given at this point. The background is specified for all histograms in the order Bf Bb [Br Bl]. If this keyword is present, any information on a background line is ignored. +
+

+
background (fit type 0)
The numbers of the first and the last channel of an interval from which the constant background should be calculated are specified here. In case histograms are being grouped, the specified channels are interpreted with respect to the first histogram. +
+

+
background (fit types 2, 4)
The numbers of the first and the last channel of an interval from which the constant background should be calculated are specified here. For all the histograms this is done together in the following order: kf,first kf,last kb,first kb,last [kr,first kr,last kl,first kl,last]. In case histograms are being grouped, the specified channels are interpreted with respect to the first histograms. +
+

+
+
data (fit type 0)
The numbers of the first and the last channel of an interval from which the data is taken are specified here. In case histograms are being grouped, the specified channels are interpreted with respect to the first histogram. +
+

+
data (fit types 2, 4)
The numbers of the first and the last channel of an interval from which the data is taken are specified here. For all the histograms this is done together in the following order: kf,first kf,last kb,first kb,last [kr,first kr,last kl,first kl,last]. In case histograms are being grouped, the specified channels are interpreted with respect to the first histograms. +
+
+
t0 (fit type 0)
The number of the time-zero channel of the histogram. Example:
+  t0 3419        # t0 channel = 3419
+  t0 3419 3434   # t0 channels for groupings: forward f1 f2. 3419 t0 for f1, 3434 t0 for f2. 
+
+
+

+
t0 (fit types 2, 4)
The numbers of time-zero channels of the histograms in the order t0,f t0,b. Example:
+  t0 3419 3418           # t0 channels: forward (3419), backward (3418)
+  t0 3419 3418 3417 3416 # t0 channels (assuming forward f1 f2, backward b1 b2): forward (3419, f1), backward (3418, b1); forward (3417, f2), backward (3416, b2)
+
+
+

+
+
addt0 (fit type 0)
The number of the time-zero channel of the histogram. If grouping of histograms is present (see forward) the same syntax as for t0 applies. If one addt0 is given, the total number of addt0's needs to be equal to the total number of ADDRUN's! +
+

+
addt0 (fit types 2, 4)
The numbers of time-zero channels of the histograms in the order t0,f t0,b [t0,r t0,l]. If grouping of histograms is present (see forward) the same syntax as for t0 applies. If one addt0 is given, the total number of addt0's needs to be equal to the total number of ADDRUN's! +
+

+
xy-data (fit type 8)
Specification of the data from an ASCII or DB file which should be used as x and y data (in this order). For a simple ASCII file the column numbers are used, in the case of a DB file one can either specify the variable numbers or the name of the variables as given in the DB header. +
+

+
fit
The range of data that should be considered when the fitting is done. For the μSR fit types 0, 2, and 4 here the starting and end times are given in microseconds. For the non-μSR fit type 8 the starting and end points of the fitting range are given in the units of the x data. +
+

+
packing
Number of data channels to be binned together. For the non-μSR fit type 8 the binning is supposed to be 1. +
+

+ +

4.6 The COMMANDS Block

+The COMMANDS block is used to specify the commands which are passed from musrfit to MINUIT2. The supported commands after the COMMANDS keyword are STRATEGY, MIGRAD, SIMPLEX, MINIMIZE, MINOS, HESSE, SAVE, some additional commands described below, and for compatibility reasons SET BATCH and END RETURN. The last two commands may appear in the COMMANDS block but are simply ignored. +A detailed description of all of these commands can be found in the MINUIT2 users guide pdf. +

+A standard COMMANDS block then looks like this:
+   COMMANDS
+   MINIMIZE
+   MINOS
+   SAVE
+
+

+Additional to the commands listed above also the command MAX_LIKELIHOOD is valid. This keyword can be placed anywhere in the block and switches from the default χ2 minimization to the log-likelihood maximization which can be advantageous if one is dealing with low-statistics data. +

+Furthermore, it is possible to call the MINUIT2 methods SCAN and CONTOURS. Exemplary invocations are as follows:
+   COMMANDS
+   SCAN 7
+   MNPLOT
+
+

+
+   COMMANDS
+   MINIMIZE
+   CONTOURS 8 9
+   MNPLOT
+   SAVE
+
+

+Sometimes it is necessary to guide MINUIT2 to the global optimum. For this purpose it is useful to have the commands FIX list_of_param_to_be_fixed, RELEASE list_of_param_to_be_fixed, and RESTORE at hand. list_of_param_to_be_fixed is a list of the parameters to be fixed/released. It is a space- or comma-separated list of either parameter numbers and/or parameter names. RESTORE releases all the fixed parameters. A typical example could look like:
+   COMMANDS
+   FIX Freq1, Freq2
+   MINIMIZE
+   RESTORE
+   MINIMIZE
+   MINOS
+   SAVE
+
+

+It is important to understand that before MINOS is called, all the fixed parameters need to be released and another minimizer command (MINIMIZE, MIGRAD, or SIMPLEX) needs to be in place, otherwise musrfit will assume that the still fixed parameters have to be handled as constant parameters, i.e. setting the <step> value of the parameter to zero. +

+For even more complex fitting the additional command FIT_RANGE RESET | tstart tend | ts1 te1 ts2 te2 ... tsn ten is provided. It allows to change the fit range during different iterations. The command FIT_RANGE tstart tend changes the current fit range for all the runs present in the msr file. FIT_RANGE RESET will restore to the original fit ranges as provided in the RUN block. If for each run of the msr file an individual fit range should be used, the third option applies. Here n has to correspond to the number of runs in the RUN block. +

+A typical example could look like:
+   COMMANDS
+   FIT_RANGE 0.0 0.8
+   MINIMIZE
+   FIT_RANGE RESET
+   MINIMIZE
+   MINOS
+   SAVE
+
+

+ +The last accepted command in the COMMAND block is SCALE_N0_BKG TRUE | FALSE. This command is only used in conjunction with single-histogram fits. The default is SCALE_N0_BKG TRUE which will result in a scaling of N(t) such that it is given in ns-1, whereas with SCALE_N0_BKG FALSE no scaling is performed and N(t) will be given in bin-1. If the command is not present at all, it will be interpreted as if SCALE_N0_BKG TRUE was present. +

+ +

4.7 The FOURIER Block

+The Fourier transform is done and the results are plotted within 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:
+
units
Here is specified in which domain the Fourier-transformed data is presented. One may choose between the field (Gauss), the frequency (MHz), and the angular-frequency domain (Mc/s). +
fourier_power
It is possible (but not necessary) to set the number of data points used for the Fourier transform here. As argument the exponent n<21 of a power of 2 is accepted. The number of data points is then 2n. Attention: If the number of points given here is bigger than the actual number of available data points, the input data vector is filled with zeros until the number of requested points is reached (zero padding)! +
apodization
Here is decided if the data should be apodized before the Fourier transform is done and if yes, which apodization should be used(10). The argument to be put after the keyword is therefore one of the following: NONE, WEAK, MEDIUM or STRONG. If the data should be apodized, they are manipulated as follows: each data value is multiplied by the function \sum_{j=0}^4 c_j \left(\frac{i}{n}\right)^{2j}, where i is the data-point index and n is the total number of data points. The coefficients c_j for the different apodizations are given by:
+
WEAK
c_0 = 1,\, c_1 = -1.319391,\, c_2 = 0.703484,\, c_3=c_4=0 +
MEDIUM
c_0 = 1,\, c_1 = -1.831292,\, c_2 = 0.983734,\, c_3=c_4=0 +
STRONG
c_0 = 1,\, c_1 = -2.708894,\, c_2 = 2.953575,\, c_3=-1.599128,\, c_4=0.399782 +
+
plot
At this point it is possible to set the part of the Fourier-transformed data which should be plotted by default if the Fourier transform is done by pressing the f-key in musrview. The argument may be one of the following:
+
real
The real part of the (complex) Fourier transform is plotted. +
imag
The imaginary part of the Fourier transform is plotted. +
real_and_imag
Both the real and the imaginary parts of the Fourier transform are shown. +
power
The absolute value of the Fourier transform is depicted. +
phase
The phase of the Fourier transform is plotted. +
+
phase
The initial phase of the input data is given here in degrees. Optionally the phase parameter from the FITPARAMETER block can be given, e.g. par3, which would take the value of parameter number 3. +
range_for_phase_correction
An interval within which the initial phase should be optimized automatically can be specified here. The interval is given by its start and end values in degrees. +
range
The plotting range is set here. The interval is specified through its start and end points given in the units set after the units tag. +
+

+Altogether, a possible FOURIER block might look like that: +
+   FOURIER
+   units Mc/s
+   fourier_power 12
+   apodization NONE
+   plot real_and_imag
+   phase 22.6   # par3
+   #range_for_phase_correction 10.0 40.0
+   range 0.0 17.03
+
+

+

+

+Notes +

+ 10 : For further details about apodization of μSR data refer to the PhD thesis of T.M. Riseman pdf +

+

+

+
+

+ +

4.8 The PLOT Block

+The PLOT block is intended to collect all the information needed for the graphical presentation of the data and fits using musrview. The PLOT keyword at the beginning of the block is followed by a number which indicates the plot type. The plot types match the fit types. Additionally, it is possible to provide information using the following keywords:
+
runs
The numbers of the runs to be plotted have to be put here. The runs are numbered according to their appearance in the RUN block. +
range
Here it is possible to define the plotting range explicitly. Depending on the plot type the following settings are allowed where the times are given in microseconds and the N in counts:
+
0 without lifetimecorrection
tmin tmax [ Nmin Nmax ] +
0 with lifetimecorrection, 2, 4
tmin tmax [ Amin Amax ] +
8
xmin xmax [ ymin ymax ] +
+
sub_ranges
Here it is possible to define the plotting range for each run individually. For the different plot types the command has the structure
+
0 without lifetimecorrection
tmin1 tmax1 tmin2 tmax2 ... tminn tmaxn [ Nmin Nmax ] (n = the number of runs to be plotted) +
0 with lifetimecorrection, 2, 4
tmin1 tmax1 tmin2 tmax2 ... tminn tmaxn [ Amin Amax ] (n = the number of runs to be plotted) +
8
not yet implemented. +
+
use_fit_ranges [ ymin ymax]
The fit ranges of the individual runs are used to present the data. Optionally, an ordinate range can be provided. +
view_packing
The data are presented in the packing given here rather than the binning used for the fit. WARNING: This is a global option and applies to all PLOT-blocks. +
logx
Will present the time axis in a logarithmic scale. So far no checking of negative and zero-valued data is performed wink +
logy
Will present the axis of ordinates in a logarithmic scale. So far no checking of negative and zero-valued data is performed wink +
rrf_packing value
In the rotating-reference-frame (RRF) representation, this will be the value for the packing. WARNING: For the time being, this is a global option and applies to all PLOT blocks. +
rrf_freq value unit
This entry provides the RRF "frequency" given by the value and the unit which can be: kHz, MHz, Mc/s, G, or T. +
rrf_phase value
A phase of the RRF can be provided, either as a value in degrees, or as a parX, e.g. par4, where X is supposed to be the phase parameter number in the FITPARAMETER block. +
+

+ If no plot range is given at all, the fit range of the first run also serves as time window for the plot. In the case no information on the axis of ordinates is available, the plotting range is chosen so that all data can be presented. +

+ It is possible to define multiple PLOT blocks. Each PLOT block generates its own ROOT canvas. +

+ +

4.9 The STATISTIC Block

+The STATISTIC block is the last block of a msr file. It contains some information on the fit: the date and time as well as the absolute and normalized values of χ2 and the number of degrees of freedom in the fit.
+If enabled in the XML file for χ2-single-histogram fits also Pearson's χ2 will be written to the STATISTIC block.
+These information only have a meaning if the fitting procedure has been executed at least once and the fit has converged! +

+ +

5 The Fit Types

+

+ +

5.1 Single Histogram Fit

+The single-histogram fit (fit type 0) is used to fit a function directly to the raw data using +
+N(t)=N_0\,\mathrm{e}^{-t/\tau_{\mu}} \left[1 + A(t)\right] + B. +
+The parameters are given by:
+
N(t)
rebinned decay histogram +
N_0
normalization constant of the histogram (RUN block: norm) +
\tau_{\mu}
lifetime of the muon (RUN block: lifetime) +
B
constant background (RUN block: backgr.fit or background) +
A(t)
decay asymmetry/depolarization function as given in the THEORY block +
+

+In the plot type 0 without lifetimecorrection the rebinned histogram and the function N(t) written above are presented. +If the option lifetimecorrection is set in the RUN block the asymmetry is plotted: +
+A(t)=\frac{N(t)-B}{N_0\,\mathrm{e}^{-t/\tau_{\mu}}}-1 +
+

+ +

5.2 Asymmetry Fit

+For an asymmetry fit (fit type 2) two histograms are needed. These are given by the forward and backward keywords in the RUN block. +Additionally, the parameters alpha and beta which relate the detector efficiencies, solid angles and initial asymmetries of the two detectors can be supplied. +The constant background for the two histograms is either given by background-determined intervals or specified through backgr.fix in the RUN-block. +

+The experimental asymmetry a(k) then is inferred from the two histograms: +
+a(k)=\frac{\left[N_{\mathrm{f}}(k)-B_{\mathrm{f}}\right]-\left[N_{\mathrm{b}}(k)-B_{\mathrm{b}}\right]}{\left[N_{\mathrm{f}}(k)-B_{\mathrm{f}}\right]+\left[N_{\mathrm{b}}(k)-B_{\mathrm{b}}\right]}, +
+with
+
N_{\mathrm{f}}(k)
counts in the forward histogram channel k +
N_{\mathrm{b}}(k)
counts in the backward histogram channel k +
B_{\mathrm{f}}
constant background in the forward histogram (RUN block: backgr.fix or background) +
B_{\mathrm{b}}
constant background in the backward histogram (RUN block: backgr.fix or background). +
+

+This asymmetry a(t) is used to fit the function +
+a(t)=\frac{(\alpha\beta +1)A(t)-(\alpha -1)}{(\alpha +1)-(\alpha\beta -1)A(t)}, +
+where
+
\alpha
accounts for the different detector efficiencies and solid angles (RUN block: alpha) +
\beta
accounts for the different detector asymmetries (RUN block: beta) +
A(t)
is the depolarization function as given in the THEORY block. +
+

+For the graphical representation in plot type 2 the equation above is rearranged to get A(t): +
+A(t)=\frac{(\alpha -1)+(\alpha +1)a(t)}{(\alpha\beta +1)+(\alpha\beta -1)a(t)}=\frac{\alpha\left[N_{\mathrm{f}}(t)-B_{\mathrm{f}}\right]-\left[N_{\mathrm{b}}(t)-B_{\mathrm{b}}\right]}{\alpha\beta\left[N_{\mathrm{f}}(t)-B_{\mathrm{f}}\right]+\left[N_{\mathrm{b}}(t)-B_{\mathrm{b}}\right]} +
+and plotted together with the function given in the THEORY block. +

+ +

5.3 Rotating-Reference-Frame Asymmetry Fit

+(Is going to be implemented as pure plotting option...) +

+ +

5.4 Non-μSR Fit

+In the case of a non-μSR fit (fit type 8) the fitting function is +
+y=f(x), +
+where
+
x,\,y
are given by xy-data in the RUN block +
f(x)
is the function defined in the THEORY block. +
+

+The same is valid for the plot with plot type 8. +

+ +

6 User Functions

+musrfit offers the possibility to plug-in user-defined functions implemented in C++ classes to the fitting and plotting routines. In order to do so, basically two things are needed:
    +
  1. a shared library containing the compiled class with the defined function +
  2. a ROOT dictionary that contains information about the functions in the shared library +
+

+There are two possible ways to implement user functions and both will be explained below:
    +
  1. a user function without global user-function-object access +
  2. a user function with global user-function-object access +
+

+Since the first is simpler this will be explained using an explicit example, before it is discussed why the second option is needed and how it can be used. +

+ +

6.1 User Function without global user-function-object access

+

+In the following it is explained in detail how the implementation of a user function is done using the simple example of fa(x) = sin(ax)/ax, where the parameter a should be determined by the fit. Although not necessary for this simple example, the source code is split into two parts, namely a header file TMyFunction.h containing the class declaration and a second file TMyFunction.cpp including the function implementation. +

+To plug in the class to musrfit, it is necessary that the class derives from the base class PUserFcnBase defined in the header file PUserFcnBase.h. In this abstract base class a function operator is defined that takes two arguments: the point where the function should be evaluated and a reference to a vector with all parameters of the function. Therefore, the user's header file could look like the following: +
+/***************************************************************************
+
+  TMyFunction.h
+
+***************************************************************************/
+
+#include "PUserFcnBase.h"
+#include <cassert>
+#include <cmath>
+#include <vector>
+
+using namespace std;
+
+class TMyFunction : public PUserFcnBase {
+
+public:
+  // default constructor and destructor
+  TMyFunction(){}
+  ~TMyFunction(){}
+
+  // global user-function-access functions, here without any functionality
+  Bool_t NeedGlobalPart() const { return false; }
+  void SetGlobalPart(vector<void*> &globalPart, UInt_t idx) { }
+  Bool_t GlobalPartIsValid() const { return true; }
+
+  // function operator
+  Double_t operator()(Double_t, const vector<Double_t>&) const;
+
+  // definition of the class for the ROOT dictionary
+  ClassDef(TMyFunction,1)
+};
+
+

+In the header file above the constructor (destructor) of the class is empty. This is not necessary. Any code that should be executed when the RUN block is read and the class object is created (destroyed) may be implemented in the constructor (destructor). Another peculiarity is the ClassDef statement at the end of the class definition. It is needed for the ROOT dictionary generation and has as arguments the class name and a revision number. +

+Please also be aware of the const-ness of the operator(). For an introductory discussion on that topic look for example here and the links herein. +

+The actual implementation of the user function is done in the second source file. In this example it only contains the definition of the function operator() declared in the header file and might look like: +

+
+/***************************************************************************
+
+  TMyFunction.cpp
+
+***************************************************************************/
+
+#include "TMyFunction.h"
+
+ClassImp(TMyFunction)  // for the ROOT dictionary
+
+Double_t TMyFunction::operator()(Double_t x, const vector<Double_t> &par) const {
+  assert(par.size()==1); // make sure the number of parameters handed to the function is correct
+  
+  Double_t arg(par[0]*x);
+
+  if(!arg)
+    return 1.0;
+  return sin(arg)/arg;
+}
+
+

+Also this file contains a special statement for the ROOT dictionary generation (ClassImp), which is placed before the definition of the function. If functions of more than one class are defined in the file, the ClassImp statements for the other classes follow right after the first one. +

+What is further needed for the ROOT dictionary is a so-called LinkDef file which again contains the class names of all classes that should be accessible through the dictionary and has the following structure, where the "LinkDef.h" (or "linkdef.h" or "Linkdef.h") at the end of the file name is mandatory: +

+
+/***************************************************************************
+
+  TMyLibraryLinkDef.h
+
+***************************************************************************/
+
+#ifdef __CINT__
+
+#pragma link off all globals;
+#pragma link off all classes;
+#pragma link off all functions;
+
+#pragma link C++ class TMyFunction+;
+
+#endif //__CINT__
+
+

+For compiling and linking it is wise to use a Makefile as for example the attached Makefile.TMyLibrary. It assumes standard ROOT and musrfit installations and defines rules for the generation of the shared library libTMyLibrary.so including the class and the ROOT dictionary. +In order to get the library built and installed on the standard ROOT path just call: +
+make -f Makefile.TMyLibrary
+make -f Makefile.TMyLibrary install
+
+In case of a custom installation some paths in the Makefile might have to be changed. For further information about the ROOT dictionary mechanism please refer to the documentation. +

+After installing the shared library the defined user function might be used in musrfit as described above. +

+Good luck! wink +

+Finally, please be aware of the remark at the end of this section. +

+ +

6.2 User Function with global user-function-object access

+

+Before explaining how to use global objects within user functions, it will be shortly explained where is problem and why this might be a sensible approach. +In musrfit each RUN block (histogram, asymmetry, ...) is owning its own theory-function tree. An example is shown in the figure below. The bluish nodes are +default musrfit functions, whereas the red nodes represent user functions (here labeled by uF1 and uF2). Without global user-function object, these nodes +are independent entities. This means if the msr file contains n run blocks, the user function uF1 will be called n times for each step in the calculation. +If the user function is performing CPU-demanding calculations this is rather inefficient. +

+ +theory tree with user function and <strong>global</strong> user function objects +

+Therefore, it is possible to associate to each user function (uFx) a global user-function object (g_uFx). The idea is the following: If uFx needs to +perform very time-consuming calculations (e.g. calculate an Abrikosov vortex lattice or the nonlocal response of a superconductor in the Meissner state) this can be +transferred to the global user-function object (g_uFx) and hence the time-consuming calculation is only performed once per cycle (compared to n times +without g_uFx), thus speeding up the fit. +

+After explaining the purpose of the global user-function-object approach, some explanations how to interface it follow here. Since the interface is very close to +the user function without global objects, only the additionally necessary overhead is explained here. +

+The user's header file could look like the following: +
+/***************************************************************************
+
+  TMyFunction.h
+
+***************************************************************************/
+
+#include "PUserFcnBase.h"
+#include <cassert>
+#include <cmath>
+#include <vector>
+
+using namespace std;
+
+class TMyGlobalFunction {
+
+public:
+  // default constructor and destructor
+  TMyGlobalFunction(){}
+  ~TMyGlobalFunction(){}
+
+  Bool_t IsValid() { return fValid; } 
+
+  // the following function will check if something needs to be calculated, which 
+  // is the case if param != fPrevParam
+  void CalcSomethingCPUExpensive(const vector<Double_t> &param);
+
+  // this routine will return the calculated values, e.g. B(z,E) for TMyFunction::operator()()
+  // (...) here sketches only that some parameters are likley to be fed
+  Double_t GetWhatIsNeeded(...);
+
+private:
+  Bool_t fValid;
+  vector<Double_t> fPrevParam;
+
+  // definition of the class for the ROOT-dictionary
+  ClassDef(TMyGlobalFunction,1)
+};
+
+class TMyFunction : public PUserFcnBase {
+
+public:
+  // default constructor and destructor
+  TMyFunction(){}
+  ~TMyFunction(){}
+
+  // global user-function-access functions, here with some functionality
+  Bool_t NeedGlobalPart() const { return true; }
+  void SetGlobalPart(vector<void*> &globalPart, UInt_t idx);
+  Bool_t GlobalPartIsValid() const;
+
+  // function operator
+  Double_t operator()(Double_t, const vector<Double_t>&) const;
+
+private:
+  Bool_t fValid;
+  Bool_t fInvokedGlobal;
+  Int_t  fIdxGlobal;
+  TMyGlobalFunction * fGlobalUserFcn;
+
+  // definition of the class for the ROOT dictionary
+  ClassDef(TMyFunction,1)
+};
+
+

+Compared to the user function without global objects, here the NeedGlobalPart() method returns true meaning that a global user-function object will be needed. Furthermore, the methods SetGlobalPart(vector<void*> &globalPart, UInt_t idx) and GlobalPartIsValid() now need to be implemented. +The method SetGlobalPart(vector<void*> &globalPart, UInt_t idx) is used to link the fGlobalUserFcn to the global user object. This routine will look like: +

+
+void TMyFunction::SetGlobalPart(vector<void *> &globalPart, UInt_t idx)
+{
+  fIdxGlobal = static_cast<Int_t>(idx);
+
+  if ((Int_t)globalPart.size() <= fIdxGlobal) { // global user function not present, invoke it
+    fGlobalUserFcn = new TMyGlobalFunction();
+    if (fGlobalUserFcn == 0) { // global user function object couldn't be invoked -> error
+      fValid = false;
+      cerr << endl << ">> TMyFunction::SetGlobalPart(): **ERROR** Couldn't invoke global user function object, sorry ..." << endl;
+    } else {  // global user function object could be invoked -> resize to global user function vector and keep the pointer to the corresponding object
+      globalPart.resize(fIdxGlobal+1);
+      globalPart[fIdxGlobal] = dynamic_cast<TMyGlobalFunction*>(fGlobalUserFcn);
+      fValid = true;
+      fInvokedGlobal = true;
+    }
+  } else { // global user function already present hence just retrieve a pointer to it
+    fValid = true;
+    fGlobalUserFcn = (TMyGlobalFunction*)globalPart[fIdxGlobal];
+  }
+}
+
+

+What it does is the following: it first checks if the object is already present in the global user-function-object vector and if not creates it. If it is already present, the pointer to the global object vector is just kept (see figure above). +

+A sketch of the method operator()(Double_t, const vector&) const will then look like (pseudo-code snippet): +

+
+Double_t TMyFunction::operator()(Double_t t, const vector<Double_t> &param) const
+{
+  Double_t result = 0.0;
+
+  // do something, checking, etc.
+  ...
+
+  // call the global user function object (which will calculate something 
+  // if param has changed). Hence it will only be done once in a iteration, 
+  // and therefore only once for all run blocks.
+  fGlobalUserFcn->CalcSomethingCPUExpensive(param);
+
+  // extract the needed values from the global object
+  value(s) = fGlobalUserFcn->GetWhatIsNeeded(...);
+
+  // use 'value(s)' to do some run block specific calculations (not/less CPU demanding)
+  ...
+
+  return result;
+}
+
+

+This way the efficiency of the user function can be increased by almost a factor of n (where n is the number of RUN blocks). +

+
+ +Important remark: If musrfit has been built with parallelization support (default for GCC ≥ 4.2) it should be taken care of the thread safety of the user-function operator(). During the function optimization of musrfit the operator() is called once for any given set of parameters in order to allow the safe execution of any calculation. Within the single-histogram and asymmetry fits the calculation of χ2 or the log-likelihood is parallelized and the operator() is expected to evaluate to reasonable values for a fixed set of parameters (but changing t) beginning with the second function call. +In case this cannot be ensured, the parallelization can be disabled by --disable-omp on the configure level of the program installation. +
+

+ +

7 Technical Description of the musrfit framework

+

+A technical description of the musrfit framework can be found here. +

+ +

8 Bugtracking

+

+For reporting bugs or requesting new features and improvements please use the PSI Tracker or send an e-mail to A. Suter. +

+-- BMW & AS
+

+
+
+This topic: MUSR > WebHome > MusrFit
+Topic revision: r95 - 25 Jul 2011 - 13:34:17 - BastianWojek +
+
+
+
 
+
Ideas, requests, problems regarding PSI Wiki? Send feedback
+
+
+
+
+

+

+

+

+ + + + + +

+

+

+

+

\ No newline at end of file diff --git a/doc/html/MUSR/MusrFitAcknowledgements.html b/doc/html/MUSR/MusrFitAcknowledgements.html new file mode 100644 index 00000000..768a2cc9 --- /dev/null +++ b/doc/html/MUSR/MusrFitAcknowledgements.html @@ -0,0 +1,156 @@ + + + + + + + + MUSR :: MusrFitAcknowledgements + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+

Acknowledgements - musrfit

+

+
Bastian M. Wojek
I am very much indebted to BMW for his rigorous testing of 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! +
+

+-- BMW & AS
+

+
+
+This topic: MUSR > WebHome > MusrFit > MusrFitAcknowledgements
+Topic revision: r4 - 10 Jul 2011 - 17:50:36 - BastianWojek +
+
+
+
 
+
Ideas, requests, problems regarding PSI Wiki? Send feedback
+
+
+
+
+

+

+

+

+ + + + + +

+

+

+

+

\ No newline at end of file diff --git a/doc/html/MUSR/MusrFitSetup.html b/doc/html/MUSR/MusrFitSetup.html new file mode 100644 index 00000000..bd219c70 --- /dev/null +++ b/doc/html/MUSR/MusrFitSetup.html @@ -0,0 +1,820 @@ + + + + + + + + MUSR :: MusrFitSetup + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+

Setting up musrfit on Different Platforms

+

+ +

+

1 Supported Operating Systems and Software Requirements

+

+This page is intended to demonstrate for the interested user which steps are necessary to set up the free software μSR data analysis framework musrfit. While the preferred way is to run the software on GNU/Linux, with some restrictions it can also be set up under MS Windows and MacOS X. In case musrfit should be installed according to the description found on this page, the user is strongly encouraged to read completely each section dealing with the present installation step before starting the installation process! +

+ +Apart from GCC, the GNU Compiler Collection, the GNU build tools autoconf, automake and libtool as well as the helper tool pkg-config musrfit requires the installation of a few open-source libraries and programs:
+
boost C++ libraries
The powerful Spirit parser framework used by musrfit is included in that collection of libraries. Required version ≥ 1.33 +
GNU Scientific Library
A numerical C and C++ library which provides efficient implementations of various mathematical routines. Required version ≥ 1.9 +
FFTW
A C implementation for the fast computation of discrete Fourier transforms. Required version ≥ 3.1 +
ROOT
A C++ data analysis framework developed at CERN. Required version ≥ 5.22 +
libxml2
The XML C parser and toolkit of Gnome. Required version ≥ 2.0 +
+

+ +Additionally, only if musrfit should support reading of data files in the NeXus format the following libraries are needed:
+
HDF4
A library and multi-object file format for storing and managing data. +
HDF5
A data model, library, and file format for storing and managing data. +
minixml
A small XML library that can be used to read and write XML and XML -like data files. Required version ≥ 2.2 +
NeXus
A common data format for neutron, x-ray, and muon science. +
+

+If optionally the editor and graphical user interface musrgui / musredit is going to be installed there is one further requirement:
+
Qt
A cross-platform application and user interface framework. Required version ≥ 3.3 & ≪ 4.0 (musrgui) OR ≥ 4.6 (musredit) +
+

+Each of the following sections focusing on the installation of musrfit on the different operating systems will also give a brief introduction on the installation of the requirements before the actual musrfit installation is described. +

+

2 OS Restrictions

+Before the further installation will be described, please note the following restrictions:
+
GNU/Linux
No serious problems are known at the moment. +
MS Windows
The setup of musrfit (including the requirements) using Visual C++ has not been tested. If anybody likes to do this: Just go ahead and have fun! However, not very much assistance can be expected, although it would be an interesting experiment. +
Mac OS X
On 10.6 Snow Leopard Qt3 for Mac is not supported any more since this was based on a 32-bit only API. Snow Leopard -users are advised to use the Qt4 based musredit or to rely on the standard Qt3 version for X11 in order to run musrgui. +
+

+

3 GNU/Linux

+

3.1 Requirements

+

3.1.1 Everything but ROOT and NeXus

+Depending on the GNU/Linux distribution chosen, the above mentioned software—except the ROOT system and the NeXus library—should be available from the distributor and could be easily installed in the form of binary packages. If done in this way there should be taken care of installing both, the libraries and the header (dev, devel) files.
+On a Scientific Linux (Red Hat) system the following command executed as superuser from the shell will do the trick: +
+yum install boost boost-devel gsl gsl-devel fftw3 fftw3-devel libxml2 libxml2-devel qt qt-devel
+
+When dealing with a distribution that uses the dpkg/apt package manager like Debian or Ubuntu the installation would look like: +
+apt-get install libboost-dev gsl-bin libgsl0-dev fftw3 fftw3-dev libxml2 libxml2-dev libqt3-mt libqt3-mt-dev qt3-dev-tools
+
+Everyone should know best himself which is the way to install distribution software on the chosen distribution wink +

+In case the distribution does not include the required software it has to be compiled from the source files which normally means to download the source code from the corresponding website, to unpack the source tree and call the following from the shell: +
+./configure
+make
+make install
+
+In order to obtain some information about the possible options for the installation, calling ./configure --help might give some useful hints.
+For any further information on the standard installation of software, please refer to the web search engine of choice and ask for "install software on linux"... +

+

3.1.2 Installation of NeXus requirements (optional)

+Only if musrfit should support reading data files in the NeXus format the further required software has to be set up. The required libraries and header files could either be available through the user's GNU/Linux distribution or if this is not the case, the packages can be installed from the source code. E.g. on Red Hat-like systems binary packages for MXML, HDF4, and HDF5 might be called mxml, mxml-devel, hdf, hdf-devel, hdf5, hdf5-devel, on Debian-like systems libmxml1, libmxml-dev, libhdf4-0, libhdf4-dev, libhdf5-serial-1.8.4, libhdf5-serial-dev. +

+Even though there might exist binary packages for the NeXus library, it is best to build and install it directly from the source code which can be found here. +

+

3.1.3 ROOT

+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.
+In case the distribution provides no or only outdated binary packages there are the following possibilities:
    +
  • Visit the ROOT web page and download the packed precompiled binary version matching best the GNU/Linux distribution. Then unpack the bundle to its final destination. +
  • If there is no precompiled binary version of 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:
    +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)
    +make
    +            (or in case there are multiple processors available, e.g.: make -j4)
    +
    +
+After one of the two setup variants has been executed the system should be told where to find the ROOT installation, therefore the following is suggested:
    +
  • As superuser create a file /etc/ld.so.conf.d/root-system.conf where the path to the lib directory of ROOT is added and call /sbin/ldconfig afterwards. In the example mentioned above one way of doing this is:
    +echo "/opt/root-system/lib" >> /etc/ld.so.conf.d/root-system.conf
    +/sbin/ldconfig
    +
    +
  • Additionally, as normal user one should append the following lines to the ~/.bashrc and/or ~/.bash_profile (and then either restart the shell or call the same commands once more from the shell) in order to change some path-setting environment variables:
    +export ROOTSYS=/opt/root-system/
    +export PATH=$ROOTSYS/bin:$PATH
    +
    +
+

+ +

3.2 musrfit

+When all required software has been set up it can be proceeded with the musrfit installation. First, the most recent source code should be downloaded. The preferred way of doing so is to check out directly the subversion repository (if clients of subversion and ssh are installed). Assuming the code should be located in ~/musrfit this is achieved most easily calling from the terminal +
+cd
+svn co svn+ssh://svn@savannah.psi.ch/repos/nemu/lem/trunk/analysis/musrfit musrfit
+
+When asked (twice) for a password, type "svn". +If the repository had been checked out already before, one can update the local copy using: +
+cd
+svn up musrfit
+
+

+As an alternative (if subversion is not available), the source code can also be downloaded and extracted from a tarball. +
+cd
+curl http://savannah.psi.ch/viewcvs/trunk/analysis/musrfit.tar.gz -G --data-binary root=nemu%2Flem | tar xz
+
+

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

+
--prefix
Specify the installation prefix, e.g. /opt/root-system (by default: /usr/local) +
--with-rootsys
Specify the top of the ROOT installation directory, e.g. /opt/root-system +
--with-fftw3
Specify the prefix of the FFTW3 installation. e.g. /usr/local or /usr +
--with-gsl
Set the prefix of the GSL installation, e.g. /usr/local or /usr +
--with-boostinc
Set the path to the header files of the Boost installation, e.g. /usr/local/include or /usr/include +
--with-hdf4
Set the prefix of the HDF4 installation, e.g. /usr/local (only useful in conjunction with the NeXus support) +
--with-hdf5
Set the prefix of the HDF5 installation, e.g. /usr (only useful in conjunction with the NeXus support) +
--with-nexus
Set the prefix of the NeXus installation, e.g. /usr/local (only useful in conjunction with the NeXus support) +
--disable-omp
Switches off the OpenMP features of musrfit (parallelization of the χ2 calculation when compiled with GCC ≥ 4.2) +
+

+Normally it should not be necessary to make use of any of the options except for specifying the installation path with --prefix. The other paths should be detected automatically. If this does not work for some reason the configure script will terminate and ask for the information. +When the configure script has been called successfully everything is ready for building the musrfit libraries and executables. A standard installation sequence (without NeXus support) might then look like(3): +
+cd musrfit
+sh autogen.sh
+./configure --prefix=$ROOTSYS
+make
+make install
+/sbin/ldconfig                                   (as superuser)
+
+In order to finish the installation of musrfit two more things should be done:
    +
  • Define the MUSRFITPATH environment variable containing the path to the musrfit executables and XML files. E.g. if the location of the example above is used append the following line to the ~/.bashrc and ~/.bash_profile (and then either restart the shell or call the same commands once more from the shell):
    +export MUSRFITPATH=/opt/root-system/bin
    +
    +
  • Adjust the paths where musrfit will search for data files in the installed musrfit_startup.xml. For detailed information on this XML file refer to the manual. +
+

+ +

3.3 musredit

+If Qt4.6 or higher is set up on the machine the installation of the musrfit editor is also straight forward: +
+cd src/musredit
+qmake musredit.pro
+
+If everything went fine musredit can be compiled and installed: +
+make
+make install
+
+In case one does not like the executable musredit to be copied to the default installation directory $ROOTSYS/bin the last "make install" can be skipped and the executable can be copied somewhere else instead. However, the musredit_startup.xml should go to the installation directory MUSRFITPATH of the musrfit executables. +Eventually, in the installed musredit_startup.xml the path specifications should be adjusted to match the local musrfit installation. For detailed information on this XML file refer to the manual. +

+

3.4 musrgui

+If Qt4.6 or higher is not available but Qt3 is set up musrgui can be installed. For this please follow the instructions for the musredit installation where simply every musredit occurrence has to be replaced by musrgui.
+If there are problems during the qmake step, e.g. "uic: File generated with too old version of Qt Designer", this most probably means the Qt4 version of qmake is being used. In order to use the Qt3 version it should be enough to specify the full path to its location when calling it. Within the most GNU/Linux distributions this location will be something like /usr/lib/qt-3.3/bin/qmake. +

+

3.5 Check of the installation

+In order to perform a quick test for finding out if the installation has been completed successfully, a few msr files together with the corresponding data files can be found in the musrfit source tree at src/tests/CheckMusrfitInstall/.
+If musrgui has been installed, just open one of the test-*.msr files in the editor and test the musrfit functionalities. Otherwise, if only the terminal should be used, as an initial test for instance the following could be done: +
+cd src/tests/CheckMusrfitInstall
+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
+

+ 2 : When using GCC ≥ 4.2 please make sure that the environment variables USE_PARALLEL_MINUIT2 and USE_OPENMP are not set! Otherwise MINUIT2 will be compiled with parallelization support and cannot be used together with musrfit afterwards since the musrfit code is not fully thread-safe! When compiled with GCC ≥ 4.2 musrfit itself will parallelize the χ2 calculation. +

+ 3 : In case the normal user has no write permissions to the $ROOTSYS and the installation path the "make install" commands have to be executed as superuser. +

+

+

+
+

+

4 MS Windows

+Under Windows a native installation is not supported but there is the possibility to run musrfit through Cygwin which has the great advantage that one gains additionally various nice UNIX tools also for other purposes wink
+Please also be aware of the fact that the X server which is going to be installed with Cygwin has to be started (e.g. by selecting it from the "Programs" folder) before any graphical application (musrview, musrgui, etc.) is run. +

+One more advice: Please never try to install either ROOT or musrfit from or to a directory containing spaces in the absolute path or in case you do, do not wonder if some errors occur!
+msr files, however, might be saved in such directories like ...\My Documents\...
+

+

4.1 Requirements

+

4.1.1 Setting up Cygwin

+For the start go to the Cygwin website, download the setup file and use it to install Cygwin 1.7. During the installation process you will be asked where you want to install Cygwin and normally the default choice should just be fine. +At some point you will be asked which packages should be installed—make sure that you choose at least the following (or packages with revisions close to the following) in order to fulfill the musrfit requirements and be able to work with this base system: +

+a2ps, alternatives, autoconf, automake, base-cygwin, base-files, base-passwd bash, bash-completion, bc, binutils, bison, boost, boost-devel, bzip2, cmake, colorgcc, coreutils, curl, cygutils, cygwin, editrights, fftw3, findutils, flex, font-adobe-dpi100, font-adobe-dpi75, font-alias, font-bitstream-dpi100, font-bitstream-dpi75, font-encodings, font-ibm-type1, font-sun-misc, font-util, font-xfree86-type1, fontconfig, freeglut, gawk, gcc-tools-autoconf, gcc-tools-automake, gcc4, gcc4-core, gcc4-fortran, gcc4-g++, gccmakedep, gd, gettext, ghostscript, ghostscript-fonts-std, giflib, gmp, grep, groff, gsl, gsl-apps, gsl-devel, gv, gzip, inputproto, jasper, jpeg, lapack, less, libboost, libbz2_1, libcharset1, libcurl4, libfftw3-devel, libfftw3_3, libgcc1, libgd-devel, libgif-devel, libGL-devel, libGL1, libGLU-devel, libGLU1, libglut-devel, libglut3, libgmp-devel libgmp3, libgomp1, libICE-devel, libICE6, libjpeg-devel, libjpeg62, liblapack-devel, libmpfr-devel, libmpfr1, libncurses-devel, libncurses9, libOSMesa-devel, libOSMesa7, libpng, libpng14, libpng14-devel, libreadline6, libSM-devel, libSM6, libssh2_1, libstdc++6, libstdc++6-devel, libtiff-devel, libtiff5, libtool, libX11-devel, libX11_6, libXau-devel, libXau6, libXaw7, libxcb-devel, libxcb-xlib-devel libXcursor-devel, libXcursor1, libXdmcp-devel, libXdmcp6, libXext-devel, libXext6, libXfixes-devel, libXfixes3, libXfont-devel, libXfont1, libXft-devel, libXft2, libXi-devel, libXi6, libxkbfile1, libxml2, libxml2-devel, libXmu-devel, libXmu6, libXpm-devel, libXpm4, libXrender-devel, libXrender1, libXt-devel, libXt6, login, m4, make, makedepend, man, mpfr, nano, opengl, openssh, openssl, pdftk, perl, ping, pkg-config, psutils, python, qt3, qt3-bin, qt3-devel, readline, rebase, rgb, rsync, run, screen, sed, subversion, tar, tcltk, terminfo, unzip, util-linux, vim, w32api, which, X-start-menu-icons, xauth, xextproto, xfontsel, xinit, xkbcomp, xkeyboard-config, xkill, xlogo, xlsfonts, xorg-cf-files, xorg-scripts, xorg-server, xproto, xrdb, xrefresh, xset, xterm, zip, zlib, zlib-devel, zlib0, libQt3Support4-devel, libQtAssistantClient4-devel, libQtCore4-devel, libQtDBus4-devel, libQtDesigner4-devel, libQtGui4-devel, libQtHelp4-devel, libQtNetwork4-devel, libQtOpenGL4-devel, libQtScript4-devel, libQtScriptTools4-devel, libQtSql4-devel, libQtSvg4-devel, libQtTest4-devel, libQtWebKit4-devel, libQtXml4-devel, libQtXmlPatterns4-devel +

+After these installations already most of the required software is present and the Cygwin shell can be started now for the further steps! Inside the shell the POSIX naming convention applies, therefore, paths will be given with separating / instead of \ in DOS. The file structure accessible through this shell can also be accessed through the Windows Explorer—just go to the directory which you specified as "cygwin root" during the installation: this is the equivalent to / in the shell. By default, the different hard drives or network shares like C:\ can be found at /cygdrive/c/ in the shell—the cygdrive prefix can in principle also be changed but for now we stick to the default. +

+Since later on the boost header files should be used and in the standard Cygwin installation these are found at a version specific location, the later handling will be easier if a symbolic link to these files is created now in the terminal (in case it had not been present before): +
+ln -sf /usr/include/boost-x_yy_z/boost /usr/include/boost
+
+where x_yy_z has to be substituted by the correct version number, e.g. 1_33_1. +

+

4.1.2 Installation of NeXus requirements (optional)

+Only if musrfit should support reading data files in the NeXus format the further required software has to be set up. Under Cygwin of all the required libraries only HDF5 is available. The packages hdf5 and libhdf5-devel can be installed through the Cygwin setup. One should also make sure that bison, flex and a package containing /usr/lib/librpc.a (e.g. sunrpc = 4.0-3, but not sunrpc = 4.0-4) are installed. +

+All other libraries have to be built from the sources. The following lines will track the installation of JPEG 6b, MXML 2.5, HDF 4.2.5, and NeXus 4.2.1. The version numbers and source-code locations might of course change with time but should be easily adjustable. +
+cd
+mkdir nexus
+cd nexus
+curl http://www.hdfgroup.org/ftp/lib-external/jpeg/src/jpegsrc.v6b.tar.gz -G | tar xz
+cd jpeg-6b
+./configure --prefix=/usr/local --enable-static
+make
+make install
+cd ..
+curl http://ftp.easysw.com/pub/mxml/2.5/mxml-2.5.tar.gz -G | tar xz
+cd mxml-2.5
+./configure --prefix=/usr/local --enable-static
+make
+make install
+cd ..
+curl http://www.hdfgroup.org/ftp/HDF/HDF_Current/src/hdf-4.2.5.tar.gz -G | tar xz
+cd hdf-4.2.5
+./configure --prefix=/usr/local --enable-static --disable-fortran --with-jpeg=/usr/local
+make
+make install
+cd ..
+curl http://download.nexusformat.org/kits/nexus-4.2.1.tar.gz -G | tar xz
+cd nexus-4.2.1
+./configure --prefix=/usr/local --with-hdf4=/usr/local --with-hdf5=/usr --with-xml=/usr/local
+make
+make install
+
+

+

4.1.3 ROOT

+In order to install the ROOT system, there are two possibilities:
    +
  • Download the precompiled Cygwin GCC 4.3 package of the most recent ROOT version from the web page and unpack it in a Cygwin shell (in order to get the line endings correctly) at the final location. Suppose the package has been downloaded to C:\ and the ROOT tree should be in C:\root, this is achieved by:
    +cd /cygdrive/c
    +tar xzf root_v5.xx.yy.win32gcc-gcc-4.3.tar.gz
    +
    +
  • If due to some reason there was no precompiled Cygwin GCC 4.3 package available or 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:\.
    Then go to the Cygwin shell and unpack this source tree, configure(2) it (here using the minimal set of options) and compile it as follows right below:
    +cd /cygdrive/c
    +tar xzf root_v5.xx.yy.source.tar.gz
    +cd root
    +./configure win32gcc --gminimal --enable-asimage --enable-mathmore --enable-minuit2 --enable-xml
    +make
    +
    +
+

+In order to finalize the ROOT installation and to prepare already the installation of musrfit and musredit this is a good time for setting necessary environment variables for the use in Cygwin. For accomplishing that put the following lines at the end of the /home/Username/.bashrc (C:\cygwin\home\Username\.bashrc for the user "Username" and the "cygwin root" at "C:\cygwin"): +
+export DISPLAY=:0.0
+export QTDIR=/usr/lib/qt4
+export ROOTSYS=/cygdrive/c/root
+export PATH=$ROOTSYS/bin:$QTDIR/bin:/usr/i686-pc-cygwin/bin:$PATH
+export MUSRFITPATH=$ROOTSYS/bin
+
+

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

+

4.2 musrfit

+First, the most recent source code should be downloaded. The preferred way of doing so is to check out directly the subversion repository (if clients of subversion and ssh are installed). Assuming the code should be located in ~/musrfit this is achieved most easily calling from the terminal +
+cd
+svn co svn+ssh://svn@savannah.psi.ch/repos/nemu/lem/trunk/analysis/musrfit musrfit
+
+When asked (twice) for a password, type "svn". +If the repository had been checked out already before, one can update the local copy using: +
+cd
+svn up musrfit
+
+

+As an alternative (if subversion is not available), the source code can also be downloaded and extracted from a tarball. +
+cd
+curl http://savannah.psi.ch/viewcvs/trunk/analysis/musrfit.tar.gz -G --data-binary root=nemu%2Flem | tar xz
+
+

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

+
--prefix
Specify the installation prefix, e.g. /opt/root-system (by default: /usr/local) +
--with-rootsys
Specify the top of the ROOT installation directory, e.g. /opt/root-system +
--with-fftw3
Specify the prefix of the FFTW3 installation. e.g. /usr/local or /usr +
--with-gsl
Set the prefix of the GSL installation, e.g. /usr/local or /usr +
--with-boostinc
Set the path to the header files of the Boost installation, e.g. /usr/local/include or /usr/include +
--with-hdf4
Set the prefix of the HDF4 installation, e.g. /usr/local (only useful in conjunction with the NeXus support) +
--with-hdf5
Set the prefix of the HDF5 installation, e.g. /usr (only useful in conjunction with the NeXus support) +
--with-nexus
Set the prefix of the NeXus installation, e.g. /usr/local (only useful in conjunction with the NeXus support) +
--disable-omp
Switches off the OpenMP features of musrfit (parallelization of the χ2 calculation when compiled with GCC ≥ 4.2) +
+

+Normally it should not be necessary to make use of any of the options except for specifying the installation path with --prefix. The other paths should be detected automatically. If this does not work for some reason the configure script will terminate and ask for the information. +When the configure script has been called successfully everything is ready for building the musrfit libraries and executables. A standard installation sequence (without NeXus support) might then look like: +
+cd musrfit
+sh autogen.sh
+./configure --prefix=$ROOTSYS
+make
+make install
+
+In order to finish the installation of musrfit the paths where musrfit searches for data files should be adjusted in the installed musrfit_startup.xml (/cygdrive/c/root/bin/musrfit_startup.xml or C:\root\bin\musrfit_startup.xml). The paths have to obey the POSIX naming convention. For detailed information on this XML file refer to the manual. +

+ +

4.3 musredit

+If Qt4.5 is set up on the machine the installation of the musrfit editor is also straight forward: +
+cd src/musredit
+qmake-qt4 musredit.pro
+
+If everything went fine musredit can be compiled and installed: +
+make
+make install
+
+Eventually, in the installed musredit_startup.xml (/cygdrive/c/root/bin/musredit_startup.xml or C:\root\bin\musredit_startup.xml) the path specifications should be adjusted to match the local musrfit installation. For detailed information on this XML file refer to the manual. +

+
+In case one likes to get the editor started just with starting the X server from the Windows start menu the file ~/.startxwinrc with the following contents can be created:
+#!/bin/sh
+
+export DISPLAY=:0.0
+export QTDIR=/usr/lib/qt4
+export ROOTSYS=/cygdrive/c/root
+export PATH=$ROOTSYS/bin:$QTDIR/bin:/usr/i686-pc-cygwin/bin:$PATH
+export MUSRFITPATH=$ROOTSYS/bin
+
+musredit &
+
+
+

+

4.4 musrgui

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

+

4.5 Check of the installation

+In order to perform a quick test for finding out if the installation has been completed successfully, a few msr files together with the corresponding data files can be found in the musrfit source tree at src/tests/CheckMusrfitInstall/.
+If musrgui has been installed, just open one of the test-*.msr files in the editor and test the musrfit functionalities. Otherwise, if only the terminal should be used, as an initial test for instance the following could be done: +
+cd src/tests/CheckMusrfitInstall
+musrview test-histo-ROOT-NPP.msr
+
+

+

4.6 Possible problems

+It might be that especially when running on Windows 7 musredit and musrgui produce errors like a "STATUS_ACCESS_VIOLATION". +In this case, try to do the following: Close all Cygwin programs (including the terminals and X server) and run from a Windows command prompt (cmd)
+C:\cygwin\bin\ash.exe /bin/rebaseall
+
+If this does not resolve the problem, try to change the compatibility settings of C:\cygwin\bin\sh.exe and C:\cygwin\bin\bash.exe so that they are executed with administrator privileges. +

+

5 Mac OS X

+With Mac OS X the situation is up to some extent similar like on MS Windows but still different since Mac OS X is a UNIX system. The similarity is that also on OS X a helping framework—either MacPorts or Fink—which provides open-source software is employed to fulfill the basic software requirements of musrfit. In the following, both possibilities (using MacPorts or Fink) are described but it is emphasized here that it should be followed only one of the possible routes. +

+

5.1 Requirements (MacPorts)

+

5.1.1 Everything but ROOT and NeXus

+Before proceeding with the usage of the MacPorts system first a few useful tools provided by Apple together with OS X (on the installation DVD/CDs) should be installed:
+
Xcode tools
Useful developer tools including for instance the GNU compiler collection +
X11
The X-window system (automatically installed on 10.5 Leopard and 10.6 Snow Leopard) +
+

+After installing the Xcode tools go to the MacPorts install page, download the installer for your system and follow the installation instructions on the page. By default the MacPorts system will be installed in /opt/local.
+To be sure that the newest version of the software is used a MacPorts upgrade should be performed by typing in a terminal: +
+sudo port -v selfupdate
+
+
+Remark: MacPorts uses rsync in order to synchronize the list of available packages. It frequently happens that this service is blocked by firewalls. In this case it should be possible to download a local version of the package repository and do the synchronization. +If this step becomes necessary (and only then) it can be done in the following way:
    +
  1. Get a local version of the repository:
    +svn co http://svn.macports.org/repository/macports/trunk/dports ~/dports
    +
    +
  2. Edit the file /opt/local/etc/macports/sources.conf: At the end of the file, comment the line beginning with "rsync://" and add a new line pointing to your local copy, e.g.
    +file:///Users/username/dports
    +
    +
  3. Synchronize the packages:
    +sudo port -v -d sync
    +
    +
+
+Then the MacPorts system should be set up and can be used to install additional software.
+The installation of the software mentioned above is then done in the terminal: +
+sudo port -v install pkgconfig autoconf automake libtool fftw-3 fftw-3-single gsl boost libxml2 qt3-mac
+
+Under OS X 10.6 Snow Leopard it will not be possible to install qt3-mac since the system is by default a 64-bit system and the old qt3-mac depends on software which is only available for 32-bit systems. It is suggested to install qt4-mac instead and use musredit. (It would also be possible to install the qt3 port instead; the disadvantage is that the qt3 version does not support Apple's aqua style and a great deal of additional software has to be installed to meet its dependencies. At the moment this seems to be the only possibility to get musrgui running on OS X 10.6.) +

+

5.1.2 Installation of NeXus requirements (optional)

+

+Only if musrfit should support reading data files in the NeXus format the further required packages are set up: +
+sudo port -v install jpeg6b hdf4 hdf5-18
+
+Unfortunately, the minixml and NeXus libraries have to be compiled and installed directly from the source code. Given the respective version numbers of 2.5 and 4.2.1 (which are subject to change with time) this can be achieved for example by: +
+cd
+curl http://ftp.easysw.com/pub/mxml/2.5/mxml-2.5.tar.gz -G | tar xz
+cd mxml-2.5
+./configure --prefix=/usr/local
+make
+sudo make install
+cd ..
+curl http://download.nexusformat.org/kits/nexus-4.2.1.tar.gz -G | tar xz
+cd nexus-4.2.1
+./configure --prefix=/usr/local
+make
+sudo make install
+
+

+

5.1.3 ROOT

+For installing the ROOT system there are two independent possibilities:
    +
  • Visit the ROOT web page and download the packed precompiled binary version matching the OS X version. Then unpack the bundle to its final destination (e.g. /opt/root-system). +
  • If there is no precompiled binary version of 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). 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 ("username" in the example) has easy write access to this directory:
    sudo chown -R username:staff /opt/root-system/ 
    Finally, ROOT can be configured (here using the minimal set of options) and compiled as stated right below:
    +cd /opt/root-system
    +./configure --gminimal --enable-asimage --enable-mathmore --enable-minuit2 --enable-xml
    +make
    +
    +
+

+In order to finalize the ROOT installation and to prepare already the installation of musrfit and musrgui / musredit this is a good time for setting necessary environment variables for the use in Mac OS X. Put the following lines (without the comments in parentheses and with the paths adjusted to your local installation) into the file ~/.MacOSX/environment.plist and re-login:
+
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+        <key>MUSRFITPATH</key>
+        <string>/opt/root-system/bin</string>        (where to find the musrfit executables)
+        <key>QTDIR</key>
+        <string>/opt/local/lib/qt3mac</string>       (where to find Qt3 (for musrgui) or Qt4 (for musredit))
+        <key>ROOTSYS</key>
+        <string>/opt/root-system</string>            (where to find the ROOT system)
+</dict>
+</plist>
+
+

+Additionally, one might want to put a line in ~/.profile (or ~/.bash_profile) to look for executables also in the ROOT and Qt binary directories: +
+export PATH=$ROOTSYS/bin:$QTDIR/bin:$PATH
+
+

+

5.2 Requirements (Fink)

+

5.2.1 Everything but ROOT and NeXus

+Before proceeding with the usage of the Fink system first a few useful tools provided by Apple together with OS X (on the installation DVD/CDs) should be installed:
+
Xcode tools
Useful developer tools including for instance the GNU compiler collection +
X11
The X-window-system (automatically installed on 10.5 Leopard and 10.6 Snow Leopard) +
+

+After installing the Xcode tools go to the Fink download page, download the installer for your system and follow the installation instructions on the page. +By default the Fink system is installed in /sw. After the basic setup make sure that in /sw/etc/fink.conf the line starting with Trees: reads like: +
+Trees: local/main stable/main stable/crypto unstable/main
+
+After applying the changes above to the configuration file, the Fink core system should be upgraded to its newest version by typing in a terminal: +
+sudo fink selfupdate
+
+Then the Fink system should be set up and can be used to install additional software.
+The Fink installer package also contains a graphical user interface called FinkCommander and it is suggested to use that for installing the following packages (or packages with revisions close to the following)—it is necessary to compile a few packages from source since no binary packages are available, however, this is done automatically by the FinkCommander after you have chosen the software packages for installation: +

+autoconf automake boost1.41.nopython boost1.41.nopython-shlibs fftw3 fftw3-shlibs gsl gsl-shlibs libtool2 libtool2-shlibs libxml2 libxml2-bin libxml2-shlibs pkgconfig qt3mac qt3mac-shlibs +

+Under OS X 10.6 Snow Leopard it will not be possible to install qt3mac since the system is by default a 64-bit system and the old qt3-mac depends on software which is only available for 32-bit systems. It is suggested to install qt4mac instead and use musredit. +

+Also, due to some not fulfilled dependencies, it might not be possible to install FFTW3 through Fink. In this case (and ONLY in THIS case) simply download the FFTW3 source code from its download page and install it from a terminal using the following commands (for the FFTW version 3.x.y): +
+tar xz fftw-3.x.y
+cd fftw-3.x.y
+./configure --enable-single --enable-shared --enable-threads --prefix=/usr/local
+make
+sudo make install
+
+

+Since later on the boost header files should be used and in the standard Fink installation these are found at a version specific location, the later handling will be easier if a symbolic link to this files is created now in the terminal (if it did not exist earlier), e.g.: +
+ln -sf /sw/include/boost-x_yy_z/boost /sw/include/boost
+
+where x_yy_z has to be substituted by the correct version number, e.g. 1_41_0. +

+

5.2.2 Installation of NeXus requirements (optional)

+

+Only if musrfit should support reading data files in the NeXus format the further required packages can be installed through Fink: +

+libjpeg hdf hdf5-18 hdf5-18-shlibs +

+Unfortunately, the minixml and NeXus libraries have to be compiled and installed directly from the source code. Given the respective version numbers of 2.5 and 4.2.1 (which are subject to change with time) this can be achieved for example by: +
+cd
+curl http://ftp.easysw.com/pub/mxml/2.5/mxml-2.5.tar.gz -G | tar xz
+cd mxml-2.5
+./configure --prefix=/usr/local
+make
+sudo make install
+cd ..
+curl http://download.nexusformat.org/kits/nexus-4.2.1.tar.gz -G | tar xz
+cd nexus-4.2.1
+./configure --prefix=/usr/local
+make
+sudo make install
+
+

+

5.2.3 ROOT

+For installing the ROOT system there are some independent possibilities:
    +
  • Visit the ROOT web page and download the packed precompiled binary version matching the OS X version. Then unpack the bundle to its final destination (e.g. /opt/root-system). +
  • If there is no precompiled binary version of 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). 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 ("username" in the example) has easy write access to this directory:
    sudo chown -R username:staff /opt/root-system/ 
    Finally, ROOT can be configured (here using the minimal set of options) and compiled as stated right below:
    +cd /opt/root-system
    +./configure --gminimal --enable-asimage --enable-mathmore --enable-minuit2 --enable-xml
    +make
    +
    +
  • ROOT is also available through the FinkCommander! Install root5 or root5-devel. However, this versions also have to be compiled locally since there are no binary packages. The manual installation mentioned right above should be preferred in this case. +
+

+In order to finalize the ROOT installation and to prepare already the installation of musrfit and musrgui / musredit this is a good time for setting necessary environment variables for the use in Mac OS X. Put the following lines (without the comments in parentheses and with the paths adjusted to your local installation) into the file ~/.MacOSX/environment.plist and re-login:
+
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+        <key>MUSRFITPATH</key>
+        <string>/opt/root-system/bin</string>        (where to find the musrfit executables)
+        <key>QTDIR</key>
+        <string>/sw/lib/qt3mac</string>              (where to find Qt3 (for musrgui) or Qt4 (for musredit))
+        <key>ROOTSYS</key>
+        <string>/opt/root-system</string>            (where to find the ROOT system)
+</dict>
+</plist>
+
+

+Additionally, one might want to put a line in ~/.profile (or ~/.bash_profile) to look for executables also in the ROOT and Qt binary directories: +
+export PATH=$ROOTSYS/bin:$QTDIR/bin:$PATH
+
+

+

+

5.3 musrfit

+First, the most recent source code should be downloaded. The preferred way of doing so is to check out directly the subversion repository (if clients of subversion and ssh are installed). Assuming the code should be located in ~/musrfit this is achieved most easily calling from the terminal +
+cd
+svn co svn+ssh://svn@savannah.psi.ch/repos/nemu/lem/trunk/analysis/musrfit musrfit
+
+When asked (twice) for a password, type "svn". +If the repository had been checked out already before, one can update the local copy using: +
+cd
+svn up musrfit
+
+

+As an alternative (if subversion is not available), the source code can also be downloaded and extracted from a tarball. +
+cd
+curl http://savannah.psi.ch/viewcvs/trunk/analysis/musrfit.tar.gz -G --data-binary root=nemu%2Flem | tar xz
+
+

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

+
--prefix
Specify the installation prefix, e.g. /opt/root-system (by default: /usr/local) +
--with-rootsys
Specify the top of the ROOT installation directory, e.g. /opt/root-system +
--with-fftw3
Specify the prefix of the FFTW3 installation. e.g. /sw +
--with-gsl
Set the prefix of the GSL installation, e.g. /sw +
--with-boostinc
Set the path to the header files of the Boost installation, e.g. /sw/include +
--with-hdf4
Set the prefix of the HDF4 installation, e.g. /sw (only useful in conjunction with the NeXus support) +
--with-hdf5
Set the prefix of the HDF5 installation, e.g. /sw (only useful in conjunction with the NeXus support) +
--with-nexus
Set the prefix of the NeXus installation, e.g. /usr/local (only useful in conjunction with the NeXus support) +
--disable-omp
Switches off the OpenMP features of musrfit (parallelization of the χ2 calculation when compiled with GCC ≥ 4.2) +
+

+Normally it should not be necessary to make use of any of the options except for specifying the installation path with --prefix. The other paths should be detected automatically. If this does not work for some reason the configure script will terminate and ask for the information. +When the configure script has been called successfully everything is ready for building the musrfit libraries and executables. A standard installation sequence (without NeXus support) might then look like: +
+cd musrfit
+sh autogen.sh
+./configure --prefix=$ROOTSYS
+make
+make install
+
+In order to finish the installation of musrfit the paths where musrfit searches for data files should be adjusted in the installed musrfit_startup.xml ($ROOTSYS/bin/musrfit_startup.xml). For detailed information on this XML file refer to the manual. +

+ +

5.4 musredit

+If Qt4.6 or higher is set up on the machine the installation of the musrfit editor is also straight forward: +
+cd src/musredit
+qmake musredit.pro
+
+If everything went fine musredit can be compiled and installed: +
+make
+make install
+
+The last command copies musredit.app to the standard program directory /Applications and the musredit_startup.xml to $ROOTSYS/bin/musredit_startup.xml. Eventually, in the installed musredit_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. +

+

5.5 musrgui

+If Qt3 is set up the installation of the musrfit editor can be done as follows from within the shell: +
+cd src/musrgui
+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. +

+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! +In order to accomplish that, add the following lines to ~/.profile and call musrgui with the specified command (e.g. mgui): +
+export DYLD_LIBRARY_PATH=/opt/root-system/lib:/sw/lib:$DYLD_LIBRARY_PATH
+alias mgui='/Applications/musrgui.app/Contents/MacOS/musrgui'
+
+

+

+

+Notes +

+ 4 : In the case qt3-mac has not been installed, there will be no musrgui.app but only the executable musrgui which will be placed in the directory $ROOTSYS/bin and has to be called from the terminal. +

+

+

+
+

+

5.6 Check of the installation

+In order to perform a quick test for finding out if the installation has been completed successfully, a few msr files together with the corresponding data files can be found in the musrfit source tree at src/tests/CheckMusrfitInstall/.
+If musrgui has been installed, just open one of the test-*.msr files in the editor and test the musrfit functionalities. Otherwise, if only the terminal should be used, as an initial test for instance the following could be done: +
+cd src/tests/CheckMusrfitInstall
+musrview test-histo-ROOT-NPP.msr
+
+

+-- BMW & AS
+

+
+
+This topic: MUSR > WebHome > MusrFit > MusrFitSetup
+Topic revision: r46 - 11 Jul 2011 - 20:24:58 - BastianWojek +
+
+
+
 
+
Ideas, requests, problems regarding PSI Wiki? Send feedback
+
+
+
+
+

+

+

+

+ + + + + +

+

+

+

+

\ No newline at end of file diff --git a/doc/html/MUSR/MusrGui.html b/doc/html/MUSR/MusrGui.html new file mode 100644 index 00000000..4a22bf9a --- /dev/null +++ b/doc/html/MUSR/MusrGui.html @@ -0,0 +1,345 @@ + + + + + + + + MUSR :: MusrGui + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+
+

musrgui / musredit

+

+ +

+

1 Introduction

+musrgui and musredit are editors which also provide a graphical user interface to the programs contained in the musrfit suite and are intended to help the user handle musrfit msr files. They are implemented in C++ and use the Qt framework. Principally, musrgui and musredit are doing the same, but are based on different Qt versions. musrgui 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. musredit is based on Qt 4.6 (or above) and this is the program which will be developed further.
+On this documentation page only the features related to musrfit are described—the basic editor functions which should be self-explanatory are not. +Before going on using musrgui / musredit it is strongly recommended to read the manual of musrfit first! +

+

2 Available Executables, Configuration Files and their Basic Usage

+ +

2.1 musrgui / musredit

+musrgui / musredit are the editor executables. If called from within a shell they accept a few optional parameters:
+
<msr_files>
file names of the msr files that should be opened in separate editor tabs on startup of musrgui / musredit. +
--help
displays a small help notice in the shell explaining the basic usage of the program +
--version
prints the version number of musrgui / musredit +
+

+If called without any parameters an empty editor window opens. +

+ +

2.2 musrgui_startup.xml / musredit_startup.xml

+musrgui_startup.xml / musredit_startup.xml are configuration files located at the musrgui / musredit binary path. It is also possible to have another version of this file in the working directory which then will be used! +

+In this file the following XML tags are allowed to define settings and might proof useful for all users of musrgui / musredit:
+
<general></general>
set the default paths to executables and files in this environment
+
<exec_path>PATH_TO_EXEC</exec_path>
set the path PATH_TO_EXEC where the executables musrfit, musrview, musrt0, etc. can be found (inside the <general> environment) +
<default_save_path>SAV_PATH</default_save_path>
specify the path SAV_PATH where musrgui / musredit point by default when opening and saving msr files (inside the <general> environment) +
<msr_default_file_path>MSR_DEF_PATH</msr_default_file_path>
set the path MSR_DEF_PATH where the default msr files provided by musrgui are stored (inside the <general> environment) +
<title_from_data_file>y/n</title_from_data_file>
specify if musrfit should be called with the -t option by default (inside the <general> environment) +
<enable_musrt0>y/n</enable_musrt0>
specify if musrt0 can be called from within musrgui / musredit (inside the <general> environment) +
+
<font_settings></font_settings>
set the default font in this environment
+
<font_name>FONT</font_name>
specify the name of the font FONT to be used by default in musrgui / musredit (inside the <font_settings> environment) +
<font_size>N</font_size>
specify the size N of the font to be used by default in musrgui / musredit (inside the <font_settings> environment) +
+
<msr_file_defaults></msr_file_defaults>
put the default settings for newly created msr files in this environment
+
<beamline>BL</beamline>
set the name of the muon beamline BL here (inside a <msr_file_defaults>-environment) +
<institute>INST</institute>
set the name of the facility INST where the beamline BL is located. Valid settings are PSI, RAL, JPARC, and TRIUMF (inside a <msr_file_defaults> environment) +
<file_format>FF</file_format>
specify the default data file format FF here. Valid formats are NEXUS, ROOT-NPP, ROOT-PPC, PSI-BIN, PSI-MDU, MDU-ASCII, WKM, MUD, ASCII, and DB (inside a <msr_file_defaults> environment) +
<lifetime_correction>y/n</lifetime_correction>
choose if by default the lifetimecorrection option should be set (inside a <msr_file_defaults> environment) +
+
<msr2data_defaults></msr2data_defaults>
define the default options for calling msr2data in this environment; the options set here are ticked by default in the graphical interface of musrgui / musredit.
+
<chain_fit>y/n</chain_fit>
(un)set the chain fit (!) option (inside a <msr2data_defaults> environment) +
<write_data_header>y/n</write_data_header>
(un)set the noheader option (inside a <msr2data_defaults> environment) +
<ignore_data_header_info>y/n</ignore_data_header_info>
(un)set the nosummary option (inside a <msr2data_defaults> environment) +
<keep_minuit2_output>y/n</keep_minuit2_output>
(un)set the -k option (inside a <msr2data_defaults> environment) +
<write_column_data>y/n</write_column_data>
(un)set the data option (inside a <msr2data_defaults> environment) +
<create_msr_file_only>y/n</create_msr_file_only>
(un)set the msr option in case a template run is specified (inside a <msr2data_defaults> environment) +
<fit_only>y/n</fit_only>
(un)set the fit option in case no template run is specified (inside a <msr2data_defaults> environment) +
<global>y/n</global>
(un)set the global option (inside a <msr2data_defaults> environment) +
<global_plus>y/n</global_plus>
(un)set the global+ option (inside a <msr2data_defaults> environment) +
<recreate_data_file>y/n</recreate_data_file>
(un)set the musrgui / musredit option for recreating the output file (inside a <msr2data_defaults> environment) +
<open_file_after_fitting>y/n</open_file_after_fitting>
(un)set the musrgui / musredit option for opening msr files after fitting (inside a <msr2data_defaults> environment) +
+
+

+Additionally, there are some settings defined in this XML file which should be only changed by experienced users who like to add new features to musrgui / musredit:
+
<help_section></help_section>
define various help messages in this environment
+
<help_main>HELP TEXT</help_main>
set the main help message HELP TEXT here (inside a <help_section> environment) +
+
<func_pixmap_path>PIX_PATH</func_pixmap_path>
set the path PIX_PATH to LaTeX_logo.png pixmaps visualizing the various supported theory functions +
<theory_functions></theory_functions>
define the functions for a msr file's THEORY block according to the correct syntax in this environment
+
<func></func>
specify a function here (inside a <theory_functions> environment)
+
<name>NAME</name>
the NAME of the function in the msr file (inside a <func> environment) +
<comment>COMMENT</comment>
description of the used parameters (inside a <func> environment) +
<label>LABEL</label>
LABEL of the function in the musrgui / musredit menu (inside a <func> environment) +
<pixmap>PIXMAP</pixmap>
LaTeX_logo.png picture used to describe the function and stored in the PIX_PATH (inside a <func> environment) +
<params>N</params>
number of parameters N used by the function (inside a <func> environment) +
+
+
+

+An example of the musrgui_startup.xml looks like: +
+<?xml version="1.0" encoding="UTF-8"?>
+<musrgui_startup xmlns="https://intranet.psi.ch/MUSR/MusrGui">
+  <general>
+    <exec_path>/usr/local/bin</exec_path>
+    <default_save_path>./</default_save_path>
+    <msr_default_file_path>/home/user/analysis/musrfit/src/musrgui</msr_default_file_path>
+  </general>
+  <font_settings>
+    <font_name>Courier New</font_name>
+    <font_size>10</font_size>
+  </font_settings>
+  <msr_file_defaults>
+    <beamline>mue4</beamline>
+    <institute>psi</institute>
+    <file_format>root-npp</file_format>
+    <lifetime_correction>y</lifetime_correction>
+  </msr_file_defaults>
+  <msr2data_defaults>
+    <chain_fit>y</chain_fit>
+    <write_data_header>y</write_data_header>
+    <ignore_data_header_info>n</ignore_data_header_info>
+    <keep_minuit2_output>n</keep_minuit2_output>
+    <write_column_data>n</write_column_data>
+    <recreate_data_file>n</recreate_data_file>
+    <open_file_after_fitting>y</open_file_after_fitting>
+    <create_msr_file_only>n</create_msr_file_only>
+    <fit_only>n</fit_only>
+    <global>n</global>
+    <global_plus>n</global_plus>
+  </msr2data_defaults>
+  <help_section>
+    <help_main>
+      For a detailed description of the aim and structure of a msr file see http://lmu.web.psi.ch/facilities/software/musrfit/user/MUSR/MusrFit.html
+    </help_main>
+  </help_section>
+  <func_pixmap_path>/home/user/analysis/musrfit/src/musrgui/latex_images</func_pixmap_path>
+  <theory_functions>
+    <func>
+      <name>asymmetry</name>
+      <comment></comment>
+      <label>Asymmetry</label>
+      <pixmap>asymmetry.png</pixmap>
+      <params>1</params>
+    </func>
+    <func>
+      <name>simplExpo</name>
+      <comment>(rate)</comment>
+      <label>simple Exp</label>
+      <pixmap>simpleExp.png</pixmap>
+      <params>1</params>
+    </func>
+    <func>
+      <name>simplGss</name>
+      <comment>(rate)</comment>
+      <label>simple Gauss</label>
+      <pixmap>simpleGauss.png</pixmap>
+      <params>1</params>
+    </func>
+  </theory_function>
+</musrgui_startup>
+
+

+ +

3 musrfit Features

+The features of musrfit which can be accessed by the graphical front ends musrgui / musredit 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. +

+
musrasym.png Asymmetry Default (Alt+a)
Generate a full msr file suitable for the fit type 2 of musrfit 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 /path-to-datadir/2007/lem07_his_8472.root should be used and /path-to-datadir is on the path where musrfit looks for data files then the file name would be 2007/lem07_his_8472 and the file format either ROOT-NPP or ROOT-PPC. +
+

+
musrsinglehisto.png Single-Histogram Default (Alt+h)
Generate a full msr file suitable for the fit type 0 of musrfit 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 /path-to-datadir/d2007/deltat_pta_gps_8472.bin should be used and /path-to-datadir is on the path where musrfit looks for data files then the file name would be d2007/deltat_pta_gps_8472 and the file format PSI-BIN. +
+

+
musrcalcchisq.png Calculate Chisq (Alt+c)
musrfit <msr_file> --chisq-only
is called for the <msr_file> selected in the editor. For further information refer to the manual of musrfit. +
+

+
musrfit.png Fit (Alt+f)
musrfit <msr_file> [optional parameters]
is called for the <msr_file> selected in the editor. The optional parameters may be chosen under Preferences. For further information refer to the manual of musrfit. +
+

+
musrswap.png Swap Msr ↔ Mlog (Alt+s)
Swap the msr and mlog files. E.g., for a file called 8472_zf.msr, this is copied to 8472_zf.mlog and vice versa. +
+

+
musrmsr2data.png Msr2data (Alt+m)
Opens a graphical interface to the msr2data program described in detail in its own manual. +
+

+
musrview.png View (Alt+v)
musrview <msr_file>
is called for the <msr_file> selected in the editor. For further information refer to the manual of musrfit. +
+

+
musrt0.png T0 (Alt+t)
musrt0 <msr_file>
is called for the <msr_file> selected in the editor. For further information refer to the manual of musrfit. +
+

+
+
musrprefs.png Preferences (Alt+p)
Opens a window in which the optional parameters that should be passed to musrfit can be chosen. These options are --keep-mn2-output, --dump ascii, --dump root, and --title-from-data-file. For further information refer to the manual of musrfit. Additionally, the access to musrt0 can be enabled temporarily. +
+

+ +

4 Editor Features

+Besides the functions described above and which are mostly interfacing musrfit/msr2data the editors of musrgui / musredit offer various functions for manipulating especially musrfit msr files: +musrgui editor features
    +
  • 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 correct syntax. 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 manual of musrfit can be supplied. This feature is available only in musrgui. In musredit the respective functions can be accessed through the Edit menu. +
  • In order to comment or uncomment lines in a msr file select the according lines and apply Edit → (Un)Comment or use the keyboard shortcut Ctrl+(Shift)+m. +
+

+ +

5 Bugtracking

+

+For reporting bugs or requesting new features and improvements please use the PSI Tracker or send an e-mail to A. Suter. +

+-- BMW & AS
+

+
+
+This topic: MUSR > WebHome > MusrFit > MusrGui
+Topic revision: r18 - 20 Jul 2011 - 12:22:56 - BastianWojek +
+
+
+
 
+
Ideas, requests, problems regarding PSI Wiki? Send feedback
+
+
+
+
+

+

+

+

+ + + + + +

+

+

+

+

\ No newline at end of file diff --git a/doc/html/MUSR/QuickStart.html b/doc/html/MUSR/QuickStart.html new file mode 100644 index 00000000..942c7420 --- /dev/null +++ b/doc/html/MUSR/QuickStart.html @@ -0,0 +1,294 @@ + + + + + + + + MUSR :: QuickStart + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+

Quickstart for WKM users

+ +

Introduction

+

+musrfit is a program suite for analyzing μSR data. It is implemented in C++/ROOT and uses the MINUIT2 libraries developed at CERN for fitting data. +Installation instructions for Linux, MS Windows, and Mac OS X can be found here. The full user manual is available here.
+In principle the programs can be used in the same fashion as WKM (wkmfit, wkmview). +E.g., for fitting data as defined in the input file 8472.msr one types:
musrfit 8472.msr
for plotting data and the corresponding +fit one calls:
musrview 8472.msr
+Additionally, there are editors called musrgui/musredit available which can do everything the emacs plug-in for WKM is capable of and even more. However, before going to use only musrgui / musredit 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. +

+

Differences between WKM and musrfit msr files

+

+The msr file format of WKM has some weaknesses and has therefore been extended for the use with musrfit. Existing WKM files can be converted using the small utility msr2msr. The changes are:
    +
  • The musrfit msr and mlog files contain an additional column in the FITPARAMETER block for the representation of positive uncertainties if MINOS was called during fitting. In that case the Step column holds the negative uncertainties. If there has not been performed an error analysis using MINOS, the symmetric error can be found in the Step column, whereas the Pos_Error column contains only none entries. The beginning of the FITPARAMETER block then might look like this
    +    FITPARAMETER
    +    #       No   Name      Value     Step        Pos_Error    Boundaries
    +            1   Phase     35.8359   -3.94496    3.93749
    +            2   Asy       0.04501   -0.00208    0.00211      0       0.33
    +            3   Field     143.212   -0.27960    0.27885      100     200
    +            4   Rate      0.14245   -0.02501    0.02279      0       1
    +    
    or that
    +    FITPARAMETER
    +    #       No   Name      Value     Step        Pos_Error    Boundaries
    +            1   Phase     35.8359    3.94496    none
    +            2   Asy       0.04501    0.00208    none         0       0.33
    +            3   Field     143.212    0.27960    none         100     200
    +            4   Rate      0.14245    0.02501    none         0       1
    +
    +
  • Blank lines and lines beginning with # are handled as comments. Therefore this works:
    +   # Signal 1, first field, ...
    +
    +           2   Asy1      0.04501   -0.00208    0.00211      0       0.33
    +           3   Field1    143.212   -0.27960    0.27885      100     200
    +           4   Rate1     0.14245   -0.02501    0.02279      0       1
    +
    +   # Signal 2, second field, ...
    +
    +           5   Asy2      0.14501   -0.00208    0.00211      0       0.33
    +           6   Field2    343.212   -2.27960    2.27885      0       1000
    +           7   Rate2     0.42045   -0.02501    0.02279      0       1
    +
    +
  • In the RUN block, the first line of each run has the format:
    +RUN 2008/lem08_his_8472 MUE4 PSI ROOT-NPP   (name beamline institute data-file-format)
    +
    where the supported μSR-data file formats are: ROOT-NPP, ROOT-PPC, WKM, PSI-BIN, PSI-MDU, MDU-ASCII, MUD, and NEXUS +
  • The commands SET BATCH and END RETURN may be omitted in the COMMANDS block. +
+

+

Selected new features in musrfit

    +
  • 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. +
  • The use of functions in the RUN block is now possible for the normalization parameter, e.g. for the definition of an α parameter in simultaneous single-histogram fits of two histograms. +
  • Apart from the default χ2 minimization, when doing single-histogram fits (fit type 0) in musrfit there is also the possibility to do a log-likelihood maximization instead. For switching, just put MAX_LIKELIHOOD in the COMMANDS block. +
  • Since musrfit invokes MINUIT2 instead of MINUIT there are the following advantages compared to WKM:
      +
    • No ten character restriction on parameter names +
    • No restriction on the number of parameters used for a fit (apart from the computer memory) +
    • Possibility to constrain the parameters to semi-defined intervals (like par > a or par < b). The FITPARAMETER-block syntax in the msr input file is:
      +   FITPARAMETER
      +   #       No   Name      Value     Step        Pos_Error    Boundaries
      +   # Specify only a lower boundary for the parameter
      +           1   Asy1      0.04501   -0.00208    0.00211      0       none
      +
      +   # Specify only an upper boundary for the parameter
      +           2   Rate1     0.14245   -0.02501    0.02279      none    10
      +
      +   # Specify lower and upper boundaries for the parameter
      +           3   Asy2      0.14501   -0.00208    0.00211      0       0.33
      +
      +   # Do not specify boundaries at all
      +           4   Field2    343.212   -2.27960    2.27885      
      +           5   Rate2     0.42045   -0.02501    0.02279      none    none
      +   
      +
    +
  • The restriction of only ten mapped parameters is lifted! +
  • The supported table functions in WKM have been replaced by direct integrations in musrfit. +
  • Some constants for use in the FUNCTIONS block are predefined:
      +
    • gamma_mu = γμ/2π = 0.0135538817 MHz/G +
    • pi = π = 3.14159265358979323846 +
    +
  • As theory function also the so called skewed Gaussian can be chosen. The properties of this function are summarized in a memo pdf. The function is called in the THEORY block as follows:
    +   skewedGss   1  2  3  4 (phase frequency rate_m rate_p)
    +
    +
  • After fitting it is possible to keep the MINUIT2 output including the correlation matrix of the parameters. Calling musrfit with the --keep-mn2-ouput or -k option will provide you an ASCII and a ROOT file with the complete output, e.g.
    musrfit 8472.msr --keep-mn2-ouput
    generates 8472-mn2.output and 8472-mn2.root (and of course 8472.mlog). +
  • The PLOT block has been extended. Additionally to the old range options for instance it is possible to specify individual plot ranges for each run, change the binning used for the data presentation with a global packing parameter for all runs or present the data on (semi-)logarithmic scales. For details on this options refer to the manual. +
  • It is possible to have multiple PLOT blocks within a single msr file. Each PLOT block generates an individual ROOT canvas. +
  • For passing options to the Fourier transformation a new FOURIER block has been created. Here it is possible to specify parameters like the number of points used for the discrete transform or the apodization that should be used. For details on the FOURIER block refer to the manual. +
  • For checking the initial values of the given fit parameters one might use the --chisq-only or -c option of musrfit. Instead of fitting the data musrfit calculates χ2 only once and sends the result to the standard output if called with this option. +
  • There is the possibility to define a few external parameters in the XML file musrfit_startup.xml located in the binary directory. At the moment one can set various paths to the data files or the colors and markers as well as the default settings for the built-in Fourier transform which should be used in musrview. For details refer to the manual. +
  • Through the ROOT-dictionary mechanism musrfit supports the definition of external fit functions. For details, refer to the manual. +
  • Yet another useful feature implemented in musrfit is the addition of several μSR runs into one "combined run" with increased statistics. In order to do so an ADDRUN line has to be added to the RUN block after the line containing the RUN statement, e.g.:
    +   RUN 2007/lem07_his_2018 MUE4 PSI ROOT-NPP
    +   ADDRUN 2007/lem07_2019_rb1_npp MUE4 PSI WKM
    +   ADDRUN 2007/lem07_2020 MUE4 PSI PSI-BIN
    +
    It is possible to add more than one ADDRUN line which might even be stored in files with different formats. The remaining RUN-block statements (with the exception of t0) then refer to the "combined run". For further details refer to the manual. +
  • musrfit also supports one-dimensional fitting of non-μSR data stored in ASCII files or in the DB format. For this purpose the new fit and plot type 8 (non-muSR fit/plot) has been introduced. Theory functions like simplExpo or simpleGss accept a second argument, the so called "time shift t1": et → e-λ(t-t1)

    The further syntax of the msr input file can be seen in the following full example for fitting the exponential decay of a magnetic field into a local superconductor: B(z)=B_0 \mathrm{e}^{-\left(z-z_0\right)/\lambda_{\mathrm{L}}}
    +   superconductor.msr
    +   ###############################################################
    +   FITPARAMETER
    +   #      Nr. Name        Value     Step      Pos_Error  Boundaries
    +           1 B0          50.056    0           none
    +           2 z0          10.9405   -2.68635    2.37574
    +           3 lambdaL     206.121   -6.21524    7.02819
    +
    +   ###############################################################
    +   THEORY
    +   asymmetry      1
    +   simplExpo   fun1     2             (rate tshift)
    +
    +   ###############################################################
    +   FUNCTIONS
    +   fun1 = 1.0 / par3
    +
    +   ###############################################################
    +   RUN superconductor-data MUE4 PSI DB   (name beamline institute data-file-format)
    +   fittype         8         (non muSR fit)
    +   map             0    0    0    0    0    0    0    0    0    0
    +   xy-data         range   field
    +   fit             0.00    150.00
    +   packing         1
    +
    +   ###############################################################
    +   COMMANDS
    +   MINIMIZE
    +   MINOS
    +   SAVE
    +
    +   ###############################################################
    +   PLOT 8   (non muSR plot)
    +   runs     1
    +   range    0.00   140.00
    +
    +   ###############################################################
    +   STATISTIC --- 2008-10-10 14:02:32
    +   chisq = 10.0, NDF = 10, chisq/NDF = 1.0
    +
    In the above example musrfit reads the data from the file superconductor-data.db; the x and y data are specified by the DB parameter names range and field. An alternative specification of the x and y data by the parameter number in the DB file is also possible! +
+

+-- BMW & AS
+

+
+
+This topic: MUSR > WebHome > MusrFit > QuickStart
+Topic revision: r7 - 10 Jul 2011 - 17:48:19 - BastianWojek +
+
+
+
 
+
Ideas, requests, problems regarding PSI Wiki? Send feedback
+
+
+
+
+

+

+

+

+ + + + + +

+

+

+

+

\ No newline at end of file diff --git a/doc/html/MUSR/TutorialSingleHisto.html b/doc/html/MUSR/TutorialSingleHisto.html new file mode 100644 index 00000000..32effa21 --- /dev/null +++ b/doc/html/MUSR/TutorialSingleHisto.html @@ -0,0 +1,305 @@ + + + + + + + + MUSR :: TutorialSingleHisto + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+

musrfit Single-Histogram-Fit Tutorial

+

+The μSR-data-analysis process using 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. +

+The example deals with a diamagnetic sample that has been measured in an applied field of approximately 150 G in the GPS spectrometer at PSI using the "transverse geometry". In this geometry the muon spin is rotated about 50° 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. +

+To analyze these data (in a simple way) one starts out from the msr file 3110_tutorial.msr provided together with the source-code distribution in the sub-directory src/tests/CheckMusrfitInstall/. This ASCII file can be edited using any text editor. For convenience the editors musredit/musrgui are provided which offer some msr-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 musredit. +

+

1 The msr file

+

+The msr file itself is divided into different blocks—a full description of the format can be found here. +In the file 3110_tutorial.msr these blocks are successively:
    +
  • the title:
    +sample XYZ
    +
    A descriptive title of the file. +
  • the FITPARAMETER block:
    +FITPARAMETER
    +#       No Name        Value     Step        Pos_Error   Boundaries
    +        1 NormUp      4500      5           none        0       none    
    +        2 BgUp        200       1           none        0       none    
    +        3 PhaseUp     15        1           none        
    +
    +        4 NormDown    4500      5           none        0       none    
    +        5 BgDown      200       1           none        0       none    
    +        6 PhaseDown   195       1           none        
    +
    +        7 NormRight   600       5           none        0       none    
    +        8 BgRight     40        1           none        0       none    
    +        9 PhaseRight  285       1           none         
    +
    +       10 AsymSig1    0.17      0.01        none        0       0.33    
    +       11 RateSig1    2.5       0.1         none        0       none
    +       12 FieldSig1   100       1           none       
    +
    +       13 AsymSig2    0.02      0.01        none        0       0.33    
    +       14 RateSig2    0.5       0.1         none       
    +       15 FieldSig2   150       1           none
    +
    The list of parameters used in the theory function to describe the set of data. Each parameter has a number, a name, an initial value and an initial step (for the fitting process). If a parameter should be fixed, the initial step is set to 0. After a fit (see below), this block contains the determined parameter values and uncertainties (in the Step column). If asymmetric errors are determined, these will be listed in the Step column (negative) and the Pos_Error column (positive). Optionally, lower and upper boundaries for the parameters can be specified as shown above.
    The meaning of the parameters above is explained in the following:
    Since a single-histogram fit should be done, some histogram-specific parameters are needed. These are a normalization constant (parameter 1), a parameter describing the background of uncorrelated events (parameter 2) and the initial phase of the spin precession with respect to the detector (parameter 3). As stated above, there are three histograms containing useful information ("Up", "Down", "Right"); hence, this set of parameters has to be present for each of them (parameters 1–9).
    The remaining parameters are used to model the decay asymmetry which is assumed to be equal for all histograms. In this example one has two signals (e.g. from the sample and the sample holder), each with an amplitude (parameters 10 and 13), a depolarization rate (parameters 11 and 14) and a mean field (here given in Gauss, parameters 12 and 15). +
  • the THEORY block:
    +THEORY
    +asymmetry     10
    +simplExpo     11          (rate)
    +TFieldCos   map1  fun1       (phase frequency)
    ++
    +asymmetry     13
    +simpleGss     14          (rate)
    +TFieldCos   map1  fun2       (phase frequency)
    +
    The THEORY block is used to define a fit-parameter-dependent theory function used to model the decay asymmetry. Different predefined and user-defined functions can be combined here. Theory lines following each other are multiplied and the + sign is used to add different (here: two) signal contributions. The numbers are the parameter numbers according to the FITPARAMETER block. map and fun are used to refer to histogram-dependent parameters and to interrelate fit parameters, respectively (see below). +
  • the FUNCTIONS block:
    +FUNCTIONS
    +fun1 = gamma_mu * par12
    +fun2 = gamma_mu * par15
    +
    Here functions interrelating different fit parameters and predefined constants can be defined for the use in the THEORY block. In the example, the functions are used to calculate the muon-spin-precession frequencies for the given fields (ν = γμB/2π). One function is used for each signal. Altogether, the theory function defined above is A(t) = p10 e-p11t cos(φiπ/180 + γμ p12 t) + p13 e-(p14t)2/2 cos(φiπ/180 + γμ p15t), where the p are the parameters in the FITPARAMETER block and φi = p3, p6, p9 depending on the histogram as shall be seen later. +
  • the RUN block:
    +RUN data/deltat_pta_gps_3110 PIM3 PSI PSI-BIN   (name beamline institute data-file-format)
    +fittype         0         (single histogram fit)
    +norm            1
    +backgr.fit      2
    +lifetimecorrection
    +map             3    0    0    0    0    0    0    0    0    0
    +forward         3       
    +data            1       8000    
    +t0              1     
    +fit             0       4.9    
    +packing         20
    +
    The RUN blocks are used to collect information on the data to be analyzed. Specifically, these are:
      +
    • RUN data/deltat_pta_gps_3110 PIM3 PSI PSI-BIN   (name beamline institute data-file-format)
      the path to the data file and the file format (NEXUS, ROOT-NPP, ROOT-PPC, PSI-BIN, PSI-MDU, WKM, MUD, MDU-ASCII) +
    • fittype         0         (single histogram fit)
      the fit type (0 = single-histogram fit) +
    • norm            1
      the number of the fit parameter representing the normalization constant +
    • backgr.fit      2
      the number of the fit parameter representing the background +
    • lifetimecorrection
      a tag that specifies whether the histogram is plotted (line is not present) or the asymmetry (line is present) +
    • map             3    0    0    0    0    0    0    0    0    0
      the definition of the maps used in the THEORY block—RUN-block-specific parameters are given here; in this example, map1 is substituted by parameter 3 in the THEORY block for this RUN block and map2, map3, and so on are undefined. +
    • forward         3
      the histogram number; in this example 3 corresponds to the histogram of the "Up" positron counter +
    • data            1        8000
      start and end bins of the range containing useful data in the histogram (to be adjusted, e.g. by using musrt0, see below) +
    • t0              1
      histogram bin corresponding to the time zero (muon implantation time) (to be adjusted, e.g. by musrt0, see below) +
    • fit             0       4.9
      start and end times (in μs) defining the fit range +
    • packing         20
      the packing of the histograms (in histogram bins)

      Since the data of three histograms is to be analyzed, the file contains not only one but three RUN blocks—each defining the histogram-specific information following the example given above. +
    +
  • the COMMANDS block:
    +COMMANDS
    +MINIMIZE
    +MINOS
    +SAVE
    +
    In the COMMANDS block, a sequence of operations that should be performed is defined. Here, the requested operations are the minimization of χ2 (MINIMIZE), the calculation of asymmetric errors (MINOS) as well as saving the found parameter values and uncertainties to the msr file (SAVE). A full description of the possible commands can be found here. +
  • the FOURIER block:
    +FOURIER
    +units            Gauss   # units either 'Gauss', 'MHz', or 'Mc/s'
    +fourier_power    10
    +apodization      WEAK    # NONE, WEAK, MEDIUM, STRONG
    +plot             POWER   # REAL, IMAG, REAL_AND_IMAG, POWER, PHASE
    +phase            par3
    +range            0.0    600.0
    +
    The FOURIER block is used to define basic settings for the Fourier transform available in musrview. These are:
      +
    • units            Gauss   # units either 'Gauss', 'MHz', or 'Mc/s'
      the units of the Fourier domain +
    • fourier_power    10
      the number of data points used for the discrete transform, here 210=1024 +
    • apodization      WEAK    # NONE, WEAK, MEDIUM, STRONG
      the apodization to be used +
    • plot             POWER   # REAL, IMAG, REAL_AND_IMAG, POWER, PHASE
      what should be plotted (real part, imaginary part, and so on) +
    • phase            par3
      the initial phase of the input data is given here in degrees. Optionally, a phase parameter from the FITPARAMETER block can be given, here par3 takes the value of parameter 3. +
    • range            0.0    600.0
      the start and end points of the range of the Fourier transform in the units specified above +
    +
  • the PLOT block:
    +PLOT 0   (single histo plot)
    +runs     1   2   
    +range    0   4 -0.2 0.2
    +
    The PLOT block defines which data (corresponding to the given RUN blocks) is plotted when musrview is called. In the given example, a canvas would be drawn containing the (life-time-corrected) data of the first two RUN blocks ("Up" and "Down" positron counters). The abscissa would range from 0 to 4 μs, the axis of ordinates from -0.2 to 0.2.
    It is possible to define more than one PLOT block. Each PLOT block corresponds to a separate canvas. Therefore, the second PLOT block in the file
    +PLOT 0   (single histo plot)
    +runs     3   
    +use_fit_ranges
    +
    produces an additional window containing the (not life-time-corrected) data of the third RUN block ("Right" positron counter). The abscissa ranges from 0 to 4.9 μs (according to the fit range given in the RUN block). +
  • the STATISTIC block:
    +STATISTIC --- 2011-07-09 10:58:44
    +  chisq = 1348.1764586409397, NDF = 1146, chisq/NDF = 1.1764192483777833
    +
    This block is the last block of a msr file. It contains some information on the fit: the date and time as well as the absolute and normalized values of χ2 and the number of degrees of freedom in the fit.
    These information only have a meaning if the fitting procedure has been executed at least once and the fit has converged! +
+

+

2 Determine t0 and the data range using musrt0

+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 musrt0. Starting this program by selecting the musrt0.png button in musredit or calling from a terminal
musrt0 3110_tutorial.msr
opens an interactive window plotting the data of the first RUN block:
+musrt0-1
+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 T (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 d when the cursor is found at a suitable location:
+musrt0-2
+After all lines have been adjusted for the first histogram, one can go on to the second by pressing q. This procedure is repeated until all ranges have been set correctly. When finished with the last histogram the new t0 and data-range values will be written to the msr file. +A full description of musrt0 can be found here. +

+

3 Fit the model to the data using musrfit

+Now that the basics of the msr 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 musrfit.png button in musredit or calling from a terminal
musrfit 3110_tutorial.msr
+

+After the fitting procedure has finished the msr file is updated and contains the newly determined values of the fit parameters. +

+

4 View the data and the fit using musrview

+The data and the corresponding fit can be visualized by choosing musrview.png in musredit or calling from a terminal
musrview 3110_tutorial.msr
This creates the windows according to the given PLOT blocks in the msr file:
+musrview-1
+musrview-2
+The basic features of musrview can be found in the Musrfit menu. They include:
    +
  • export the shown data and the model to an ASCII file with comma-separated values +
  • presenting the difference between the shown data and the model (keyboard shortcut: d) +
  • calculate and show the Fourier transform of the shown data (keyboard shortcut: f), e.g. for the asymmetry of the "Up" and "Down" detectors:
    musrview-3
    +
+

+

5 Process multiple msr files using msr2data

+This short introduction is concluded by calling attention to the program msr2data. As the name indicates the main purpose of this program is to extract the FITPARAMETER-block information from multiple msr 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 manual, it is not only possible to collect data from msr files but also to create new msr files from a template and to process these files using musrfit on the fly.
+Assuming the successive runs 3111 through 3114 can be analyzed using the same model introduced above for run 3110 (e.g. in the case one has done measurements at different temperatures) one can use the file 3110_tutorial.msr as template, generate the files 3111_tutorial.msr through 3114_tutorial.msr with the corresponding updates in the RUN blocks, call for each one musrfit and finally summarize the FITPARAMETER-block information of all processed files in an ASCII output file tutorial-T-dependence.dat (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.
+From the terminal this would be done as follows:
+msr2data 3110 3114 _tutorial fit-3110 -o tutorial-T-dependence.dat data
+
+To achieve the same in musredit one selects musrmsr2data.png and fills the form accordingly:
+msr2data +

+

6 Further reading

+This page only summarizes the very basic features and options of the programs contained in the musrfit suite. For a complete description please refer to the manuals of +

+-- BMW & AS
+

+
+
+This topic: MUSR > TutorialSingleHisto
+Topic revision: r7 - 27 Jul 2011 - 19:45:59 - BastianWojek +
+
+
+
 
+
Ideas, requests, problems regarding PSI Wiki? Send feedback
+
+
+
+
+

+

+

+

+ + + + + +

+

+

+

+

\ No newline at end of file diff --git a/doc/html/MUSR/WebHome.html b/doc/html/MUSR/WebHome.html new file mode 100644 index 00000000..0ba1c68b --- /dev/null +++ b/doc/html/MUSR/WebHome.html @@ -0,0 +1,168 @@ + + + + + + + + MUSR :: WebHome + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+
+
+ +
+This topic: MUSR > WebHome
+Topic revision: r22 - 30 Jul 2011 - 13:41:15 - BastianWojek +
+
+
+
 
+
Ideas, requests, problems regarding PSI Wiki? Send feedback
+
+
+
+
+

+

+

+

+ + + + + +

+

+

+

+

\ No newline at end of file diff --git a/doc/html/index.html b/doc/html/index.html new file mode 100644 index 00000000..0c6b07a0 --- /dev/null +++ b/doc/html/index.html @@ -0,0 +1,9 @@ + + + + + +

You should be automatically redirected to the documentation of musrfit.

+

If this does not work, please click on this link!

+ + diff --git a/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_039b3b38df7c6f284089c14f1efdf643.png b/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_039b3b38df7c6f284089c14f1efdf643.png new file mode 100644 index 00000000..9567bd03 Binary files /dev/null and b/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_039b3b38df7c6f284089c14f1efdf643.png differ diff --git a/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_1c744b7e1104ae8c4a6bf4f8391df10b.png b/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_1c744b7e1104ae8c4a6bf4f8391df10b.png new file mode 100644 index 00000000..ed13356d Binary files /dev/null and b/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_1c744b7e1104ae8c4a6bf4f8391df10b.png differ diff --git a/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_2339fd9b358ebe241da05c665668d48b.png b/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_2339fd9b358ebe241da05c665668d48b.png new file mode 100644 index 00000000..588789a8 Binary files /dev/null and b/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_2339fd9b358ebe241da05c665668d48b.png differ diff --git a/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_28f3ed750a4819b4256c2f9be649f594.png b/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_28f3ed750a4819b4256c2f9be649f594.png new file mode 100644 index 00000000..7ac3b6ce Binary files /dev/null and b/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_28f3ed750a4819b4256c2f9be649f594.png differ diff --git a/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_3146cb17887e3a20cc2078f103605af5.png b/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_3146cb17887e3a20cc2078f103605af5.png new file mode 100644 index 00000000..d6c87bfa Binary files /dev/null and b/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_3146cb17887e3a20cc2078f103605af5.png differ diff --git a/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_373e9bf1fc97e2c6aacf93bcc090402c.png b/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_373e9bf1fc97e2c6aacf93bcc090402c.png new file mode 100644 index 00000000..49121d54 Binary files /dev/null and b/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_373e9bf1fc97e2c6aacf93bcc090402c.png differ diff --git a/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_3cee3cc69dbe918398ec39a72a465014.png b/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_3cee3cc69dbe918398ec39a72a465014.png new file mode 100644 index 00000000..fddd3e63 Binary files /dev/null and b/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_3cee3cc69dbe918398ec39a72a465014.png differ diff --git a/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_432d7664e0756ded77e7423dd256c122.png b/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_432d7664e0756ded77e7423dd256c122.png new file mode 100644 index 00000000..bbd2edc1 Binary files /dev/null and b/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_432d7664e0756ded77e7423dd256c122.png differ diff --git a/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_469d5d1b83125e4915e2f073d8150b12.png b/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_469d5d1b83125e4915e2f073d8150b12.png new file mode 100644 index 00000000..70aae7f3 Binary files /dev/null and b/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_469d5d1b83125e4915e2f073d8150b12.png differ diff --git a/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_532f98969690650ac4d127919a0eda38.png b/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_532f98969690650ac4d127919a0eda38.png new file mode 100644 index 00000000..f7a2a2dc Binary files /dev/null and b/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_532f98969690650ac4d127919a0eda38.png differ diff --git a/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_6997ecca9587ccd09cc532d4476ae3a8.png b/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_6997ecca9587ccd09cc532d4476ae3a8.png new file mode 100644 index 00000000..fbe53773 Binary files /dev/null and b/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_6997ecca9587ccd09cc532d4476ae3a8.png differ diff --git a/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_70e57aa1afa7d337fa46f427b34feb54.png b/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_70e57aa1afa7d337fa46f427b34feb54.png new file mode 100644 index 00000000..1b397665 Binary files /dev/null and b/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_70e57aa1afa7d337fa46f427b34feb54.png differ diff --git a/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_7d1f8851f7efae8cd5d65842fb528f66.png b/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_7d1f8851f7efae8cd5d65842fb528f66.png new file mode 100644 index 00000000..60df6f6e Binary files /dev/null and b/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_7d1f8851f7efae8cd5d65842fb528f66.png differ diff --git a/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_86f4cdca957f08c4d0ad3107b42d5502.png b/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_86f4cdca957f08c4d0ad3107b42d5502.png new file mode 100644 index 00000000..06f69cea Binary files /dev/null and b/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_86f4cdca957f08c4d0ad3107b42d5502.png differ diff --git a/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_88f576f1799d16c1df9f3205ab2946f2.png b/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_88f576f1799d16c1df9f3205ab2946f2.png new file mode 100644 index 00000000..4796a83b Binary files /dev/null and b/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_88f576f1799d16c1df9f3205ab2946f2.png differ diff --git a/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_8fa3ac8f18b7bc49eb89163d6528684c.png b/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_8fa3ac8f18b7bc49eb89163d6528684c.png new file mode 100644 index 00000000..577d558a Binary files /dev/null and b/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_8fa3ac8f18b7bc49eb89163d6528684c.png differ diff --git a/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_9bb7e08c8e276a92650d89d6918b3769.png b/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_9bb7e08c8e276a92650d89d6918b3769.png new file mode 100644 index 00000000..68e6166f Binary files /dev/null and b/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_9bb7e08c8e276a92650d89d6918b3769.png differ diff --git a/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_9cc0fd47eedada7247b14775bd308deb.png b/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_9cc0fd47eedada7247b14775bd308deb.png new file mode 100644 index 00000000..c37f03b4 Binary files /dev/null and b/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_9cc0fd47eedada7247b14775bd308deb.png differ diff --git a/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_a5feddf35c572c4579cbef865caf8863.png b/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_a5feddf35c572c4579cbef865caf8863.png new file mode 100644 index 00000000..87b9b38b Binary files /dev/null and b/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_a5feddf35c572c4579cbef865caf8863.png differ diff --git a/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_ae6486e95514c0c6f88837cbc62a522c.png b/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_ae6486e95514c0c6f88837cbc62a522c.png new file mode 100644 index 00000000..bfb453c4 Binary files /dev/null and b/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_ae6486e95514c0c6f88837cbc62a522c.png differ diff --git a/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_b6719fad8e30208538b34bc94040b7a5.png b/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_b6719fad8e30208538b34bc94040b7a5.png new file mode 100644 index 00000000..3dca2298 Binary files /dev/null and b/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_b6719fad8e30208538b34bc94040b7a5.png differ diff --git a/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_c25933e91d56089992506f463d71de8f.png b/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_c25933e91d56089992506f463d71de8f.png new file mode 100644 index 00000000..2422b274 Binary files /dev/null and b/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_c25933e91d56089992506f463d71de8f.png differ diff --git a/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_c465118a8d86d5f25bba37cc1dcb38a0.png b/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_c465118a8d86d5f25bba37cc1dcb38a0.png new file mode 100644 index 00000000..e23df282 Binary files /dev/null and b/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_c465118a8d86d5f25bba37cc1dcb38a0.png differ diff --git a/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_d5a20ca7e3a33f6badc441163d1efe34.png b/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_d5a20ca7e3a33f6badc441163d1efe34.png new file mode 100644 index 00000000..fae48875 Binary files /dev/null and b/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_d5a20ca7e3a33f6badc441163d1efe34.png differ diff --git a/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_dfd02951094e1cb98f48e3f6d4562f38.png b/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_dfd02951094e1cb98f48e3f6d4562f38.png new file mode 100644 index 00000000..ae721040 Binary files /dev/null and b/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_dfd02951094e1cb98f48e3f6d4562f38.png differ diff --git a/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_e0b0e98f9a3974249b42b6910523c8a4.png b/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_e0b0e98f9a3974249b42b6910523c8a4.png new file mode 100644 index 00000000..f553f5b2 Binary files /dev/null and b/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_e0b0e98f9a3974249b42b6910523c8a4.png differ diff --git a/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_e47f33589d28eaa3f9baccb7a80fdbaa.png b/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_e47f33589d28eaa3f9baccb7a80fdbaa.png new file mode 100644 index 00000000..fb800a06 Binary files /dev/null and b/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_e47f33589d28eaa3f9baccb7a80fdbaa.png differ diff --git a/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_e6688a12ee4e821abc31b4c1dd511539.png b/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_e6688a12ee4e821abc31b4c1dd511539.png new file mode 100644 index 00000000..6f732b49 Binary files /dev/null and b/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_e6688a12ee4e821abc31b4c1dd511539.png differ diff --git a/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_e8414d477977d226317c020980b7d34f.png b/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_e8414d477977d226317c020980b7d34f.png new file mode 100644 index 00000000..d0b7c304 Binary files /dev/null and b/doc/html/pub/MUSR/LibFitPofB/_MathModePlugin_e8414d477977d226317c020980b7d34f.png differ diff --git a/doc/html/pub/MUSR/LibZFRelaxation/_MathModePlugin_0a70ac778f3ffbf2c93d46b23559d371.png b/doc/html/pub/MUSR/LibZFRelaxation/_MathModePlugin_0a70ac778f3ffbf2c93d46b23559d371.png new file mode 100644 index 00000000..2b4838e9 Binary files /dev/null and b/doc/html/pub/MUSR/LibZFRelaxation/_MathModePlugin_0a70ac778f3ffbf2c93d46b23559d371.png differ diff --git a/doc/html/pub/MUSR/LibZFRelaxation/_MathModePlugin_2b4a75902dcb0b8de5a662656d3b9066.png b/doc/html/pub/MUSR/LibZFRelaxation/_MathModePlugin_2b4a75902dcb0b8de5a662656d3b9066.png new file mode 100644 index 00000000..c5288b49 Binary files /dev/null and b/doc/html/pub/MUSR/LibZFRelaxation/_MathModePlugin_2b4a75902dcb0b8de5a662656d3b9066.png differ diff --git a/doc/html/pub/MUSR/LibZFRelaxation/_MathModePlugin_4611c56f1556464dd8a6eaabbe070c05.png b/doc/html/pub/MUSR/LibZFRelaxation/_MathModePlugin_4611c56f1556464dd8a6eaabbe070c05.png new file mode 100644 index 00000000..1ab3cd28 Binary files /dev/null and b/doc/html/pub/MUSR/LibZFRelaxation/_MathModePlugin_4611c56f1556464dd8a6eaabbe070c05.png differ diff --git a/doc/html/pub/MUSR/LibZFRelaxation/_MathModePlugin_5100b245762fc5c6dee8db3b05032a18.png b/doc/html/pub/MUSR/LibZFRelaxation/_MathModePlugin_5100b245762fc5c6dee8db3b05032a18.png new file mode 100644 index 00000000..4118375c Binary files /dev/null and b/doc/html/pub/MUSR/LibZFRelaxation/_MathModePlugin_5100b245762fc5c6dee8db3b05032a18.png differ diff --git a/doc/html/pub/MUSR/LibZFRelaxation/_MathModePlugin_52c5f826fb399ae721887c5fb4e31de0.png b/doc/html/pub/MUSR/LibZFRelaxation/_MathModePlugin_52c5f826fb399ae721887c5fb4e31de0.png new file mode 100644 index 00000000..d4cb3583 Binary files /dev/null and b/doc/html/pub/MUSR/LibZFRelaxation/_MathModePlugin_52c5f826fb399ae721887c5fb4e31de0.png differ diff --git a/doc/html/pub/MUSR/LibZFRelaxation/_MathModePlugin_975f948b57199037b2b8bfb5e986b6a9.png b/doc/html/pub/MUSR/LibZFRelaxation/_MathModePlugin_975f948b57199037b2b8bfb5e986b6a9.png new file mode 100644 index 00000000..1f95c262 Binary files /dev/null and b/doc/html/pub/MUSR/LibZFRelaxation/_MathModePlugin_975f948b57199037b2b8bfb5e986b6a9.png differ diff --git a/doc/html/pub/MUSR/LibZFRelaxation/_MathModePlugin_fca91646b118061038b53ada5563c17c.png b/doc/html/pub/MUSR/LibZFRelaxation/_MathModePlugin_fca91646b118061038b53ada5563c17c.png new file mode 100644 index 00000000..957275c1 Binary files /dev/null and b/doc/html/pub/MUSR/LibZFRelaxation/_MathModePlugin_fca91646b118061038b53ada5563c17c.png differ diff --git a/doc/html/pub/MUSR/Msr2Data/msr2data-input-tabs.png b/doc/html/pub/MUSR/Msr2Data/msr2data-input-tabs.png new file mode 100644 index 00000000..141adaa1 Binary files /dev/null and b/doc/html/pub/MUSR/Msr2Data/msr2data-input-tabs.png differ diff --git a/doc/html/pub/MUSR/MusrFit/Makefile.TMyLibrary b/doc/html/pub/MUSR/MusrFit/Makefile.TMyLibrary new file mode 100644 index 00000000..73a85c8e --- /dev/null +++ b/doc/html/pub/MUSR/MusrFit/Makefile.TMyLibrary @@ -0,0 +1,60 @@ +#--------------------------------------------------- +# get compilation flags from root-config + +ROOTCFLAGS = $(shell $(ROOTSYS)/bin/root-config --cflags) + +#--------------------------------------------------- + +OS = LINUX +CXX = g++ +CXXFLAGS = -O3 -Wall -Wno-trigraphs -fPIC +LOCALINCLUDE = . +ROOTINCLUDE = $(ROOTSYS)/include +INCLUDES = -I$(LOCALINCLUDE) -I$(ROOTINCLUDE) +LD = g++ +LDFLAGS = +SOFLAGS = -O -shared + +# the output from the root-config script: +CXXFLAGS += $(ROOTCFLAGS) +LDFLAGS += + +# some definitions: headers (used to generate *Dict* stuff), sources, objects,... +OBJS = +OBJS += TMyFunction.o TMyLibraryDict.o + +SHLIB = libTMyLibrary.so + +# make the shared lib: +# +all: $(SHLIB) + +$(SHLIB): $(OBJS) + @echo "---> Building shared library $(SHLIB) ..." + /bin/rm -f $(SHLIB) + $(LD) $(OBJS) $(SOFLAGS) -o $(SHLIB) + @echo "done" + +# clean up: remove all object file (and core files) +# semicolon needed to tell make there is no source +# for this target! +# +clean:; @rm -f $(OBJS) *Dict* core* + @echo "---> removing $(OBJS)" + +# +$(OBJS): %.o: %.cpp + $(CXX) $(INCLUDES) $(CXXFLAGS) -c $< + +# Generate the ROOT CINT dictionary + +TMyLibraryDict.cpp: TMyFunction.h TMyLibraryLinkDef.h + @echo "Generating dictionary $@..." + rootcint -f $@ -c -p -I$(ROOTINCLUDE) $^ + +install: all + @echo "Installing shared lib: libTApproximation.so" +ifeq ($(OS),LINUX) + cp -pv $(SHLIB) $(ROOTSYS)/lib + cp -pv $(LOCALINCLUDE)/*.h $(ROOTSYS)/include +endif diff --git a/doc/html/pub/MUSR/MusrFit/Theory-Tree-with-UserFcn.png b/doc/html/pub/MUSR/MusrFit/Theory-Tree-with-UserFcn.png new file mode 100644 index 00000000..af7c847e Binary files /dev/null and b/doc/html/pub/MUSR/MusrFit/Theory-Tree-with-UserFcn.png differ diff --git a/doc/html/pub/MUSR/MusrFit/_MathModePlugin_014e8cd7847b5402573b3292b2569731.png b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_014e8cd7847b5402573b3292b2569731.png new file mode 100644 index 00000000..dde09b54 Binary files /dev/null and b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_014e8cd7847b5402573b3292b2569731.png differ diff --git a/doc/html/pub/MUSR/MusrFit/_MathModePlugin_020e973cf5b1293c76cb3ecef5a269f8.png b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_020e973cf5b1293c76cb3ecef5a269f8.png new file mode 100644 index 00000000..a7c6251d Binary files /dev/null and b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_020e973cf5b1293c76cb3ecef5a269f8.png differ diff --git a/doc/html/pub/MUSR/MusrFit/_MathModePlugin_022741828ce174efdb6387e198d4d174.png b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_022741828ce174efdb6387e198d4d174.png new file mode 100644 index 00000000..2b045ddc Binary files /dev/null and b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_022741828ce174efdb6387e198d4d174.png differ diff --git a/doc/html/pub/MUSR/MusrFit/_MathModePlugin_03095d51eca2bcb1dda113e995238fc0.png b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_03095d51eca2bcb1dda113e995238fc0.png new file mode 100644 index 00000000..30ba8b35 Binary files /dev/null and b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_03095d51eca2bcb1dda113e995238fc0.png differ diff --git a/doc/html/pub/MUSR/MusrFit/_MathModePlugin_08b9deccddc142bcb30845cad4579dd1.png b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_08b9deccddc142bcb30845cad4579dd1.png new file mode 100644 index 00000000..87150bdc Binary files /dev/null and b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_08b9deccddc142bcb30845cad4579dd1.png differ diff --git a/doc/html/pub/MUSR/MusrFit/_MathModePlugin_125ae4b9a7d16163023ce9cb3043aa0a.png b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_125ae4b9a7d16163023ce9cb3043aa0a.png new file mode 100644 index 00000000..13e83df8 Binary files /dev/null and b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_125ae4b9a7d16163023ce9cb3043aa0a.png differ diff --git a/doc/html/pub/MUSR/MusrFit/_MathModePlugin_1582d158c5651581ca9e800ee698ce9f.png b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_1582d158c5651581ca9e800ee698ce9f.png new file mode 100644 index 00000000..a9148b9b Binary files /dev/null and b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_1582d158c5651581ca9e800ee698ce9f.png differ diff --git a/doc/html/pub/MUSR/MusrFit/_MathModePlugin_16b8c518c1e529e6c963929287ef3a56.png b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_16b8c518c1e529e6c963929287ef3a56.png new file mode 100644 index 00000000..433c3dd8 Binary files /dev/null and b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_16b8c518c1e529e6c963929287ef3a56.png differ diff --git a/doc/html/pub/MUSR/MusrFit/_MathModePlugin_1f1b2becd9ba1bee3b5d7f897bd8db7e.png b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_1f1b2becd9ba1bee3b5d7f897bd8db7e.png new file mode 100644 index 00000000..bfbabc44 Binary files /dev/null and b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_1f1b2becd9ba1bee3b5d7f897bd8db7e.png differ diff --git a/doc/html/pub/MUSR/MusrFit/_MathModePlugin_20651e8230c7eb66c452bb1f01dc4633.png b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_20651e8230c7eb66c452bb1f01dc4633.png new file mode 100644 index 00000000..2cf96b70 Binary files /dev/null and b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_20651e8230c7eb66c452bb1f01dc4633.png differ diff --git a/doc/html/pub/MUSR/MusrFit/_MathModePlugin_23ec8fc398b4e415b86bbd2b65f9a63c.png b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_23ec8fc398b4e415b86bbd2b65f9a63c.png new file mode 100644 index 00000000..282d4c1b Binary files /dev/null and b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_23ec8fc398b4e415b86bbd2b65f9a63c.png differ diff --git a/doc/html/pub/MUSR/MusrFit/_MathModePlugin_24c06da56000c5aba89b43d3d082d566.png b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_24c06da56000c5aba89b43d3d082d566.png new file mode 100644 index 00000000..e4e4a2c4 Binary files /dev/null and b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_24c06da56000c5aba89b43d3d082d566.png differ diff --git a/doc/html/pub/MUSR/MusrFit/_MathModePlugin_2508962dd22d85bdaebb0d6a483c4b3f.png b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_2508962dd22d85bdaebb0d6a483c4b3f.png new file mode 100644 index 00000000..c11f01f2 Binary files /dev/null and b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_2508962dd22d85bdaebb0d6a483c4b3f.png differ diff --git a/doc/html/pub/MUSR/MusrFit/_MathModePlugin_26a5ae8799badcc3bcbe1823265a9053.png b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_26a5ae8799badcc3bcbe1823265a9053.png new file mode 100644 index 00000000..5822e253 Binary files /dev/null and b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_26a5ae8799badcc3bcbe1823265a9053.png differ diff --git a/doc/html/pub/MUSR/MusrFit/_MathModePlugin_2be9dcd7bf20bd9b6ae1aae11ded7c43.png b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_2be9dcd7bf20bd9b6ae1aae11ded7c43.png new file mode 100644 index 00000000..61669897 Binary files /dev/null and b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_2be9dcd7bf20bd9b6ae1aae11ded7c43.png differ diff --git a/doc/html/pub/MUSR/MusrFit/_MathModePlugin_3285744b1914390b321f67f390129f79.png b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_3285744b1914390b321f67f390129f79.png new file mode 100644 index 00000000..8634015d Binary files /dev/null and b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_3285744b1914390b321f67f390129f79.png differ diff --git a/doc/html/pub/MUSR/MusrFit/_MathModePlugin_3e7298348ee1858b6fe4147c47afb5e3.png b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_3e7298348ee1858b6fe4147c47afb5e3.png new file mode 100644 index 00000000..97fcbf8c Binary files /dev/null and b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_3e7298348ee1858b6fe4147c47afb5e3.png differ diff --git a/doc/html/pub/MUSR/MusrFit/_MathModePlugin_49046b617890ffeaca8bc16ae66d0dc5.png b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_49046b617890ffeaca8bc16ae66d0dc5.png new file mode 100644 index 00000000..cb823674 Binary files /dev/null and b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_49046b617890ffeaca8bc16ae66d0dc5.png differ diff --git a/doc/html/pub/MUSR/MusrFit/_MathModePlugin_50ba40cfb1308d024ff074655f531705.png b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_50ba40cfb1308d024ff074655f531705.png new file mode 100644 index 00000000..0e83d56d Binary files /dev/null and b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_50ba40cfb1308d024ff074655f531705.png differ diff --git a/doc/html/pub/MUSR/MusrFit/_MathModePlugin_51757d805f7111ffe6e0b430b6d137c7.png b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_51757d805f7111ffe6e0b430b6d137c7.png new file mode 100644 index 00000000..3845a8d2 Binary files /dev/null and b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_51757d805f7111ffe6e0b430b6d137c7.png differ diff --git a/doc/html/pub/MUSR/MusrFit/_MathModePlugin_52d3660a04cd068055f8e72b5ae47097.png b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_52d3660a04cd068055f8e72b5ae47097.png new file mode 100644 index 00000000..af001559 Binary files /dev/null and b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_52d3660a04cd068055f8e72b5ae47097.png differ diff --git a/doc/html/pub/MUSR/MusrFit/_MathModePlugin_568ee751220d0e7d171a7ebb6da328b9.png b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_568ee751220d0e7d171a7ebb6da328b9.png new file mode 100644 index 00000000..b3a9fd3d Binary files /dev/null and b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_568ee751220d0e7d171a7ebb6da328b9.png differ diff --git a/doc/html/pub/MUSR/MusrFit/_MathModePlugin_61136f20673ad20f955c43e43b8cec9d.png b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_61136f20673ad20f955c43e43b8cec9d.png new file mode 100644 index 00000000..7c7cef20 Binary files /dev/null and b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_61136f20673ad20f955c43e43b8cec9d.png differ diff --git a/doc/html/pub/MUSR/MusrFit/_MathModePlugin_6355c4cb1ccffc332963726dd3077985.png b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_6355c4cb1ccffc332963726dd3077985.png new file mode 100644 index 00000000..bea2ac74 Binary files /dev/null and b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_6355c4cb1ccffc332963726dd3077985.png differ diff --git a/doc/html/pub/MUSR/MusrFit/_MathModePlugin_6466a97e4b7c510909bffce51d31c4b9.png b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_6466a97e4b7c510909bffce51d31c4b9.png new file mode 100644 index 00000000..90b30d80 Binary files /dev/null and b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_6466a97e4b7c510909bffce51d31c4b9.png differ diff --git a/doc/html/pub/MUSR/MusrFit/_MathModePlugin_6a34fe0c88c79d8a90defad81f36da6d.png b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_6a34fe0c88c79d8a90defad81f36da6d.png new file mode 100644 index 00000000..4d0d2760 Binary files /dev/null and b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_6a34fe0c88c79d8a90defad81f36da6d.png differ diff --git a/doc/html/pub/MUSR/MusrFit/_MathModePlugin_6b6bbc4add4da0bde8220c54594658f3.png b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_6b6bbc4add4da0bde8220c54594658f3.png new file mode 100644 index 00000000..3e2920cd Binary files /dev/null and b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_6b6bbc4add4da0bde8220c54594658f3.png differ diff --git a/doc/html/pub/MUSR/MusrFit/_MathModePlugin_7188605a647615e4fb92cc89274b22a0.png b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_7188605a647615e4fb92cc89274b22a0.png new file mode 100644 index 00000000..07760a02 Binary files /dev/null and b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_7188605a647615e4fb92cc89274b22a0.png differ diff --git a/doc/html/pub/MUSR/MusrFit/_MathModePlugin_7f4cd42199fbf712ad5a86f9d94bd698.png b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_7f4cd42199fbf712ad5a86f9d94bd698.png new file mode 100644 index 00000000..608f020a Binary files /dev/null and b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_7f4cd42199fbf712ad5a86f9d94bd698.png differ diff --git a/doc/html/pub/MUSR/MusrFit/_MathModePlugin_82adbab00b6a057f04037b44746e33eb.png b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_82adbab00b6a057f04037b44746e33eb.png new file mode 100644 index 00000000..67f868f5 Binary files /dev/null and b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_82adbab00b6a057f04037b44746e33eb.png differ diff --git a/doc/html/pub/MUSR/MusrFit/_MathModePlugin_82fec90aa9e6eeaba9267ad46f426909.png b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_82fec90aa9e6eeaba9267ad46f426909.png new file mode 100644 index 00000000..6d277dc0 Binary files /dev/null and b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_82fec90aa9e6eeaba9267ad46f426909.png differ diff --git a/doc/html/pub/MUSR/MusrFit/_MathModePlugin_8749458be5ba9f4edf09b6ecde03313d.png b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_8749458be5ba9f4edf09b6ecde03313d.png new file mode 100644 index 00000000..e6d8a227 Binary files /dev/null and b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_8749458be5ba9f4edf09b6ecde03313d.png differ diff --git a/doc/html/pub/MUSR/MusrFit/_MathModePlugin_8aad0e0c2c1f20995c483933a896ca0d.png b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_8aad0e0c2c1f20995c483933a896ca0d.png new file mode 100644 index 00000000..66a2482f Binary files /dev/null and b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_8aad0e0c2c1f20995c483933a896ca0d.png differ diff --git a/doc/html/pub/MUSR/MusrFit/_MathModePlugin_8b46c96933bc8a754fde5aa613d0e806.png b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_8b46c96933bc8a754fde5aa613d0e806.png new file mode 100644 index 00000000..9166ad99 Binary files /dev/null and b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_8b46c96933bc8a754fde5aa613d0e806.png differ diff --git a/doc/html/pub/MUSR/MusrFit/_MathModePlugin_8f88bba11aa1a2535ef7af4374ab4796.png b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_8f88bba11aa1a2535ef7af4374ab4796.png new file mode 100644 index 00000000..a2173ff6 Binary files /dev/null and b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_8f88bba11aa1a2535ef7af4374ab4796.png differ diff --git a/doc/html/pub/MUSR/MusrFit/_MathModePlugin_95da508ef32b516260a14999eaf14f46.png b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_95da508ef32b516260a14999eaf14f46.png new file mode 100644 index 00000000..3b1e5fbb Binary files /dev/null and b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_95da508ef32b516260a14999eaf14f46.png differ diff --git a/doc/html/pub/MUSR/MusrFit/_MathModePlugin_984f3a1c5d0c04f9471fa518f6f4ab22.png b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_984f3a1c5d0c04f9471fa518f6f4ab22.png new file mode 100644 index 00000000..a51e1a03 Binary files /dev/null and b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_984f3a1c5d0c04f9471fa518f6f4ab22.png differ diff --git a/doc/html/pub/MUSR/MusrFit/_MathModePlugin_aad467dd15ac57481f24ada5fbe5d85f.png b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_aad467dd15ac57481f24ada5fbe5d85f.png new file mode 100644 index 00000000..bf3f150a Binary files /dev/null and b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_aad467dd15ac57481f24ada5fbe5d85f.png differ diff --git a/doc/html/pub/MUSR/MusrFit/_MathModePlugin_ab5be67e3c585fe71d839ada9222b051.png b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_ab5be67e3c585fe71d839ada9222b051.png new file mode 100644 index 00000000..5fef1f2c Binary files /dev/null and b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_ab5be67e3c585fe71d839ada9222b051.png differ diff --git a/doc/html/pub/MUSR/MusrFit/_MathModePlugin_b0c4a8cbbcf4189b64418b381939a979.png b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_b0c4a8cbbcf4189b64418b381939a979.png new file mode 100644 index 00000000..cba2fba1 Binary files /dev/null and b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_b0c4a8cbbcf4189b64418b381939a979.png differ diff --git a/doc/html/pub/MUSR/MusrFit/_MathModePlugin_b10bf8314f158b72e1e3462ba2d23fcc.png b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_b10bf8314f158b72e1e3462ba2d23fcc.png new file mode 100644 index 00000000..21aa764e Binary files /dev/null and b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_b10bf8314f158b72e1e3462ba2d23fcc.png differ diff --git a/doc/html/pub/MUSR/MusrFit/_MathModePlugin_b8a915ef0eb8aa8e117519d01dfb10c1.png b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_b8a915ef0eb8aa8e117519d01dfb10c1.png new file mode 100644 index 00000000..dd8ee3b8 Binary files /dev/null and b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_b8a915ef0eb8aa8e117519d01dfb10c1.png differ diff --git a/doc/html/pub/MUSR/MusrFit/_MathModePlugin_bd5c765027d46aa1433dda03f540c17e.png b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_bd5c765027d46aa1433dda03f540c17e.png new file mode 100644 index 00000000..c74f2b6d Binary files /dev/null and b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_bd5c765027d46aa1433dda03f540c17e.png differ diff --git a/doc/html/pub/MUSR/MusrFit/_MathModePlugin_be8817308ad9fe2fa99fe00abdaba828.png b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_be8817308ad9fe2fa99fe00abdaba828.png new file mode 100644 index 00000000..cf13d220 Binary files /dev/null and b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_be8817308ad9fe2fa99fe00abdaba828.png differ diff --git a/doc/html/pub/MUSR/MusrFit/_MathModePlugin_c465118a8d86d5f25bba37cc1dcb38a0.png b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_c465118a8d86d5f25bba37cc1dcb38a0.png new file mode 100644 index 00000000..e23df282 Binary files /dev/null and b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_c465118a8d86d5f25bba37cc1dcb38a0.png differ diff --git a/doc/html/pub/MUSR/MusrFit/_MathModePlugin_c5c6dea10611dae1d470a5615869073a.png b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_c5c6dea10611dae1d470a5615869073a.png new file mode 100644 index 00000000..bb753e2d Binary files /dev/null and b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_c5c6dea10611dae1d470a5615869073a.png differ diff --git a/doc/html/pub/MUSR/MusrFit/_MathModePlugin_cb688f85a062f09bfaff5cf9144860a9.png b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_cb688f85a062f09bfaff5cf9144860a9.png new file mode 100644 index 00000000..2850e2e8 Binary files /dev/null and b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_cb688f85a062f09bfaff5cf9144860a9.png differ diff --git a/doc/html/pub/MUSR/MusrFit/_MathModePlugin_cf09f406a2bf16c5f0c20c11d502f3b6.png b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_cf09f406a2bf16c5f0c20c11d502f3b6.png new file mode 100644 index 00000000..efbd4f71 Binary files /dev/null and b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_cf09f406a2bf16c5f0c20c11d502f3b6.png differ diff --git a/doc/html/pub/MUSR/MusrFit/_MathModePlugin_cff60a46de8608e97a33bbae7c4e566d.png b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_cff60a46de8608e97a33bbae7c4e566d.png new file mode 100644 index 00000000..82b93396 Binary files /dev/null and b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_cff60a46de8608e97a33bbae7c4e566d.png differ diff --git a/doc/html/pub/MUSR/MusrFit/_MathModePlugin_d284ec460bdb1abb64e7f9156d87d659.png b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_d284ec460bdb1abb64e7f9156d87d659.png new file mode 100644 index 00000000..e11ba36e Binary files /dev/null and b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_d284ec460bdb1abb64e7f9156d87d659.png differ diff --git a/doc/html/pub/MUSR/MusrFit/_MathModePlugin_d2ada4d93e287ac42a3681e58c96b105.png b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_d2ada4d93e287ac42a3681e58c96b105.png new file mode 100644 index 00000000..f0f9869f Binary files /dev/null and b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_d2ada4d93e287ac42a3681e58c96b105.png differ diff --git a/doc/html/pub/MUSR/MusrFit/_MathModePlugin_db3bf440f0c0846df16574e72743d947.png b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_db3bf440f0c0846df16574e72743d947.png new file mode 100644 index 00000000..e4fa6c81 Binary files /dev/null and b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_db3bf440f0c0846df16574e72743d947.png differ diff --git a/doc/html/pub/MUSR/MusrFit/_MathModePlugin_df4770dd7b14577f14410b4f7ab59721.png b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_df4770dd7b14577f14410b4f7ab59721.png new file mode 100644 index 00000000..f07bf3e4 Binary files /dev/null and b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_df4770dd7b14577f14410b4f7ab59721.png differ diff --git a/doc/html/pub/MUSR/MusrFit/_MathModePlugin_e1a48f3da2196769b40a2a6183f83891.png b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_e1a48f3da2196769b40a2a6183f83891.png new file mode 100644 index 00000000..0b6a0018 Binary files /dev/null and b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_e1a48f3da2196769b40a2a6183f83891.png differ diff --git a/doc/html/pub/MUSR/MusrFit/_MathModePlugin_e214a7f954b15a31e60dd40d50c4ad27.png b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_e214a7f954b15a31e60dd40d50c4ad27.png new file mode 100644 index 00000000..c2cb23f4 Binary files /dev/null and b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_e214a7f954b15a31e60dd40d50c4ad27.png differ diff --git a/doc/html/pub/MUSR/MusrFit/_MathModePlugin_e35c4217aa50607f25e6eadf9f27f874.png b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_e35c4217aa50607f25e6eadf9f27f874.png new file mode 100644 index 00000000..a657be06 Binary files /dev/null and b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_e35c4217aa50607f25e6eadf9f27f874.png differ diff --git a/doc/html/pub/MUSR/MusrFit/_MathModePlugin_e46e9694bce68e1d38783e4cc8328e31.png b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_e46e9694bce68e1d38783e4cc8328e31.png new file mode 100644 index 00000000..c798003a Binary files /dev/null and b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_e46e9694bce68e1d38783e4cc8328e31.png differ diff --git a/doc/html/pub/MUSR/MusrFit/_MathModePlugin_e56be15b7e230ec52a9f6632e552ca4b.png b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_e56be15b7e230ec52a9f6632e552ca4b.png new file mode 100644 index 00000000..9e143fa5 Binary files /dev/null and b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_e56be15b7e230ec52a9f6632e552ca4b.png differ diff --git a/doc/html/pub/MUSR/MusrFit/_MathModePlugin_e9a0c0aa5d84cb4ea67265a3b06b9af5.png b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_e9a0c0aa5d84cb4ea67265a3b06b9af5.png new file mode 100644 index 00000000..693eec27 Binary files /dev/null and b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_e9a0c0aa5d84cb4ea67265a3b06b9af5.png differ diff --git a/doc/html/pub/MUSR/MusrFit/_MathModePlugin_ebef6cda2881306e993839c1b4bcaa4c.png b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_ebef6cda2881306e993839c1b4bcaa4c.png new file mode 100644 index 00000000..951af5d3 Binary files /dev/null and b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_ebef6cda2881306e993839c1b4bcaa4c.png differ diff --git a/doc/html/pub/MUSR/MusrFit/_MathModePlugin_efe7e111043faa761548a2e4bfa741ca.png b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_efe7e111043faa761548a2e4bfa741ca.png new file mode 100644 index 00000000..23cb902f Binary files /dev/null and b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_efe7e111043faa761548a2e4bfa741ca.png differ diff --git a/doc/html/pub/MUSR/MusrFit/_MathModePlugin_f266f29ff7212b8d77bf67567eac1fd3.png b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_f266f29ff7212b8d77bf67567eac1fd3.png new file mode 100644 index 00000000..8882b5f1 Binary files /dev/null and b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_f266f29ff7212b8d77bf67567eac1fd3.png differ diff --git a/doc/html/pub/MUSR/MusrFit/_MathModePlugin_f2ef2223eea8b06da51ecb20c450fa4a.png b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_f2ef2223eea8b06da51ecb20c450fa4a.png new file mode 100644 index 00000000..ed3d70ab Binary files /dev/null and b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_f2ef2223eea8b06da51ecb20c450fa4a.png differ diff --git a/doc/html/pub/MUSR/MusrFit/_MathModePlugin_f87b1352f663a35bf263bc7e9a214ca3.png b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_f87b1352f663a35bf263bc7e9a214ca3.png new file mode 100644 index 00000000..1e2f85fe Binary files /dev/null and b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_f87b1352f663a35bf263bc7e9a214ca3.png differ diff --git a/doc/html/pub/MUSR/MusrFit/_MathModePlugin_f91ff8255a7b8a99c5eefcb2c29f9262.png b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_f91ff8255a7b8a99c5eefcb2c29f9262.png new file mode 100644 index 00000000..eb5bf14a Binary files /dev/null and b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_f91ff8255a7b8a99c5eefcb2c29f9262.png differ diff --git a/doc/html/pub/MUSR/MusrFit/_MathModePlugin_facd1d42ae8b62aa1043316d525d3af4.png b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_facd1d42ae8b62aa1043316d525d3af4.png new file mode 100644 index 00000000..36958ed8 Binary files /dev/null and b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_facd1d42ae8b62aa1043316d525d3af4.png differ diff --git a/doc/html/pub/MUSR/MusrFit/_MathModePlugin_fb83ec4be8b40d398fd520ee8a09f36d.png b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_fb83ec4be8b40d398fd520ee8a09f36d.png new file mode 100644 index 00000000..2670fc59 Binary files /dev/null and b/doc/html/pub/MUSR/MusrFit/_MathModePlugin_fb83ec4be8b40d398fd520ee8a09f36d.png differ diff --git a/doc/html/pub/MUSR/MusrFit/musrt0.png b/doc/html/pub/MUSR/MusrFit/musrt0.png new file mode 100644 index 00000000..c98ac30f Binary files /dev/null and b/doc/html/pub/MUSR/MusrFit/musrt0.png differ diff --git a/doc/html/pub/MUSR/MusrGui/LaTeX_logo.png b/doc/html/pub/MUSR/MusrGui/LaTeX_logo.png new file mode 100644 index 00000000..5f960b4a Binary files /dev/null and b/doc/html/pub/MUSR/MusrGui/LaTeX_logo.png differ diff --git a/doc/html/pub/MUSR/MusrGui/musrasym.png b/doc/html/pub/MUSR/MusrGui/musrasym.png new file mode 100644 index 00000000..6f8ddb4d Binary files /dev/null and b/doc/html/pub/MUSR/MusrGui/musrasym.png differ diff --git a/doc/html/pub/MUSR/MusrGui/musrcalcchisq.png b/doc/html/pub/MUSR/MusrGui/musrcalcchisq.png new file mode 100644 index 00000000..b6bf1466 Binary files /dev/null and b/doc/html/pub/MUSR/MusrGui/musrcalcchisq.png differ diff --git a/doc/html/pub/MUSR/MusrGui/musrfit.png b/doc/html/pub/MUSR/MusrGui/musrfit.png new file mode 100644 index 00000000..676de7ff Binary files /dev/null and b/doc/html/pub/MUSR/MusrGui/musrfit.png differ diff --git a/doc/html/pub/MUSR/MusrGui/musrgui-editor-v0.png b/doc/html/pub/MUSR/MusrGui/musrgui-editor-v0.png new file mode 100644 index 00000000..75febdac Binary files /dev/null and b/doc/html/pub/MUSR/MusrGui/musrgui-editor-v0.png differ diff --git a/doc/html/pub/MUSR/MusrGui/musrmsr2data.png b/doc/html/pub/MUSR/MusrGui/musrmsr2data.png new file mode 100644 index 00000000..d20bb3bf Binary files /dev/null and b/doc/html/pub/MUSR/MusrGui/musrmsr2data.png differ diff --git a/doc/html/pub/MUSR/MusrGui/musrprefs.png b/doc/html/pub/MUSR/MusrGui/musrprefs.png new file mode 100644 index 00000000..9e554b6c Binary files /dev/null and b/doc/html/pub/MUSR/MusrGui/musrprefs.png differ diff --git a/doc/html/pub/MUSR/MusrGui/musrsinglehisto.png b/doc/html/pub/MUSR/MusrGui/musrsinglehisto.png new file mode 100644 index 00000000..0872ec14 Binary files /dev/null and b/doc/html/pub/MUSR/MusrGui/musrsinglehisto.png differ diff --git a/doc/html/pub/MUSR/MusrGui/musrswap.png b/doc/html/pub/MUSR/MusrGui/musrswap.png new file mode 100644 index 00000000..8b37f7c4 Binary files /dev/null and b/doc/html/pub/MUSR/MusrGui/musrswap.png differ diff --git a/doc/html/pub/MUSR/MusrGui/musrt0.png b/doc/html/pub/MUSR/MusrGui/musrt0.png new file mode 100644 index 00000000..29e15cd5 Binary files /dev/null and b/doc/html/pub/MUSR/MusrGui/musrt0.png differ diff --git a/doc/html/pub/MUSR/MusrGui/musrview.png b/doc/html/pub/MUSR/MusrGui/musrview.png new file mode 100644 index 00000000..0f8ee214 Binary files /dev/null and b/doc/html/pub/MUSR/MusrGui/musrview.png differ diff --git a/doc/html/pub/MUSR/QuickStart/_MathModePlugin_616b0638293d1e0ff42a44f8ea7895ff.png b/doc/html/pub/MUSR/QuickStart/_MathModePlugin_616b0638293d1e0ff42a44f8ea7895ff.png new file mode 100644 index 00000000..e638f9fd Binary files /dev/null and b/doc/html/pub/MUSR/QuickStart/_MathModePlugin_616b0638293d1e0ff42a44f8ea7895ff.png differ diff --git a/doc/html/pub/MUSR/TutorialSingleHisto/msr2data.png b/doc/html/pub/MUSR/TutorialSingleHisto/msr2data.png new file mode 100644 index 00000000..9c4364ff Binary files /dev/null and b/doc/html/pub/MUSR/TutorialSingleHisto/msr2data.png differ diff --git a/doc/html/pub/MUSR/TutorialSingleHisto/musrt0-1.png b/doc/html/pub/MUSR/TutorialSingleHisto/musrt0-1.png new file mode 100644 index 00000000..c10157c8 Binary files /dev/null and b/doc/html/pub/MUSR/TutorialSingleHisto/musrt0-1.png differ diff --git a/doc/html/pub/MUSR/TutorialSingleHisto/musrt0-2.png b/doc/html/pub/MUSR/TutorialSingleHisto/musrt0-2.png new file mode 100644 index 00000000..8b2a6b1f Binary files /dev/null and b/doc/html/pub/MUSR/TutorialSingleHisto/musrt0-2.png differ diff --git a/doc/html/pub/MUSR/TutorialSingleHisto/musrview-1.png b/doc/html/pub/MUSR/TutorialSingleHisto/musrview-1.png new file mode 100644 index 00000000..273d92dd Binary files /dev/null and b/doc/html/pub/MUSR/TutorialSingleHisto/musrview-1.png differ diff --git a/doc/html/pub/MUSR/TutorialSingleHisto/musrview-2.png b/doc/html/pub/MUSR/TutorialSingleHisto/musrview-2.png new file mode 100644 index 00000000..918a0ac1 Binary files /dev/null and b/doc/html/pub/MUSR/TutorialSingleHisto/musrview-2.png differ diff --git a/doc/html/pub/MUSR/TutorialSingleHisto/musrview-3.png b/doc/html/pub/MUSR/TutorialSingleHisto/musrview-3.png new file mode 100644 index 00000000..1410ae81 Binary files /dev/null and b/doc/html/pub/MUSR/TutorialSingleHisto/musrview-3.png differ diff --git a/doc/html/pub/Main/SmiliesPluginPSI/no.gif b/doc/html/pub/Main/SmiliesPluginPSI/no.gif new file mode 100644 index 00000000..55ec8183 Binary files /dev/null and b/doc/html/pub/Main/SmiliesPluginPSI/no.gif differ diff --git a/doc/html/pub/Main/SmiliesPluginPSI/skull.gif b/doc/html/pub/Main/SmiliesPluginPSI/skull.gif new file mode 100644 index 00000000..c4b89e7b Binary files /dev/null and b/doc/html/pub/Main/SmiliesPluginPSI/skull.gif differ diff --git a/doc/html/pub/Main/SmiliesPluginPSI/wink.gif b/doc/html/pub/Main/SmiliesPluginPSI/wink.gif new file mode 100644 index 00000000..077383e1 Binary files /dev/null and b/doc/html/pub/Main/SmiliesPluginPSI/wink.gif differ diff --git a/doc/html/pub/Main/WebPreferences/favicon.ico b/doc/html/pub/Main/WebPreferences/favicon.ico new file mode 100644 index 00000000..247a09df Binary files /dev/null and b/doc/html/pub/Main/WebPreferences/favicon.ico differ diff --git a/doc/html/pub/Main/WebPreferences/psi_logo_150.gif b/doc/html/pub/Main/WebPreferences/psi_logo_150.gif new file mode 100644 index 00000000..bb2c905b Binary files /dev/null and b/doc/html/pub/Main/WebPreferences/psi_logo_150.gif differ diff --git a/doc/html/pub/System/DocumentGraphics/changes.png b/doc/html/pub/System/DocumentGraphics/changes.png new file mode 100644 index 00000000..44084add Binary files /dev/null and b/doc/html/pub/System/DocumentGraphics/changes.png differ diff --git a/doc/html/pub/System/DocumentGraphics/dms.gif b/doc/html/pub/System/DocumentGraphics/dms.gif new file mode 100644 index 00000000..a3576bda Binary files /dev/null and b/doc/html/pub/System/DocumentGraphics/dms.gif differ diff --git a/doc/html/pub/System/DocumentGraphics/external-hover.gif b/doc/html/pub/System/DocumentGraphics/external-hover.gif new file mode 100644 index 00000000..585efc8d Binary files /dev/null and b/doc/html/pub/System/DocumentGraphics/external-hover.gif differ diff --git a/doc/html/pub/System/DocumentGraphics/external-visited.gif b/doc/html/pub/System/DocumentGraphics/external-visited.gif new file mode 100644 index 00000000..78b2104b Binary files /dev/null and b/doc/html/pub/System/DocumentGraphics/external-visited.gif differ diff --git a/doc/html/pub/System/DocumentGraphics/external.gif b/doc/html/pub/System/DocumentGraphics/external.gif new file mode 100644 index 00000000..7236fb12 Binary files /dev/null and b/doc/html/pub/System/DocumentGraphics/external.gif differ diff --git a/doc/html/pub/System/DocumentGraphics/foswiki.png b/doc/html/pub/System/DocumentGraphics/foswiki.png new file mode 100644 index 00000000..c2d054be Binary files /dev/null and b/doc/html/pub/System/DocumentGraphics/foswiki.png differ diff --git a/doc/html/pub/System/DocumentGraphics/index.png b/doc/html/pub/System/DocumentGraphics/index.png new file mode 100644 index 00000000..4a8672bd Binary files /dev/null and b/doc/html/pub/System/DocumentGraphics/index.png differ diff --git a/doc/html/pub/System/DocumentGraphics/mail.gif b/doc/html/pub/System/DocumentGraphics/mail.gif new file mode 100644 index 00000000..e5e9e2f5 Binary files /dev/null and b/doc/html/pub/System/DocumentGraphics/mail.gif differ diff --git a/doc/html/pub/System/DocumentGraphics/new.png b/doc/html/pub/System/DocumentGraphics/new.png new file mode 100644 index 00000000..6ee2a488 Binary files /dev/null and b/doc/html/pub/System/DocumentGraphics/new.png differ diff --git a/doc/html/pub/System/DocumentGraphics/newtopic.png b/doc/html/pub/System/DocumentGraphics/newtopic.png new file mode 100644 index 00000000..d5bfa071 Binary files /dev/null and b/doc/html/pub/System/DocumentGraphics/newtopic.png differ diff --git a/doc/html/pub/System/DocumentGraphics/notify.png b/doc/html/pub/System/DocumentGraphics/notify.png new file mode 100644 index 00000000..82608102 Binary files /dev/null and b/doc/html/pub/System/DocumentGraphics/notify.png differ diff --git a/doc/html/pub/System/DocumentGraphics/pdf.png b/doc/html/pub/System/DocumentGraphics/pdf.png new file mode 100644 index 00000000..8f8095e4 Binary files /dev/null and b/doc/html/pub/System/DocumentGraphics/pdf.png differ diff --git a/doc/html/pub/System/DocumentGraphics/png.png b/doc/html/pub/System/DocumentGraphics/png.png new file mode 100644 index 00000000..f501a593 Binary files /dev/null and b/doc/html/pub/System/DocumentGraphics/png.png differ diff --git a/doc/html/pub/System/DocumentGraphics/psi.gif b/doc/html/pub/System/DocumentGraphics/psi.gif new file mode 100644 index 00000000..426ce34f Binary files /dev/null and b/doc/html/pub/System/DocumentGraphics/psi.gif differ diff --git a/doc/html/pub/System/DocumentGraphics/psi.png b/doc/html/pub/System/DocumentGraphics/psi.png new file mode 100644 index 00000000..8cbfa0a9 Binary files /dev/null and b/doc/html/pub/System/DocumentGraphics/psi.png differ diff --git a/doc/html/pub/System/DocumentGraphics/searchtopic.png b/doc/html/pub/System/DocumentGraphics/searchtopic.png new file mode 100644 index 00000000..2f193889 Binary files /dev/null and b/doc/html/pub/System/DocumentGraphics/searchtopic.png differ diff --git a/doc/html/pub/System/DocumentGraphics/tip.png b/doc/html/pub/System/DocumentGraphics/tip.png new file mode 100644 index 00000000..d22fde8b Binary files /dev/null and b/doc/html/pub/System/DocumentGraphics/tip.png differ diff --git a/doc/html/pub/System/DocumentGraphics/todo.png b/doc/html/pub/System/DocumentGraphics/todo.png new file mode 100644 index 00000000..0472620f Binary files /dev/null and b/doc/html/pub/System/DocumentGraphics/todo.png differ diff --git a/doc/html/pub/System/DocumentGraphics/toggleclose.png b/doc/html/pub/System/DocumentGraphics/toggleclose.png new file mode 100644 index 00000000..d5b71cbb Binary files /dev/null and b/doc/html/pub/System/DocumentGraphics/toggleclose.png differ diff --git a/doc/html/pub/System/DocumentGraphics/toggleopen.png b/doc/html/pub/System/DocumentGraphics/toggleopen.png new file mode 100644 index 00000000..bf9e84a1 Binary files /dev/null and b/doc/html/pub/System/DocumentGraphics/toggleopen.png differ diff --git a/doc/html/pub/System/DocumentGraphics/warning.png b/doc/html/pub/System/DocumentGraphics/warning.png new file mode 100644 index 00000000..c37bd062 Binary files /dev/null and b/doc/html/pub/System/DocumentGraphics/warning.png differ diff --git a/doc/html/pub/System/HeadlinesPlugin/style.css b/doc/html/pub/System/HeadlinesPlugin/style.css new file mode 100644 index 00000000..819b9c9c --- /dev/null +++ b/doc/html/pub/System/HeadlinesPlugin/style.css @@ -0,0 +1,79 @@ +/* HeadlinesPlugin */ + +/* debug +.headlinesRss, .headlinesChannel, .headlinesDate, +.headlinesRight, .headlinesDescription, +.headlinesLogo, .headlinesArticle, .headlinesTitle, +.headlinesCreator, .headlinesSubject, .headlinesTeaser { + border:1px solid red; +} +*/ + +.headlinesRss { + margin-right:10px; +} +.headlinesChannel { + padding-bottom:5px; + margin-bottom:5px; +} +.headlinesChannel input { + display:none; +} +.headlinesChannel .headlinesDate { + margin:5px 0px; +} +.headlinesRight { + font-style:oblique; +} +.headlinesDescription { + font-size:1.1em; +} +.headlinesLogo { + float:right; + text-align:center; + overflow:hidden; + margin-left:5px; + margin-bottom:5px; +} +.headlinesLogo img { + border:0px; + margin:0px; + padding:0px; + margin-bottom:5px; +} +.headlinesArticle { + padding-top:5px; + padding-bottom:5px; + overflow:hidden; + margin-bottom:1.4em; +} +.headlinesArticle hr { + margin-top:2px; + margin-bottom:2px; +} +.headlinesArticle .headlinesTitle a { + font-size:1.4em; +} +.headlinesArticle .headlinesDate { + font-size:0.9em; + margin-left:0px; + white-space:nowrap; +} +.headlinesSubject, +.headlinesCreator { + display:inline; + font-size:0.9em; +} +.headlinesTeaser { + margin-top:5px; + margin-left:30px; + text-align:justify; + overflow:hidden; +} +.headlinesTeaser img { + margin:5px; +} +.headlinesTeaser .natExternalLink:after { + content:""; + margin-left:0px; +} diff --git a/doc/html/pub/System/PatternSkin/header5.gif b/doc/html/pub/System/PatternSkin/header5.gif new file mode 100644 index 00000000..b599e10e Binary files /dev/null and b/doc/html/pub/System/PatternSkin/header5.gif differ diff --git a/doc/html/pub/System/PatternSkin/print.css b/doc/html/pub/System/PatternSkin/print.css new file mode 100644 index 00000000..01de1c44 --- /dev/null +++ b/doc/html/pub/System/PatternSkin/print.css @@ -0,0 +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;}} \ No newline at end of file diff --git a/doc/html/pub/System/PatternSkinTheme2009/TWiki_header.gif b/doc/html/pub/System/PatternSkinTheme2009/TWiki_header.gif new file mode 100644 index 00000000..62f552c3 Binary files /dev/null and b/doc/html/pub/System/PatternSkinTheme2009/TWiki_header.gif differ diff --git a/doc/html/pub/System/PatternSkinTheme2009/background_alert.gif b/doc/html/pub/System/PatternSkinTheme2009/background_alert.gif new file mode 100644 index 00000000..5f1a8be3 Binary files /dev/null and b/doc/html/pub/System/PatternSkinTheme2009/background_alert.gif differ diff --git a/doc/html/pub/System/PatternSkinTheme2009/bg_button_gradient.gif b/doc/html/pub/System/PatternSkinTheme2009/bg_button_gradient.gif new file mode 100644 index 00000000..581f53cb Binary files /dev/null and b/doc/html/pub/System/PatternSkinTheme2009/bg_button_gradient.gif differ diff --git a/doc/html/pub/System/PatternSkinTheme2009/bg_buttoncancel_gradient.gif b/doc/html/pub/System/PatternSkinTheme2009/bg_buttoncancel_gradient.gif new file mode 100644 index 00000000..5ec5b686 Binary files /dev/null and b/doc/html/pub/System/PatternSkinTheme2009/bg_buttoncancel_gradient.gif differ diff --git a/doc/html/pub/System/PatternSkinTheme2009/bg_submit_gradient.gif b/doc/html/pub/System/PatternSkinTheme2009/bg_submit_gradient.gif new file mode 100644 index 00000000..668f344f Binary files /dev/null and b/doc/html/pub/System/PatternSkinTheme2009/bg_submit_gradient.gif differ diff --git a/doc/html/pub/System/PatternSkinTheme2009/bullet-lock.gif b/doc/html/pub/System/PatternSkinTheme2009/bullet-lock.gif new file mode 100644 index 00000000..ba0e1553 Binary files /dev/null and b/doc/html/pub/System/PatternSkinTheme2009/bullet-lock.gif differ diff --git a/doc/html/pub/System/PatternSkinTheme2009/bullet-personal_sidebar.gif b/doc/html/pub/System/PatternSkinTheme2009/bullet-personal_sidebar.gif new file mode 100644 index 00000000..4cd68344 Binary files /dev/null and b/doc/html/pub/System/PatternSkinTheme2009/bullet-personal_sidebar.gif differ diff --git a/doc/html/pub/System/PatternSkinTheme2009/bullet-toc.gif b/doc/html/pub/System/PatternSkinTheme2009/bullet-toc.gif new file mode 100644 index 00000000..587a8595 Binary files /dev/null and b/doc/html/pub/System/PatternSkinTheme2009/bullet-toc.gif differ diff --git a/doc/html/pub/System/PatternSkinTheme2009/button_arrow.gif b/doc/html/pub/System/PatternSkinTheme2009/button_arrow.gif new file mode 100644 index 00000000..3eff2aff Binary files /dev/null and b/doc/html/pub/System/PatternSkinTheme2009/button_arrow.gif differ diff --git a/doc/html/pub/System/PatternSkinTheme2009/button_font_selector.gif b/doc/html/pub/System/PatternSkinTheme2009/button_font_selector.gif new file mode 100644 index 00000000..b3305b19 Binary files /dev/null and b/doc/html/pub/System/PatternSkinTheme2009/button_font_selector.gif differ diff --git a/doc/html/pub/System/PatternSkinTheme2009/colors.css b/doc/html/pub/System/PatternSkinTheme2009/colors.css new file mode 100644 index 00000000..1ff74d91 --- /dev/null +++ b/doc/html/pub/System/PatternSkinTheme2009/colors.css @@ -0,0 +1,794 @@ +/* PatternSkin colors */ +/* Generated by AttachContentPlugin from System.PatternSkinColorSettings */ + +/* LAYOUT ELEMENTS */ + +#patternScreen { + background:#e2e2e2; +} +#patternPage { + border-color:#ccc; +} +#patternTopBar { + border-color:#e2e2e2; + /* color is defined as WEBHEADERBGCOLOR in System/DefaultPreferences */ +} +#patternMain { /* don't set a background here; use patternOuter */ } +#patternOuter { + background:none; + border-color:#dadada; +} +#patternSideBar, +#patternWrapper { + background:#fff; +} +#patternBottomBar { + border-color:#ccc; + background-color:#f5f5f5; +} +#patternBottomBarContents, +#patternBottomBarContents a:link, +#patternBottomBarContents a:visited { + color:#777; +} +#patternBottomBarContents a:hover { + color:#fff; +} + +/* GENERAL HTML ELEMENTS */ + +html body { + background-color:#f5f5f5; + color:#000; +} +html body.patternEditPage, +.mceContentBody { + background-color:#fff; +} + +/* be kind to netscape 4 that doesn't understand inheritance */ +body, p, li, ul, ol, dl, dt, dd, acronym, h1, h2, h3, h4, h5, h6 { + background-color:transparent; +} +hr { + color:#e2e2e2; + background-color:#e2e2e2; +} +pre, code, tt { + color:#333; +} +pre { + background:#f5f5f5; + border-color:#ddd; +} +blockquote { + background-color:#f5f5f5; + border-color:#ddd; +} +blockquote h2 { + background:none; +} +h1 { + color:#2989bb; +} +h2, h3, h4, h5, h6 { + color:#d1400e; +} +h2 { + border-color:#e2e2e2; +} +h3, h4, h5, h6 { + border-color:#e2e2e2; +} + +/* to override old Render.pm coded font color style */ +.foswikiNewLink font { + color:inherit; +} +.foswikiNewLink a:link sup, +.foswikiNewLink a:visited sup { + color:#777; + border-color:#ddd; +} +.foswikiNewLink a:hover sup { + background-color:#0055b5; + color:#fff; + border-color:#0055b5; +} +.foswikiNewLink { + border-color:#ddd; +} +:link:focus, +:visited:focus, +:link, +:visited, +:link:active, +:visited:active { + color:#4571d0; + background-color:transparent; +} +:link:hover, +:visited:hover { + color:#fff; + background-color:#0055b5; + background-image:none; +} +:link:hover img, +:visited:hover img { + background-color:transparent; +} +.foswikiTopic a:visited { + color:#666; +} +.foswikiTopic a:hover { + color:#fff; +} +.foswikiTopic .foswikiUnvisited a:visited { + color:#4571d0; +} +.foswikiTopic .foswikiUnvisited a:hover { + color:#fff; +} + +/* Form elements */ + +textarea, +input, +select { + border-color:#aaa; + color:#000; + background-color:#fff; +} +.foswikiSubmit, +.foswikiButton { + border-color:#fff #888 #888 #fff; +} +.foswikiSubmit { + color:#fff; + background-color:#06c; +} +.foswikiButton { + color:#000; + background-color:#e2e3e3; +} +.foswikiButtonCancel { + color:#000; + background-color:#f2d5d0; +} +.foswikiSubmitDisabled, +.foswikiSubmitDisabled:active { + border-color:#fff #ccc #ccc #fff; + color:#aaa; + background-color:#eef7fa; +} +.foswikiTextarea, +.foswikiInputField, +.foswikiInputFieldDisabled, +.foswikiInputFieldReadOnly, +.foswikiSelect { + border-color:#bbb #f2f2f2 #f2f2f2 #bbb; +} +.foswikiTextarea, +.foswikiInputField, +.foswikiSelect { + color:#000; + background-color:#fff; +} +.foswikiInputField:active, +.foswikiInputField:focus, +.foswikiInputFieldFocus { + background-color:#ffffe0; +} + +.foswikiTextareaRawView { + color:#000; +} +.foswikiInputFieldDisabled { + color:#aaa; + background-color:#fafaf8; +} +.foswikiInputFieldReadOnly { + color:#777; +} +.foswikiSelect { + border-color:#bbb #f2f2f2 #f2f2f2 #bbb; + color:#000; + background-color:#fff; +} +.foswikiInputFieldDisabled, +.foswikiSelectDisabled { + color:#aaa; + border-color:#bbb #f2f2f2 #f2f2f2 #bbb; + background-color:#fafaf8; +} +.foswikiInputFieldBeforeFocus { + color:#777; +} + +/* ----------------------------------------------------------- + Plugin elements + ----------------------------------------------------------- */ + +/* TablePlugin */ +.foswikiTable, +.foswikiTable td, +.foswikiTable th { + border-color:#eee; +} +.foswikiTable th { + background:#d6d3cf; +} +.foswikiTable th, +.foswikiTable th a:link, +.foswikiTable th a:visited { + color:#000; +} + +/* TwistyContrib */ +.twistyPlaceholder { + color:#777; +} +a:hover.twistyTrigger { + color:#fff; +} + +/* TipsContrib */ +.tipsOfTheDay { +} + +/* RevCommentPlugin */ +.revComment .patternTopicActions { + background-color:#eef7fa; +} + +/* ----------------------------------------------------------- + Foswiki styles + ----------------------------------------------------------- */ + +.foswikiGrayText { + color:#777; +} +.foswikiGrayText a:link, +.foswikiGrayText a:visited { + color:#777; +} +.foswikiGrayText a:hover { + color:#fff; +} + +table.foswikiFormTable th.foswikiFormTableHRow, +table.foswikiFormTable td.foswikiFormTableRow { + color:#777; +} +.foswikiEditForm { + color:#000; +} +.foswikiEditForm .foswikiFormTable, +.foswikiEditForm .foswikiFormTable th, +.foswikiEditForm .foswikiFormTable td { + border-color:#e2e2e2; +} +/* use a different table background color mix: no odd/even rows, no white background */ +.foswikiEditForm .foswikiFormTable td { + background-color:#f7fafc; +} +.foswikiEditForm .foswikiFormTable th { + background-color:#f0f6fb; +} +.patternTwistyButton h3 { + color:#d1400e; +} +.foswikiAttachments table, +table.foswikiFormTable { + border-color:#e2e2e2; + background-color:#fff; +} +.foswikiAttachments table { + background-color:#fff; +} +.foswikiForm td, +.foswikiForm th, +.foswikiAttachments td, +.foswikiAttachments th { + border-color:#e2e2e2; +} +.foswikiAttachments .foswikiTable th font, +table.foswikiFormTable th.foswikiFormTableHRow font { + color:#4571d0; +} + +.foswikiFormSteps { + background-color:#eef7fa; + border-color:#e2e2e2; +} +.foswikiFormStep { + border-color:#e2e2e2; +} +.foswikiFormStep h2 { + color:#2989bb; +} +.foswikiFormStep h3, +.foswikiFormStep h4 { + color:#d1400e; +} +.foswikiFormStep h3, +.foswikiFormStep h4 { + background-color:transparent; +} +.foswikiFormStep .foswikiHelp { + background:#fff; +} +.foswikiToc .foswikiTocTitle { + color:#777; +} +.foswikiBroadcastMessage, +.foswikiNotification { + background-color:#ffe67b; +} +.foswikiNotification { + border:2px solid #ffdf4c; +} +.foswikiMessage { + background-color:#ffe67b; +} +#foswikiLogin .patternLoginNotification { + background-color:#fff; + border-color:#f00; +} +.foswikiHelp { + background-color:#edf5fa; + border-color:#e2e2e2; +} +.foswikiBroadcastMessage b, +.foswikiBroadcastMessage strong { + color:#f00; +} +.foswikiAlert, +.foswikiAlert code { + color:#f00; +} +.foswikiEmulatedLink { + color:#4571d0; +} +.foswikiPageForm table { + border-color:#e2e2e2; + background:#fff; +} +.foswikiPageForm hr { + border-color:#cfcfcf; + background-color:#cfcfcf; + color:#cfcfcf; +} +.foswikiAccessKey { + color:inherit; + border-color:#777; +} +a:link .foswikiAccessKey, +a:visited .foswikiAccessKey { + color:inherit; +} +a:hover .foswikiAccessKey { + color:inherit; +} +.foswikiImage img { + border-color:#eee; + background-color:#fff; +} +#patternTopBar .foswikiImage img { + background-color:transparent; +} +.foswikiImage a:hover img { + border-color:#0055b5; +} + +/* ----------------------------------------------------------- + Pattern skin specific elements + ----------------------------------------------------------- */ +#patternPage { + background-color:#fff; +} +.patternHomePathTitle, +.patternRevInfo, +.patternHomePath a:link, +.patternHomePath a:visited { + border-color:#ddd; + color:#666; +} +.patternTop a:hover { + border:none; + color:#fff; +} +.patternHomePath .patternRevInfo, +.patternHomePath .patternRevInfo a:link, +.patternHomePath .patternRevInfo a:visited { + color:#777; +} +.patternHomePath .patternRevInfo a:hover { + color:#fff; +} + +/* Left bar */ +#patternSideBarContents { + color:#000; +} +#patternSideBarContents hr { + color:#e2e2e2; + background-color:#e2e2e2; +} +#patternSideBarContents a:link, +#patternSideBarContents a:visited { + color:#444; +} +#patternSideBarContents a:hover { + color:#fff; +} +#patternSideBarContents .patternLeftBarPersonal, +#patternSideBarContents .patternWebIndicator { + border-color:#dadada; +} +#patternSideBarContents b, +#patternSideBarContents strong { + color:#d1400e; +} + +.patternTopicActions { + background-color:#2989bb; + color:#bbb; +} +.patternTopicActions s, +.patternTopicActions strike { + color:#aaa; +} +.patternTopicActions .foswikiSeparator { + color:#e2e2e2; +} +.patternActionButtons a:link, +.patternActionButtons a:visited { + color:#fff; +} +.patternActionButtons a:hover { + color:#fff; +} +.patternTopicActions a:link .foswikiAccessKey, +.patternTopicActions a:visited .foswikiAccessKey { + color:#fff; + border-color:#fff; +} +.patternTopicActions a:hover .foswikiAccessKey { + color:#fff; +} +.patternTopicActions label { + color:#000; +} +.patternHelpCol { + color:#777; +} +.patternSigLine { + color:#777; +} +.patternEditTopic { + background:#eef7fa; +} +.patternToolBar a:link .foswikiAccessKey, +.patternToolBar a:visited .foswikiAccessKey { + color:inherit; + border-color:#666; +} +.patternToolBar a:hover .foswikiAccessKey { + background-color:transparent; + color:inherit; + border-color:#666; +} + +/* WebSearch, WebSearchAdvanced */ +table#foswikiSearchTable { + border-color:#e2e2e2; +} +table#foswikiSearchTable th, +table#foswikiSearchTable td { + background-color:#fff; + border-color:#e2e2e2; +} +table#foswikiSearchTable hr { + border-color:#e2e2e2; + background-color:#e2e2e2; +} +table#foswikiSearchTable th { + color:#000; +} + +/* ----------------------------------------------------------- + Search results + styles and overridden styles used in search.pattern.tmpl + ----------------------------------------------------------- */ + +.foswikiSearchResult .foswikiAlert { + color:#f00; +} +.foswikiSearchResult .foswikiSummary .foswikiAlert { + color:#900; +} +.foswikiSearchResult .foswikiBottomRow, +.foswikiSearchResult .foswikiBottomRow a:link, +.foswikiSearchResult .foswikiBottomRow a:visited { + color:#049804; +} +.foswikiSearchResult .foswikiBottomRow:hover a:link, +.foswikiSearchResult .foswikiBottomRow:hover a:visited { + color:#06c; +} +.foswikiSearchResult .foswikiBottomRow:hover a:hover { + color:#fff; +} +.patternViewPage .patternSearchResultsBegin { + border-color:#eee; +} + +/* Search results in book view format */ + +.patternBookView .foswikiTopRow { + background-color:transparent; /* set to WEBBGCOLOR in css.pattern.tmpl */ + color:#777; +} +.patternBookView .foswikiBottomRow { + border-color:#e2e2e2; +} +.patternBookView .patternSearchResultCount { + color:#777; +} + +/* preview.pattern.tmpl */ + +.foswikiPreviewArea { + border-color:#f00; + background-color:#fff; +} + +/* rdiff.pattern.tmpl */ + +.patternDiff { + border-color:#6b7f93; +} +#patternMainContents .patternDiff h4.patternSearchResultsHeader { + background-color:#6b7f93; + color:#fff; +} +#patternMainContents .patternDiff h4.patternSearchResultsHeader a:link, +#patternMainContents .patternDiff h4.patternSearchResultsHeader a:visited { + color:#fff; +} +tr.foswikiDiffDebug td { + border-color:#e2e2e2; +} +.patternDiffPage .foswikiDiffTable th { + background-color:#ccc; +} +/* Changed */ +.foswikiDiffChangedHeader, +tr.foswikiDiffDebug .foswikiDiffChangedText, +tr.foswikiDiffDebug .foswikiDiffChangedText { + background:#9f9; /* green - do not change */ +} +/* Deleted */ +tr.foswikiDiffDebug .foswikiDiffDeletedMarker, +tr.foswikiDiffDebug .foswikiDiffDeletedText { + background-color:#f99; /* red - do not change */ +} +/* Added */ +.foswikiDiffAddedHeader, +tr.foswikiDiffDebug .foswikiDiffAddedMarker, +tr.foswikiDiffDebug .foswikiDiffAddedText { + background-color:#ccf; /* violet - do not change */ +} +/* Unchanged */ +tr.foswikiDiffDebug .foswikiDiffUnchangedText { + color:#777; +} +.foswikiDiffUnchangedTextContents { } +.foswikiDiffLineNumberHeader { + background-color:#ccc; +} + + +/* IMAGES */ +/* image positions are set here as well as these are dependent on the image */ + +#patternTopBar { + /* image is defined as WEBHEADERART in System/DefaultPreferences */ +} +.foswikiToc li { + background-image:url(bullet-toc.gif); + background-repeat:no-repeat; + background-position:0 .4em; +} +.patternPrintPage #patternOuter { + background:#fff; /* white - do not change */ +} +.foswikiSubmit, +.foswikiSubmitDisabled { + background-image:url(bg_submit_gradient.gif); + background-repeat:repeat-x; +} +.foswikiSubmit, +a.foswikiSubmit:link, +a.foswikiSubmit:visited { + background-position:0px 0px; + background-color:#06c; + border-color:#94cce2 #0e66a2 #0e66a2 #94cce2; + color:#fff; +} +.foswikiSubmit:hover, +a.foswikiSubmit:hover { + background-position:0px -80px; + background-color:#0047b7; + border-color:#0e66a2 #94cce2 #94cce2 #0e66a2; + color:#fff; +} +.foswikiSubmit:active, +a.foswikiSubmit:active { + background-position:0px -160px; + background-color:#73ace6; + border-color:#0e66a2 #94cce2 #94cce2 #0e66a2; + color:#fff; +} +.foswikiSubmitDisabled, +.foswikiSubmitDisabled:hover, +.foswikiSubmitDisabled:active { + background-position:0px -240px; + background-color:#d9e8f7; + border-color:#ccc #ccc #ccc #ccc; + color:#ccc; +} +.foswikiButton, +a.foswikiButton:link, +a.foswikiButton:visited { + background-image:url(bg_button_gradient.gif); + background-repeat:repeat-x; + background-position:0px 0px; + border-color:#fff #94cce2 #94cce2 #fff; + background-color:#cce7f1; + color:#333; +} +.foswikiButton:hover, +.foswikiButton:active, +a.foswikiButton:hover, +a.foswikiButton:active { + background-position:0px -160px; + border-color:#94cce2 #94cce2 #94cce2 #94cce2; + background-color:#cce7f1; + color:#333; +} +.foswikiButtonDisabled, +.foswikiButtonDisabled:hover, +.foswikiButtonDisabled:active { + background-image:url(bg_button_gradient.gif); + background-repeat:repeat-x; + background-position:0px -240px; + border-color:#ccc #ccc #ccc #ccc; + background-color:#edece6; + color:#bbb; +} +.foswikiButtonCancel { + background-image:url(bg_buttoncancel_gradient.gif); + background-repeat:repeat-x; + background-position:0px 0px; + border-color:#f3ddd7 #ce5232 #ce5232 #f3ddd7; + background-color:#dd724d; + color:#fff; +} +.foswikiButtonCancel:hover { + background-position:0px -80px; + border-color:#ce5232 #f3ddd7 #f3ddd7 #ce5232; + background-color:#dd724d; + color:#fff; +} +.foswikiButtonCancel:active { + background-position:0px -160px; + border-color:#ce5232 #f3ddd7 #f3ddd7 #ce5232; + background-color:#dd724d; + color:#fff; +} +.patternToolBar span a:link, +.patternToolBar span a:visited, +.patternToolBar span s, +.patternToolBar span strike { + background-image:url(bg_button_gradient.gif); + background-repeat:repeat-x; +} +.patternToolBar span a:link, +.patternToolBar span a:visited { + background-position:0px 0px; + border-color:#fff #94cce2 #94cce2 #fff; + background-color:#cce7f1; + color:#333; +} +.patternToolBar span a:hover { + background-position:0px -80px; + border-color:#94cce2 #94cce2 #94cce2 #94cce2; + background-color:#cce7f1; + color:#222; +} +.patternToolBar span a:active { + background-position:0px -160px; + border-color:#94cce2 #94cce2 #94cce2 #94cce2; + background-color:#e8e5d7; + color:#222; +} +.patternToolBar span s, +.patternToolBar span strike { + background-position:0px -240px; + border-color:#eae9e7 #eae9e7 #eae9e7 #eae9e7; + background-color:#edece6; + color:#bbb; +} +.patternTextareaButton { + border-color:#fffefd #b8b6ad #b8b6ad #fffefd; + overflow:hidden; +} +.patternButtonFontSelector { + background-image:url(button_font_selector.gif); + width:33px; + height:16px; +} +.patternButtonFontSelectorProportional { + background-position:0 0; +} +.patternButtonFontSelectorMonospace { + background-position:0 -16px; +} +.patternButtonEnlarge, +.patternButtonShrink { + background-image:url(button_arrow.gif); + width:16px; + height:16px; +} +.patternButtonEnlarge { + background-position:0 0; +} +.patternButtonEnlarge:hover { + background-position:0 -42px; +} +.patternButtonEnlarge:active { + background-position:0 -84px; +} +.patternButtonShrink { + background-position:16px 0; +} +.patternButtonShrink:hover { + background-position:16px -42px; +} +.patternButtonShrink:active { + background-position:16px -84px; +} +.foswikiBroadcastMessage { + background-image:url(background_alert.gif); + background-repeat:repeat-x; +} + +/* common settings */ +.patternLeftBarPersonal li, +li.patternLogOut, +li.patternLogIn { + padding-left:13px; + background-position:0 .4em; + background-repeat:no-repeat; +} +.patternLeftBarPersonal li { + background-image:url(bullet-personal_sidebar.gif); +} +.patternLeftBarPersonal li.patternLogOut { + background-image:url(bullet-lock.gif); +} +.patternLeftBarPersonal li.patternLogIn { + background-image:url(bullet-lock.gif); +} + +.foswikiJs a.jqPopUpWindow:link, +.foswikiJs a.jqPopUpWindow:visited, +.foswikiJs a.jqPopUpWindow:hover { + background-image:url(popup.gif); + background-repeat:no-repeat; + background-position:right; + padding-right:14px; + margin-right:3px; +} diff --git a/doc/html/pub/System/PatternSkinTheme2009/column_left.css b/doc/html/pub/System/PatternSkinTheme2009/column_left.css new file mode 100644 index 00000000..c6d6ae50 --- /dev/null +++ b/doc/html/pub/System/PatternSkinTheme2009/column_left.css @@ -0,0 +1,12 @@ +/* +places the side bar at the left +depends on global settings in layout.css +*/ + +#patternOuter { + margin-left:16em; +} +#patternSideBar { + width:16em; + margin-left:-16em; +} diff --git a/doc/html/pub/System/PatternSkinTheme2009/layout.css b/doc/html/pub/System/PatternSkinTheme2009/layout.css new file mode 100644 index 00000000..4ca96640 --- /dev/null +++ b/doc/html/pub/System/PatternSkinTheme2009/layout.css @@ -0,0 +1,68 @@ +/* +Basic layout derived from http://www.positioniseverything.net/articles/pie-maker/pagemaker_form.php. +I've changed many so things that I won't put a full copyright notice. However all hacks (and comments!) are far beyond my knowledge and this deserves full credits: + +Original copyright notice: +Parts of these notes are +(c) Big John @ www.positioniseverything.net and (c) Paul O'Brien @ www.pmob.co.uk, all of whom contributed significantly to the design of +the css and html code. + +Reworked and simplified for Foswiki: (c) Arthur Clemens @ visiblearea.com +*/ + +html, body { + margin:0; /*** Do NOT set anything other than a left margin for the page +as this will break the design ***/ + padding:0; + border:0; + height:100%; +} +body { + +} +.clear { + clear:both; + /*** these next attributes are designed to keep the div + height to 0 pixels high, critical for Safari and Netscape 7 ***/ + height:0px; + overflow:hidden; + line-height:1%; + font-size:0px; +} +#patternPage { + position:relative; + width:100%; +} +#patternOuter { + height:100%; +} +#patternFloatWrap { + width:100%; + float:left; + display:inline; +} +#patternSideBar { + float:left; + display:inline; + overflow:hidden; +} +#patternSideBarContents { + position:relative; +} +#patternMain { + width:100%; + float:right; + display:inline; +} +#patternTopBar { + position:absolute; + top:0px; + width:100%; +} +#patternBottomBar { + clear:both; + width:100%; +} +.foswikiContentFooter { + clear:both; +} \ No newline at end of file diff --git a/doc/html/pub/System/PatternSkinTheme2009/popup.gif b/doc/html/pub/System/PatternSkinTheme2009/popup.gif new file mode 100644 index 00000000..4e91f77b Binary files /dev/null and b/doc/html/pub/System/PatternSkinTheme2009/popup.gif differ diff --git a/doc/html/pub/System/PatternSkinTheme2009/style.css b/doc/html/pub/System/PatternSkinTheme2009/style.css new file mode 100644 index 00000000..e23c60d3 --- /dev/null +++ b/doc/html/pub/System/PatternSkinTheme2009/style.css @@ -0,0 +1,1097 @@ +/* ----------------------------------------------------------- + STYLE + Appearance: margins, padding, fonts, borders + ----------------------------------------------------------- */ + + +/* ---------------------------------------------------------------------------- + CONSTANTS + + Sizes + ---------------------------------------- + S1 line-height 1.5em + S2 somewhat smaller font size font-size:94% + S3 small font size, foswikiSmall font-size:86%; line-height:110%; + S4 horizontal bar padding (h2, patternTop) 5px + S5 form and attachment padding 20px + S6 left margin left bar 1em + + ------------------------------------------------------------------------- */ + +/* GENERAL HTML ELEMENTS */ + +html body { + font-family:arial, verdana, sans-serif; + font-size:104%; /* to change the site's font size, change .foswikiPage below */ + voice-family:"\"}\""; + voice-family:inherit; + font-size:small; +} +html>body { /* Mozilla */ + font-size:small; +} +th { + line-height:1.15em; +} +label { + padding:.15em .3em .15em 0; /* same vertical padding as foswikiInputField */ +} +hr { + height:1px; + border:none; +} +/* put overflow pre in a scroll area */ +pre { + width:auto; + margin:1em 0; /* Win IE tries to make this bigger otherwise */ + border-style:solid; + border-width:1px; + padding:1em; +} +pre, code, tt { + font-family: "Bitstream Vera Sans Mono","Andale Mono",Courier,monospace; + font-size:86%; +} + +/* IE behavior for pre is defined in css.pattern.tmpl in conditional comment */ +html>body pre { /* hide from IE */ + /*\*/ overflow:auto !important; /* */ overflow:scroll; width:auto; /* for Mac Safari */ +} +ol, ul { + margin-top:0; +} +blockquote { + padding:.5em 1.25em; + border-style:solid; + border-width:1px 1px 1px 5px; +} + +/* Text */ +h1 { + margin:0 0 .5em 0; +} +h1, h2, h3, h4, h5, h6 { + font-weight:normal; + line-height:1em; +} +h1 { font-size:190%; } +h2 { font-size:153%; } +h3 { font-size:133%; } +h4 { font-size:122%; font-weight:bold; } +h5 { font-size:110%; font-weight:bold; } +h6 { font-size:95%; font-weight:bold; } +h2, h3, h4, h5, h6 { + display:block; + /* give header a background color for easy scanning:*/ + padding:.25em 10px; + margin:1em -10px .35em -10px; + height:auto; +} +h1.patternTemplateTitle { + font-size:170%; + text-align:center; +} +h2.patternTemplateTitle { + text-align:center; + margin-top:.5em; + background:none; + border:none; +} +/* Links */ +/* somehow the foswikiNewLink style have to be before the general link styles */ +.foswikiNewLink { + border-width:0 0 1px 0; + border-style:solid; +} +.foswikiNewLink a { + text-decoration:none; + margin-left:1px; +} +.foswikiNewLink a sup { + text-align:center; + padding:0 2px; + vertical-align:baseline; + font-size:100%; + text-decoration:none; +} +.foswikiNewLink a:link sup, +.foswikiNewLink a:visited sup { + border-width:1px; + border-style:solid; + text-decoration:none; +} +.foswikiNewLink a:hover sup { + text-decoration:none; +} + +:link:focus, +:visited:focus, +:link, +:visited, +:link:active, +:visited:active { + text-decoration:underline; +} +:link:hover, +:visited:hover { + text-decoration:none; +} +img { + vertical-align:text-bottom; + border:0; +} + +/* Form elements */ +form { + display:inline; + margin:0; + padding:0; +} +textarea, +input, +select { + vertical-align:middle; + font-family:arial, verdana, sans-serif; + font-size:100%; +} +.foswikiTextarea { + padding:1px 4px; +} +.foswikiSubmit, +.foswikiSubmitDisabled, +.foswikiButton, +.foswikiButtonDisabled, +.foswikiButtonCancel, +a.foswikiButton, +a.foswikiSubmit, +a.foswikiButtonCancel, +.foswikiCheckbox { + border-width:1px; + border-style:solid; + padding:.1em .2em; + font-weight:bold; + vertical-align:middle; + text-align:center; +} +.foswikiSubmit, +.foswikiSubmitDisabled, +.foswikiButton, +.foswikiButtonDisabled, +.foswikiButtonCancel, +.foswikiSubmit:hover, +.foswikiSubmitDisabled:hover, +.foswikiButton:hover, +.foswikiSubmit:active, +.foswikiSubmitDisabled:active, +.foswikiButton:active { + cursor:default; + outline:none; +} +a.foswikiButton, +a.foswikiButton:hover, +a.foswikiButton:link:active, +a.foswikiButton:visited:active, +a.foswikiButtonCancel, +a.foswikiButtonCancel:hover, +a.foswikiButtonCancel:link:active, +a.foswikiButtonCancel:visited:active, +a.foswikiSubmit, +a.foswikiSubmit:hover, +a.foswikiSubmit:link:active, +a.foswikiSubmit:visited:active { + text-decoration:none; +} +.jqButton.foswikiButtonCancel, +.jqButton.foswikiButtonCancel:hover { + border:none; + padding:0; + font-weight:normal; + margin:0; +} +.foswikiCheckbox, +.foswikiRadioButton { + margin:1px .25em 1px .1em; + padding:0 0 0 .5em; + border:0; +} +.foswikiTextarea, +.foswikiInputField, +.foswikiInputFieldDisabled, +.foswikiInputFieldReadOnly, +.foswikiSelect { + border-width:2px; + border-style:solid; +} +.foswikiTextarea, +.foswikiInputField, +.foswikiInputFieldDisabled, +.foswikiInputFieldReadOnly { + font-size:100%; +} +.foswikiInputField, +.foswikiInputFieldDisabled, +.foswikiInputFieldReadOnly { + padding:.1em .2em; +} + +/* ----------------------------------------------------------- + Plugin elements + ----------------------------------------------------------- */ + +/* TagMePlugin */ +.tagMePlugin select { + margin:0 .25em 0 0; +} +.tagMePlugin input { + border:0px; +} + +/* RevCommentPlugin */ +.patternEditPage .revComment { + padding:1em 0 2em 0; +} + +/* EditTablePlugin */ +.editTable .foswikiTable { + margin:0 0 2px 0; +} +.editTableEditImageButton { + border:none; +} + +/* TablePlugin */ +.foswikiTable, +.foswikiTable td, +.foswikiTable th { + border-width:1px; +} +.foswikiTable { + border-style:solid; + margin:2px 0; + border-collapse:collapse; +} +.foswikiTable td { + padding:3px 6px; + border-top-style:solid; + border-bottom-style:solid; +} +.foswikiTable th { + border-left-style:solid; + border-right-style:solid; + padding:4px 6px; +} +.foswikiTable .tableSortIcon { + margin:0 0 0 5px; +} +.foswikiTable a:link, +.foswikiTable a:visited { + text-decoration:underline; +} +.foswikiTable a:hover { + text-decoration:underline; +} + +/* TwistyContrib */ +.twistyTrigger a:link, +.twistyTrigger a:visited { + text-decoration:none; +} +.twistyTrigger a:link .foswikiLinkLabel, +.twistyTrigger a:visited .foswikiLinkLabel { + text-decoration:none; +} +.twistyTrigger a img { + margin:0 .25em 0 0; +} + +/*tipsOfTheDay*/ +.tipsOfTheDay { + padding:10px; +} + +/* ----------------------------------------------------------- + Foswiki styles + ----------------------------------------------------------- */ + +#foswikiLogin { + width:44em; + margin:0 auto; + text-align:center; +} +#foswikiLogin .foswikiFormSteps { + border-width:5px; + text-align:left; +} +#foswikiLogin .patternLoginNotification { + padding-left:.5em; + padding-right:.5em; + border-style:solid; + border-width:2px; +} +.foswikiTable h2, .foswikiFormTable h2, +.foswikiTable h3, .foswikiFormTable h3, +.foswikiTable h4, .foswikiFormTable h4, +.foswikiTable h5, .foswikiFormTable h5, +.foswikiTable h6, .foswikiFormTable h6 { + border:0; + margin:0; + padding-left:0; + padding-right:0; +} +.foswikiFormTable th { + font-weight:normal; +} +.foswikiFormTable .foswikiTable th { + font-weight:bold; +} +.patternEditPage .foswikiFormTable td, +.patternEditPage .foswikiFormTable th { + padding:.3em .4em; + border-style:solid; + border-width:0 0 1px 0; + vertical-align:middle; +} +.foswikiAttachments .foswikiTable, +table.foswikiFormTable { + margin:10px 0 5px 0; + border-collapse:collapse; + padding:0px; + border-spacing:0px; + empty-cells:show; + border-style:solid; + border-width:1px; +} +.foswikiAttachments table { + line-height:1.5em; /*S1*/ + width:auto; + width:100%; +} +.foswikiAttachments .foswikiTable th { + border-style:none none solid solid; + border-width:1px; +} +.foswikiAttachments .foswikiTable th, +table.foswikiFormTable th.foswikiFormTableHRow { + padding:3px 6px; + height:2.5em; + vertical-align:middle; +} +table.foswikiFormTable th.foswikiFormTableHRow { + text-align:center; +} +.foswikiFormTableFooter {} +.foswikiAttachments .foswikiTable td, +table.foswikiFormTable td { + padding:3px 2em 3px 1em; + height:1.5em; /*S1*/ + text-align:left; + vertical-align:top; +} +.foswikiAttachments .foswikiTable th.foswikiFirstCol, +.foswikiAttachments .foswikiTable td.foswikiFirstCol { + /* make more width for the icon column */ + width:26px; + text-align:center; +} +.foswikiAttachments .foswikiTable caption { + display:none; +} +table.foswikiFormTable th.foswikiFormTableHRow a:link, +table.foswikiFormTable th.foswikiFormTableHRow a:visited { + text-decoration:none; +} +.foswikiAttachments h3, +.foswikiForm h3, +.patternTwistyButton h3 { + font-size:1.1em; + font-weight:bold; + display:inline; + margin:0; + padding:0; +} +.patternTwistyButton h3 { + /* always add class foswikiButton as well */ + padding:.1em .2em; +} +.patternAttachmentHeader { + font-size: 1.1em; + /* behaviour class */ +} +.foswikiForm h3 a:link, +.foswikiForm h3 a:visited { + text-decoration:none; +} +.patternTwistyButton { + font-weight:bold; + margin:.25em 0; + display:inline-block; +} +.foswikiForm h3 .foswikiSmall { + font-weight:normal; + font-size:86%; + margin:0 0 0 .15em; +} +.foswikiFormSteps { + padding:0 40px; + border-width:1px; + border-style:solid; +} +.foswikiFormStep { + padding:12px 40px; + margin:-1px -40px -1px -40px; + border-width:1px; + border-style:solid none; +} +.foswikiFormStep h2, +.foswikiFormStep h3, +.foswikiFormStep h4 { + border:none; + margin-top:0; + margin-left:0; + margin-right:0; + padding:0; + background:none; +} +.foswikiFormStep p { + margin:.5em 0; +} +.foswikiFormSteps h2 { + font-size:115%; + font-weight:bold; +} +.foswikiFormSteps h3 { + font-size:100%; + font-weight:bold; +} +.foswikiFormSteps h4 { + font-size:100%; + font-weight:bold; +} +.foswikiFormSteps blockquote { + margin-left:1em; + padding-top:.25em; + padding-bottom:.25em; +} +.foswikiToc { + margin:1em 0; + padding:.3em 0 .6em 0; +} +.foswikiToc ul { + list-style:none; + padding:0 0 0 .5em; + margin:0; +} +.foswikiToc li { + margin-left:1em; + padding-left:1em; + background-repeat:no-repeat; + background-position:0 .5em; +} +.foswikiToc .foswikiTocTitle { + margin:0; + padding:0; + font-weight:bold; +} +.foswikiSmall { + font-size:86%; /*S3*/ + line-height:1.5em; /*S1*/ +} +.foswikiSmallish { + font-size:94%; /*S2*/ + line-height:1.5em; /*S1*/ +} +.foswikiEmulatedLink { + text-decoration:underline; +} +.foswikiPageForm table { + border-width:1px; + border-style:solid; +} +.foswikiPageForm table { + width:100%; +} +.foswikiPageForm th, +.foswikiPageForm td { + border:0; + padding:.5em 1em; +} +.foswikiPageForm td {} +.foswikiPageForm td.first { + padding-top:1em; +} +.foswikiBroadcastMessage, +.foswikiNotification { + padding:1em 20px; /*S5*/ +} +.foswikiNotification { + margin:1em 0; + border-style:solid; + border-width:2px; +} +.foswikiBroadcastMessage { + margin:0 0 1.25em 0; +} +.foswikiMessage { + padding:.5em 10px; + border:none; +} +.foswikiHelp { + padding:1em; + margin:.25em 0 0 0; + border-style:solid; + border-width:2px; +} +.foswikiHelp ul { + margin:0; + padding-left:20px; +} +.foswikiAccessKey { + border:none; +} +a:hover .foswikiAccessKey { + text-decoration:none; + border-width:0 0 1px 0; + border-style:solid; +} +.foswikiWebIndent { + margin:0 0 0 1em; +} +.foswikiLinkLabel {} +.foswikiImage img { + padding:3px; + border-width:1px; + border-style:solid; +} +.foswikiImage a:link, +.foswikiImage a:visited { + background:none; +} +#foswikiLogo img { + margin:0; + padding:0; + border:0px; +} +.foswikiNoBreak { + white-space:nowrap; +} +.foswikiSearchResultCount { + font-weight:bold; +} + +/* ----------------------------------------------------------- + Pattern skin specific elements + ----------------------------------------------------------- */ + +/* LAYOUT ELEMENTS */ +/* for specific layout sub-elements see further down */ + +.foswikiPage { + line-height:1.5em; /*S1*/ + /* change font size here */ + font-size:105%; +} +.foswikiPage font { + line-height:135%; +} +.patternNoViewPage #patternOuter { + margin-left:0; + margin-right:0; +} +#patternTopBar { + border-width:1px; + border-style:none none solid none; +} +#patternBottomBar { + border-width:1px 0 0 0; + border-style:solid; +} +#patternWebBottomBar { + font-size:94%; /*S2*/ + line-height:125%; + text-align:left; +} +#patternSideBarContents { + margin:0 0 1em 0; + padding-right:.5em; + padding-left:1em; +} +#patternMainContents, +#patternBottomBarContents, +#patternSideBarContents, +#patternTopBarContents { + padding-right:2em; + padding-left:2em; +} +#patternSideBarContents, +#patternMainContents { + padding-top:2em; +} +#patternSideBarContents { + padding-bottom:2em; +} +#patternTopBarContents { + padding-top:1em; +} +#patternBottomBarContents { + padding-top:1em; +} +.patternNoViewPage .foswikiTopic { + margin-top:2em; +} + +/* bottom paddings */ +#patternMainContents { + padding-bottom:4em; +} +#patternBottomBarContents { + padding-bottom:2em; +} +.foswikiTopic { + margin:0 0 2em 0; +} +.patternNoViewPage #patternMainContents, +.patternNoViewPage #patternBottomBarContents { + margin-left:4%; + margin-right:4%; +} +.patternEditPage #patternMainContents, +.patternEditPage #patternBottomBarContents { + margin-left:2%; + margin-right:2%; +} + +.patternTop { + margin:0 0 .5em 0; +} +.patternNoViewPage .patternTop { + font-size:94%; +} +#patternSideBarContents img { + margin:0 3px 0 0; + vertical-align:text-bottom; +} +#patternSideBarContents a:link, +#patternSideBarContents a:visited { + text-decoration:none; +} +#patternSideBarContents ul { + padding:0; + margin:0; + list-style:none; +} +#patternSideBarContents, +#patternSideBarContents ul, +#patternSideBarContents li { + line-height:1.35em; +} +#patternSideBarContents h2 { + border:none; + background-color:transparent; +} +#patternSideBarContents .patternLeftBarPersonal, +#patternSideBarContents .patternWebIndicator { + padding:0 1em .75em 1em; + margin:0 -1em .75em -1em; /*S6*/ + border-style:none none solid none; + border-width:1px; +} +.patternWebIndicator a { + font-size:1.1em; + font-weight:bold; +} +.patternLeftBarPersonalContent { + padding:1em 0 0 0; +} +#patternSideBarContents li { + overflow:hidden; +} +html>body #patternSideBarContents li { /* Mozilla */ + overflow:visible; +} + +/* form options in top bar */ +.patternMetaMenu {} +.patternMetaMenu input, +.patternMetaMenu select, +.patternMetaMenu select option { + margin:0; +} +.patternMetaMenu select option { + padding:1px 0 0 0; +} +.patternMetaMenu ul { + padding:0; + margin:0; + list-style:none; +} +.patternMetaMenu ul li { + padding:0; + display:inline; +} +.patternMetaMenu ul li .foswikiInputField, +.patternMetaMenu ul li .foswikiSelect { + margin:0 0 0 .5em; +} +.patternHomePath .foswikiSeparator { + padding:0 .5em; +} +.patternHomePath a:link, +.patternHomePath a:visited { + text-decoration:none; + border-style:none none solid none; + border-width:1px; +} + +.patternToolBar { +} +.patternToolBar span { + float:left; +} +.patternToolBar span s, +.patternToolBar span strike, +.patternToolBar span a:link, +.patternToolBar span a:visited { + display:block; + border-width:1px; + border-style:solid; + padding:.1em .35em; + margin:0 0 .2em .25em; + font-weight:bold; +} +.patternToolBar span a:link, +.patternToolBar span a:visited { + text-decoration:none; + outline:none; +} +.patternToolBar span a:hover, +.patternToolBar span a:hover { + border-width:1px; + border-style:solid; +} +.patternToolBar span a:active { + outline:none; +} +.patternToolBar span.foswikiAccessKey { + float:none; +} +.patternToolBar span s, +.patternToolBar span strike { + text-decoration:none; +} + +.patternActionButtons a:link, +.patternActionButtons a:visited { + padding:1px 1px 2px 1px; +} +.patternTopicActions .patternActionButtons a:link, +.patternTopicActions .patternActionButtons a:visited { + text-decoration:none; +} +.patternTopicActions .patternActionButtons span s, +.patternTopicActions .patternActionButtons span strike { + text-decoration:none; +} +.patternActionButtons a.foswikiButton, +.patternActionButtons a.foswikiSubmit, +.patternActionButtons a.foswikiButtonCancel { + padding:.1em .2em; +} +.patternInfo { + margin:1.5em 0 0 0; +} +.patternHomePath .patternRevInfo { + font-size:94%; + white-space:nowrap; +} +.patternTopicFooter { + margin:1em 0 0 0; +} +.patternSimpleLogo { + margin:1em 0 0 0; +} + +/* WebSearch, WebSearchAdvanced */ +.foswikiWebSearchForm form { + width:100%; +} +.foswikiWebSearchForm ul { + list-style:none; + margin-top:0; +} + +#foswikiSearchTable { + width:100%; + margin:.5em 0; + background:none; + border-bottom:0; +} +#foswikiSearchTable th, +#foswikiSearchTable td { + padding:1em; + border-width:0 0 1px 0; + border-style:solid; +} +#foswikiSearchTable th { + width:20%; + text-align:right; +} +#foswikiSearchTable td { + width:80%; +} + +/* ----------------------------------------------------------- + Search results + styles and overridden styles used in search.pattern.tmpl + ----------------------------------------------------------- */ + +.patternSearchResults { + /* no longer used in search.pattern.tmpl, but remains in rename templates */ + margin:0 0 1em 0; +} +#renamehelpshow a span, +#renamehelphide a span { + font-size: 1.1em; +} +.patternSearchResults blockquote { + margin:1em 0 1em 5em; +} +h3.patternSearchResultsHeader, +h4.patternSearchResultsHeader { + display:block; + border-width:0 0 1px 0; + border-style:solid; + font-weight:bold; +} +.patternSearchResults h3 { + font-size:115%; /* same as foswikiFormStep */ + margin:0; + padding:.5em 40px; /*S5*/ + font-weight:bold; +} +h4.patternSearchResultsHeader { + font-size:100%; + padding-top:.3em; + padding-bottom:.3em; + font-weight:normal; +} +.patternSearchResult .foswikiTopRow { + padding-top:.2em; + margin-top:.1em; +} +.patternSearchResult .foswikiBottomRow { + margin-bottom:.1em; + padding-bottom:.25em; + border-width:0 0 1px 0; + border-style:solid; +} +.patternSearchResult .foswikiAlert { + font-weight:bold; +} +.patternSearchResult .foswikiSummary .foswikiAlert { + font-weight:normal; +} +.patternSearchResult .foswikiNew { + border-width:1px; + border-style:solid; + font-size:86%; /*S3*/ + padding:0 1px; + font-weight:bold; +} +.foswikiSearchResultsHeader span { + padding:0 .5em 0 0; +} + +.foswikiSearchResultCount { + font-weight:bold; +} +.foswikiSearchResult { + margin:0 0 1em 0; +} +.foswikiSearchResult .foswikiTopRow {} +.foswikiSearchResult .foswikiBottomRow {} +.foswikiSearchResult .foswikiAlert { + font-weight:bold; +} +.foswikiSummary, +.foswikiSearchResult .foswikiBottomRow { + font-size:86%; /*S3*/ +} +.foswikiSearchResult .foswikiSummary .foswikiAlert { + font-weight:normal; +} +.foswikiSearchResultsPager { + margin:1em 0; + padding:.25em 0; +} +.patternSearchResults .foswikiHelp { + display:block; + width:auto; + padding:.1em 5px; + margin:1em -5px .35em -5px; +} +.patternSearchResultCount { + margin:1em 0 3em 0; +} +.patternSearched {} + +/* Search results in book view format */ + +.patternBookView { + border-width:0 0 2px 2px; + border-style:solid; + /* border color in cssdynamic.pattern.tmpl */ + margin:.5em 0 1.5em -5px; + padding:0 0 0 5px; +} +.patternBookView .foswikiTopRow { + padding:.25em 5px .15em 5px; /*S4*/ + margin:1em -5px .15em -5px; /*S4*/ +} +.patternBookView .foswikiBottomRow { + font-size:100%; + padding:1em 0 1em 0; + width:auto; + border:none; +} + +/* pages that are not view */ + +/* edit.pattern.tmpl */ + +#edithelphide a span, +#edithelpshow a span { + font-size:1.1em; +} + +.patternNoViewPage #patternMainContents { + padding-top:0; +} +.patternEditPage #patternMainContents { + padding-left:0; + padding-right:0; +} +.patternEditPage .patternEditTopic { + padding:5px; + margin:0 0 1em 0; +} +.patternEditPage .foswikiTextarea { +} +.patternEditPage .foswikiForm { + border:none; +} +.foswikiFormHolder { /* constrains the textarea */ + width:100%; +} +.patternEditPage .foswikiForm h1, +.patternEditPage .foswikiForm h2, +.patternEditPage .foswikiForm h3 { + /* same as foswikiFormStep */ + font-size:120%; + font-weight:bold; +} +.foswikiEditboxStyleMono { + font-family: "Bitstream Vera Sans Mono","Andale Mono",Courier,monospace; +} +.foswikiEditboxStyleProportional { + font-family:arial, verdana, sans-serif; +} +.patternSig { + text-align:right +} +.patternSigLine { + margin:.5em 0 0 0; + border-style:none; +} +.foswikiAddFormButton { + float:right; +} +.patternTextareaButton { + margin:0 0 0 1px; + display:block; + cursor:pointer; + border-style:solid; + border-width:1px; +} +.patternButtonFontSelector { + margin:0 8px 0 0; +} +.patternSaveHelp { + margin:1em 0 0 0; + line-height:1.5em; +} + +/* preview.pattern.tmpl */ + +.patternPreviewPage #patternMainContents { + padding-left:0; + padding-right:0; +} +.patternPreviewPage .foswikiTopic { + margin-bottom:0; +} +.foswikiPreviewArea { + border-width:1px; + border-style:solid; + margin:0 0 1.5em 0; + padding:2em; +} + +/* attach.pattern.tmpl */ + +.patternAttachPage .foswikiAttachments .foswikiTable { + width:auto; +} +.patternAttachPage .foswikiAttachments { + margin-top:0; +} +.patternMoveAttachment { + margin:.5em 0 0 0; + text-align:right; +} + +/* rdiff.pattern.tmpl */ + +.patternDiff { + /* same as patternBookView */ + border-width:0 0 2px 2px; + border-style:solid; + margin:.5em 0 1.5em 0; + padding:0 0 0 10px; +} +.patternDiff h4.patternSearchResultsHeader { + padding:.5em 10px; +} +.patternDiffPage .patternRevInfo ul { + padding:0; + margin:2em 0 0 0; + list-style:none; +} +.patternDiffPage .foswikiDiffTable { + margin:2em 0; +} +.foswikiDiffDebug { + /* same styling as pre and code */ + font-family: "Bitstream Vera Sans Mono","Andale Mono",Courier,monospace; + font-size:86%; + white-space:pre; +} +tr.foswikiDiffDebug td { + border-width:1px; + border-style:solid; +} +.patternDiffPage td.foswikiDiffDebugLeft { + border-bottom:none; +} +.patternDiffPage .foswikiDiffTable th { + padding:.25em .5em; +} +.patternDiffPage .foswikiDiffTable td { + padding:.25em; +} +.foswikiDiffLineNumberHeader { + padding:.3em 0; +} + +.mceContentBody { + padding: 1px 4px; +} diff --git a/doc/html/pub/System/PatternSkinTheme2009/variant_twiki.css b/doc/html/pub/System/PatternSkinTheme2009/variant_twiki.css new file mode 100644 index 00000000..f545a73e --- /dev/null +++ b/doc/html/pub/System/PatternSkinTheme2009/variant_twiki.css @@ -0,0 +1,45 @@ +/* +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; +} diff --git a/doc/html/pub/System/PsiSkin/lock_open.png b/doc/html/pub/System/PsiSkin/lock_open.png new file mode 100644 index 00000000..3751f837 Binary files /dev/null and b/doc/html/pub/System/PsiSkin/lock_open.png differ diff --git a/doc/html/pub/System/PsiSkin/psicolors.css b/doc/html/pub/System/PsiSkin/psicolors.css new file mode 100644 index 00000000..f457cc16 --- /dev/null +++ b/doc/html/pub/System/PsiSkin/psicolors.css @@ -0,0 +1,83 @@ + +/* PsiSkin colors */ + +blockquote { + background-color:#fbfbfb; + border-color:#ddd; +} + +.patternTopic a:visited { + color:#800080; +} + +.patternSigLine { + color:#777; + background-color:#f6f6f6; + border-color:#e2e2e2; +} + + +.patternLeftBarPersonalContent li { + padding-left: 0; + background-image: none; +} + +a.newlink { + color: #CC2200; + text-decoration: none; + border-bottom: 1px dotted; +} + +a.newlink:hover { + color: white; +} + +/* +:link:focus, :visited:focus, :link, :visited, :link:active, :visited:active { + text-decoration:none; +} +*/ + +.twikiToc .twikiTocTitle { + color: black; +} + +h1 { + color: #D1400E; +} + +.patternTopicActions { + background-color:#EBF5F8; + color:black; +} + +.patternActionButtons a:link, +.patternActionButtons a:visited { + color:black; +} + +.patternActionButtons a:hover { + color:white; +} + +.patternTopicAction a:link .foswikiAccessKey, +.patternTopicAction a:visited .foswikiAccessKey { + color:black; + text-decoration: underline; +} + +.patternTopicAction a:hover .foswikiAccessKey { + color:white; + text-decoration: underline; +} + +.foswikiToc .foswikiTocTitle { + color: black; +} + +.restriction { + background-color: #FFFFBB; + border: 2px solid #FFCC33; + padding: 0 10px; + margin-bottom: 15px; +} \ No newline at end of file diff --git a/doc/html/pub/System/PsiSkin/psistyle.css b/doc/html/pub/System/PsiSkin/psistyle.css new file mode 100644 index 00000000..b765728b --- /dev/null +++ b/doc/html/pub/System/PsiSkin/psistyle.css @@ -0,0 +1,216 @@ +blockquote { + padding:.5em 1.25em; + border-style:solid; + border-width:0 0 0 3px; +} + +#twikiLogin { + width:41em; + margin:0 auto; + text-align:center; +} + +.patternLeftBarPersonalContent { + border-top: solid 1px #E2E2E2; + margin-top: 8px; + padding-top: 4px; +} + +#patternSideBarContents .patternLeftBarPersonal { + border-bottom-style: none; +} + +/* ClassificationPlugin */ + +.clsAuthorDateInfo { + color: grey; + font-size: 80%; +} + +.clsSideBar { + border: none; +} + +/* Classification EditChapterPlugin*/ + +.ecpHeading { + display:inline; +} + + +h1, h2, h3, h4, h5, h6 { + line-height:1.1em; + font-weight: normal; +} + +dt { + font-weight: bold; +} + +#footnote { + font-size: .9em; + line-height: 1.2em; +} + +#footnote p { + margin: 0; +} + +#footnote .FootNote { + margin-left: 5px; +} + +#footnote .FootNoteLabel{ + font-size: .8em; +} + +#footnote .FootNoteLabel a { + text-decoration: none; +} + +blockquote { + padding: 0.5em 0.6em; + margin-left: 2em; +} + +blockquote.tip { + padding-left: 2em ; + background-image:url(../FamFamFamSilkIcons/lightbulb.png); + background-repeat:no-repeat; + background-position: 5px 10px; + margin-left: 2em; +} + +blockquote.warn { + padding-left: 2em ; + background-image:url(../FamFamFamSilkIcons/error.png); + background-repeat:no-repeat; + background-position: 5px 10px; + margin-left: 2em; +} + +blockquote.psi { + padding-left: 2em ; + background-image:url(../DocumentGraphics/psi.gif); + background-repeat:no-repeat; + background-position: 5px 10px; + margin-left: 2em; +} + +/* DMS Icon */ + +.patternContent a[href^="http:"] { + background-image: url(../DocumentGraphics/external.gif); + background-position: right center; + background-repeat: no-repeat; + padding-right: 18px; +} + +.patternContent a[href^="http:"]:hover, +.patternContent a[href^="http:"]:visited:hover { + background-image: url(../DocumentGraphics/external-hover.gif); +} + +.patternContent a[href^="http:"]:visited { + background-image: url(../DocumentGraphics/external-visited.gif); +} + + +.patternContent a[href^="mailto:"] { + background-image: url(../DocumentGraphics/mail.gif); + background-position: right center; + background-repeat: no-repeat; + padding-right: 18px; +} + +.patternContent a.noicon { + background-image: none; + padding-right: 0px; +} + + +/* ...but not to absolute links in this domain... + +div.blogbody a[href^="https://w.kryogenix.org"] { + background: transparent; + padding-right: 0px; +} + +*/ + +.patternContent a[href^="https:\/\/dms\.psi\.ch"] { + background-image: url(../DocumentGraphics/dms.gif); + background-position: right center; + background-repeat: no-repeat; + padding-right: 18px; +} + +table { + caption-side: bottom; +} + +caption { + width: auto; + text-align: left; + font-style: italic; + font-size: 0.9em; +} + +.twikiFormStep, .twikiFormSteps { + position: relative; +} + +/* Quotes */ + +: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"; } + +q:before { content:open-quote; color:#000000; } +q:after { content:close-quote; color:#000000; } + +#patternOuter { + border-left: 1px solid #e2e2e2; +} + +#patternSideBar { + margin-right: 1px; + width:15.9em; +} + +.foswikiTopicSummary { + font-size: 50%; +} + +.foswikiCurrentTopicLink { + color: #D1400E; +} + +.clsCatInfo, .clsTagInfo { + font-size: 80%; +} + +.foswikiTopicInfo { + border-bottom: 1px solid silver; + font-size: .8em; + margin-bottom: 1em; +} + +.foswikiTopicInfo h1 { + font-size: 2.375em; + line-height: 1em; + margin-bottom:0.2em; +} + +#foswikiLogo { + margin-top: -8px; +} + +.lock { + border: 0; + margin: 5px; +} + +.restriction ul { + margin-bottom: 0; +} diff --git a/doc/html/pub/System/SkinTemplates/base.css b/doc/html/pub/System/SkinTemplates/base.css new file mode 100644 index 00000000..7acc14ee --- /dev/null +++ b/doc/html/pub/System/SkinTemplates/base.css @@ -0,0 +1 @@ +.foswikiMakeVisible,.foswikiMakeVisibleInline,.foswikiMakeVisibleBlock{display:none;}.foswikiJs .foswikiMakeVisible{display:;}.foswikiJs div.foswikiMakeVisible{display:block;}.foswikiJs span.foswikiMakeVisible{display:inline;}.foswikiJs .foswikiMakeVisibleInline{display:inline;}.foswikiJs .foswikiMakeVisibleBlock{display:block;}.foswikiJs .foswikiMakeHidden{display:none;}.foswikiLeft{float:left;position:relative;}.foswikiRight{position:relative;float:right;display:inline;margin:0;}.foswikiClear,.foswikiFormStep p.foswikiClear{margin:0;padding:0;height:0;line-height:0;clear:both;display:block;}.foswikiHidden{display:none;}.foswikiSmall{font-size:86%;line-height:110%;}.foswikiSmallish{font-size:94%;}.foswikiLarge{font-size:1.3em;line-height:1.5em;}.foswikiBroadcastMessage,.foswikiNotification{background-color:#fff7e7;padding:.25em .5em;margin:0 0 1em 0;}.foswikiBroadcastMessage b,.foswikiBroadcastMessage strong{color:#f00;}.foswikiMessage{padding:.5em 10px;background-color:#fff7e7;border:none;}.foswikiAlert,.foswikiAlert code{color:#f00;}.foswikiEmulatedLink{text-decoration:underline;}.foswikiAccessKey{text-decoration:none;border-width:0 0 1px 0;border-style:solid;}a:hover .foswikiAccessKey{text-decoration:none;border:none;}img{border:0;vertical-align:middle;}.foswikiImage img{padding:3px;border-width:1px;border-style:solid;}.foswikiPreviewArea{border-width:1px;border-style:solid;border-color:#f00;margin:1em 0;padding:1em;}.foswikiSummary em{font-weight:bold;font-style:normal;color:#000;}.foswikiTabs ul{margin:0;padding:0;list-style:none;position:relative;bottom:0;}.foswikiTabs ul li{display:inline;}.foswikiTabs ul li a,.foswikiTabs ul li a:link,.foswikiTabs ul li a:hover,.foswikiTabs ul li a:visited{text-decoration:none;color:#000;}.foswikiTabs ul li a,.foswikiTabs ul li span{display:block;float:left;margin:0 6px 0 0;padding:.35em .7em;border-style:solid;border-width:1px;border-color:#ccc;background:#eee;}.foswikiTabs ul li a,.foswikiTabs ul li span,.foswikiTabContent{border-style:solid;border-width:1px;border-color:#ccc;}.foswikiTabs ul li.foswikiActiveTab a,.foswikiTabs ul li a:hover,.foswikiTabs ul li span{border-bottom-color:#fff;background:#fff;}.foswikiTabContent{margin:-1px 0 1em 0;padding:.7em;background:#fff;}.foswikiHorizontalList ul{margin:0;padding:0;list-style:none;clear:both;}.foswikiHorizontalList ul li{float:left;display:block;padding:0 .5em;border-style:none solid none none;border-width:1px;}.foswikiHorizontalList ul li.foswikiLast{border:none;} \ No newline at end of file