Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| ed2451d657 | |||
| a005e5750f | |||
| b29c7247e7 | |||
| 92008a4e49 | |||
| 49e355f58a |
@@ -2,11 +2,11 @@ Ag_T=100_F=20
|
||||
###############################################################
|
||||
FITPARAMETER
|
||||
# No Name Value Step Pos_Error Boundaries
|
||||
1 alpha 1.02344 -0.00095 0.00095
|
||||
2 asym 0.23676 -0.00098 0.00098 0 0.3
|
||||
1 alpha 1.02389 -0.00095 0.00095
|
||||
2 asym 0.23641 -0.00097 0.00098 0 0.3
|
||||
3 phase 0 0 none 0 100
|
||||
4 field 20.300 -0.010 0.010 0 none
|
||||
5 rate 0.0040 -0.0013 0.0013 0 100
|
||||
4 field 20.301 -0.010 0.010 0 none
|
||||
5 rate 0.0037 -0.0013 0.0013 0 100
|
||||
|
||||
###############################################################
|
||||
THEORY
|
||||
@@ -53,5 +53,5 @@ range 0 14 -0.32 0.32
|
||||
view_packing 10
|
||||
|
||||
###############################################################
|
||||
STATISTIC --- 2026-02-21 13:10:28
|
||||
chisq = 1166.4, NDF = 863, chisq/NDF = 1.351562
|
||||
STATISTIC --- 2026-02-23 13:12:14
|
||||
chisq = 1159.8, NDF = 863, chisq/NDF = 1.343877
|
||||
|
||||
@@ -3,14 +3,14 @@ Ag_T=100_F=20
|
||||
FITPARAMETER
|
||||
# No Name Value Step Pos_Error Boundaries
|
||||
1 phaseL 0 0 none
|
||||
2 field 20.3390 -0.0085 0.0086 0 none
|
||||
3 asym 0.23461 -0.00051 0.00051 0 0.3
|
||||
4 rate 0.0239 -0.0040 0.0035 0 100
|
||||
5 Norm_L 1151.24 -0.53 0.53
|
||||
2 field 20.3381 -0.0085 0.0085 0 none
|
||||
3 asym 0.23440 -0.00051 0.00051 0 0.3
|
||||
4 rate 0.0234 -0.0041 0.0035 0 100
|
||||
5 Norm_L 1151.30 -0.53 0.53
|
||||
6 BG_L 0 0 none 0 none
|
||||
7 Norm_R 1178.60 -0.58 0.58 0 none
|
||||
7 Norm_R 1179.09 -0.59 0.58 0 none
|
||||
8 BG_R 0 0 none 0 none
|
||||
9 relPhase 178.49 -0.20 0.20 0 none
|
||||
9 relPhase 178.57 -0.20 0.20 0 none
|
||||
|
||||
###############################################################
|
||||
THEORY
|
||||
@@ -70,5 +70,5 @@ range 0 20 -0.35 0.35
|
||||
view_packing 10
|
||||
|
||||
###############################################################
|
||||
STATISTIC --- 2026-02-21 13:06:21
|
||||
maxLH = 4233.1, NDF = 3726, maxLH/NDF = 1.136107
|
||||
STATISTIC --- 2026-02-23 13:09:55
|
||||
maxLH = 4228.9, NDF = 3726, maxLH/NDF = 1.134977
|
||||
|
||||
@@ -741,14 +741,6 @@ abbr, acronym {
|
||||
cursor: help;
|
||||
}
|
||||
|
||||
.translated {
|
||||
background-color: rgba(207, 255, 207, 0.2)
|
||||
}
|
||||
|
||||
.untranslated {
|
||||
background-color: rgba(255, 207, 207, 0.2)
|
||||
}
|
||||
|
||||
/* -- code displays --------------------------------------------------------- */
|
||||
|
||||
pre {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
const DOCUMENTATION_OPTIONS = {
|
||||
VERSION: '1.9.9',
|
||||
VERSION: '1.10.0',
|
||||
LANGUAGE: 'en',
|
||||
COLLAPSE_INDEX: false,
|
||||
BUILDER: 'html',
|
||||
|
||||
@@ -6,26 +6,26 @@ span.linenos.special { color: #000000; background-color: #ffffc0; padding-left:
|
||||
.highlight .hll { background-color: #ffffcc }
|
||||
.highlight { background: #eeffcc; }
|
||||
.highlight .c { color: #408090; font-style: italic } /* Comment */
|
||||
.highlight .err { border: 1px solid #FF0000 } /* Error */
|
||||
.highlight .err { border: 1px solid #F00 } /* Error */
|
||||
.highlight .k { color: #007020; font-weight: bold } /* Keyword */
|
||||
.highlight .o { color: #666666 } /* Operator */
|
||||
.highlight .o { color: #666 } /* Operator */
|
||||
.highlight .ch { color: #408090; font-style: italic } /* Comment.Hashbang */
|
||||
.highlight .cm { color: #408090; font-style: italic } /* Comment.Multiline */
|
||||
.highlight .cp { color: #007020 } /* Comment.Preproc */
|
||||
.highlight .cpf { color: #408090; font-style: italic } /* Comment.PreprocFile */
|
||||
.highlight .c1 { color: #408090; font-style: italic } /* Comment.Single */
|
||||
.highlight .cs { color: #408090; background-color: #fff0f0 } /* Comment.Special */
|
||||
.highlight .cs { color: #408090; background-color: #FFF0F0 } /* Comment.Special */
|
||||
.highlight .gd { color: #A00000 } /* Generic.Deleted */
|
||||
.highlight .ge { font-style: italic } /* Generic.Emph */
|
||||
.highlight .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */
|
||||
.highlight .gr { color: #FF0000 } /* Generic.Error */
|
||||
.highlight .gr { color: #F00 } /* Generic.Error */
|
||||
.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
|
||||
.highlight .gi { color: #00A000 } /* Generic.Inserted */
|
||||
.highlight .go { color: #333333 } /* Generic.Output */
|
||||
.highlight .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
|
||||
.highlight .go { color: #333 } /* Generic.Output */
|
||||
.highlight .gp { color: #C65D09; font-weight: bold } /* Generic.Prompt */
|
||||
.highlight .gs { font-weight: bold } /* Generic.Strong */
|
||||
.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
|
||||
.highlight .gt { color: #0044DD } /* Generic.Traceback */
|
||||
.highlight .gt { color: #04D } /* Generic.Traceback */
|
||||
.highlight .kc { color: #007020; font-weight: bold } /* Keyword.Constant */
|
||||
.highlight .kd { color: #007020; font-weight: bold } /* Keyword.Declaration */
|
||||
.highlight .kn { color: #007020; font-weight: bold } /* Keyword.Namespace */
|
||||
@@ -33,43 +33,43 @@ span.linenos.special { color: #000000; background-color: #ffffc0; padding-left:
|
||||
.highlight .kr { color: #007020; font-weight: bold } /* Keyword.Reserved */
|
||||
.highlight .kt { color: #902000 } /* Keyword.Type */
|
||||
.highlight .m { color: #208050 } /* Literal.Number */
|
||||
.highlight .s { color: #4070a0 } /* Literal.String */
|
||||
.highlight .na { color: #4070a0 } /* Name.Attribute */
|
||||
.highlight .s { color: #4070A0 } /* Literal.String */
|
||||
.highlight .na { color: #4070A0 } /* Name.Attribute */
|
||||
.highlight .nb { color: #007020 } /* Name.Builtin */
|
||||
.highlight .nc { color: #0e84b5; font-weight: bold } /* Name.Class */
|
||||
.highlight .no { color: #60add5 } /* Name.Constant */
|
||||
.highlight .nd { color: #555555; font-weight: bold } /* Name.Decorator */
|
||||
.highlight .ni { color: #d55537; font-weight: bold } /* Name.Entity */
|
||||
.highlight .nc { color: #0E84B5; font-weight: bold } /* Name.Class */
|
||||
.highlight .no { color: #60ADD5 } /* Name.Constant */
|
||||
.highlight .nd { color: #555; font-weight: bold } /* Name.Decorator */
|
||||
.highlight .ni { color: #D55537; font-weight: bold } /* Name.Entity */
|
||||
.highlight .ne { color: #007020 } /* Name.Exception */
|
||||
.highlight .nf { color: #06287e } /* Name.Function */
|
||||
.highlight .nf { color: #06287E } /* Name.Function */
|
||||
.highlight .nl { color: #002070; font-weight: bold } /* Name.Label */
|
||||
.highlight .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
|
||||
.highlight .nn { color: #0E84B5; font-weight: bold } /* Name.Namespace */
|
||||
.highlight .nt { color: #062873; font-weight: bold } /* Name.Tag */
|
||||
.highlight .nv { color: #bb60d5 } /* Name.Variable */
|
||||
.highlight .nv { color: #BB60D5 } /* Name.Variable */
|
||||
.highlight .ow { color: #007020; font-weight: bold } /* Operator.Word */
|
||||
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
|
||||
.highlight .w { color: #BBB } /* Text.Whitespace */
|
||||
.highlight .mb { color: #208050 } /* Literal.Number.Bin */
|
||||
.highlight .mf { color: #208050 } /* Literal.Number.Float */
|
||||
.highlight .mh { color: #208050 } /* Literal.Number.Hex */
|
||||
.highlight .mi { color: #208050 } /* Literal.Number.Integer */
|
||||
.highlight .mo { color: #208050 } /* Literal.Number.Oct */
|
||||
.highlight .sa { color: #4070a0 } /* Literal.String.Affix */
|
||||
.highlight .sb { color: #4070a0 } /* Literal.String.Backtick */
|
||||
.highlight .sc { color: #4070a0 } /* Literal.String.Char */
|
||||
.highlight .dl { color: #4070a0 } /* Literal.String.Delimiter */
|
||||
.highlight .sd { color: #4070a0; font-style: italic } /* Literal.String.Doc */
|
||||
.highlight .s2 { color: #4070a0 } /* Literal.String.Double */
|
||||
.highlight .se { color: #4070a0; font-weight: bold } /* Literal.String.Escape */
|
||||
.highlight .sh { color: #4070a0 } /* Literal.String.Heredoc */
|
||||
.highlight .si { color: #70a0d0; font-style: italic } /* Literal.String.Interpol */
|
||||
.highlight .sx { color: #c65d09 } /* Literal.String.Other */
|
||||
.highlight .sa { color: #4070A0 } /* Literal.String.Affix */
|
||||
.highlight .sb { color: #4070A0 } /* Literal.String.Backtick */
|
||||
.highlight .sc { color: #4070A0 } /* Literal.String.Char */
|
||||
.highlight .dl { color: #4070A0 } /* Literal.String.Delimiter */
|
||||
.highlight .sd { color: #4070A0; font-style: italic } /* Literal.String.Doc */
|
||||
.highlight .s2 { color: #4070A0 } /* Literal.String.Double */
|
||||
.highlight .se { color: #4070A0; font-weight: bold } /* Literal.String.Escape */
|
||||
.highlight .sh { color: #4070A0 } /* Literal.String.Heredoc */
|
||||
.highlight .si { color: #70A0D0; font-style: italic } /* Literal.String.Interpol */
|
||||
.highlight .sx { color: #C65D09 } /* Literal.String.Other */
|
||||
.highlight .sr { color: #235388 } /* Literal.String.Regex */
|
||||
.highlight .s1 { color: #4070a0 } /* Literal.String.Single */
|
||||
.highlight .s1 { color: #4070A0 } /* Literal.String.Single */
|
||||
.highlight .ss { color: #517918 } /* Literal.String.Symbol */
|
||||
.highlight .bp { color: #007020 } /* Name.Builtin.Pseudo */
|
||||
.highlight .fm { color: #06287e } /* Name.Function.Magic */
|
||||
.highlight .vc { color: #bb60d5 } /* Name.Variable.Class */
|
||||
.highlight .vg { color: #bb60d5 } /* Name.Variable.Global */
|
||||
.highlight .vi { color: #bb60d5 } /* Name.Variable.Instance */
|
||||
.highlight .vm { color: #bb60d5 } /* Name.Variable.Magic */
|
||||
.highlight .fm { color: #06287E } /* Name.Function.Magic */
|
||||
.highlight .vc { color: #BB60D5 } /* Name.Variable.Class */
|
||||
.highlight .vg { color: #BB60D5 } /* Name.Variable.Global */
|
||||
.highlight .vi { color: #BB60D5 } /* Name.Variable.Instance */
|
||||
.highlight .vm { color: #BB60D5 } /* Name.Variable.Magic */
|
||||
.highlight .il { color: #208050 } /* Literal.Number.Integer.Long */
|
||||
@@ -513,9 +513,11 @@ const Search = {
|
||||
// perform the search on the required terms
|
||||
searchTerms.forEach((word) => {
|
||||
const files = [];
|
||||
// find documents, if any, containing the query word in their text/title term indices
|
||||
// use Object.hasOwnProperty to avoid mismatching against prototype properties
|
||||
const arr = [
|
||||
{ files: terms[word], score: Scorer.term },
|
||||
{ files: titleTerms[word], score: Scorer.title },
|
||||
{ files: terms.hasOwnProperty(word) ? terms[word] : undefined, score: Scorer.term },
|
||||
{ files: titleTerms.hasOwnProperty(word) ? titleTerms[word] : undefined, score: Scorer.title },
|
||||
];
|
||||
// add support for partial matches
|
||||
if (word.length > 2) {
|
||||
@@ -547,8 +549,9 @@ const Search = {
|
||||
|
||||
// set score for the word in each file
|
||||
recordFiles.forEach((file) => {
|
||||
if (!scoreMap.has(file)) scoreMap.set(file, {});
|
||||
scoreMap.get(file)[word] = record.score;
|
||||
if (!scoreMap.has(file)) scoreMap.set(file, new Map());
|
||||
const fileScores = scoreMap.get(file);
|
||||
fileScores.set(word, record.score);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -587,7 +590,7 @@ const Search = {
|
||||
break;
|
||||
|
||||
// select one (max) score for the file.
|
||||
const score = Math.max(...wordList.map((w) => scoreMap.get(file)[w]));
|
||||
const score = Math.max(...wordList.map((w) => scoreMap.get(file).get(w)));
|
||||
// add result to the result list
|
||||
results.push([
|
||||
docNames[file],
|
||||
|
||||
@@ -6,14 +6,14 @@
|
||||
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Acknowledgements — musrfit 1.9.9 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<title>Acknowledgements — musrfit V1.10.0</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=03e43079" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=7a5cd723" />
|
||||
|
||||
|
||||
<script src="_static/jquery.js?v=5d32c60e"></script>
|
||||
<script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
|
||||
<script src="_static/documentation_options.js?v=4320943d"></script>
|
||||
<script src="_static/documentation_options.js?v=1d24b1d9"></script>
|
||||
<script src="_static/doctools.js?v=9bcbadda"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
<script src="_static/js/theme.js"></script>
|
||||
@@ -112,8 +112,8 @@ extremely competent way to deal with his projects as well as to deal with the ch
|
||||
<hr/>
|
||||
|
||||
<div role="contentinfo">
|
||||
<p>© Copyright 2025, Andreas Suter.
|
||||
<span class="lastupdated">Last updated on Jun 07, 2025.
|
||||
<p>© Copyright 2026, Andreas Suter.
|
||||
<span class="lastupdated">Last updated on Feb 21, 2026.
|
||||
</span></p>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -6,14 +6,14 @@
|
||||
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>any2many - a Universal μSR-file-format converter — musrfit 1.9.9 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<title>any2many - a Universal μSR-file-format converter — musrfit V1.10.0</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=03e43079" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=7a5cd723" />
|
||||
|
||||
|
||||
<script src="_static/jquery.js?v=5d32c60e"></script>
|
||||
<script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
|
||||
<script src="_static/documentation_options.js?v=4320943d"></script>
|
||||
<script src="_static/documentation_options.js?v=1d24b1d9"></script>
|
||||
<script src="_static/doctools.js?v=9bcbadda"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
<script src="_static/js/theme.js"></script>
|
||||
@@ -102,8 +102,8 @@ For a detailed description see <a class="reference internal" href="user-manual.h
|
||||
<hr/>
|
||||
|
||||
<div role="contentinfo">
|
||||
<p>© Copyright 2025, Andreas Suter.
|
||||
<span class="lastupdated">Last updated on Jun 07, 2025.
|
||||
<p>© Copyright 2026, Andreas Suter.
|
||||
<span class="lastupdated">Last updated on Feb 21, 2026.
|
||||
</span></p>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -6,14 +6,14 @@
|
||||
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Bugtracking — musrfit 1.9.9 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<title>Bugtracking — musrfit V1.10.0</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=03e43079" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=7a5cd723" />
|
||||
|
||||
|
||||
<script src="_static/jquery.js?v=5d32c60e"></script>
|
||||
<script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
|
||||
<script src="_static/documentation_options.js?v=4320943d"></script>
|
||||
<script src="_static/documentation_options.js?v=1d24b1d9"></script>
|
||||
<script src="_static/doctools.js?v=9bcbadda"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
<script src="_static/js/theme.js"></script>
|
||||
@@ -101,8 +101,8 @@ or send an e-mail to A. Suter at PSI.</p>
|
||||
<hr/>
|
||||
|
||||
<div role="contentinfo">
|
||||
<p>© Copyright 2025, Andreas Suter.
|
||||
<span class="lastupdated">Last updated on Jun 07, 2025.
|
||||
<p>© Copyright 2026, Andreas Suter.
|
||||
<span class="lastupdated">Last updated on Feb 21, 2026.
|
||||
</span></p>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -6,14 +6,14 @@
|
||||
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>How to Cite musrfit? — musrfit 1.9.9 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<title>How to Cite musrfit? — musrfit V1.10.0</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=03e43079" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=7a5cd723" />
|
||||
|
||||
|
||||
<script src="_static/jquery.js?v=5d32c60e"></script>
|
||||
<script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
|
||||
<script src="_static/documentation_options.js?v=4320943d"></script>
|
||||
<script src="_static/documentation_options.js?v=1d24b1d9"></script>
|
||||
<script src="_static/doctools.js?v=9bcbadda"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
<script src="_static/js/theme.js"></script>
|
||||
@@ -114,8 +114,8 @@
|
||||
<hr/>
|
||||
|
||||
<div role="contentinfo">
|
||||
<p>© Copyright 2025, Andreas Suter.
|
||||
<span class="lastupdated">Last updated on Jun 07, 2025.
|
||||
<p>© Copyright 2026, Andreas Suter.
|
||||
<span class="lastupdated">Last updated on Feb 21, 2026.
|
||||
</span></p>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -6,14 +6,14 @@
|
||||
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Short description and references to the supported file-formats — musrfit 1.9.9 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<title>Short description and references to the supported file-formats — musrfit V1.10.0</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=03e43079" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=7a5cd723" />
|
||||
|
||||
|
||||
<script src="_static/jquery.js?v=5d32c60e"></script>
|
||||
<script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
|
||||
<script src="_static/documentation_options.js?v=4320943d"></script>
|
||||
<script src="_static/documentation_options.js?v=1d24b1d9"></script>
|
||||
<script src="_static/doctools.js?v=9bcbadda"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
<script async="async" src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
|
||||
@@ -415,8 +415,8 @@ Between detectors, there will be an empty line.</p>
|
||||
<hr/>
|
||||
|
||||
<div role="contentinfo">
|
||||
<p>© Copyright 2025, Andreas Suter.
|
||||
<span class="lastupdated">Last updated on Jun 07, 2025.
|
||||
<p>© Copyright 2026, Andreas Suter.
|
||||
<span class="lastupdated">Last updated on Feb 21, 2026.
|
||||
</span></p>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -5,14 +5,14 @@
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Index — musrfit 1.9.9 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<title>Index — musrfit V1.10.0</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=03e43079" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=7a5cd723" />
|
||||
|
||||
|
||||
<script src="_static/jquery.js?v=5d32c60e"></script>
|
||||
<script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
|
||||
<script src="_static/documentation_options.js?v=4320943d"></script>
|
||||
<script src="_static/documentation_options.js?v=1d24b1d9"></script>
|
||||
<script src="_static/doctools.js?v=9bcbadda"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
<script src="_static/js/theme.js"></script>
|
||||
@@ -273,9 +273,9 @@
|
||||
</li>
|
||||
</ul></td>
|
||||
<td style="width: 33%; vertical-align: top;"><ul>
|
||||
<li><a href="setup-standard.html#index-13">gnu-linux</a>
|
||||
<li><a href="setup-standard.html#index-12">gnu-linux</a>
|
||||
</li>
|
||||
<li><a href="setup-standard.html#index-14">gnu-linux-requirements</a>
|
||||
<li><a href="setup-standard.html#index-13">gnu-linux-requirements</a>
|
||||
</li>
|
||||
</ul></td>
|
||||
</tr></table>
|
||||
@@ -289,7 +289,7 @@
|
||||
<td style="width: 33%; vertical-align: top;"><ul>
|
||||
<li><a href="setup-standard.html#index-8">hdf5</a>
|
||||
</li>
|
||||
<li><a href="setup-standard.html#index-24">homebrew</a>
|
||||
<li><a href="setup-standard.html#index-23">homebrew</a>
|
||||
</li>
|
||||
</ul></td>
|
||||
</tr></table>
|
||||
@@ -337,15 +337,13 @@
|
||||
<h2 id="M">M</h2>
|
||||
<table style="width: 100%" class="indextable genindextable"><tr>
|
||||
<td style="width: 33%; vertical-align: top;"><ul>
|
||||
<li><a href="setup-standard.html#index-21">macports</a>
|
||||
<li><a href="setup-standard.html#index-20">macports</a>
|
||||
</li>
|
||||
<li><a href="user-manual.html#index-26">map</a>
|
||||
</li>
|
||||
<li><a href="file-formats.html#index-4">mdu-file-format</a>
|
||||
</li>
|
||||
<li><a href="user-manual.html#index-17">meta-information</a>
|
||||
</li>
|
||||
<li><a href="setup-standard.html#index-9">minixml</a>
|
||||
</li>
|
||||
<li><a href="user-manual.html#index-42">minuit2-command-overview</a>
|
||||
</li>
|
||||
@@ -419,27 +417,27 @@
|
||||
</li>
|
||||
<li><a href="musredit.html#index-0">musredit</a>
|
||||
</li>
|
||||
<li><a href="setup-standard.html#index-29">musredit-build-macos</a>
|
||||
<li><a href="setup-standard.html#index-28">musredit-build-macos</a>
|
||||
</li>
|
||||
<li><a href="musredit.html#index-2">musredit-features</a>
|
||||
</li>
|
||||
<li><a href="setup-standard.html#index-20">musredit-install-linux</a>
|
||||
<li><a href="setup-standard.html#index-19">musredit-install-linux</a>
|
||||
</li>
|
||||
<li><a href="musredit.html#index-1">musredit_startup</a>
|
||||
</li>
|
||||
<li><a href="user-manual.html#index-1">musrfit</a>
|
||||
</li>
|
||||
<li><a href="setup-standard.html#index-18">musrfit-build-cmake-linux</a>
|
||||
<li><a href="setup-standard.html#index-17">musrfit-build-cmake-linux</a>
|
||||
</li>
|
||||
<li><a href="setup-standard.html#index-28">musrfit-build-cmake-macos</a>
|
||||
<li><a href="setup-standard.html#index-27">musrfit-build-cmake-macos</a>
|
||||
</li>
|
||||
<li><a href="setup-standard.html#index-17">musrfit-build-linux</a>
|
||||
<li><a href="setup-standard.html#index-16">musrfit-build-linux</a>
|
||||
</li>
|
||||
<li><a href="setup-standard.html#index-27">musrfit-build-macos</a>
|
||||
<li><a href="setup-standard.html#index-26">musrfit-build-macos</a>
|
||||
</li>
|
||||
<li><a href="user-manual.html#index-44">musrfit-command-block-details</a>
|
||||
</li>
|
||||
<li><a href="setup-standard.html#index-19">musrfit-post-install-linux</a>
|
||||
<li><a href="setup-standard.html#index-18">musrfit-post-install-linux</a>
|
||||
</li>
|
||||
<li><a href="user-manual.html#index-11">musrfit-startup</a>
|
||||
</li>
|
||||
@@ -487,15 +485,15 @@
|
||||
<td style="width: 33%; vertical-align: top;"><ul>
|
||||
<li><a href="user-manual.html#index-73">negative-muon-musr-fit</a>
|
||||
</li>
|
||||
<li><a href="setup-standard.html#index-10">nexus</a>
|
||||
<li><a href="setup-standard.html#index-9">nexus</a>
|
||||
</li>
|
||||
<li><a href="setup-standard.html#index-25">nexus-build-homebrew</a>
|
||||
<li><a href="setup-standard.html#index-24">nexus-build-homebrew</a>
|
||||
</li>
|
||||
<li><a href="setup-standard.html#index-15">nexus-build-linux</a>
|
||||
<li><a href="setup-standard.html#index-14">nexus-build-linux</a>
|
||||
</li>
|
||||
</ul></td>
|
||||
<td style="width: 33%; vertical-align: top;"><ul>
|
||||
<li><a href="setup-standard.html#index-22">nexus-build-macports</a>
|
||||
<li><a href="setup-standard.html#index-21">nexus-build-macports</a>
|
||||
</li>
|
||||
<li><a href="file-formats.html#index-6">nexus-file-format</a>
|
||||
</li>
|
||||
@@ -511,7 +509,7 @@
|
||||
<h2 id="O">O</h2>
|
||||
<table style="width: 100%" class="indextable genindextable"><tr>
|
||||
<td style="width: 33%; vertical-align: top;"><ul>
|
||||
<li><a href="setup-standard.html#index-12">os-restrictions</a>
|
||||
<li><a href="setup-standard.html#index-11">os-restrictions</a>
|
||||
</li>
|
||||
</ul></td>
|
||||
</tr></table>
|
||||
@@ -539,7 +537,7 @@
|
||||
<h2 id="Q">Q</h2>
|
||||
<table style="width: 100%" class="indextable genindextable"><tr>
|
||||
<td style="width: 33%; vertical-align: top;"><ul>
|
||||
<li><a href="setup-standard.html#index-11">qt</a>
|
||||
<li><a href="setup-standard.html#index-10">qt</a>
|
||||
</li>
|
||||
</ul></td>
|
||||
</tr></table>
|
||||
@@ -549,13 +547,13 @@
|
||||
<td style="width: 33%; vertical-align: top;"><ul>
|
||||
<li><a href="user-manual.html#index-79">rge-handler</a>
|
||||
</li>
|
||||
<li><a href="setup-standard.html#index-26">root-build-homebrew</a>
|
||||
<li><a href="setup-standard.html#index-25">root-build-homebrew</a>
|
||||
</li>
|
||||
<li><a href="setup-standard.html#index-16">root-build-linux</a>
|
||||
<li><a href="setup-standard.html#index-15">root-build-linux</a>
|
||||
</li>
|
||||
</ul></td>
|
||||
<td style="width: 33%; vertical-align: top;"><ul>
|
||||
<li><a href="setup-standard.html#index-23">root-build-macports</a>
|
||||
<li><a href="setup-standard.html#index-22">root-build-macports</a>
|
||||
</li>
|
||||
<li><a href="setup-standard.html#index-5">root-cern</a>
|
||||
</li>
|
||||
@@ -669,8 +667,8 @@
|
||||
<hr/>
|
||||
|
||||
<div role="contentinfo">
|
||||
<p>© Copyright 2025, Andreas Suter.
|
||||
<span class="lastupdated">Last updated on Jun 09, 2025.
|
||||
<p>© Copyright 2026, Andreas Suter.
|
||||
<span class="lastupdated">Last updated on Feb 21, 2026.
|
||||
</span></p>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -6,14 +6,14 @@
|
||||
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Welcome to the musrfit documentation! — musrfit 1.9.9 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<title>Welcome to the musrfit documentation! — musrfit V1.10.0</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=03e43079" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=7a5cd723" />
|
||||
|
||||
|
||||
<script src="_static/jquery.js?v=5d32c60e"></script>
|
||||
<script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
|
||||
<script src="_static/documentation_options.js?v=4320943d"></script>
|
||||
<script src="_static/documentation_options.js?v=1d24b1d9"></script>
|
||||
<script src="_static/doctools.js?v=9bcbadda"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
<script async="async" src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
|
||||
@@ -106,7 +106,7 @@
|
||||
</li>
|
||||
<li class="toctree-l1"><a class="reference internal" href="user-libs.html">Documentation of user libs (user functions)</a><ul>
|
||||
<li class="toctree-l2"><a class="reference internal" href="user-libs.html#meissner-profiles-vortex-lattice-related-functions-bmw-libs">Meissner-Profiles / Vortex-Lattice related functions (BMW libs)</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="user-libs.html#supeconducting-gap-integrals-to-calculate-1-lambda-2-vs-t">Supeconducting Gap-Integrals to calculate <span class="math notranslate nohighlight">\(1/\lambda^2\)</span> vs <span class="math notranslate nohighlight">\(T\)</span></a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="user-libs.html#superconducting-gap-integrals-to-calculate-1-lambda-2-vs-t">Superconducting Gap-Integrals to calculate <span class="math notranslate nohighlight">\(1/\lambda^2\)</span> vs <span class="math notranslate nohighlight">\(T\)</span></a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="user-libs.html#nonlocal-superconductivity-related-meissner-screening-functions-as-libs">Nonlocal superconductivity related Meissner screening functions (AS libs)</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="user-libs.html#depth-resolved-information-as-libs">Depth resolved information (AS libs)</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="user-libs.html#functions-to-analyze-bgr-nmr-data-bnmr-libs">Functions to analyze β-NMR data (BNMR libs)</a></li>
|
||||
@@ -198,8 +198,8 @@
|
||||
<hr/>
|
||||
|
||||
<div role="contentinfo">
|
||||
<p>© Copyright 2025, Andreas Suter.
|
||||
<span class="lastupdated">Last updated on Jun 09, 2025.
|
||||
<p>© Copyright 2026, Andreas Suter.
|
||||
<span class="lastupdated">Last updated on Feb 21, 2026.
|
||||
</span></p>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -6,14 +6,14 @@
|
||||
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>msr2data - A Program for Automatically Processing Multiple musrfit msr Files — musrfit 1.9.9 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<title>msr2data - A Program for Automatically Processing Multiple musrfit msr Files — musrfit V1.10.0</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=03e43079" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=7a5cd723" />
|
||||
|
||||
|
||||
<script src="_static/jquery.js?v=5d32c60e"></script>
|
||||
<script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
|
||||
<script src="_static/documentation_options.js?v=4320943d"></script>
|
||||
<script src="_static/documentation_options.js?v=1d24b1d9"></script>
|
||||
<script src="_static/doctools.js?v=9bcbadda"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
<script async="async" src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
|
||||
@@ -428,8 +428,8 @@ fit serves as template for the second and so on. The template field stays empty
|
||||
<hr/>
|
||||
|
||||
<div role="contentinfo">
|
||||
<p>© Copyright 2025, Andreas Suter.
|
||||
<span class="lastupdated">Last updated on Jun 07, 2025.
|
||||
<p>© Copyright 2026, Andreas Suter.
|
||||
<span class="lastupdated">Last updated on Feb 21, 2026.
|
||||
</span></p>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -6,14 +6,14 @@
|
||||
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>mupp - μSR Parameter Plotter — musrfit 1.9.9 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<title>mupp - μSR Parameter Plotter — musrfit V1.10.0</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=03e43079" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=7a5cd723" />
|
||||
|
||||
|
||||
<script src="_static/jquery.js?v=5d32c60e"></script>
|
||||
<script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
|
||||
<script src="_static/documentation_options.js?v=4320943d"></script>
|
||||
<script src="_static/documentation_options.js?v=1d24b1d9"></script>
|
||||
<script src="_static/doctools.js?v=9bcbadda"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
<script src="_static/js/theme.js"></script>
|
||||
@@ -308,8 +308,8 @@ SCRIPT COMMANDS:
|
||||
<hr/>
|
||||
|
||||
<div role="contentinfo">
|
||||
<p>© Copyright 2025, Andreas Suter.
|
||||
<span class="lastupdated">Last updated on Jun 07, 2025.
|
||||
<p>© Copyright 2026, Andreas Suter.
|
||||
<span class="lastupdated">Last updated on Feb 21, 2026.
|
||||
</span></p>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -6,14 +6,14 @@
|
||||
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>MusrRoot - an Extensible Open File Format for μSR — musrfit 1.9.9 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<title>MusrRoot - an Extensible Open File Format for μSR — musrfit V1.10.0</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=03e43079" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=7a5cd723" />
|
||||
|
||||
|
||||
<script src="_static/jquery.js?v=5d32c60e"></script>
|
||||
<script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
|
||||
<script src="_static/documentation_options.js?v=4320943d"></script>
|
||||
<script src="_static/documentation_options.js?v=1d24b1d9"></script>
|
||||
<script src="_static/doctools.js?v=9bcbadda"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
<script src="_static/js/theme.js"></script>
|
||||
@@ -134,13 +134,20 @@ which allows to inspect these files. This browser (<code class="docutils literal
|
||||
if they derive from <code class="docutils literal notranslate"><span class="pre">TObject</span></code>.</p>
|
||||
<p>The <code class="docutils literal notranslate"><span class="pre">MusrRoot</span></code> file format to be described below is only using a small subset of possible ROOT objects, namely:</p>
|
||||
<ul class="simple">
|
||||
<li><p><code class="docutils literal notranslate"><span class="pre">TFolder</span></code>: this are the top level objects in the <code class="docutils literal notranslate"><span class="pre">MusrRoot</span></code> file.</p></li>
|
||||
<li><p><code class="docutils literal notranslate"><span class="pre">TFolder</span></code>/<code class="docutils literal notranslate"><span class="pre">TDirectory</span></code>: this are the top level objects in the <code class="docutils literal notranslate"><span class="pre">MusrRoot</span></code> file.</p></li>
|
||||
<li><p><code class="docutils literal notranslate"><span class="pre">TH1F</span></code>: Hold the μ-decay-histograms.</p></li>
|
||||
<li><p><code class="docutils literal notranslate"><span class="pre">TObjArray</span></code>: Holding collection of header information.</p></li>
|
||||
<li><p><code class="docutils literal notranslate"><span class="pre">TObjArray</span></code>/<code class="docutils literal notranslate"><span class="pre">TDirectory</span></code>: Holding collection of header information.</p></li>
|
||||
<li><p><code class="docutils literal notranslate"><span class="pre">TObjString</span></code>: Holding the content of any header information.</p></li>
|
||||
</ul>
|
||||
<p>Since all these objects are deriving form <code class="docutils literal notranslate"><span class="pre">TObject</span></code>, they will be directly accessible via the <code class="docutils literal notranslate"><span class="pre">TBrowser</span></code>-object.
|
||||
For instance, the μ-decay-histograms can be directly plotted, are even fitted, out of the box.</p>
|
||||
<div class="admonition note">
|
||||
<p class="admonition-title">Note</p>
|
||||
<p>Since <code class="docutils literal notranslate"><span class="pre">TFolder</span></code> has bee marked as deprecated from the ROOT team, we
|
||||
will gradually switch over to use <code class="docutils literal notranslate"><span class="pre">TDirectory</span></code> instead. This will have a minimal impact on
|
||||
the following, as you will see. In the description to follow, the term “folder” will be used
|
||||
synonymous with “directory”. Only if necessary it will be distinguished.</p>
|
||||
</div>
|
||||
</section>
|
||||
<section id="id1">
|
||||
<h2>MusrRoot an Extensible Open File Format for μSR<a class="headerlink" href="#id1" title="Link to this heading"></a></h2>
|
||||
@@ -173,7 +180,7 @@ For instance, the μ-decay-histograms can be directly plotted, are even fitted,
|
||||
in <code class="docutils literal notranslate"><span class="pre">C/C++</span></code> notation, starting with ‘1’) is the histogram number. The title and name of the histogram (see description of the <code class="docutils literal notranslate"><span class="pre">TH1F</span></code> ROOT class) contains the label of the histogram, like ‘top’, ‘forward’, etc. How many of these histograms are present is accessible through the <code class="docutils literal notranslate"><span class="pre">RunInfo</span></code> folder in which the necessary header information are found (details see next sections). The folder <code class="docutils literal notranslate"><span class="pre">SCAnaModule</span></code> contains histograms of some of the slow-control parameters, as for instance the sample temperature versus time, the applied field versus time, etc. Again the label of the histogram will give more specific information about its content.</p>
|
||||
<section id="run-information-contained-in-runheader">
|
||||
<h3>Run Information Contained in <code class="docutils literal notranslate"><span class="pre">RunHeader</span></code><a class="headerlink" href="#run-information-contained-in-runheader" title="Link to this heading"></a></h3>
|
||||
<p>The <code class="docutils literal notranslate"><span class="pre">RunHeader</span></code> contains all needed meta-information to describe a μSR-run. The list of the minimal number of required “folders” of the <code class="docutils literal notranslate"><span class="pre">RunHeader</span></code> is given in the following structure:</p>
|
||||
<p>The <code class="docutils literal notranslate"><span class="pre">RunHeader</span></code> contains all needed meta-information to describe a μSR-run. The list of the minimal number of required “folders” of the <code class="docutils literal notranslate"><span class="pre">RunHeader</span></code> is given in the following structure (<em>deprecated</em>):</p>
|
||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">RunHeader</span> <span class="p">(</span><span class="n">TFolder</span><span class="p">)</span> <span class="o">---|</span>
|
||||
<span class="o">|-</span> <span class="n">RunInfo</span> <span class="p">(</span><span class="n">TObjArray</span><span class="p">)</span>
|
||||
<span class="o">|-</span> <span class="n">DetectorInfo</span> <span class="p">(</span><span class="n">TObjArray</span><span class="p">)</span>
|
||||
@@ -182,8 +189,24 @@ in <code class="docutils literal notranslate"><span class="pre">C/C++</span></co
|
||||
<span class="o">|-</span> <span class="n">BeamlineInfo</span> <span class="p">(</span><span class="n">TObjArray</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>In case it is already switched to <code class="docutils literal notranslate"><span class="pre">TDirectory</span></code>, it will look like this (default starting 2026):</p>
|
||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">RunHeader</span> <span class="p">(</span><span class="n">TDirectory</span><span class="p">)</span> <span class="o">---|</span>
|
||||
<span class="o">|-</span> <span class="n">RunInfo</span> <span class="p">(</span><span class="n">TDirectory</span><span class="p">)</span>
|
||||
<span class="o">|-</span> <span class="n">DetectorInfo</span> <span class="p">(</span><span class="n">TDirectory</span><span class="p">)</span>
|
||||
<span class="o">|-</span> <span class="n">SampleEnvironmentInfo</span> <span class="p">(</span><span class="n">TDirectory</span><span class="p">)</span>
|
||||
<span class="o">|-</span> <span class="n">MagneticFieldEnvironmentInfo</span> <span class="p">(</span><span class="n">TDirectory</span><span class="p">)</span>
|
||||
<span class="o">|-</span> <span class="n">BeamlineInfo</span> <span class="p">(</span><span class="n">TDirectory</span><span class="p">)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>In brackets the object type is given. <code class="docutils literal notranslate"><span class="pre">RunInfo</span></code> contains most information relevant for the user and will be itemized in <a class="reference internal" href="#musr-root-overview"><span class="std std-ref">RunInfo Overview</span></a> and <a class="reference internal" href="#run-info-required"><span class="std std-ref">RunInfo Required</span></a>. <code class="docutils literal notranslate"><span class="pre">DetectorInfo</span></code> contains detector specific information, like detector name, time zero bin, etc. (details is found under <a class="reference internal" href="#detector-info-required"><span class="std std-ref">DetectorInfo Required</span></a>). <code class="docutils literal notranslate"><span class="pre">SampleEnvironmentInfo</span></code> (details under <a class="reference internal" href="#sample-environment-info-required"><span class="std std-ref">SampleEnvironmentInfo Required</span></a>), and <code class="docutils literal notranslate"><span class="pre">MagneticFieldEnvironmentInfo</span></code> (details under <a class="reference internal" href="#magnetic-field-environment-info-required"><span class="std std-ref">MagneticFieldEnvironmentInfo Required</span></a>) store additional, more detailed information concerning the sample environment. <code class="docutils literal notranslate"><span class="pre">BeamlineInfo</span></code> stores beamline relevant information (details under <a class="reference internal" href="#beamline-info-required"><span class="std std-ref">BeamlineInfo Required</span></a>).</p>
|
||||
<p>Before elaborating more on the required items within this structure, a few words on the ROOT types used here: <code class="docutils literal notranslate"><span class="pre">RunHeader</span></code> is a <code class="docutils literal notranslate"><span class="pre">TFolder</span></code> object. All the “sub-directory” entries are of type <code class="docutils literal notranslate"><span class="pre">TObjArray</span></code> and collect items of type <code class="docutils literal notranslate"><span class="pre">TObjString</span></code> or other <code class="docutils literal notranslate"><span class="pre">TObjArray</span></code> (<em>i.e.</em> sub-directories and sub-sub-directories, etc.).</p>
|
||||
<p>Before elaborating more on the required items within this structure, a few words on the ROOT types used here: <code class="docutils literal notranslate"><span class="pre">RunHeader</span></code> is a <code class="docutils literal notranslate"><span class="pre">TFolder</span></code> (<em>deprecated</em>) or a <code class="docutils literal notranslate"><span class="pre">TDirectory</span></code> object.</p>
|
||||
<ol class="arabic simple">
|
||||
<li><p>In case of the <em>deprecated</em> <code class="docutils literal notranslate"><span class="pre">TFolder</span></code> <cite>RunHeader`</cite>, all the “sub-directory” entries are of type
|
||||
<code class="docutils literal notranslate"><span class="pre">TObjArray</span></code> and collect items of type <code class="docutils literal notranslate"><span class="pre">TObjString</span></code> or other <code class="docutils literal notranslate"><span class="pre">TObjArray</span></code>
|
||||
(<em>i.e.</em> sub-directories and sub-sub-directories, etc.).</p></li>
|
||||
<li><p>In case the top entry <code class="docutils literal notranslate"><span class="pre">RunHeader</span></code> is a <code class="docutils literal notranslate"><span class="pre">TDirectory</span></code> object, all potential “sub-directories” are
|
||||
indeed <code class="docutils literal notranslate"><span class="pre">TDirectory</span></code> objects as well. In this case, the data are represented by <code class="docutils literal notranslate"><span class="pre">TObjString</span></code> objects.</p></li>
|
||||
</ol>
|
||||
<section id="runinfo-overview">
|
||||
<span id="musr-root-overview"></span><span id="index-1"></span><h4><code class="docutils literal notranslate"><span class="pre">RunInfo</span></code> Overview<a class="headerlink" href="#runinfo-overview" title="Link to this heading"></a></h4>
|
||||
<table class="docutils align-default">
|
||||
@@ -306,8 +329,47 @@ is introduced to deal with physical quantities. They always can be represented i
|
||||
</div>
|
||||
</li>
|
||||
</ol>
|
||||
<p>Not all of these values are needed to be given and depending on which are given, the representation in the <code class="docutils literal notranslate"><span class="pre">MusrRootv</span> <span class="pre">file</span> <span class="pre">will</span> <span class="pre">be</span> <span class="pre">different</span> <span class="pre">(handled</span> <span class="pre">by</span> <span class="pre">``TMusrRunHeader</span></code>). Examples are given in the comment column of the table above. For details see <a class="reference internal" href="#musr-run-physical-quantity"><span class="std std-ref">TMusrRunPhysicalQuantity - Possible Representations</span></a>.</p>
|
||||
<p>A mock-up <code class="docutils literal notranslate"><span class="pre">TBrowser</span></code> print-out would look like the one shown in the following figure. You might notice, that at the end of each entry you find a <code class="docutils literal notranslate"><span class="pre">-@X</span></code>, where <code class="docutils literal notranslate"><span class="pre">X</span></code> is a number. This is an encoding of the internal type of the entry and is the price to be payed not using derived types. The next section will explain this in much more detail.</p>
|
||||
<p>Not all of these values are needed to be given and depending on which are given, the representation in the <code class="docutils literal notranslate"><span class="pre">MusrRoot</span></code> file will be different (handled by <code class="docutils literal notranslate"><span class="pre">TMusrRunHeader</span></code>). Examples are given in the comment column of the table above. For details see <a class="reference internal" href="#musr-run-physical-quantity"><span class="std std-ref">TMusrRunPhysicalQuantity - Possible Representations</span></a>.</p>
|
||||
<p>A mock-up <code class="docutils literal notranslate"><span class="pre">TBrowser</span></code> print-out would look like the one shown in the following figure. You might notice, that at the end of each entry you find a <code class="docutils literal notranslate"><span class="pre">-@X</span></code>, where <code class="docutils literal notranslate"><span class="pre">X</span></code> is a number. This is an encoding of the internal type of the entry and is the price to be payed not using derived types. Here is a table with the data representation</p>
|
||||
<table class="docutils align-default">
|
||||
<thead>
|
||||
<tr class="row-odd"><th class="head"><p>X</p></th>
|
||||
<th class="head"><p>data type</p></th>
|
||||
<th class="head"><p>comment</p></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="row-even"><td><p>0</p></td>
|
||||
<td><p>TString</p></td>
|
||||
<td><p>default ROOT type</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>1</p></td>
|
||||
<td><p>Int_t</p></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>2</p></td>
|
||||
<td><p>Double_t</p></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>3</p></td>
|
||||
<td><p>TMusrRunPhysicalQuantity</p></td>
|
||||
<td><p>TMusrRunHeader type</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>4</p></td>
|
||||
<td><p>TStringVector</p></td>
|
||||
<td><p>type cast to vector<TString></p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>5</p></td>
|
||||
<td><p>TIntVector</p></td>
|
||||
<td><p>type cast to vector<Int_T></p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p>6</p></td>
|
||||
<td><p>TDoubleVector</p></td>
|
||||
<td><p>type cast to vector<Double_t></p></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p>The next section will explain this in much more detail.</p>
|
||||
<img alt="_images/MusrRoot-RunInfo.png" src="_images/MusrRoot-RunInfo.png" />
|
||||
<p><code class="docutils literal notranslate"><span class="pre">TMusrRunHeader</span></code> mock up. The red shaded entries are of type <code class="docutils literal notranslate"><span class="pre">TMusrRunPhysicalQuantity</span></code></p>
|
||||
</section>
|
||||
@@ -338,11 +400,11 @@ is derived which is extending the base class to the needs of the instrument.</p>
|
||||
<section id="writing-a-musrroot-run-header">
|
||||
<h4>Writing a MusrRoot Run Header<a class="headerlink" href="#writing-a-musrroot-run-header" title="Link to this heading"></a></h4>
|
||||
<p>An example program <code class="docutils literal notranslate"><span class="pre">write_musrRoot_runHeader</span></code> which is writing a full run header is part of the <code class="docutils literal notranslate"><span class="pre">musrfit</span></code> package. Here I will concentrate just on the most essential parts. First one needs an instance of <code class="docutils literal notranslate"><span class="pre">TMusrRunHeader</span></code></p>
|
||||
<div class="highlight-c++ notranslate"><div class="highlight"><pre><span></span><span class="n">TMusrRunHeader</span><span class="w"> </span><span class="o">*</span><span class="n">header</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">TMusrRunHeader</span><span class="p">();</span>
|
||||
<div class="highlight-c++ notranslate"><div class="highlight"><pre><span></span><span class="n">std</span><span class="o">::</span><span class="n">unique_ptr</span><span class="o"><</span><span class="n">TMusrRunHeader</span><span class="o">></span><span class="w"> </span><span class="n">header</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">make_unique</span><span class="o"><</span><span class="n">TMusrRunHeader</span><span class="o">></span><span class="p">();</span>
|
||||
<span class="n">TMusrRunPhysicalQuantity</span><span class="w"> </span><span class="n">prop</span><span class="p">;</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p><code class="docutils literal notranslate"><span class="pre">header</span></code> is the instance of <code class="docutils literal notranslate"><span class="pre">TMusrRunHeader</span></code>. <code class="docutils literal notranslate"><span class="pre">prop</span></code> is an instance of <code class="docutils literal notranslate"><span class="pre">TMusrRunPhysicalQuantity</span></code> which will be needed further down in the description. In the next step some run header entries will be added</p>
|
||||
<p><code class="docutils literal notranslate"><span class="pre">header</span></code> is the instance of <code class="docutils literal notranslate"><span class="pre">TMusrRunHeader</span></code>. Here the concept of a unique pointer (<code class="docutils literal notranslate"><span class="pre">std::unique_ptr</span></code>) has been used to ensure that no memory leaks are present. <code class="docutils literal notranslate"><span class="pre">prop</span></code> is an instance of <code class="docutils literal notranslate"><span class="pre">TMusrRunPhysicalQuantity</span></code> which will be needed further down in the description. In the next step some run header entries will be added</p>
|
||||
<div class="highlight-c++ notranslate"><div class="highlight"><pre><span></span><span class="n">header</span><span class="o">-></span><span class="n">Set</span><span class="p">(</span><span class="s">"RunInfo/File Name"</span><span class="p">,</span><span class="w"> </span><span class="s">"deltat_tdc_gps_2871.root"</span><span class="p">);</span>
|
||||
<span class="n">header</span><span class="o">-></span><span class="n">Set</span><span class="p">(</span><span class="s">"RunInfo/Run Title"</span><span class="p">,</span><span class="w"> </span><span class="s">"here comes the run title"</span><span class="p">);</span>
|
||||
<span class="n">header</span><span class="o">-></span><span class="n">Set</span><span class="p">(</span><span class="s">"RunInfo/Run Number"</span><span class="p">,</span><span class="w"> </span><span class="mi">2871</span><span class="p">);</span>
|
||||
@@ -364,18 +426,52 @@ is derived which is extending the base class to the needs of the instrument.</p>
|
||||
<div class="highlight-c++ notranslate"><div class="highlight"><pre><span></span><span class="n">header</span><span class="o">-></span><span class="n">Set</span><span class="p">(</span><span class="s">"DetectorInfo/Detector001/Time Zero Bin"</span><span class="p">,</span><span class="w"> </span><span class="mf">3419.0</span><span class="p">);</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>To write the whole run header into a file would look something like this:</p>
|
||||
<div class="highlight-c++ notranslate"><div class="highlight"><pre><span></span><span class="n">TFile</span><span class="w"> </span><span class="o">*</span><span class="n">f</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">TFile</span><span class="p">(</span><span class="n">fileName</span><span class="p">,</span><span class="w"> </span><span class="s">"RECREATE"</span><span class="p">,</span><span class="w"> </span><span class="s">"write_musrRoot_runHeader"</span><span class="p">);</span>
|
||||
<p>To write the whole run header into a file would look something like this (<em>deprecated</em> <code class="docutils literal notranslate"><span class="pre">TFolder</span></code> version):</p>
|
||||
<div class="highlight-c++ notranslate"><div class="highlight"><pre><span></span><span class="c1">// create TMusrRunHeader object</span>
|
||||
<span class="n">std</span><span class="o">::</span><span class="n">unique_ptr</span><span class="o"><</span><span class="n">TMusrRunHeader</span><span class="o">></span><span class="w"> </span><span class="n">header</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">make_unique</span><span class="o"><</span><span class="n">TMusrRunHeader</span><span class="o">></span><span class="p">();</span>
|
||||
|
||||
<span class="c1">// set some stuff</span>
|
||||
<span class="n">header</span><span class="o">-></span><span class="n">Set</span><span class="p">(</span><span class="s">"DetectorInfo/Detector001/Time Zero Bin"</span><span class="p">,</span><span class="w"> </span><span class="mf">3419.0</span><span class="p">);</span>
|
||||
<span class="n">header</span><span class="o">-></span><span class="n">Set</span><span class="p">(</span><span class="s">"Something/Somewhere/Strange"</span><span class="p">,</span><span class="w"> </span><span class="s">"Test String"</span><span class="p">);</span>
|
||||
<span class="c1">// add more stuff in the header (not shown)</span>
|
||||
|
||||
<span class="c1">// create TFile object. It is assumed the fileName is given</span>
|
||||
<span class="n">std</span><span class="o">::</span><span class="n">unique_ptr</span><span class="o"><</span><span class="n">TFile</span><span class="o">></span><span class="w"> </span><span class="n">f</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">make_unique</span><span class="o"><</span><span class="n">TFile</span><span class="o">></span><span class="p">(</span><span class="n">fileName</span><span class="p">,</span><span class="w"> </span><span class="s">"RECREATE"</span><span class="p">,</span><span class="w"> </span><span class="s">"write_musrRoot_runHeader"</span><span class="p">);</span>
|
||||
<span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">f</span><span class="o">-></span><span class="n">IsZombie</span><span class="p">())</span><span class="w"> </span><span class="p">{</span>
|
||||
<span class="w"> </span><span class="k">delete</span><span class="w"> </span><span class="n">f</span><span class="p">;</span>
|
||||
<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="mi">-1</span><span class="p">;</span>
|
||||
<span class="p">}</span>
|
||||
|
||||
<span class="c1">// create the needed TFolder object</span>
|
||||
<span class="n">TFolder</span><span class="w"> </span><span class="o">*</span><span class="n">runHeader</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">TFolder</span><span class="p">(</span><span class="s">"RunHeader"</span><span class="p">,</span><span class="w"> </span><span class="s">"MusrRoot Run Header Info"</span><span class="p">);</span>
|
||||
<span class="n">std</span><span class="o">::</span><span class="n">unique_ptr</span><span class="o"><</span><span class="n">TFolder</span><span class="o">></span><span class="w"> </span><span class="n">runHeader</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">make_unique</span><span class="o"><</span><span class="n">TFolder</span><span class="o">></span><span class="p">(</span><span class="s">"RunHeader"</span><span class="p">,</span><span class="w"> </span><span class="s">"MusrRoot Run Header Info"</span><span class="p">);</span>
|
||||
|
||||
<span class="c1">// create the "folder" structure</span>
|
||||
<span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">header</span><span class="o">-></span><span class="n">FillFolder</span><span class="p">(</span><span class="n">runHeader</span><span class="p">))</span><span class="w"> </span><span class="p">{</span>
|
||||
<span class="w"> </span><span class="n">runHeader</span><span class="o">-></span><span class="n">Write</span><span class="p">();</span><span class="w"> </span><span class="c1">// write run header to file</span>
|
||||
<span class="p">}</span>
|
||||
|
||||
<span class="n">f</span><span class="o">-></span><span class="n">Close</span><span class="p">();</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>In the <code class="docutils literal notranslate"><span class="pre">TDirectory</span></code> version it will look like this:</p>
|
||||
<div class="highlight-c++ notranslate"><div class="highlight"><pre><span></span><span class="c1">// create TMusrRunHeader object</span>
|
||||
<span class="n">std</span><span class="o">::</span><span class="n">unique_ptr</span><span class="o"><</span><span class="n">TMusrRunHeader</span><span class="o">></span><span class="w"> </span><span class="n">header</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">make_unique</span><span class="o"><</span><span class="n">TMusrRunHeader</span><span class="o">></span><span class="p">();</span>
|
||||
|
||||
<span class="c1">// set some stuff</span>
|
||||
<span class="n">header</span><span class="o">-></span><span class="n">Set</span><span class="p">(</span><span class="s">"DetectorInfo/Detector001/Time Zero Bin"</span><span class="p">,</span><span class="w"> </span><span class="mf">3419.0</span><span class="p">);</span>
|
||||
<span class="n">header</span><span class="o">-></span><span class="n">Set</span><span class="p">(</span><span class="s">"Something/Somewhere/Strange"</span><span class="p">,</span><span class="w"> </span><span class="s">"Test String"</span><span class="p">);</span>
|
||||
<span class="c1">// add more stuff in the header (not shown)</span>
|
||||
|
||||
<span class="c1">// create TFile object. It is assumed the fileName is given</span>
|
||||
<span class="n">std</span><span class="o">::</span><span class="n">unique_ptr</span><span class="o"><</span><span class="n">TFile</span><span class="o">></span><span class="w"> </span><span class="n">f</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">make_unique</span><span class="o"><</span><span class="n">TFile</span><span class="o">></span><span class="p">(</span><span class="n">fileName</span><span class="p">,</span><span class="w"> </span><span class="s">"RECREATE"</span><span class="p">,</span><span class="w"> </span><span class="s">"write_musrRoot_runHeader"</span><span class="p">);</span>
|
||||
<span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">f</span><span class="o">-></span><span class="n">IsZombie</span><span class="p">())</span><span class="w"> </span><span class="p">{</span>
|
||||
<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="mi">-1</span><span class="p">;</span>
|
||||
<span class="p">}</span>
|
||||
|
||||
<span class="c1">// create the needed TDirectory object</span>
|
||||
<span class="n">TDirectory</span><span class="o">*</span><span class="w"> </span><span class="n">runHeader</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">f</span><span class="o">-></span><span class="n">mkdir</span><span class="p">(</span><span class="s">"RunHeader"</span><span class="p">);</span>
|
||||
|
||||
<span class="c1">// create the "directory" structure</span>
|
||||
<span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">header</span><span class="o">-></span><span class="n">FillFolder</span><span class="p">(</span><span class="n">runHeader</span><span class="p">))</span><span class="w"> </span><span class="p">{</span>
|
||||
<span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">header</span><span class="o">-></span><span class="n">FillDirectory</span><span class="p">(</span><span class="n">runHeader</span><span class="p">))</span><span class="w"> </span><span class="p">{</span>
|
||||
<span class="w"> </span><span class="n">runHeader</span><span class="o">-></span><span class="n">Write</span><span class="p">();</span><span class="w"> </span><span class="c1">// write run header to file</span>
|
||||
<span class="p">}</span>
|
||||
|
||||
@@ -385,41 +481,69 @@ is derived which is extending the base class to the needs of the instrument.</p>
|
||||
</section>
|
||||
<section id="reading-a-musrroot-run-header">
|
||||
<h4>Reading a MusrRoot Run Header<a class="headerlink" href="#reading-a-musrroot-run-header" title="Link to this heading"></a></h4>
|
||||
<p>The following code snippet shows how the extract the full run header from the <code class="docutils literal notranslate"><span class="pre">MusrRoot</span></code> file.</p>
|
||||
<div class="highlight-c++ notranslate"><div class="highlight"><pre><span></span><span class="n">TFile</span><span class="w"> </span><span class="o">*</span><span class="n">f</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">TFile</span><span class="p">(</span><span class="n">fileName</span><span class="p">,</span><span class="w"> </span><span class="s">"READ"</span><span class="p">,</span><span class="w"> </span><span class="s">"read_musrRoot_runHeader"</span><span class="p">);</span>
|
||||
<p>The following code snippet shows how the extract the full run header from the <code class="docutils literal notranslate"><span class="pre">MusrRoot</span></code> file.
|
||||
First in the <em>deprecate</em> <code class="docutils literal notranslate"><span class="pre">TFolder</span></code> version:</p>
|
||||
<div class="highlight-c++ notranslate"><div class="highlight"><pre><span></span><span class="c1">// create TFile. It is assumed that fileName is present</span>
|
||||
<span class="n">std</span><span class="o">::</span><span class="n">unique_ptr</span><span class="o"><</span><span class="n">TFile</span><span class="o">></span><span class="w"> </span><span class="n">f</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">make_unique</span><span class="o"><</span><span class="n">TFile</span><span class="o">></span><span class="p">(</span><span class="n">fileName</span><span class="p">,</span><span class="w"> </span><span class="s">"READ"</span><span class="p">,</span><span class="w"> </span><span class="s">"read_musrRoot_runHeader"</span><span class="p">);</span>
|
||||
<span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">f</span><span class="o">-></span><span class="n">IsZombie</span><span class="p">())</span><span class="w"> </span><span class="p">{</span>
|
||||
<span class="w"> </span><span class="k">delete</span><span class="w"> </span><span class="n">f</span><span class="p">;</span>
|
||||
<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="mi">-1</span><span class="p">;</span>
|
||||
<span class="p">}</span>
|
||||
|
||||
<span class="n">TFolder</span><span class="w"> </span><span class="o">*</span><span class="n">runHeader</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span>
|
||||
<span class="c1">// get the TFolder object from the TFile</span>
|
||||
<span class="n">TFolder</span><span class="w"> </span><span class="o">*</span><span class="n">runHeader</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">nullptr</span><span class="p">;</span>
|
||||
<span class="n">f</span><span class="o">-></span><span class="n">GetObject</span><span class="p">(</span><span class="s">"RunHeader"</span><span class="p">,</span><span class="w"> </span><span class="n">runHeader</span><span class="p">);</span>
|
||||
<span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">runHeader</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
|
||||
<span class="w"> </span><span class="n">cerr</span><span class="w"> </span><span class="o"><<</span><span class="w"> </span><span class="n">endl</span><span class="w"> </span><span class="o"><<</span><span class="w"> </span><span class="s">">> **ERROR** Couldn't get top folder RunHeader"</span><span class="p">;</span>
|
||||
<span class="w"> </span><span class="n">closeFile</span><span class="p">(</span><span class="n">f</span><span class="p">);</span>
|
||||
<span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">runHeader</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="k">nullptr</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
|
||||
<span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">cerr</span><span class="w"> </span><span class="o"><<</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">endl</span><span class="w"> </span><span class="o"><<</span><span class="w"> </span><span class="s">">> **ERROR** Couldn't get top folder RunHeader"</span><span class="p">;</span>
|
||||
<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="mi">-1</span><span class="p">;</span>
|
||||
<span class="p">}</span>
|
||||
|
||||
<span class="n">TMusrRunHeader</span><span class="w"> </span><span class="o">*</span><span class="n">header</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">TMusrRunHeader</span><span class="p">(</span><span class="n">fileName</span><span class="p">);</span>
|
||||
<span class="c1">// create the TMusrRunHeader object</span>
|
||||
<span class="n">std</span><span class="o">::</span><span class="n">unique_ptr</span><span class="o"><</span><span class="n">TMusrRunHeader</span><span class="o">></span><span class="w"> </span><span class="n">header</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">make_unique</span><span class="o"><</span><span class="n">TMusrRunHeader</span><span class="o">></span><span class="p">(</span><span class="n">fileName</span><span class="p">);</span>
|
||||
|
||||
<span class="c1">// fill the internal data structure of the TMusrRunHeader object</span>
|
||||
<span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="n">header</span><span class="o">-></span><span class="n">ExtractAll</span><span class="p">(</span><span class="n">runHeader</span><span class="p">))</span><span class="w"> </span><span class="p">{</span>
|
||||
<span class="w"> </span><span class="n">cerr</span><span class="w"> </span><span class="o"><<</span><span class="w"> </span><span class="n">endl</span><span class="w"> </span><span class="o"><<</span><span class="w"> </span><span class="s">">> **ERROR** couldn't extract all RunHeader information"</span><span class="p">;</span>
|
||||
<span class="w"> </span><span class="n">closeFile</span><span class="p">(</span><span class="n">f</span><span class="p">);</span>
|
||||
<span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">cerr</span><span class="w"> </span><span class="o"><<</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">endl</span><span class="w"> </span><span class="o"><<</span><span class="w"> </span><span class="s">">> **ERROR** couldn't extract all RunHeader information"</span><span class="p">;</span>
|
||||
<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="mi">-1</span><span class="p">;</span>
|
||||
<span class="p">}</span>
|
||||
|
||||
<span class="n">f</span><span class="o">-></span><span class="n">Close</span><span class="p">();</span>
|
||||
<span class="k">delete</span><span class="w"> </span><span class="n">f</span><span class="p">;</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>The routine <code class="docutils literal notranslate"><span class="pre">ExtractAll(TFolder</span> <span class="pre">*runHeader)</span></code> decodes all the <code class="docutils literal notranslate"><span class="pre">TObjString</span></code> objects and fills internal data structures. This means when reading a MusrRoot -file the above handling is always needed. After the <code class="docutils literal notranslate"><span class="pre">ExtractAll</span></code> call, parameters can be extracted via the getter routines available. For instance to read the Run Number, the code would look like</p>
|
||||
<p>The same with the <code class="docutils literal notranslate"><span class="pre">TDirectory</span></code> version:</p>
|
||||
<div class="highlight-c++ notranslate"><div class="highlight"><pre><span></span><span class="c1">// create TFile. It is assumed that fileName is present</span>
|
||||
<span class="n">std</span><span class="o">::</span><span class="n">unique_ptr</span><span class="o"><</span><span class="n">TFile</span><span class="o">></span><span class="w"> </span><span class="n">f</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">make_unique</span><span class="o"><</span><span class="n">TFile</span><span class="o">></span><span class="p">(</span><span class="n">fileName</span><span class="p">,</span><span class="w"> </span><span class="s">"READ"</span><span class="p">,</span><span class="w"> </span><span class="s">"read_musrRoot_runHeader"</span><span class="p">);</span>
|
||||
<span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">f</span><span class="o">-></span><span class="n">IsZombie</span><span class="p">())</span><span class="w"> </span><span class="p">{</span>
|
||||
<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="mi">-1</span><span class="p">;</span>
|
||||
<span class="p">}</span>
|
||||
|
||||
<span class="c1">// get the TDirectory object from the TFile. Note: Here on the top level a TDirectoryFile is needed</span>
|
||||
<span class="n">TDirectoryFile</span><span class="w"> </span><span class="o">*</span><span class="n">runHeader</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">nullptr</span><span class="p">;</span>
|
||||
<span class="n">f</span><span class="o">-></span><span class="n">GetObject</span><span class="p">(</span><span class="s">"RunHeader"</span><span class="p">,</span><span class="w"> </span><span class="n">runHeader</span><span class="p">);</span>
|
||||
<span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">runHeader</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="k">nullptr</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
|
||||
<span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">cerr</span><span class="w"> </span><span class="o"><<</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">endl</span><span class="w"> </span><span class="o"><<</span><span class="w"> </span><span class="s">">> **ERROR** Couldn't get top folder RunHeader"</span><span class="p">;</span>
|
||||
<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="mi">-1</span><span class="p">;</span>
|
||||
<span class="p">}</span>
|
||||
|
||||
<span class="c1">// create the TMusrRunHeader object</span>
|
||||
<span class="n">std</span><span class="o">::</span><span class="n">unique_ptr</span><span class="o"><</span><span class="n">TMusrRunHeader</span><span class="o">></span><span class="w"> </span><span class="n">header</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">make_unique</span><span class="o"><</span><span class="n">TMusrRunHeader</span><span class="o">></span><span class="p">(</span><span class="n">fileName</span><span class="p">);</span>
|
||||
|
||||
<span class="c1">// fill the internal data structure of the TMusrRunHeader object</span>
|
||||
<span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="n">header</span><span class="o">-></span><span class="n">ExtractAll</span><span class="p">(</span><span class="n">runHeader</span><span class="p">))</span><span class="w"> </span><span class="p">{</span>
|
||||
<span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">cerr</span><span class="w"> </span><span class="o"><<</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">endl</span><span class="w"> </span><span class="o"><<</span><span class="w"> </span><span class="s">">> **ERROR** couldn't extract all RunHeader information"</span><span class="p">;</span>
|
||||
<span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="mi">-1</span><span class="p">;</span>
|
||||
<span class="p">}</span>
|
||||
|
||||
<span class="n">f</span><span class="o">-></span><span class="n">Close</span><span class="p">();</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>The overloaded routine <code class="docutils literal notranslate"><span class="pre">ExtractAll(TFolder</span> <span class="pre">*runHeader)</span></code> and <code class="docutils literal notranslate"><span class="pre">ExtractAll(TDirectory</span> <span class="pre">*runHeader)</span></code> decodes all the <code class="docutils literal notranslate"><span class="pre">TObjString</span></code> objects and fills internal data structures. This means when reading a MusrRoot -file the above handling is always needed. After the <code class="docutils literal notranslate"><span class="pre">ExtractAll</span></code> call, parameters can be extracted via the getter routines available. For instance to read the Run Number, the code would look like</p>
|
||||
<div class="highlight-c++ notranslate"><div class="highlight"><pre><span></span><span class="n">Bool_t</span><span class="w"> </span><span class="n">ok</span><span class="p">;</span>
|
||||
<span class="n">Int_t</span><span class="w"> </span><span class="n">ival</span><span class="p">;</span>
|
||||
<span class="n">header</span><span class="o">-></span><span class="n">Get</span><span class="p">(</span><span class="s">"RunInfo/Run Number"</span><span class="p">,</span><span class="w"> </span><span class="n">ival</span><span class="p">,</span><span class="w"> </span><span class="n">ok</span><span class="p">);</span>
|
||||
<span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">ok</span><span class="p">)</span>
|
||||
<span class="w"> </span><span class="n">cout</span><span class="w"> </span><span class="o"><<</span><span class="w"> </span><span class="n">endl</span><span class="w"> </span><span class="o"><<</span><span class="w"> </span><span class="s">"Run Number: "</span><span class="w"> </span><span class="o"><<</span><span class="w"> </span><span class="n">ival</span><span class="p">;</span>
|
||||
<span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">cout</span><span class="w"> </span><span class="o"><<</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">endl</span><span class="w"> </span><span class="o"><<</span><span class="w"> </span><span class="s">"Run Number: "</span><span class="w"> </span><span class="o"><<</span><span class="w"> </span><span class="n">ival</span><span class="p">;</span>
|
||||
<span class="k">else</span>
|
||||
<span class="w"> </span><span class="n">cout</span><span class="w"> </span><span class="o"><<</span><span class="w"> </span><span class="n">endl</span><span class="w"> </span><span class="o"><<</span><span class="w"> </span><span class="s">"**ERROR** Couldn't obtain the 'Run Number'."</span><span class="p">;</span>
|
||||
<span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">cout</span><span class="w"> </span><span class="o"><<</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">endl</span><span class="w"> </span><span class="o"><<</span><span class="w"> </span><span class="s">"**ERROR** Couldn't obtain the 'Run Number'."</span><span class="p">;</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>Reading a <code class="docutils literal notranslate"><span class="pre">TMusrRunPhysicalQuantity</span></code> object, <em>e.g.</em> the sample temperature looks like this</p>
|
||||
@@ -427,11 +551,11 @@ is derived which is extending the base class to the needs of the instrument.</p>
|
||||
|
||||
<span class="n">header</span><span class="o">-></span><span class="n">Get</span><span class="p">(</span><span class="s">"RunInfo/Sample Temperature"</span><span class="p">,</span><span class="w"> </span><span class="n">prop</span><span class="p">,</span><span class="w"> </span><span class="n">ok</span><span class="p">);</span>
|
||||
<span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">ok</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
|
||||
<span class="w"> </span><span class="n">cout</span><span class="w"> </span><span class="o"><<</span><span class="w"> </span><span class="n">endl</span><span class="w"> </span><span class="o"><<</span><span class="w"> </span><span class="s">"Sample Temperature: "</span><span class="w"> </span><span class="o"><<</span><span class="w"> </span><span class="n">prop</span><span class="p">.</span><span class="n">GetValue</span><span class="p">()</span><span class="w"> </span><span class="o"><<</span><span class="w"> </span><span class="s">" +- "</span><span class="p">;</span>
|
||||
<span class="w"> </span><span class="n">cout</span><span class="w"> </span><span class="o"><<</span><span class="w"> </span><span class="n">prop</span><span class="p">.</span><span class="n">GetError</span><span class="p">()</span><span class="w"> </span><span class="o"><<</span><span class="w"> </span><span class="s">" "</span><span class="w"> </span><span class="o"><<</span><span class="w"> </span><span class="n">prop</span><span class="p">.</span><span class="n">GetUnit</span><span class="p">().</span><span class="n">Data</span><span class="p">();</span>
|
||||
<span class="w"> </span><span class="n">cout</span><span class="w"> </span><span class="o"><<</span><span class="w"> </span><span class="s">"; SP: "</span><span class="w"> </span><span class="o"><<</span><span class="w"> </span><span class="n">prop</span><span class="p">.</span><span class="n">GetDemand</span><span class="p">()</span><span class="w"> </span><span class="o"><<</span><span class="w"> </span><span class="s">"; "</span><span class="w"> </span><span class="o"><<</span><span class="w"> </span><span class="n">prop</span><span class="p">.</span><span class="n">GetDescription</span><span class="p">().</span><span class="n">Data</span><span class="p">();</span>
|
||||
<span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">cout</span><span class="w"> </span><span class="o"><<</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">endl</span><span class="w"> </span><span class="o"><<</span><span class="w"> </span><span class="s">"Sample Temperature: "</span><span class="w"> </span><span class="o"><<</span><span class="w"> </span><span class="n">prop</span><span class="p">.</span><span class="n">GetValue</span><span class="p">()</span><span class="w"> </span><span class="o"><<</span><span class="w"> </span><span class="s">" +- "</span><span class="p">;</span>
|
||||
<span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">cout</span><span class="w"> </span><span class="o"><<</span><span class="w"> </span><span class="n">prop</span><span class="p">.</span><span class="n">GetError</span><span class="p">()</span><span class="w"> </span><span class="o"><<</span><span class="w"> </span><span class="s">" "</span><span class="w"> </span><span class="o"><<</span><span class="w"> </span><span class="n">prop</span><span class="p">.</span><span class="n">GetUnit</span><span class="p">().</span><span class="n">Data</span><span class="p">();</span>
|
||||
<span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">cout</span><span class="w"> </span><span class="o"><<</span><span class="w"> </span><span class="s">"; SP: "</span><span class="w"> </span><span class="o"><<</span><span class="w"> </span><span class="n">prop</span><span class="p">.</span><span class="n">GetDemand</span><span class="p">()</span><span class="w"> </span><span class="o"><<</span><span class="w"> </span><span class="s">"; "</span><span class="w"> </span><span class="o"><<</span><span class="w"> </span><span class="n">prop</span><span class="p">.</span><span class="n">GetDescription</span><span class="p">().</span><span class="n">Data</span><span class="p">();</span>
|
||||
<span class="p">}</span><span class="w"> </span><span class="k">else</span><span class="w"> </span><span class="p">{</span>
|
||||
<span class="w"> </span><span class="n">cout</span><span class="w"> </span><span class="o"><<</span><span class="w"> </span><span class="n">endl</span><span class="w"> </span><span class="o"><<</span><span class="w"> </span><span class="s">"**ERROR** Couldn't obtain the 'Sample Temperature'."</span><span class="p">;</span>
|
||||
<span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">cout</span><span class="w"> </span><span class="o"><<</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">endl</span><span class="w"> </span><span class="o"><<</span><span class="w"> </span><span class="s">"**ERROR** Couldn't obtain the 'Sample Temperature'."</span><span class="p">;</span>
|
||||
<span class="p">}</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
@@ -887,8 +1011,8 @@ the entry has been added. The last token, <code class="docutils literal notransl
|
||||
<hr/>
|
||||
|
||||
<div role="contentinfo">
|
||||
<p>© Copyright 2025, Andreas Suter.
|
||||
<span class="lastupdated">Last updated on Jun 07, 2025.
|
||||
<p>© Copyright 2026, Andreas Suter.
|
||||
<span class="lastupdated">Last updated on Feb 21, 2026.
|
||||
</span></p>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -6,14 +6,14 @@
|
||||
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>musredit: the GUI Based Interface to musrfit — musrfit 1.9.9 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<title>musredit: the GUI Based Interface to musrfit — musrfit V1.10.0</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=03e43079" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=7a5cd723" />
|
||||
|
||||
|
||||
<script src="_static/jquery.js?v=5d32c60e"></script>
|
||||
<script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
|
||||
<script src="_static/documentation_options.js?v=4320943d"></script>
|
||||
<script src="_static/documentation_options.js?v=1d24b1d9"></script>
|
||||
<script src="_static/doctools.js?v=9bcbadda"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
<script async="async" src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
|
||||
@@ -569,8 +569,8 @@ the corresponding fit parameter value, except the phases where the step will be
|
||||
<hr/>
|
||||
|
||||
<div role="contentinfo">
|
||||
<p>© Copyright 2025, Andreas Suter.
|
||||
<span class="lastupdated">Last updated on Jun 07, 2025.
|
||||
<p>© Copyright 2026, Andreas Suter.
|
||||
<span class="lastupdated">Last updated on Feb 21, 2026.
|
||||
</span></p>
|
||||
</div>
|
||||
|
||||
|
||||
Binary file not shown.
@@ -5,15 +5,15 @@
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Search — musrfit 1.9.9 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<title>Search — musrfit V1.10.0</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=03e43079" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=7a5cd723" />
|
||||
|
||||
|
||||
|
||||
<script src="_static/jquery.js?v=5d32c60e"></script>
|
||||
<script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
|
||||
<script src="_static/documentation_options.js?v=4320943d"></script>
|
||||
<script src="_static/documentation_options.js?v=1d24b1d9"></script>
|
||||
<script src="_static/doctools.js?v=9bcbadda"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
<script src="_static/js/theme.js"></script>
|
||||
@@ -104,8 +104,8 @@
|
||||
<hr/>
|
||||
|
||||
<div role="contentinfo">
|
||||
<p>© Copyright 2025, Andreas Suter.
|
||||
<span class="lastupdated">Last updated on Jun 09, 2025.
|
||||
<p>© Copyright 2026, Andreas Suter.
|
||||
<span class="lastupdated">Last updated on Feb 21, 2026.
|
||||
</span></p>
|
||||
</div>
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -6,14 +6,14 @@
|
||||
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Setting up musrfit / DKS: High Speed Fitting with GPU’s — musrfit 1.9.9 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<title>Setting up musrfit / DKS: High Speed Fitting with GPU’s — musrfit V1.10.0</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=03e43079" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=7a5cd723" />
|
||||
|
||||
|
||||
<script src="_static/jquery.js?v=5d32c60e"></script>
|
||||
<script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
|
||||
<script src="_static/documentation_options.js?v=4320943d"></script>
|
||||
<script src="_static/documentation_options.js?v=1d24b1d9"></script>
|
||||
<script src="_static/doctools.js?v=9bcbadda"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
<script src="_static/js/theme.js"></script>
|
||||
@@ -319,8 +319,8 @@ The only thing you need <code class="docutils literal notranslate"><span class="
|
||||
<hr/>
|
||||
|
||||
<div role="contentinfo">
|
||||
<p>© Copyright 2025, Andreas Suter.
|
||||
<span class="lastupdated">Last updated on Jun 07, 2025.
|
||||
<p>© Copyright 2026, Andreas Suter.
|
||||
<span class="lastupdated">Last updated on Feb 21, 2026.
|
||||
</span></p>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -6,14 +6,14 @@
|
||||
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Setting up musrfit on Different Platforms — musrfit 1.9.9 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<title>Setting up musrfit on Different Platforms — musrfit V1.10.0</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=03e43079" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=7a5cd723" />
|
||||
|
||||
|
||||
<script src="_static/jquery.js?v=5d32c60e"></script>
|
||||
<script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
|
||||
<script src="_static/documentation_options.js?v=4320943d"></script>
|
||||
<script src="_static/documentation_options.js?v=1d24b1d9"></script>
|
||||
<script src="_static/doctools.js?v=9bcbadda"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
<script src="_static/js/theme.js"></script>
|
||||
@@ -55,8 +55,8 @@
|
||||
<li class="toctree-l2"><a class="reference internal" href="#gnu-linux">GNU/Linux</a><ul>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#requirements">Requirements</a><ul>
|
||||
<li class="toctree-l4"><a class="reference internal" href="#everything-but-root-and-nexus">Everything but ROOT and NeXus</a></li>
|
||||
<li class="toctree-l4"><a class="reference internal" href="#installation-of-nexus-requirements-optional">Installation of NeXus requirements (optional)</a></li>
|
||||
<li class="toctree-l4"><a class="reference internal" href="#index-16">ROOT</a></li>
|
||||
<li class="toctree-l4"><a class="reference internal" href="#usage-of-nexus-requirements-optional">Usage of NeXus requirements (optional)</a></li>
|
||||
<li class="toctree-l4"><a class="reference internal" href="#index-15">ROOT</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#musrfit">musrfit</a><ul>
|
||||
@@ -72,22 +72,22 @@
|
||||
<li class="toctree-l2"><a class="reference internal" href="#ms-windows">MS Windows</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="#mac-os-x-macos">Mac OS X / macOS</a><ul>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#requirements-macports">Requirements (MacPorts)</a><ul>
|
||||
<li class="toctree-l4"><a class="reference internal" href="#index-22">Installation of NeXus requirements (optional)</a></li>
|
||||
<li class="toctree-l4"><a class="reference internal" href="#index-23">ROOT</a></li>
|
||||
<li class="toctree-l4"><a class="reference internal" href="#index-21">Usage of NeXus requirements (optional)</a></li>
|
||||
<li class="toctree-l4"><a class="reference internal" href="#index-22">ROOT</a></li>
|
||||
<li class="toctree-l4"><a class="reference internal" href="#notes-on-macos-catalina-and-newer">Notes on macOS Catalina and newer</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#requirements-homebrew">Requirements (Homebrew)</a><ul>
|
||||
<li class="toctree-l4"><a class="reference internal" href="#index-25">Installation of NeXus requirements (optional)</a></li>
|
||||
<li class="toctree-l4"><a class="reference internal" href="#index-26">ROOT</a></li>
|
||||
<li class="toctree-l4"><a class="reference internal" href="#index-24">Usage of NeXus requirements (optional)</a></li>
|
||||
<li class="toctree-l4"><a class="reference internal" href="#index-25">ROOT</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#index-27">musrfit</a><ul>
|
||||
<li class="toctree-l4"><a class="reference internal" href="#index-28">musrfit build with cmake</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#index-26">musrfit</a><ul>
|
||||
<li class="toctree-l4"><a class="reference internal" href="#musrfit-build-cmake-macos">musrfit build with cmake</a></li>
|
||||
<li class="toctree-l4"><a class="reference internal" href="#id16">musrfit last step of the installation</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#index-29">musredit</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#index-28">musredit</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#musrgui-obsolete">musrgui (obsolete)</a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#id18">Check the installation</a></li>
|
||||
</ul>
|
||||
@@ -166,7 +166,7 @@ their header packages:</p>
|
||||
</dl>
|
||||
<p>Additionally, <em>only</em> if <code class="docutils literal notranslate"><span class="pre">musrfit</span></code> should support reading of data files in the <cite>NeXus</cite> format the following libraries are needed:</p>
|
||||
<dl class="simple" id="index-7">
|
||||
<dt><strong>HDF4</strong></dt><dd><p>A library and multi-object file format for storing and managing data (see <a class="reference external" href="http://www.hdfgroup.org/products/hdf4/">HDF4</a>). <code class="docutils literal notranslate"><span class="pre">HDF4</span></code> is “outdated” and its support will soon be dropped. The single only reason why it is still required is that ISIS is not able to cope to implement HDF5 V2 of the NeXus muon instrument specification which has been agreed in 2012!</p>
|
||||
<dt><strong>HDF4</strong></dt><dd><p>A library and multi-object file format for storing and managing data (see <a class="reference external" href="http://www.hdfgroup.org/products/hdf4/">HDF4</a>). <code class="docutils literal notranslate"><span class="pre">HDF4</span></code> is “outdated” but still in use.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="simple" id="index-8">
|
||||
@@ -174,23 +174,18 @@ their header packages:</p>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="simple" id="index-9">
|
||||
<dt><strong>minixml</strong></dt><dd><p>A small <code class="docutils literal notranslate"><span class="pre">XML</span></code> library that can be used to read and write <code class="docutils literal notranslate"><span class="pre">XML</span></code> and <code class="docutils literal notranslate"><span class="pre">XML</span></code>-like data files. <em>Required version ≥ 2.2</em> (see <a class="reference external" href="http://www.minixml.org/">minixml</a>).
|
||||
Currently the <code class="docutils literal notranslate"><span class="pre">MXML</span></code> support in <code class="docutils literal notranslate"><span class="pre">NeXus</span></code> is broken and hence you will <strong>not</strong> need to install <code class="docutils literal notranslate"><span class="pre">minixml</span></code> for the time being.</p>
|
||||
<dt><strong>NeXus</strong></dt><dd><p>A common data format for neutron, x-ray, and muon science. The NeXus library itself has been dropped by the muon community. Only the agreed ISIS IDF V1/2 documents are relevant.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
<p>If <em>optionally</em> the editor and graphical user interface <code class="docutils literal notranslate"><span class="pre">musredit</span></code> is going to be installed there is one further requirement:</p>
|
||||
<dl class="simple" id="index-10">
|
||||
<dt><strong>NeXus</strong></dt><dd><p>A common data format for neutron, x-ray, and muon science. <em>Required version ≥ 4.4</em> (see <a class="reference external" href="http://www.nexusformat.org/">NeXus</a>).</p>
|
||||
</dd>
|
||||
</dl>
|
||||
<p>If <em>optionally</em> the editor and graphical user interface <code class="docutils literal notranslate"><span class="pre">musrgui</span></code> / <code class="docutils literal notranslate"><span class="pre">musredit</span></code> is going to be installed there is one further requirement:</p>
|
||||
<dl class="simple" id="index-11">
|
||||
<dt><strong>Qt</strong></dt><dd><p>A cross-platform application and user interface framework. <em>Required version ≥ 4.6</em> (musredit) (see <a class="reference external" href="http://qt.io/">Qt</a>). Currently the <strong>Qt5</strong> is still supported since some older distributions are not yet supporting Qt6. <strong>Qt6</strong> is the <em>main</em> development part. Should be available on all new major distributions.</p>
|
||||
<dt><strong>Qt</strong></dt><dd><p>A cross-platform application and user interface framework. <em>Required version ≥ 5.0</em> (musredit) (see <a class="reference external" href="http://qt.io/">Qt</a>). Currently the <strong>Qt5</strong> is still supported since some older distributions are not yet supporting Qt6. <strong>Qt6</strong> is the <em>main</em> development part. Should be available on all new major distributions.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
<p>Each of the following sections focusing on the installation of <code class="docutils literal notranslate"><span class="pre">musrfit</span></code> on the different operating systems will also give a brief introduction on the installation of the requirements before the actual musrfit installation is described.</p>
|
||||
</section>
|
||||
<section id="os-restrictions">
|
||||
<span id="index-12"></span><h2>OS Restrictions<a class="headerlink" href="#os-restrictions" title="Link to this heading"></a></h2>
|
||||
<span id="index-11"></span><h2>OS Restrictions<a class="headerlink" href="#os-restrictions" title="Link to this heading"></a></h2>
|
||||
<p>Before the installation procedure will be described, please note the following restrictions:</p>
|
||||
<dl class="simple">
|
||||
<dt><strong>GNU/Linux</strong></dt><dd><p>No serious problems are currently known. Tested distributions: <a class="reference external" href="https://www.redhat.com/de/technologies/linux-platforms/enterprise-linux">RHEL</a> (also <a class="reference external" href="https://almalinux.org/">Alma</a>, <a class="reference external" href="https://rockylinux.org/">Rocky</a>), <a class="reference external" href="https://getfedora.org/">Fedora</a>,
|
||||
@@ -207,9 +202,9 @@ Currently the <code class="docutils literal notranslate"><span class="pre">MXML<
|
||||
</dl>
|
||||
</section>
|
||||
<section id="gnu-linux">
|
||||
<span id="index-13"></span><span id="id1"></span><h2>GNU/Linux<a class="headerlink" href="#gnu-linux" title="Link to this heading"></a></h2>
|
||||
<span id="index-12"></span><span id="id1"></span><h2>GNU/Linux<a class="headerlink" href="#gnu-linux" title="Link to this heading"></a></h2>
|
||||
<section id="requirements">
|
||||
<span id="gnu-linux-requirements"></span><span id="index-14"></span><h3>Requirements<a class="headerlink" href="#requirements" title="Link to this heading"></a></h3>
|
||||
<span id="gnu-linux-requirements"></span><span id="index-13"></span><h3>Requirements<a class="headerlink" href="#requirements" title="Link to this heading"></a></h3>
|
||||
<section id="everything-but-root-and-nexus">
|
||||
<h4>Everything but ROOT and NeXus<a class="headerlink" href="#everything-but-root-and-nexus" title="Link to this heading"></a></h4>
|
||||
<p>Depending on the GNU/Linux distribution chosen, the above mentioned software – except <code class="docutils literal notranslate"><span class="pre">ROOT/CERN</span></code> and <code class="docutils literal notranslate"><span class="pre">NeXus</span></code> – should be available from
|
||||
@@ -251,14 +246,12 @@ the installation would look like:</p>
|
||||
the source code from the corresponding website, or to clone the git repo. If you need to follow this line, please check the install details of the corresponding package.</p>
|
||||
<p>For any further information on the standard installation of software, please refer to the web search engine of choice and ask for “install software on linux”…</p>
|
||||
</section>
|
||||
<section id="installation-of-nexus-requirements-optional">
|
||||
<span id="index-15"></span><h4>Installation of NeXus requirements (optional)<a class="headerlink" href="#installation-of-nexus-requirements-optional" title="Link to this heading"></a></h4>
|
||||
<section id="usage-of-nexus-requirements-optional">
|
||||
<span id="index-14"></span><h4>Usage of NeXus requirements (optional)<a class="headerlink" href="#usage-of-nexus-requirements-optional" title="Link to this heading"></a></h4>
|
||||
<p><em>Only</em> if <code class="docutils literal notranslate"><span class="pre">musrfit</span></code> should support reading/writing data files in the <code class="docutils literal notranslate"><span class="pre">NeXus</span></code> 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. In principle
|
||||
NeXus should support <code class="docutils literal notranslate"><span class="pre">MXML</span></code>, <code class="docutils literal notranslate"><span class="pre">HDF4</span></code>, and <code class="docutils literal notranslate"><span class="pre">HDF5</span></code>. At the time of this writing, the <code class="docutils literal notranslate"><span class="pre">MXML</span></code> support in the
|
||||
NeXus project is broken, and <code class="docutils literal notranslate"><span class="pre">HDF4</span></code> is outdated on most platforms, yet since ISIS/RAL is still <strong>not</strong> up-to-date <code class="docutils literal notranslate"><span class="pre">HDF4</span></code> still
|
||||
needs to be dragged on (comment: if you are a ISIS user, please complain about <code class="docutils literal notranslate"><span class="pre">HDF4</span></code>). Hence, the necessary packages to build <code class="docutils literal notranslate"><span class="pre">NeXus</span></code> are <code class="docutils literal notranslate"><span class="pre">HDF4</span></code> and <code class="docutils literal notranslate"><span class="pre">HDF5</span></code>. This means, for a rpm-package based distro try something like:</p>
|
||||
GNU/Linux distribution or if this is not the case, the packages can be installed from the source code. The necessary packages
|
||||
to build <code class="docutils literal notranslate"><span class="pre">NeXus</span></code>-support for <code class="docutils literal notranslate"><span class="pre">musrfit</span></code> are <code class="docutils literal notranslate"><span class="pre">HDF4</span></code> and <code class="docutils literal notranslate"><span class="pre">HDF5</span></code>. This means, for a rpm-package based distro try something like:</p>
|
||||
<blockquote>
|
||||
<div><div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>$<span class="w"> </span>yum<span class="w"> </span>install<span class="w"> </span>hdf-devel<span class="w"> </span>hdf5-devel
|
||||
</pre></div>
|
||||
@@ -270,28 +263,10 @@ needs to be dragged on (comment: if you are a ISIS user, please complain about <
|
||||
</pre></div>
|
||||
</div>
|
||||
</div></blockquote>
|
||||
<p><strong>Only NeXus Version ≥ 4.4 is support!</strong></p>
|
||||
<p>Even though there might exist binary packages for the <code class="docutils literal notranslate"><span class="pre">NeXus</span></code> library, it is best to build and
|
||||
install it directly from the source code which can be found <a class="reference external" href="https://github.com/nexusformat/code">here</a>.</p>
|
||||
<p>A brief instruction how to get <code class="docutils literal notranslate"><span class="pre">NeXus</span></code> compiled from source (lines starting with ‘#’ are comments <em>only</em>):</p>
|
||||
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>$<span class="w"> </span><span class="nb">cd</span><span class="w"> </span>Downloads
|
||||
$<span class="w"> </span><span class="c1"># create a directory for the NeXus source code</span>
|
||||
$<span class="w"> </span>mkdir<span class="w"> </span>nexus
|
||||
$<span class="w"> </span><span class="nb">cd</span><span class="w"> </span>nexus
|
||||
$<span class="w"> </span><span class="c1"># get the source code from the master repository</span>
|
||||
$<span class="w"> </span>git<span class="w"> </span>clone<span class="w"> </span>https://github.com/nexusformat/code.git
|
||||
$<span class="w"> </span><span class="c1"># next we will build NeXus out-of-source</span>
|
||||
$<span class="w"> </span>mkdir<span class="w"> </span>build
|
||||
$<span class="w"> </span><span class="nb">cd</span><span class="w"> </span>build
|
||||
$<span class="w"> </span>cmake<span class="w"> </span>-DENABLE_HDF5<span class="o">=</span><span class="m">1</span><span class="w"> </span>-DENABLE_HDF4<span class="o">=</span><span class="m">1</span><span class="w"> </span>-DENABLE_MXML<span class="o">=</span><span class="m">0</span><span class="w"> </span>../code
|
||||
$<span class="w"> </span>cmake<span class="w"> </span>--build<span class="w"> </span>./<span class="w"> </span>--clean-first
|
||||
$<span class="w"> </span><span class="c1"># install needs either to be carried out as root or sudo depending on your linux flavour.</span>
|
||||
$<span class="w"> </span>sudo<span class="w"> </span>cmake<span class="w"> </span>--install<span class="w"> </span>./
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>How <code class="docutils literal notranslate"><span class="pre">NeXus</span></code>-support is enabled in <code class="docutils literal notranslate"><span class="pre">musrfit</span></code> is described in the <code class="docutils literal notranslate"><span class="pre">musrfit</span></code> setup sections below: <a class="reference internal" href="#musrfit-build-cmake-linux"><span class="std std-ref">musrfit build with cmake</span></a>.</p>
|
||||
</section>
|
||||
<section id="index-16">
|
||||
<span id="id4"></span><h4>ROOT<a class="headerlink" href="#index-16" title="Link to this heading"></a></h4>
|
||||
<section id="index-15">
|
||||
<span id="id4"></span><h4>ROOT<a class="headerlink" href="#index-15" title="Link to this heading"></a></h4>
|
||||
<p>The ROOT framework may or may not be part of the GNU/Linux distribution. Some distributions are packing ROOT in a
|
||||
manner incompatible with the way it is needed by <code class="docutils literal notranslate"><span class="pre">musrfit</span></code>, though the situation is improving. If you are
|
||||
experienced enough you can try the packed ROOT version. Often ROOT is split in many sub-packages. Install the
|
||||
@@ -364,7 +339,7 @@ $<span class="w"> </span>cmake<span class="w"> </span>--build<span class="w"> </
|
||||
</section>
|
||||
</section>
|
||||
<section id="musrfit">
|
||||
<span id="index-17"></span><h3>musrfit<a class="headerlink" href="#musrfit" title="Link to this heading"></a></h3>
|
||||
<span id="index-16"></span><h3>musrfit<a class="headerlink" href="#musrfit" title="Link to this heading"></a></h3>
|
||||
<p>When all required software has been set up you can proceed with the <code class="docutils literal notranslate"><span class="pre">musrfit</span></code> installatio. First, the most
|
||||
recent source code should be downloaded. The preferred way of doing so is to clone the <code class="docutils literal notranslate"><span class="pre">musrfit</span></code> repository via git.
|
||||
Assuming the code should be located in <code class="docutils literal notranslate"><span class="pre">$HOME/Apps</span></code> this is achieved most easily calling from the terminal</p>
|
||||
@@ -390,20 +365,24 @@ will needed to switch branches first.</p>
|
||||
$<span class="w"> </span>git<span class="w"> </span>pull
|
||||
$<span class="w"> </span><span class="nb">cd</span><span class="w"> </span>build
|
||||
$<span class="w"> </span>xargs<span class="w"> </span>rm<span class="w"> </span><<span class="w"> </span>install_manifest.txt
|
||||
$<span class="w"> </span>cmake<span class="w"> </span>../
|
||||
$<span class="w"> </span>cmake<span class="w"> </span>--build<span class="w"> </span>./<span class="w"> </span>--clean-first
|
||||
$<span class="w"> </span>cmake<span class="w"> </span>--install<span class="w"> </span>./
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>As an alternative (if git is not available), the source code can also be downloaded from the following web-page: <a class="reference external" href="https://bitbucket.org/muonspin/musrfit/downloads">musrfit at bitbucket</a></p>
|
||||
<section id="musrfit-build-with-cmake">
|
||||
<span id="index-18"></span><h4>musrfit build with cmake<a class="headerlink" href="#musrfit-build-with-cmake" title="Link to this heading"></a></h4>
|
||||
<span id="musrfit-build-cmake-linux"></span><span id="index-17"></span><h4>musrfit build with cmake<a class="headerlink" href="#musrfit-build-with-cmake" title="Link to this heading"></a></h4>
|
||||
<p>Currently the following configuration switches for <code class="docutils literal notranslate"><span class="pre">musrfit</span></code> are available:</p>
|
||||
<dl class="simple">
|
||||
<dt><strong>-DCMAKE_INSTALL_PREFIX=<prefix-path></strong></dt><dd><p>Specify the installation prefix, <em>i.e.</em> the place where <code class="docutils literal notranslate"><span class="pre">musrfit</span></code> shall be installed, <em>e.g.</em> <code class="docutils literal notranslate"><span class="pre">$ROOTSYS</span></code> if already defined (by default: <code class="docutils literal notranslate"><span class="pre">/usr/local</span></code>).</p>
|
||||
</dd>
|
||||
<dt><strong>-Dnexus=<value></strong></dt><dd><p>enable/disable the support of <code class="docutils literal notranslate"><span class="pre">NeXus</span></code> data files (requires the <code class="docutils literal notranslate"><span class="pre">HDF4</span></code>, <code class="docutils literal notranslate"><span class="pre">HDF5</span></code> and <code class="docutils literal notranslate"><span class="pre">NeXus</span></code> libraries to be installed).
|
||||
<dt><strong>-Dnexus=<value></strong></dt><dd><p>enable/disable the support of <code class="docutils literal notranslate"><span class="pre">NeXus</span></code> data files (requires at least the <code class="docutils literal notranslate"><span class="pre">HDF5</span></code> library to be installed).
|
||||
<value>=1 enables <code class="docutils literal notranslate"><span class="pre">NeXus</span></code>, <value>=0 disables <code class="docutils literal notranslate"><span class="pre">NeXus</span></code>. The default setting, <em>i.e.</em> the switch is not provided is <code class="docutils literal notranslate"><span class="pre">NeXus</span></code> support is disabled.</p>
|
||||
</dd>
|
||||
<dt><strong>-DHAVE_HDF4=<value></strong></dt><dd><p>tell musrfit, whether <code class="docutils literal notranslate"><span class="pre">NeXus</span></code>-support should include <code class="docutils literal notranslate"><span class="pre">HDF4</span></code> as well. <value>=1 notifies the presence of <code class="docutils literal notranslate"><span class="pre">HDF4</span></code>. This option is obviously
|
||||
only relevant if <code class="docutils literal notranslate"><span class="pre">NeXus</span></code> is enabled as well.</p>
|
||||
</dd>
|
||||
<dt><strong>-DASlibs=<value></strong></dt><dd><p>enable/disable the <code class="docutils literal notranslate"><span class="pre">ASlibs</span></code>. <value>=1 enables the <code class="docutils literal notranslate"><span class="pre">ASlibs</span></code>, <value>=0 disables the <code class="docutils literal notranslate"><span class="pre">ASlibs</span></code>. The default setting, <em>i.e.</em> the
|
||||
switch is not provided is <code class="docutils literal notranslate"><span class="pre">ASlibs</span></code> support is disabled. For details see Documentation of <a class="reference internal" href="user-libs.html#user-libs"><span class="std std-ref">user libs</span></a>.</p>
|
||||
</dd>
|
||||
@@ -424,11 +403,11 @@ If the value is set to <code class="docutils literal notranslate"><span class="p
|
||||
</dl>
|
||||
<p>Normally it should not be necessary to make use of any of the options except for specifying the installation path with <code class="docutils literal notranslate"><span class="pre">-DCMAKE_INSTALL_PREFIX</span></code>.
|
||||
<code class="docutils literal notranslate"><span class="pre">musrfit</span></code> build with <code class="docutils literal notranslate"><span class="pre">cmake</span></code> takes the <code class="docutils literal notranslate"><span class="pre">out-of-source</span></code> approach. Therefore a typical configuration / make / install process including
|
||||
<code class="docutils literal notranslate"><span class="pre">NeXus</span></code> support would look like</p>
|
||||
<code class="docutils literal notranslate"><span class="pre">NeXus</span></code> support (including <code class="docutils literal notranslate"><span class="pre">HDF4</span></code>) would look like</p>
|
||||
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>$<span class="w"> </span><span class="nb">cd</span><span class="w"> </span><span class="nv">$HOME</span>/Apps/musrfit
|
||||
$<span class="w"> </span>mkdir<span class="w"> </span>build
|
||||
$<span class="w"> </span><span class="nb">cd</span><span class="w"> </span>build
|
||||
$<span class="w"> </span>cmake<span class="w"> </span>../<span class="w"> </span>-DCMAKE_INSTALL_PREFIX<span class="o">=</span><span class="nv">$ROOTSYS</span><span class="w"> </span>-Dnexus<span class="o">=</span><span class="m">1</span>
|
||||
$<span class="w"> </span>cmake<span class="w"> </span>../<span class="w"> </span>-DCMAKE_INSTALL_PREFIX<span class="o">=</span><span class="nv">$ROOTSYS</span><span class="w"> </span>-Dnexus<span class="o">=</span><span class="m">1</span><span class="w"> </span>-DHAVE_HDF4<span class="o">=</span><span class="m">1</span>
|
||||
<span class="c1"># below it is assumed that multiple cores are present, hence the -j8 option</span>
|
||||
$<span class="w"> </span>cmake<span class="w"> </span>--build<span class="w"> </span>./<span class="w"> </span>--clean-first<span class="w"> </span>--<span class="w"> </span>-j8
|
||||
$<span class="w"> </span>cmake<span class="w"> </span>--install<span class="w"> </span>./
|
||||
@@ -437,7 +416,7 @@ $<span class="w"> </span>/sbin/ldconfig<span class="w">
|
||||
</div>
|
||||
</section>
|
||||
<section id="musrfit-last-step-of-the-installation">
|
||||
<span id="index-19"></span><h4>musrfit last step of the installation<a class="headerlink" href="#musrfit-last-step-of-the-installation" title="Link to this heading"></a></h4>
|
||||
<span id="index-18"></span><h4>musrfit last step of the installation<a class="headerlink" href="#musrfit-last-step-of-the-installation" title="Link to this heading"></a></h4>
|
||||
<p>In order to finish the installation of musrfit two more things should be done:</p>
|
||||
<blockquote>
|
||||
<div><ul>
|
||||
@@ -455,7 +434,7 @@ detailed information on this XML file refer to the <a class="reference internal"
|
||||
</section>
|
||||
</section>
|
||||
<section id="musredit">
|
||||
<span id="index-20"></span><h3>musredit<a class="headerlink" href="#musredit" title="Link to this heading"></a></h3>
|
||||
<span id="index-19"></span><h3>musredit<a class="headerlink" href="#musredit" title="Link to this heading"></a></h3>
|
||||
<p>In the latest version of <code class="docutils literal notranslate"><span class="pre">musrfit</span></code> the configure script tries to determine automatically the highest available <code class="docutils literal notranslate"><span class="pre">Qt</span></code> version.
|
||||
In case this is found, the editor <code class="docutils literal notranslate"><span class="pre">musredit</span></code> is built already together with <code class="docutils literal notranslate"><span class="pre">musrfit</span></code>.</p>
|
||||
</section>
|
||||
@@ -504,9 +483,9 @@ directories like <code class="docutils literal notranslate"><span class="pre">..
|
||||
<h2>Mac OS X / macOS<a class="headerlink" href="#mac-os-x-macos" title="Link to this heading"></a></h2>
|
||||
<div class="admonition note">
|
||||
<p class="admonition-title">Note</p>
|
||||
<p>macOS 15 alias <strong>Sequoia</strong>: <code class="docutils literal notranslate"><span class="pre">musrfit</span></code> is ready for <strong>Sequoia</strong> on Intel <strong>and</strong> Apple Silicon based macs, both running natively.
|
||||
The <code class="docutils literal notranslate"><span class="pre">DKS</span></code> version of <code class="docutils literal notranslate"><span class="pre">musrfit</span></code> for macOS <strong>Sequoia</strong> is ready as well.
|
||||
This is true for the <em>Homebrew</em>, <em>MacPorts</em> still has some issues (as of 23.09.24). Typically this should be fixed in a month.</p>
|
||||
<p>macOS 26 alias <strong>Tahoe</strong>: <code class="docutils literal notranslate"><span class="pre">musrfit</span></code> is ready for <strong>Tahoe</strong> on Intel <strong>and</strong> Apple Silicon based macs, both running natively.
|
||||
The <code class="docutils literal notranslate"><span class="pre">DKS</span></code> version of <code class="docutils literal notranslate"><span class="pre">musrfit</span></code> for macOS <strong>Tahoe</strong> is ready as well.
|
||||
This is true for the <em>Homebrew</em> (tested on Apple Silicon and <em>MacPorts</em> on Intel).</p>
|
||||
</div>
|
||||
<div class="admonition note">
|
||||
<p class="admonition-title">Note</p>
|
||||
@@ -525,7 +504,7 @@ unistall <code class="docutils literal notranslate"><span class="pre">musrfit</s
|
||||
installation of <a class="reference external" href="https://www.macports.org/">MacPorts</a> / <a class="reference external" href="https://brew.sh/">Homebrew</a> , <code class="docutils literal notranslate"><span class="pre">ROOT</span></code>, and <code class="docutils literal notranslate"><span class="pre">musrfit</span></code> from scratch!</p>
|
||||
</div>
|
||||
<section id="requirements-macports">
|
||||
<span id="index-21"></span><h3>Requirements (MacPorts)<a class="headerlink" href="#requirements-macports" title="Link to this heading"></a></h3>
|
||||
<span id="index-20"></span><h3>Requirements (MacPorts)<a class="headerlink" href="#requirements-macports" title="Link to this heading"></a></h3>
|
||||
<p>Before proceeding with the usage of the <code class="docutils literal notranslate"><span class="pre">MacPorts</span></code> system first a few useful tools provided by Apple together
|
||||
with OS X (on the installation DVD/CDs) should be installed:</p>
|
||||
<blockquote>
|
||||
@@ -581,34 +560,16 @@ add a new line pointing to your local copy, <em>e.g.</em></p>
|
||||
</div>
|
||||
<p>With <code class="docutils literal notranslate"><span class="pre">Qt6</span></code>, <code class="docutils literal notranslate"><span class="pre">musredit</span></code> will be installed. If it happens that you used <code class="docutils literal notranslate"><span class="pre">musrgui</span></code> in the past,
|
||||
please change over to <code class="docutils literal notranslate"><span class="pre">musredit</span></code> since there will be no further development for <code class="docutils literal notranslate"><span class="pre">musrgui</span></code> anymore!</p>
|
||||
<section id="index-22">
|
||||
<span id="id6"></span><h4>Installation of NeXus requirements (optional)<a class="headerlink" href="#index-22" title="Link to this heading"></a></h4>
|
||||
<section id="index-21">
|
||||
<span id="id6"></span><h4>Usage of NeXus requirements (optional)<a class="headerlink" href="#index-21" title="Link to this heading"></a></h4>
|
||||
<p><em>Only</em> if <code class="docutils literal notranslate"><span class="pre">musrfit</span></code> should support reading data files in the <code class="docutils literal notranslate"><span class="pre">NeXus</span></code> format the further required packages are set up:</p>
|
||||
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>$<span class="w"> </span>sudo<span class="w"> </span>port<span class="w"> </span>-v<span class="w"> </span>install<span class="w"> </span>hdf4<span class="w"> </span>hdf5
|
||||
</pre></div>
|
||||
</div>
|
||||
<p><em>hdf4</em> is likely not available anymore.</p>
|
||||
<p><strong>Only NeXus Version ≥ 4.4 is support!</strong></p>
|
||||
<p>To get things compiled do:</p>
|
||||
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>$<span class="w"> </span><span class="c1"># get and install NeXus</span>
|
||||
$<span class="w"> </span><span class="nb">cd</span><span class="w"> </span><span class="nv">$HOME</span>/Applications
|
||||
$<span class="w"> </span><span class="c1"># get the source code from the master repository</span>
|
||||
$<span class="w"> </span>git<span class="w"> </span>clone<span class="w"> </span>https://github.com/nexusformat/code.git<span class="w"> </span>nexus/code
|
||||
$<span class="w"> </span><span class="c1"># next we will build NeXus out-of-source</span>
|
||||
$<span class="w"> </span><span class="nb">cd</span><span class="w"> </span>nexus
|
||||
$<span class="w"> </span>mkdir<span class="w"> </span>build
|
||||
$<span class="w"> </span><span class="nb">cd</span><span class="w"> </span>build
|
||||
$<span class="w"> </span><span class="c1"># in case hdf4 is present</span>
|
||||
$<span class="w"> </span>cmake<span class="w"> </span>-DENABLE_HDF5<span class="o">=</span><span class="m">1</span><span class="w"> </span>-DENABLE_HDF4<span class="o">=</span><span class="m">1</span><span class="w"> </span>-DENABLE_MXML<span class="o">=</span><span class="m">0</span><span class="w"> </span>../code
|
||||
$<span class="w"> </span><span class="c1"># in case hdf4 is **not** present</span>
|
||||
$<span class="w"> </span>cmake<span class="w"> </span>-DENABLE_HDF5<span class="o">=</span><span class="m">1</span><span class="w"> </span>-DENABLE_HDF4<span class="o">=</span><span class="m">0</span><span class="w"> </span>-DENABLE_MXML<span class="o">=</span><span class="m">0</span><span class="w"> </span>../code
|
||||
$<span class="w"> </span>cmake<span class="w"> </span>--build<span class="w"> </span>./
|
||||
$<span class="w"> </span>sudo<span class="w"> </span>cmake<span class="w"> </span>--install<span class="w"> </span>./
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>How <code class="docutils literal notranslate"><span class="pre">NeXus</span></code>-support is enabled in <code class="docutils literal notranslate"><span class="pre">musrfit</span></code> is described in the <code class="docutils literal notranslate"><span class="pre">musrfit</span></code> setup sections below: <a class="reference internal" href="#musrfit-build-cmake-macos"><span class="std std-ref">musrfit build with cmake</span></a>.</p>
|
||||
</section>
|
||||
<section id="index-23">
|
||||
<span id="id7"></span><h4>ROOT<a class="headerlink" href="#index-23" title="Link to this heading"></a></h4>
|
||||
<section id="index-22">
|
||||
<span id="id7"></span><h4>ROOT<a class="headerlink" href="#index-22" title="Link to this heading"></a></h4>
|
||||
<p><strong>The default ROOT version is based on ROOT 6.xx/yy!</strong></p>
|
||||
<section id="root-installed-via-package-installer">
|
||||
<h5>ROOT installed via package installer<a class="headerlink" href="#root-installed-via-package-installer" title="Link to this heading"></a></h5>
|
||||
@@ -625,8 +586,8 @@ $<span class="w"> </span>sudo<span class="w"> </span>ln<span class="w"> </span>-
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="root-installed-from-source">
|
||||
<h5>ROOT installed from source<a class="headerlink" href="#root-installed-from-source" title="Link to this heading"></a></h5>
|
||||
<section id="root-installed-from-source-recommended">
|
||||
<h5>ROOT installed from source (<em>recommended</em>)<a class="headerlink" href="#root-installed-from-source-recommended" title="Link to this heading"></a></h5>
|
||||
<p>The best way to get <code class="docutils literal notranslate"><span class="pre">ROOT</span></code> exactly the way needed for <code class="docutils literal notranslate"><span class="pre">musrfit</span></code> is to install it from source.
|
||||
Before describing it, please make sure that you have installed all required packages listed under
|
||||
<a class="reference internal" href="#supported-operating-systems"><span class="std std-ref">Requested Software</span></a> (<em>e.g.</em> <code class="docutils literal notranslate"><span class="pre">fftw</span></code>, <code class="docutils literal notranslate"><span class="pre">gsl</span></code>, etc).</p>
|
||||
@@ -719,7 +680,7 @@ but no proper fix is available. The workaround to get it right is to install the
|
||||
</section>
|
||||
</section>
|
||||
<section id="requirements-homebrew">
|
||||
<span id="index-24"></span><h3>Requirements (Homebrew)<a class="headerlink" href="#requirements-homebrew" title="Link to this heading"></a></h3>
|
||||
<span id="index-23"></span><h3>Requirements (Homebrew)<a class="headerlink" href="#requirements-homebrew" title="Link to this heading"></a></h3>
|
||||
<p>Before proceeding with the usage of <a class="reference external" href="https://brew.sh/">Homebrew</a>, first a few useful tools provided by Apple together with OS X (on the installation DVD/CDs) should be installed:</p>
|
||||
<dl>
|
||||
<dt><strong>Xcode</strong></dt><dd><p>Useful developer tools including for instance the GNU compiler collection. It can be installed via the Apple App store.
|
||||
@@ -745,31 +706,23 @@ For example to install <code class="docutils literal notranslate"><span class="p
|
||||
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>$<span class="w"> </span>brew<span class="w"> </span>install<span class="w"> </span>cmake
|
||||
</pre></div>
|
||||
</div>
|
||||
<section id="index-25">
|
||||
<span id="id9"></span><h4>Installation of NeXus requirements (optional)<a class="headerlink" href="#index-25" title="Link to this heading"></a></h4>
|
||||
<section id="index-24">
|
||||
<span id="id9"></span><h4>Usage of NeXus requirements (optional)<a class="headerlink" href="#index-24" title="Link to this heading"></a></h4>
|
||||
<p><em>Only</em> if <code class="docutils literal notranslate"><span class="pre">musrfit</span></code> should support reading data files in the <code class="docutils literal notranslate"><span class="pre">NeXus</span></code> format the further required
|
||||
packages can be installed through Homebrew (Note: <code class="docutils literal notranslate"><span class="pre">hdf4</span></code> is not supported anymore):</p>
|
||||
packages can be installed through Homebrew (Note: <code class="docutils literal notranslate"><span class="pre">hdf4</span></code> is not supported anymore, but you can install it from source):</p>
|
||||
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>$<span class="w"> </span>brew<span class="w"> </span>install<span class="w"> </span>hdf5
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>Unfortunately, the <code class="docutils literal notranslate"><span class="pre">NeXus</span></code> libraries have to be compiled and installed directly from
|
||||
the source code. Given the respective version number 4.4 (which are subject to change with time)
|
||||
this can be achieved for example by:</p>
|
||||
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>$<span class="w"> </span><span class="c1"># build NeXus</span>
|
||||
$<span class="w"> </span><span class="nb">cd</span><span class="w"> </span>..
|
||||
$<span class="w"> </span>git<span class="w"> </span>clone<span class="w"> </span>https://github.com/nexusformat/code.git<span class="w"> </span>nexus/code
|
||||
$<span class="w"> </span><span class="nb">cd</span><span class="w"> </span>nexus
|
||||
$<span class="w"> </span><span class="c1"># build NeXus out-of-source</span>
|
||||
$<span class="w"> </span>mkdir<span class="w"> </span>build
|
||||
$<span class="w"> </span><span class="nb">cd</span><span class="w"> </span>build
|
||||
$<span class="w"> </span>cmake<span class="w"> </span>../code<span class="w"> </span>-DENABLE_HDF5<span class="o">=</span><span class="m">1</span><span class="w"> </span>-DENABLE_HDF4<span class="o">=</span><span class="m">0</span><span class="w"> </span>-DENABLE_MXML<span class="o">=</span><span class="m">0</span>
|
||||
$<span class="w"> </span>cmake<span class="w"> </span>--build<span class="w"> </span>./<span class="w"> </span>--clean-first<span class="w"> </span>--<span class="w"> </span>-j8
|
||||
$<span class="w"> </span>sudo<span class="w"> </span>cmake<span class="w"> </span>--install<span class="w"> </span>./
|
||||
<p><code class="docutils literal notranslate"><span class="pre">HDF4</span></code> install from source code (do it only when you need it):</p>
|
||||
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>$<span class="w"> </span><span class="nb">cd</span><span class="w"> </span>~/Applications
|
||||
$<span class="w"> </span>git<span class="w"> </span>clone<span class="w"> </span>https://github.com/HDFGroup/hdf4.git
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>Follow the build instructions which can be found under <code class="docutils literal notranslate"><span class="pre">hdf4/release_docs/USING_HDF4_CMake.txt</span></code>.</p>
|
||||
<p>How <code class="docutils literal notranslate"><span class="pre">NeXus</span></code>-support is enabled in <code class="docutils literal notranslate"><span class="pre">musrfit</span></code> is described in the <code class="docutils literal notranslate"><span class="pre">musrfit</span></code> setup sections below: <a class="reference internal" href="#musrfit-build-cmake-macos"><span class="std std-ref">musrfit build with cmake</span></a>.</p>
|
||||
</section>
|
||||
<section id="index-26">
|
||||
<span id="id10"></span><h4>ROOT<a class="headerlink" href="#index-26" title="Link to this heading"></a></h4>
|
||||
<section id="index-25">
|
||||
<span id="id10"></span><h4>ROOT<a class="headerlink" href="#index-25" title="Link to this heading"></a></h4>
|
||||
<p><strong>The default ROOT version is based on ROOT 6.xx/yy!</strong></p>
|
||||
<section id="root-installed-via-homebrew">
|
||||
<h5>ROOT installed via Homebrew<a class="headerlink" href="#root-installed-via-homebrew" title="Link to this heading"></a></h5>
|
||||
@@ -777,7 +730,7 @@ $<span class="w"> </span>sudo<span class="w"> </span>cmake<span class="w"> </spa
|
||||
and can go straight the the <code class="docutils literal notranslate"><span class="pre">musrfit</span></code> setup below.</p>
|
||||
</section>
|
||||
<section id="id11">
|
||||
<h5>ROOT installed from source<a class="headerlink" href="#id11" title="Link to this heading"></a></h5>
|
||||
<h5>ROOT installed from source (<em>recommended</em>)<a class="headerlink" href="#id11" title="Link to this heading"></a></h5>
|
||||
<p>The best way to get <code class="docutils literal notranslate"><span class="pre">ROOT</span></code> exactly the way needed for <code class="docutils literal notranslate"><span class="pre">musrfit</span></code> is to install it from source.
|
||||
Before describing it, please make sure that you have installed all required packages listed under
|
||||
<a class="reference internal" href="#supported-operating-systems"><span class="std std-ref">Requested Software</span></a> (<em>e.g.</em> <code class="docutils literal notranslate"><span class="pre">fftw</span></code>, <code class="docutils literal notranslate"><span class="pre">gsl</span></code>, etc).</p>
|
||||
@@ -839,11 +792,6 @@ into the file <code class="docutils literal notranslate"><span class="pre">~/.Ma
|
||||
<span class="nb">export</span><span class="w"> </span><span class="nv">MUSRFITPATH</span><span class="o">=</span><span class="nv">$ROOTSYS</span>/bin
|
||||
<span class="nb">export</span><span class="w"> </span><span class="nv">PATH</span><span class="o">=</span><span class="nv">$ROOTSYS</span>/bin:<span class="nv">$QTDIR</span>/bin:<span class="nv">$PATH</span>
|
||||
<span class="nb">export</span><span class="w"> </span><span class="nv">DYLD_LIBRARY_PATH</span><span class="o">=</span><span class="nv">$ROOTSYS</span>/lib/root:/usr/local/lib:<span class="nv">$DYLD_LIBRARY_PATH</span>
|
||||
|
||||
launchctl<span class="w"> </span>setenv<span class="w"> </span>ROOTSYS<span class="w"> </span><span class="nv">$ROOTSYS</span>
|
||||
launchctl<span class="w"> </span>setenv<span class="w"> </span>MUSRFITPATH<span class="w"> </span><span class="nv">$MUSRFITPATH</span>
|
||||
launchctl<span class="w"> </span>setenv<span class="w"> </span>PATH<span class="w"> </span><span class="nv">$PATH</span>
|
||||
launchctl<span class="w"> </span>setenv<span class="w"> </span>DYLD_LIBRARY_PATH<span class="w"> </span><span class="nv">$DYLD_LIBRARY_PATH</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>If <code class="docutils literal notranslate"><span class="pre">ROOT</span></code> has been installed via source/compilation:</p>
|
||||
@@ -851,22 +799,55 @@ launchctl<span class="w"> </span>setenv<span class="w"> </span>DYLD_LIBRARY_PATH
|
||||
<span class="nb">export</span><span class="w"> </span><span class="nv">MUSRFITPATH</span><span class="o">=</span><span class="nv">$ROOTSYS</span>/bin
|
||||
<span class="nb">export</span><span class="w"> </span><span class="nv">PATH</span><span class="o">=</span><span class="nv">$ROOTSYS</span>/bin:<span class="nv">$QTDIR</span>/bin:<span class="nv">$PATH</span>
|
||||
<span class="nb">export</span><span class="w"> </span><span class="nv">LD_LIBRARY_PATH</span><span class="o">=</span><span class="nv">$ROOTSYS</span>/lib:/usr/local/lib:<span class="nv">$LD_LIBRARY_PATH</span>
|
||||
|
||||
launchctl<span class="w"> </span>setenv<span class="w"> </span>ROOTSYS<span class="w"> </span><span class="nv">$ROOTSYS</span>
|
||||
launchctl<span class="w"> </span>setenv<span class="w"> </span>MUSRFITPATH<span class="w"> </span><span class="nv">$MUSRFITPATH</span>
|
||||
launchctl<span class="w"> </span>setenv<span class="w"> </span>PATH<span class="w"> </span><span class="nv">$PATH</span>
|
||||
launchctl<span class="w"> </span>setenv<span class="w"> </span>LD_LIBRARY_PATH<span class="w"> </span><span class="nv">$LD_LIBRARY_PATH</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>After this you will need to “execute” <code class="docutils literal notranslate"><span class="pre">.zprofile</span></code> before proceeding:</p>
|
||||
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>$<span class="w"> </span><span class="nb">source</span><span class="w"> </span><span class="nv">$HOME</span>/.zprofile
|
||||
</pre></div>
|
||||
</div>
|
||||
<p><strong>In addition:</strong> create the the file <code class="docutils literal notranslate"><span class="pre">musrfit.environment.plist</span></code> under <code class="docutils literal notranslate"><span class="pre">~/Library/LaunchAgents/</span></code> with the following content (example for <code class="docutils literal notranslate"><span class="pre">homebrew</span></code>):</p>
|
||||
<div class="highlight-xml notranslate"><div class="highlight"><pre><span></span><span class="cp"><?xml version="1.0" encoding="UTF-8"?></span>
|
||||
<span class="cp"><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"></span>
|
||||
<span class="nt"><plist</span><span class="w"> </span><span class="na">version=</span><span class="s">"1.0"</span><span class="nt">></span>
|
||||
<span class="nt"><dict></span>
|
||||
<span class="w"> </span><span class="nt"><key></span>Label<span class="nt"></key></span>
|
||||
<span class="w"> </span><span class="nt"><string></span>ch.psi.musrfit.environment<span class="nt"></string></span>
|
||||
<span class="w"> </span><span class="nt"><key></span>ProgramArguments<span class="nt"></key></span>
|
||||
<span class="w"> </span><span class="nt"><array></span>
|
||||
<span class="w"> </span><span class="nt"><string></span>sh<span class="nt"></string></span>
|
||||
<span class="w"> </span><span class="nt"><string></span>-c<span class="nt"></string></span>
|
||||
<span class="w"> </span><span class="nt"><string></span>
|
||||
<span class="w"> </span>ROOTSYS=$HOME/Applications/root/root_exec
|
||||
<span class="w"> </span>QTDIR=$(brew<span class="w"> </span>--prefix)/opt/qt@6
|
||||
<span class="w"> </span>OpenMP_ROOT=$(brew<span class="w"> </span>--prefix)/opt/libomp
|
||||
|
||||
<span class="w"> </span>launchctl<span class="w"> </span>setenv<span class="w"> </span>ROOTSYS<span class="w"> </span>"$ROOTSYS"
|
||||
<span class="w"> </span>launchctl<span class="w"> </span>setenv<span class="w"> </span>MUSRFITPATH<span class="w"> </span>"$ROOTSYS/bin"
|
||||
<span class="w"> </span>launchctl<span class="w"> </span>setenv<span class="w"> </span>PATH<span class="w"> </span>"$ROOTSYS/bin:$QTDIR/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
|
||||
<span class="w"> </span>launchctl<span class="w"> </span>setenv<span class="w"> </span>DYLD_LIBRARY_PATH<span class="w"> </span>"$ROOTSYS/lib:/usr/local/lib"
|
||||
<span class="w"> </span>launchctl<span class="w"> </span>setenv<span class="w"> </span>OpenMP_ROOT<span class="w"> </span>"$OpenMP_ROOT"
|
||||
<span class="w"> </span><span class="nt"></string></span>
|
||||
<span class="w"> </span><span class="nt"></array></span>
|
||||
<span class="w"> </span><span class="nt"><key></span>RunAtLoad<span class="nt"></key></span>
|
||||
<span class="w"> </span><span class="nt"><true/></span>
|
||||
<span class="nt"></dict></span>
|
||||
<span class="nt"></plist></span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>and launch it <em>once</em> via</p>
|
||||
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>launchctl<span class="w"> </span>load<span class="w"> </span>~/Library/LaunchAgents/musrfit.environment.plist
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>If you use <code class="docutils literal notranslate"><span class="pre">macports</span></code>, replace in <code class="docutils literal notranslate"><span class="pre">musrfit.environment.plist</span></code> the lines for <code class="docutils literal notranslate"><span class="pre">QTDIR</span></code> and <code class="docutils literal notranslate"><span class="pre">OpenMP_ROOT</span></code> by</p>
|
||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">QTDIR</span><span class="o">=/</span><span class="n">opt</span><span class="o">/</span><span class="n">local</span><span class="o">/</span><span class="n">libexec</span><span class="o">/</span><span class="n">qt6</span>
|
||||
<span class="n">OpenMP_ROOT</span><span class="o">=/</span><span class="n">opt</span><span class="o">/</span><span class="n">local</span><span class="o">/</span><span class="n">include</span><span class="o">/</span><span class="n">libomp</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</section>
|
||||
</section>
|
||||
</section>
|
||||
<section id="index-27">
|
||||
<span id="id14"></span><h3>musrfit<a class="headerlink" href="#index-27" title="Link to this heading"></a></h3>
|
||||
<section id="index-26">
|
||||
<span id="id14"></span><h3>musrfit<a class="headerlink" href="#index-26" title="Link to this heading"></a></h3>
|
||||
<p>First, the most recent source code should be downloaded. First, the most recent source code should be downloaded.
|
||||
The preferred way of doing so is to clone the <code class="docutils literal notranslate"><span class="pre">musrfit</span></code> repository via git. Assuming the code should be located
|
||||
in <code class="docutils literal notranslate"><span class="pre">~/Applications/musrfit</span></code> this is achieved most easily calling from the termin</p>
|
||||
@@ -888,15 +869,18 @@ $<span class="w"> </span>git<span class="w"> </span>pull
|
||||
</div>
|
||||
<p>As an alternative (<em>if git is not available</em>), the source code can also be downloaded from the following
|
||||
web-page: <a class="reference external" href="https://bitbucket.org/muonspin/musrfit/downloads">musrfit at bitbucket</a>.</p>
|
||||
<section id="index-28">
|
||||
<span id="id15"></span><h4>musrfit build with cmake<a class="headerlink" href="#index-28" title="Link to this heading"></a></h4>
|
||||
<section id="musrfit-build-cmake-macos">
|
||||
<span id="index-27"></span><span id="id15"></span><h4>musrfit build with cmake<a class="headerlink" href="#musrfit-build-cmake-macos" title="Link to this heading"></a></h4>
|
||||
<p>Currently the following configuration switches for <code class="docutils literal notranslate"><span class="pre">musrfit</span></code> are available:</p>
|
||||
<dl class="simple">
|
||||
<dt><strong>-DCMAKE_INSTALL_PREFIX=<prefix-path></strong></dt><dd><p>Specify the installation prefix, <em>i.e.</em> the place where <code class="docutils literal notranslate"><span class="pre">musrfit</span></code> shall be installed, <em>e.g.</em> <code class="docutils literal notranslate"><span class="pre">$ROOTSYS</span></code> if already defined (by default: <code class="docutils literal notranslate"><span class="pre">/usr/local</span></code>).</p>
|
||||
</dd>
|
||||
<dt><strong>-Dnexus=<value></strong></dt><dd><p>enable/disable the support of <code class="docutils literal notranslate"><span class="pre">NeXus</span></code> data files (requires the <code class="docutils literal notranslate"><span class="pre">HDF4</span></code>, <code class="docutils literal notranslate"><span class="pre">HDF5</span></code> and <code class="docutils literal notranslate"><span class="pre">NeXus</span></code> libraries to be installed).
|
||||
<dt><strong>-Dnexus=<value></strong></dt><dd><p>enable/disable the support of <code class="docutils literal notranslate"><span class="pre">NeXus</span></code> data files (requires at least the <code class="docutils literal notranslate"><span class="pre">HDF5</span></code> library to be installed).
|
||||
<value>=1 enables <code class="docutils literal notranslate"><span class="pre">NeXus</span></code>, <value>=0 disables <code class="docutils literal notranslate"><span class="pre">NeXus</span></code>. The default setting, <em>i.e.</em> the switch is not provided is <code class="docutils literal notranslate"><span class="pre">NeXus</span></code> support is disabled.</p>
|
||||
</dd>
|
||||
<dt><strong>-DHAVE_HDF4=<value></strong></dt><dd><p>tell musrfit, whether <code class="docutils literal notranslate"><span class="pre">NeXus</span></code>-support should include <code class="docutils literal notranslate"><span class="pre">HDF4</span></code> as well. <value>=1 notifies the presence of <code class="docutils literal notranslate"><span class="pre">HDF4</span></code>. This option is obviously
|
||||
only relevant if <code class="docutils literal notranslate"><span class="pre">NeXus</span></code> is enabled as well.</p>
|
||||
</dd>
|
||||
<dt><strong>-DASlibs=<value></strong></dt><dd><p>enable/disable the <code class="docutils literal notranslate"><span class="pre">ASlibs</span></code>. <value>=1 enables the <code class="docutils literal notranslate"><span class="pre">ASlibs</span></code>, <value>=0 disables the <code class="docutils literal notranslate"><span class="pre">ASlibs</span></code>. The default setting, <em>i.e.</em> the
|
||||
switch is not provided is <code class="docutils literal notranslate"><span class="pre">ASlibs</span></code> support is disabled. For details see Documentation of <a class="reference internal" href="user-libs.html#user-libs"><span class="std std-ref">user libs</span></a>.</p>
|
||||
</dd>
|
||||
@@ -926,11 +910,11 @@ If the value is set to <code class="docutils literal notranslate"><span class="p
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>Therefore a typical configuration / make / install process including
|
||||
<code class="docutils literal notranslate"><span class="pre">NeXus</span></code> support would look like</p>
|
||||
<code class="docutils literal notranslate"><span class="pre">NeXus</span></code>-support (including <code class="docutils literal notranslate"><span class="pre">HDF4</span></code>-support) would look like</p>
|
||||
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>$<span class="w"> </span><span class="nb">cd</span><span class="w"> </span><span class="nv">$HOME</span>/Apps/musrfit
|
||||
$<span class="w"> </span>mkdir<span class="w"> </span>build
|
||||
$<span class="w"> </span><span class="nb">cd</span><span class="w"> </span>build
|
||||
$<span class="w"> </span>cmake<span class="w"> </span>../<span class="w"> </span>-DCMAKE_INSTALL_PREFIX<span class="o">=</span><span class="nv">$ROOTSYS</span><span class="w"> </span>-Dnexus<span class="o">=</span><span class="m">1</span>
|
||||
$<span class="w"> </span>cmake<span class="w"> </span>../<span class="w"> </span>-DCMAKE_INSTALL_PREFIX<span class="o">=</span><span class="nv">$ROOTSYS</span><span class="w"> </span>-Dnexus<span class="o">=</span><span class="m">1</span><span class="w"> </span>-DHAVE_HDF4<span class="o">=</span><span class="m">1</span>
|
||||
<span class="c1"># below it is assumed that multiple cores are present, hence the -j8 option</span>
|
||||
$<span class="w"> </span>cmake<span class="w"> </span>--build<span class="w"> </span>./<span class="w"> </span>--clean-first<span class="w"> </span>--<span class="w"> </span>-j8
|
||||
$<span class="w"> </span>cmake<span class="w"> </span>--install<span class="w"> </span>./
|
||||
@@ -947,7 +931,7 @@ The configuration, build, and install process might look like this:</p>
|
||||
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>$<span class="w"> </span><span class="nb">cd</span><span class="w"> </span><span class="nv">$HOME</span>/Apps/musrfit
|
||||
$<span class="w"> </span>mkdir<span class="w"> </span>build
|
||||
$<span class="w"> </span><span class="nb">cd</span><span class="w"> </span>build
|
||||
$<span class="w"> </span>cmake<span class="w"> </span>../<span class="w"> </span>-DCMAKE_INSTALL_PREFIX<span class="o">=</span><span class="nv">$ROOTSYS</span><span class="w"> </span>-Dnexus<span class="o">=</span><span class="m">1</span><span class="w"> </span>-DCMAKE_PREFIX_PATH<span class="o">=</span><span class="s2">"/opt/local/libexec/qt6/lib/cmake;/opt/local/include/libomp"</span>
|
||||
$<span class="w"> </span>cmake<span class="w"> </span>../<span class="w"> </span>-DCMAKE_INSTALL_PREFIX<span class="o">=</span><span class="nv">$ROOTSYS</span><span class="w"> </span>-Dnexus<span class="o">=</span><span class="m">1</span><span class="w"> </span>-DHAVE_HDF4<span class="o">=</span><span class="m">1</span><span class="w"> </span>-DCMAKE_PREFIX_PATH<span class="o">=</span><span class="s2">"/opt/local/libexec/qt6/lib/cmake;/opt/local/include/libomp"</span>
|
||||
<span class="c1"># below it is assumed that multiple cores are present, hence the -j8 option</span>
|
||||
$<span class="w"> </span>cmake<span class="w"> </span>--build<span class="w"> </span>./<span class="w"> </span>--clean-first<span class="w"> </span>--<span class="w"> </span>-j8
|
||||
$<span class="w"> </span>cmake<span class="w"> </span>--install<span class="w"> </span>./
|
||||
@@ -972,8 +956,8 @@ detailed information on this XML file refer to the <a class="reference internal"
|
||||
</ul>
|
||||
</section>
|
||||
</section>
|
||||
<section id="index-29">
|
||||
<span id="id17"></span><h3>musredit<a class="headerlink" href="#index-29" title="Link to this heading"></a></h3>
|
||||
<section id="index-28">
|
||||
<span id="id17"></span><h3>musredit<a class="headerlink" href="#index-28" title="Link to this heading"></a></h3>
|
||||
<p>In the latest version of <code class="docutils literal notranslate"><span class="pre">musrfit</span></code> the configure script tries to determine automatically the highest
|
||||
available Qt version. In case this is found, the editor <code class="docutils literal notranslate"><span class="pre">musredit</span></code> is built already together with <code class="docutils literal notranslate"><span class="pre">musrfit</span></code>.</p>
|
||||
</section>
|
||||
@@ -1021,8 +1005,8 @@ $<span class="w"> </span>musrview<span class="w"> </span>test-histo-ROOT-NPP.msr
|
||||
<hr/>
|
||||
|
||||
<div role="contentinfo">
|
||||
<p>© Copyright 2025, Andreas Suter.
|
||||
<span class="lastupdated">Last updated on Jun 07, 2025.
|
||||
<p>© Copyright 2026, Andreas Suter.
|
||||
<span class="lastupdated">Last updated on Feb 21, 2026.
|
||||
</span></p>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -6,14 +6,14 @@
|
||||
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Tutorial for musrfit — musrfit 1.9.9 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<title>Tutorial for musrfit — musrfit V1.10.0</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=03e43079" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=7a5cd723" />
|
||||
|
||||
|
||||
<script src="_static/jquery.js?v=5d32c60e"></script>
|
||||
<script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
|
||||
<script src="_static/documentation_options.js?v=4320943d"></script>
|
||||
<script src="_static/documentation_options.js?v=1d24b1d9"></script>
|
||||
<script src="_static/doctools.js?v=9bcbadda"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
<script async="async" src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
|
||||
@@ -180,7 +180,7 @@ sample holder), each with an amplitude (parameters 10 and 13), a depolarization
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>The THEORY block is used to define a fit-parameter-dependent theory function used to model
|
||||
the decay asymmetry. Different <a class="reference internal" href="user-manual.html#msr-theory-block"><span class="std std-ref">predefined</span></a> and <a class="reference internal" href="user-manual.html#id41"><span class="std std-ref">user-defined</span></a>
|
||||
the decay asymmetry. Different <a class="reference internal" href="user-manual.html#msr-theory-block"><span class="std std-ref">predefined</span></a> and <a class="reference internal" href="user-manual.html#id47"><span class="std std-ref">user-defined</span></a>
|
||||
functions can be combined here. Theory lines following each other are <em>multiplied</em> and the <strong>+</strong> sign
|
||||
is used to add different (here: two) signal contributions. The numbers are the parameter numbers
|
||||
according to the <code class="docutils literal notranslate"><span class="pre">FITPARAMETER</span> <span class="pre">block</span></code>. <code class="docutils literal notranslate"><span class="pre">map</span></code> and <code class="docutils literal notranslate"><span class="pre">fun</span></code> are used to refer to
|
||||
@@ -439,8 +439,8 @@ For a complete description please refer to the manuals of <a class="reference in
|
||||
<hr/>
|
||||
|
||||
<div role="contentinfo">
|
||||
<p>© Copyright 2025, Andreas Suter.
|
||||
<span class="lastupdated">Last updated on Jun 07, 2025.
|
||||
<p>© Copyright 2026, Andreas Suter.
|
||||
<span class="lastupdated">Last updated on Feb 21, 2026.
|
||||
</span></p>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -6,14 +6,14 @@
|
||||
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Documentation of user libs (user functions) — musrfit 1.9.9 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<title>Documentation of user libs (user functions) — musrfit V1.10.0</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=03e43079" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=7a5cd723" />
|
||||
|
||||
|
||||
<script src="_static/jquery.js?v=5d32c60e"></script>
|
||||
<script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
|
||||
<script src="_static/documentation_options.js?v=4320943d"></script>
|
||||
<script src="_static/documentation_options.js?v=1d24b1d9"></script>
|
||||
<script src="_static/doctools.js?v=9bcbadda"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
<script async="async" src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
|
||||
@@ -60,7 +60,7 @@
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="#supeconducting-gap-integrals-to-calculate-1-lambda-2-vs-t">Supeconducting Gap-Integrals to calculate <span class="math notranslate nohighlight">\(1/\lambda^2\)</span> vs <span class="math notranslate nohighlight">\(T\)</span></a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="#superconducting-gap-integrals-to-calculate-1-lambda-2-vs-t">Superconducting Gap-Integrals to calculate <span class="math notranslate nohighlight">\(1/\lambda^2\)</span> vs <span class="math notranslate nohighlight">\(T\)</span></a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="#nonlocal-superconductivity-related-meissner-screening-functions-as-libs">Nonlocal superconductivity related Meissner screening functions (AS libs)</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="#depth-resolved-information-as-libs">Depth resolved information (AS libs)</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="#functions-to-analyze-bgr-nmr-data-bnmr-libs">Functions to analyze β-NMR data (BNMR libs)</a><ul>
|
||||
@@ -120,7 +120,7 @@
|
||||
<span id="index-2"></span><h3>libFitPofB<a class="headerlink" href="#libfitpofb" title="Link to this heading"></a></h3>
|
||||
<section id="introduction">
|
||||
<h4>Introduction<a class="headerlink" href="#introduction" title="Link to this heading"></a></h4>
|
||||
<p><code class="docutils literal notranslate"><span class="pre">libFitPofB</span></code> is a collection of <code class="docutils literal notranslate"><span class="pre">C++</span></code> classes using the <code class="docutils literal notranslate"><span class="pre">musrfit</span></code> <a class="reference internal" href="user-manual.html#id41"><span class="std std-ref">user-functions</span></a>
|
||||
<p><code class="docutils literal notranslate"><span class="pre">libFitPofB</span></code> is a collection of <code class="docutils literal notranslate"><span class="pre">C++</span></code> classes using the <code class="docutils literal notranslate"><span class="pre">musrfit</span></code> <a class="reference internal" href="user-manual.html#id47"><span class="std std-ref">user-functions</span></a>
|
||||
interface in order to facilitate the usage in conjunction with <code class="docutils literal notranslate"><span class="pre">musrfit</span></code>. The classes contained in this
|
||||
library generally implement calculations of one-dimensional static magnetic field distributions
|
||||
<span class="math notranslate nohighlight">\(p(B)\)</span> which lead to the muon-spin depolarization functions</p>
|
||||
@@ -425,8 +425,8 @@ The expected name of the <code class="docutils literal notranslate"><span class=
|
||||
</section>
|
||||
</section>
|
||||
</section>
|
||||
<section id="supeconducting-gap-integrals-to-calculate-1-lambda-2-vs-t">
|
||||
<span id="gap-integral-libs"></span><span id="index-14"></span><h2>Supeconducting Gap-Integrals to calculate <span class="math notranslate nohighlight">\(1/\lambda^2\)</span> vs <span class="math notranslate nohighlight">\(T\)</span><a class="headerlink" href="#supeconducting-gap-integrals-to-calculate-1-lambda-2-vs-t" title="Link to this heading"></a></h2>
|
||||
<section id="superconducting-gap-integrals-to-calculate-1-lambda-2-vs-t">
|
||||
<span id="gap-integral-libs"></span><span id="index-14"></span><h2>Superconducting Gap-Integrals to calculate <span class="math notranslate nohighlight">\(1/\lambda^2\)</span> vs <span class="math notranslate nohighlight">\(T\)</span><a class="headerlink" href="#superconducting-gap-integrals-to-calculate-1-lambda-2-vs-t" title="Link to this heading"></a></h2>
|
||||
<p>The details about the various superconducting gap-integrals are found in the
|
||||
pdf-file <strong>GapIntegrals.pdf</strong> which can be found in the musrfit source under
|
||||
<code class="docutils literal notranslate"><span class="pre"><musrfit-dir>/src/external/libGapIntegrals/</span></code>.</p>
|
||||
@@ -546,7 +546,7 @@ rge-files (muon stoppping profiles). For this the library reads at start-up the
|
||||
</section>
|
||||
<section id="functions-to-analyze-bgr-nmr-data-bnmr-libs">
|
||||
<span id="bnmr-libs"></span><span id="index-17"></span><h2>Functions to analyze β-NMR data (BNMR libs)<a class="headerlink" href="#functions-to-analyze-bgr-nmr-data-bnmr-libs" title="Link to this heading"></a></h2>
|
||||
<p>This is a collection of <code class="docutils literal notranslate"><span class="pre">C++</span></code> classes using the <code class="docutils literal notranslate"><span class="pre">musrfit</span></code> <a class="reference internal" href="user-manual.html#id41"><span class="std std-ref">user-functions</span></a>
|
||||
<p>This is a collection of <code class="docutils literal notranslate"><span class="pre">C++</span></code> classes using the <code class="docutils literal notranslate"><span class="pre">musrfit</span></code> <a class="reference internal" href="user-manual.html#id47"><span class="std std-ref">user-functions</span></a>
|
||||
interface in order to facilitate the usage in conjunction with <code class="docutils literal notranslate"><span class="pre">musrfit</span></code>. It consists of two libraries:</p>
|
||||
<ul class="simple">
|
||||
<li><p><code class="docutils literal notranslate"><span class="pre">libBNMR</span></code> contains functions to fit spin lattice relaxation (SLR) data.</p></li>
|
||||
@@ -784,8 +784,8 @@ K(m)&=\int_0^{\pi/2}\frac{\mathrm d\varphi}{\sqrt{1-m^2\sin^2{\varphi}}},\en
|
||||
<hr/>
|
||||
|
||||
<div role="contentinfo">
|
||||
<p>© Copyright 2025, Andreas Suter.
|
||||
<span class="lastupdated">Last updated on Jun 07, 2025.
|
||||
<p>© Copyright 2026, Andreas Suter.
|
||||
<span class="lastupdated">Last updated on Feb 21, 2026.
|
||||
</span></p>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -6,14 +6,14 @@
|
||||
<meta charset="utf-8" /><meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>User manual — musrfit 1.9.9 documentation</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
|
||||
<title>User manual — musrfit V1.10.0</title>
|
||||
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=03e43079" />
|
||||
<link rel="stylesheet" type="text/css" href="_static/css/theme.css?v=7a5cd723" />
|
||||
|
||||
|
||||
<script src="_static/jquery.js?v=5d32c60e"></script>
|
||||
<script src="_static/_sphinx_javascript_frameworks_compat.js?v=2cd50e6c"></script>
|
||||
<script src="_static/documentation_options.js?v=4320943d"></script>
|
||||
<script src="_static/documentation_options.js?v=1d24b1d9"></script>
|
||||
<script src="_static/doctools.js?v=9bcbadda"></script>
|
||||
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
|
||||
<script async="async" src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
|
||||
@@ -917,7 +917,7 @@ in case a <span class="math notranslate nohighlight">\(\chi^2\)</span> single-hi
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p>internFld</p></td>
|
||||
<td><p>if</p></td>
|
||||
<td><p>ifld</p></td>
|
||||
<td><p><span class="math notranslate nohighlight">\(\alpha (1), \varphi (^\circ)\)</span>, <span class="math notranslate nohighlight">\(\nu\)</span> (MHz), <span class="math notranslate nohighlight">\(\lambda_{\rm T} (\mu \mathrm{s}^{-1})\)</span>,<span class="math notranslate nohighlight">\(\lambda_{\rm L} (\mu \mathrm{s}^{-1})\)</span></p></td>
|
||||
<td><dl class="simple">
|
||||
<dt><span class="math notranslate nohighlight">\(\alpha \cos\left(2\pi\nu t + \frac{\pi \varphi}{180}\right) \exp(-\lambda_{\rm T}t) +\)</span></dt><dd><p><span class="math notranslate nohighlight">\(+ (1-\alpha) \exp(-\lambda_{\rm L} t)\)</span></p>
|
||||
@@ -1245,6 +1245,7 @@ Therefore, this block is only present to potentially shorten the msr file and to
|
||||
<li><p><code class="docutils literal notranslate"><span class="pre">data</span></code></p></li>
|
||||
<li><p><code class="docutils literal notranslate"><span class="pre">t0</span></code></p></li>
|
||||
<li><p><code class="docutils literal notranslate"><span class="pre">addt0</span></code></p></li>
|
||||
<li><p><code class="docutils literal notranslate"><span class="pre">deadtime-cor</span></code> 0, 1, 2, 3</p></li>
|
||||
<li><p><code class="docutils literal notranslate"><span class="pre">fit</span></code></p></li>
|
||||
<li><p><code class="docutils literal notranslate"><span class="pre">rrf_freq</span></code> for fittype 1, 3</p></li>
|
||||
<li><p><code class="docutils literal notranslate"><span class="pre">rrf_packing</span></code> for fittype 1, 3</p></li>
|
||||
@@ -1594,6 +1595,14 @@ numbers or the name of the variables as given in the DB header.</p>
|
||||
</dd>
|
||||
</dl>
|
||||
<span id="index-39"></span><dl id="msr-fit">
|
||||
<dt><strong>deadtime-cor</strong></dt><dd><p>Allows for pulsed sources (currently test with ISIS NeXus files) to perform a deadtime correction on the data.</p>
|
||||
<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">deadtime</span><span class="o">-</span><span class="n">cor</span> <span class="n">file</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>Allowed parameters are <code class="docutils literal notranslate"><span class="pre">no</span></code>, i.e. no deadtime correction; <code class="docutils literal notranslate"><span class="pre">file</span></code>, i.e. apply deadtime correction according to the
|
||||
parameters <code class="docutils literal notranslate"><span class="pre">dead_time</span></code> and <code class="docutils literal notranslate"><span class="pre">good_frames</span></code> read from the NeXus file; <code class="docutils literal notranslate"><span class="pre">estimate</span></code> will allow in the future to estimate
|
||||
the deadtime parameter directley (<em>not yet implemented</em>)</p>
|
||||
</dd>
|
||||
<dt><strong>fit</strong></dt><dd><p>The range of data that should be considered when the fitting is done. For the μSR fit types 0, 1, 2, 3, and 4 the
|
||||
starting and end times are given in micro-seconds. For the non-μSR fit type 8 the starting and end points of the
|
||||
fitting range are given in the units of the <em>x</em> data.</p>
|
||||
@@ -2764,8 +2773,8 @@ The syntax here is attribute driven</p></li>
|
||||
<hr/>
|
||||
|
||||
<div role="contentinfo">
|
||||
<p>© Copyright 2025, Andreas Suter.
|
||||
<span class="lastupdated">Last updated on Jun 09, 2025.
|
||||
<p>© Copyright 2026, Andreas Suter.
|
||||
<span class="lastupdated">Last updated on Feb 21, 2026.
|
||||
</span></p>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -27,7 +27,7 @@ add_executable(addRun addRun.cpp)
|
||||
target_compile_options(addRun BEFORE PRIVATE "-DHAVE_CONFIG_H" "${HAVE_GIT_REV_H}")
|
||||
target_include_directories(addRun
|
||||
BEFORE PRIVATE
|
||||
$<BUILD_INTERFACE:${Boost_INCLUDE_DIR}>
|
||||
$<BUILD_INTERFACE:${Boost_INCLUDE_DIRS}>
|
||||
$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}>
|
||||
$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/src>
|
||||
$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/src/include>
|
||||
@@ -38,7 +38,7 @@ add_executable(any2many any2many.cpp)
|
||||
target_compile_options(any2many BEFORE PRIVATE "-DHAVE_CONFIG_H" "${HAVE_GIT_REV_H}")
|
||||
target_include_directories(any2many
|
||||
BEFORE PRIVATE
|
||||
$<BUILD_INTERFACE:${Boost_INCLUDE_DIR}>
|
||||
$<BUILD_INTERFACE:${Boost_INCLUDE_DIRS}>
|
||||
$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}>
|
||||
$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/src>
|
||||
$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/src/include>
|
||||
@@ -81,7 +81,7 @@ add_executable(musrfit musrfit.cpp)
|
||||
target_compile_options(musrfit BEFORE PRIVATE "-DHAVE_CONFIG_H" "${HAVE_GIT_REV_H}")
|
||||
target_include_directories(musrfit
|
||||
BEFORE PRIVATE
|
||||
$<BUILD_INTERFACE:${Boost_INCLUDE_DIR}>
|
||||
$<BUILD_INTERFACE:${Boost_INCLUDE_DIRS}>
|
||||
$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}>
|
||||
$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/src>
|
||||
$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/src/include>
|
||||
@@ -92,7 +92,7 @@ add_executable(musrFT musrFT.cpp)
|
||||
target_compile_options(musrFT BEFORE PRIVATE "-DHAVE_CONFIG_H" "${HAVE_GIT_REV_H}")
|
||||
target_include_directories(musrFT
|
||||
BEFORE PRIVATE
|
||||
$<BUILD_INTERFACE:${Boost_INCLUDE_DIR}>
|
||||
$<BUILD_INTERFACE:${Boost_INCLUDE_DIRS}>
|
||||
$<BUILD_INTERFACE:${FFTW3_INCLUDE}>
|
||||
$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}>
|
||||
$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/src>
|
||||
@@ -115,7 +115,7 @@ add_executable(musrt0 musrt0.cpp)
|
||||
target_compile_options(musrt0 BEFORE PRIVATE "-DHAVE_CONFIG_H" "${HAVE_GIT_REV_H}")
|
||||
target_include_directories(musrt0
|
||||
BEFORE PRIVATE
|
||||
$<BUILD_INTERFACE:${Boost_INCLUDE_DIR}>
|
||||
$<BUILD_INTERFACE:${Boost_INCLUDE_DIRS}>
|
||||
$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}>
|
||||
$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/src>
|
||||
$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/src/include>
|
||||
@@ -126,7 +126,7 @@ add_executable(musrview musrview.cpp)
|
||||
target_compile_options(musrview BEFORE PRIVATE "-DHAVE_CONFIG_H" "${HAVE_GIT_REV_H}")
|
||||
target_include_directories(musrview
|
||||
BEFORE PRIVATE
|
||||
$<BUILD_INTERFACE:${Boost_INCLUDE_DIR}>
|
||||
$<BUILD_INTERFACE:${Boost_INCLUDE_DIRS}>
|
||||
$<BUILD_INTERFACE:${FFTW3_INCLUDE}>
|
||||
$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}>
|
||||
$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/src>
|
||||
|
||||
@@ -23,7 +23,7 @@ root_generate_dictionary(
|
||||
PMsgBox.h
|
||||
LINKDEF ${MUSRFIT_INC}/PMsgBoxLinkDef.h
|
||||
OPTIONS
|
||||
-I${Boost_INCLUDE_DIR} -I${FFTW3_INCLUDE} -I${MUSRFIT_INC}
|
||||
-I${Boost_INCLUDE_DIRS} -I${FFTW3_INCLUDE} -I${MUSRFIT_INC}
|
||||
-inlineInputHeader
|
||||
MODULE PMsgBox
|
||||
)
|
||||
@@ -32,7 +32,7 @@ root_generate_dictionary(
|
||||
PMusrCanvas.h
|
||||
LINKDEF ${MUSRFIT_INC}/PMusrCanvasLinkDef.h
|
||||
OPTIONS
|
||||
-I${Boost_INCLUDE_DIR} -I${FFTW3_INCLUDE} -I${MUSRFIT_INC}
|
||||
-I${Boost_INCLUDE_DIRS} -I${FFTW3_INCLUDE} -I${MUSRFIT_INC}
|
||||
-inlineInputHeader
|
||||
MODULE PMusrCanvas
|
||||
)
|
||||
@@ -41,7 +41,7 @@ root_generate_dictionary(
|
||||
PMusrT0.h
|
||||
LINKDEF ${MUSRFIT_INC}/PMusrT0LinkDef.h
|
||||
OPTIONS
|
||||
-I${Boost_INCLUDE_DIR} -I${FFTW3_INCLUDE} -I${MUSRFIT_INC}
|
||||
-I${Boost_INCLUDE_DIRS} -I${FFTW3_INCLUDE} -I${MUSRFIT_INC}
|
||||
-inlineInputHeader
|
||||
MODULE PMusrT0
|
||||
)
|
||||
@@ -129,7 +129,7 @@ add_library(PMusr SHARED
|
||||
#--- make sure that the include directory is found ----------------------------
|
||||
target_include_directories(
|
||||
PMusr BEFORE PRIVATE
|
||||
$<BUILD_INTERFACE:${Boost_INCLUDE_DIR}>
|
||||
$<BUILD_INTERFACE:${Boost_INCLUDE_DIRS}>
|
||||
$<BUILD_INTERFACE:${FFTW3_INCLUDE}>
|
||||
$<BUILD_INTERFACE:${HDF4_INCLUDE_DIRS}>
|
||||
$<BUILD_INTERFACE:${HDF5_INCLUDE_DIRS}>
|
||||
@@ -175,7 +175,7 @@ target_include_directories(
|
||||
|
||||
target_include_directories(
|
||||
PRgeHandler BEFORE PRIVATE
|
||||
$<BUILD_INTERFACE:${Boost_INCLUDE_DIR}>
|
||||
$<BUILD_INTERFACE:${Boost_INCLUDE_DIRS}>
|
||||
$<BUILD_INTERFACE:${MUSRFIT_INC}>
|
||||
)
|
||||
|
||||
|
||||
@@ -172,6 +172,11 @@ void PRunBase::DeadTimeCorrection(std::vector<PDoubleVector> &histos, PUIntVecto
|
||||
{
|
||||
PRawRunData* runData = fRawData->GetRunData(*fRunInfo->GetRunName());
|
||||
|
||||
if (runData == nullptr) {
|
||||
std::cerr << std::endl << "**WARNING** PRunBase::DeadTimeCorrection: couldn't get data from '" << *fRunInfo->GetRunName() << "'" << std::endl;
|
||||
return;
|
||||
}
|
||||
|
||||
if (!runData->DeadTimeCorrectionReady()) {
|
||||
std::cerr << std::endl << "**WARNING** PRunBase::DeadTimeCorrection: missing input for dead time correction" << std::endl;
|
||||
return;
|
||||
@@ -200,7 +205,7 @@ void PRunBase::DeadTimeCorrection(std::vector<PDoubleVector> &histos, PUIntVecto
|
||||
Int_t gf = runData->GetNumberOfGoodFrames();
|
||||
std::vector<float> t_dt = runData->GetDeadTimeParam();
|
||||
for (UInt_t j=0; j<histos[i].size(); j++) {
|
||||
n_true = histos[i][j] / (1.0 - histos[i][j] * t_dt[histoNo[i]] / (gf * fTimeResolution));
|
||||
n_true = histos[i][j] / (1.0 - histos[i][j] * t_dt[histoNo[i]-1] / (gf * fTimeResolution));
|
||||
histos[i][j] = n_true;
|
||||
}
|
||||
}
|
||||
|
||||
2
src/external/Nonlocal/prog/CMakeLists.txt
vendored
2
src/external/Nonlocal/prog/CMakeLists.txt
vendored
@@ -70,7 +70,7 @@ add_executable(dump_nonlocal_field dump_nonlocal_field.cpp)
|
||||
target_compile_options(dump_nonlocal_field BEFORE PRIVATE "-DHAVE_CONFIG_H" "-DHAVE_DNLF_CONFIG_H" "${HAVE_GIT_REV_H}")
|
||||
target_include_directories(dump_nonlocal_field
|
||||
BEFORE PRIVATE
|
||||
$<BUILD_INTERFACE:${Boost_INCLUDE_DIR}>
|
||||
$<BUILD_INTERFACE:${Boost_INCLUDE_DIRS}>
|
||||
$<BUILD_INTERFACE:${ROOT_INC}>
|
||||
$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}>
|
||||
$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/src>
|
||||
|
||||
@@ -81,7 +81,7 @@ add_subdirectory(var)
|
||||
#--- add the necessary header includes ----------------------------------------
|
||||
target_include_directories(mupp
|
||||
BEFORE PRIVATE
|
||||
$<BUILD_INTERFACE:${Boost_INCLUDE_DIR}>
|
||||
$<BUILD_INTERFACE:${Boost_INCLUDE_DIRS}>
|
||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/../..>
|
||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
|
||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/var/include>
|
||||
|
||||
@@ -81,7 +81,7 @@ add_subdirectory(var)
|
||||
#--- add the necessary header includes ----------------------------------------
|
||||
target_include_directories(mupp
|
||||
BEFORE PRIVATE
|
||||
$<BUILD_INTERFACE:${Boost_INCLUDE_DIR}>
|
||||
$<BUILD_INTERFACE:${Boost_INCLUDE_DIRS}>
|
||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/../..>
|
||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
|
||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/var/include>
|
||||
|
||||
@@ -55,7 +55,7 @@ add_executable(spirit_fcn_test
|
||||
#--- add include directories --------------------------------------------------
|
||||
target_include_directories(spirit_fcn_test
|
||||
BEFORE PRIVATE
|
||||
${Boost_INCLUDE_DIR}
|
||||
${Boost_INCLUDE_DIRS}
|
||||
)
|
||||
|
||||
#--- link libraries -----------------------------------------------------------
|
||||
|
||||
@@ -26,11 +26,11 @@ add_maxLH_test(test-histo-HAL9500 test-histo-HAL9500.msr 1286509.8)
|
||||
add_maxLH_test(test-histo-HAL9500-RRF test-histo-HAL9500-RRF.msr 22187.4)
|
||||
add_maxLH_test(test-histo-muMinus test-histo-muMinus.msr 238962.6)
|
||||
add_maxLH_test(test-histo-NeXus test-histo-NeXus.msr 3273.57)
|
||||
add_maxLH_test(test-histo-NeXus2 test-histo-NeXus2.msr 4233.1)
|
||||
add_maxLH_test(test-histo-NeXus2 test-histo-NeXus2.msr 4228.9)
|
||||
|
||||
# asymmetry fits (chisq)
|
||||
add_maxLH_test(test-asy-PSI-BIN test-asy-PSI-BIN.msr 566.76)
|
||||
add_maxLH_test(test-asy-MUD test-asy-MUD.msr 133.96)
|
||||
add_maxLH_test(test-asy-NeXus2 test-asy-NeXus2.msr 1166.4)
|
||||
add_maxLH_test(test-asy-NeXus2 test-asy-NeXus2.msr 1159.8)
|
||||
add_maxLH_test(test-asy-HAL9500-RRF test-asy-HAL9500-RRF.msr 7402.28)
|
||||
add_maxLH_test(test-asy-LF-BaB6 test-asy-LF-BaB6.msr 1911.88)
|
||||
add_maxLH_test(test-asy-LF-BaB6 test-asy-LF-BaB6.msr 1911.88)
|
||||
|
||||
Reference in New Issue
Block a user