Compare commits

..

214 Commits

Author SHA1 Message Date
suter_a b05ed4de05 mupp: fix crash in PmuppGui::getValues plotting a variable.
getValues()/getErrors() return a std::vector by value, but the QVector was
built from begin() of one call and end() of a second call -> iterators into
two distinct temporaries -> UB and a segfault in getValues(). Bind the result
to a single local before taking begin()/end(). Same in getPosErr/getNegErr.

This surfaced reliably when plotting a <python>-generated variable added via
the GUI (the script path was unaffected as it reads getValues() only once).

Also fix check() to validate the actually selected collections
(GetCollection(idx[i]) instead of GetCollection(i)).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-27 15:52:02 +02:00
suter_a a575d7398e mupp: simplify the python example to a single <python> block.
Use the new coll[]/collErr[] interface so sigmaSC-vs-temp-py.txt computes both
SigmaSC_10 and SigmaSC_150 in one block instead of one block per collection.
Collection 0 is addressed by index (coll[0]) and collection 1 by name
(coll['...Tscan.db']) to show both addressing modes. Output is unchanged.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-27 14:04:03 +02:00
suter_a 3abdace782 mupp: expose all collections inside a <python> block (coll[]/collErr[]).
A <python> variable block previously saw only the parameters of the single
collection the variable is linked to via 'col', injected as bare names plus
par[]/parErr[]. To compute variables for several collections one therefore
needed a separate block per collection.

Now every loaded collection is additionally injected as coll[]/collErr[]
dictionaries, addressable both by integer index (matching 'col <idx>' /
'select <idx>') and by collection name; index and name keys reference the same
per-parameter dict. A single block placed after all 'var = python' declarations
can thus compute - and combine - variables for any collection, e.g.
coll[0]['Sigma'] or coll['NAME.db']['Sigma'].

The bound-collection bare names / par[] / parErr[] are unchanged, so existing
scripts and GUI variables keep working. The collection list is threaded through
PmuppScript::var_cmd and the GUI add()/check() paths into PVarHandler.

Verified: a one-block script using both an index key and a name key reproduces
the numeric output of the equivalent two-block script bit-for-bit.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-27 13:55:38 +02:00
suter_a f58b65a338 add a python mupp script file. 2026-05-27 13:04:29 +02:00
suter_a 9c09d0bd1a mupp: pair each python variable with its own <python> block.
getPythonBlock() always returned the first <python> ... </python>
entry of the script, so when several 'var X = python' declarations
each had their own block, every declaration after the first one
re-ran the first block and the read-back of the requested variable
failed. Thread the script index through var_cmd into getPythonBlock,
which now scans from that position onwards. Each declaration is
paired with the next block in script order.
2026-05-27 13:03:17 +02:00
suter_a 6a6de42308 mupp: add x-axis error bar support to all plot outputs.
Previously only y-errors were rendered. The IPC data file format now
includes x-errors per point (x, xPosErr, xNegErr, y, yPosErr, yNegErr,
...). Both the live canvas (PMuppCanvas) and the ROOT macro exports
(GUI and script path) propagate x-errors to TGraphAsymmErrors;
x-errors default to 0.0 when the parameter carries none.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-26 20:43:05 +02:00
suter_a 9d859950d2 mupp: optional Python3 interface for variables via ROOT TPython.
Variables can now be computed by an embedded Python3 interpreter in addition
to the Boost.Spirit X3 expression engine. A <python> ... </python> block
receives all collection parameters as per-run lists (bare names, plus
par[]/parErr[] dictionaries as a fallback for names that are not valid Python
identifiers such as 'lambda') and must assign <name> and <name>Err; errors are
user supplied. Works both in the GUI variable dialog and in scripts.

The feature is optional and only enabled when ROOT is built with TPython
(CMake target ROOT::ROOTTPython); otherwise it compiles out. See MUPP_PY.README
for ROOT configure requirements and usage.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-26 19:06:07 +02:00
suter_a 64f4e1d2dd mupp: RUN is now treated as a variable.
Build and Deploy Documentation / build-and-deploy (push) Successful in 31s
2026-05-20 12:45:13 +02:00
suter_a bedbe2584b proper handling in dump_header of TDirectory in combination with the summary option.
Build and Deploy Documentation / build-and-deploy (push) Successful in 31s
2026-04-30 11:07:20 +02:00
suter_a a8cd816123 Merge pull request 'adds files for the new tutorial to doc/tutorials .' (#14) from tutorial into root6
Build and Deploy Documentation / build-and-deploy (push) Successful in 30s
Reviewed-on: #14
2026-04-29 13:18:41 +02:00
krieger_j b1ac4d33b2 fixed relative paths to new data location. 2026-04-22 14:57:56 +02:00
krieger_j a5181c4429 data and template files for the tutorials. State: as used in the 2026 Muon Spectroscopy School. 2026-04-22 14:54:09 +02:00
suter_a 92143b1c2e fix wrong install path for macOS Qt-based applications.
Build and Deploy Documentation / build-and-deploy (push) Successful in 29s
2026-04-17 14:20:43 +02:00
suter_a 3a71dea163 cmake: make sure that lib's are lib and not lib64 for musrfit. 2026-04-17 13:54:38 +02:00
suter_a a735f92195 more improvements on the cmake build system. 2026-04-17 09:15:07 +02:00
suter_a 53ec95db6e work on cleaner cmake. 2026-04-15 20:29:55 +02:00
suter_a dbbaf554b2 MusrRoot: XML-schema evaluation files are moved to https://doi.org/10.5281/zenodo.19593555. to have a DOI and not be depend on a shaky URL
Build and Deploy Documentation / build-and-deploy (push) Successful in 29s
2026-04-15 14:34:32 +02:00
suter_a bc20dd33be Merge pull request 'adds installation of musredit as a unix app' (#13) from dev-rpm-app into root6
Build and Deploy Documentation / build-and-deploy (push) Successful in 28s
Reviewed-on: #13
Reviewed-by: suter_a <andreas.suter@psi.ch>
2026-03-15 09:59:12 +01:00
krieger_j 5304f276d8 adds installation of musredit as a unix app 2026-03-13 15:20:31 +01:00
suter_a 9083561e20 added PyScripts/nexus_muon_validator.py to nexus.
Build and Deploy Documentation / build-and-deploy (push) Successful in 21s
2026-03-07 14:50:57 +01:00
suter_a 14d2648fc4 remove obsolate test/nexus
Build and Deploy Documentation / build-and-deploy (push) Successful in 29s
2026-03-07 13:38:53 +01:00
suter_a f91bc12709 suppress warning missing deadtime correction if not relevant.
Build and Deploy Documentation / build-and-deploy (push) Successful in 29s
2026-03-03 08:52:19 +01:00
suter_a 3174b320b2 fix linker errors: add HDF5 C++ lib and FFTW3 include paths
Build and Deploy Documentation / build-and-deploy (push) Successful in 22s
- Add ${HDF5_LIBRARIES} to PMusr link dependencies so HDF5 C++ symbols
  (H5::DataType, H5::PredType, etc.) used in PRunDataHandler.cpp resolve.
- Add ${FFTW3_INCLUDE} to musrRootValidation and write_musrRoot_runHeader
  include paths; both pull in PMusr.h which transitively includes fftw3.h.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-01 11:21:01 +01:00
suter_a c062e0f4e9 add musrfitConfig.cmake, etc. for musrfit.
Build and Deploy Documentation / build-and-deploy (push) Successful in 30s
2026-03-01 09:35:34 +01:00
suter_a ed2451d657 adopted after deadtime correction offset fix.
Build and Deploy Documentation / build-and-deploy (push) Successful in 21s
2026-02-23 13:17:00 +01:00
suter_a a005e5750f fixed an index by one offset issue.
Build and Deploy Documentation / build-and-deploy (push) Successful in 21s
2026-02-23 13:02:46 +01:00
suter_a b29c7247e7 make sure that the requested pointer is not a nullptr.
Build and Deploy Documentation / build-and-deploy (push) Successful in 21s
2026-02-23 12:52:26 +01:00
suter_a 92008a4e49 fix Boost_INCLUDE_DIR -> Boost_INCLUDE_DIRS
Build and Deploy Documentation / build-and-deploy (push) Successful in 21s
2026-02-21 17:38:11 +01:00
suter_a 49e355f58a updated the local user-docu.
Build and Deploy Documentation / build-and-deploy (push) Successful in 29s
2026-02-21 16:04:48 +01:00
suter_a 901fda9298 adopted ChangeLog. Fixed a minor issue in PTextEdit. Adopted ctests for the new NeXus handling.
Build and Deploy Documentation / build-and-deploy (push) Successful in 29s
2026-02-21 15:32:03 +01:00
suter_a 7115c0027c Merge branch 'nxs' into root6 2026-02-21 12:37:21 +01:00
suter_a 7d5aaf6429 increased the version number of musrfit and libPMusr. 2026-02-21 07:45:25 +01:00
suter_a 79b05cced7 adopted the PNeXus lib such that the class naming scheme is self-consistent. 2026-02-21 07:44:20 +01:00
suter_a 08350a2fde warning that deadtime correction estimate is not yet implemented. I am not even sure this would be a good feature. 2026-02-21 07:19:42 +01:00
suter_a 22b1ad7f2f full implementation of the deadtime correction from file for PRunAsymmetryRRF. 2026-02-21 07:15:44 +01:00
suter_a bb8bdafddd full implementation of the deadtime correction from file. 2026-02-21 07:10:48 +01:00
suter_a d5e305411f added a warning if deadtime correction cannot be carried out (missing parameters, etc.) 2026-02-21 07:09:36 +01:00
suter_a 50187b0c65 add DeadTimeCorrection to PRunAsymmetry - no ADDRUN handling yet. 2026-02-20 19:47:21 +01:00
suter_a d7908573b8 PRunSingleHistoRRF: add DeadTimeCorrection, and improve ADDRUN readability 2026-02-20 19:01:33 +01:00
suter_a 9aae350c13 move DeadTimeCorrection to PRunBase. Make ADDRUN part in PrepareData more readable. 2026-02-20 18:17:05 +01:00
suter_a 390b9770ca add an ADDRUN example. 2026-02-20 16:14:13 +01:00
suter_a ba939574a4 added musrview png ref test via ctest
Build and Deploy Documentation / build-and-deploy (push) Successful in 27s
2026-02-18 17:07:20 +01:00
suter_a c50e4a3a06 add ctest integration tests for musrfit maxLH/chisq validation
Build and Deploy Documentation / build-and-deploy (push) Successful in 28s
Add a Python-based test script that runs musrfit -c on each example
msr-file, extracts the maxLH or chisq value, and checks it against
a reference value with a relative tolerance of 1e-4. Covers all 13
example msr-files (single histogram and asymmetry fits).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 18:05:24 +01:00
suter_a f00f188f0b filter out '\r' and '\n' from command string (macOS issue). 2026-02-13 12:56:50 +01:00
suter_a 5a2f45c083 filter out '\r' and '\n' from command string (macOS issue).
Build and Deploy Documentation / build-and-deploy (push) Successful in 27s
2026-02-13 12:46:16 +01:00
suter_a 4136806847 better hdf4/5 include handling. 2026-02-11 16:05:02 +01:00
suter_a 6a41458310 start working on the deadtime correction. 2026-02-08 15:34:22 +01:00
suter_a d70fd34345 improved NeXus docu. 2026-02-08 09:11:36 +01:00
suter_a 3858cc723a improved docu for HDF4/5. 2026-02-07 21:43:34 +01:00
suter_a a6f5b956bf adopt HDF4 support for proper hierarchical writing of the data. 2026-02-07 21:26:35 +01:00
suter_a 86ecfc84af fixed a copy/paste error. 2026-02-07 21:24:14 +01:00
suter_a 8cb4fc7221 clean up HDF4 in PNeXus. First implementation for HDF4 IDF1/2 write. Compiles, but still some issues. 2026-02-07 20:54:09 +01:00
suter_a 95d087164d first full mandatory HDF5 IDF V2 writer. 2026-02-07 20:17:23 +01:00
suter_a 8f3ad0c61d PNeXus now handles std::vector<> attributes new correctly. HDF4/5 now is using int. 2026-02-07 20:00:27 +01:00
suter_a 49d42c93ba more work on HDF5 IDF V2. 2026-02-07 19:34:26 +01:00
suter_a df379b834e first full version for HDF5 IDF V1 write. 2026-02-07 17:25:52 +01:00
suter_a 3bb004ea2d more work on the NeXus write routines. 2026-02-07 11:31:11 +01:00
suter_a fc478d27c7 make sure that the config.h is accessible for the PMusr lib. 2026-02-07 11:29:48 +01:00
suter_a c690965025 add a function in the NeXus lib which gives the time in ISO8601. 2026-02-07 11:28:38 +01:00
suter_a 300c9200df start implementing the NeXus write routines, needed by any2many. 2026-02-07 08:05:42 +01:00
suter_a 4dcef1a835 add HDF4/HDF5 library version information, needed for writing. 2026-02-07 08:05:09 +01:00
suter_a 4519a0b76e add more complete dump info for NeXus. 2026-02-06 18:08:37 +01:00
suter_a 3aecdbf0a8 added the missing sample information when reading NeXus IDF V2. 2026-02-06 15:15:10 +01:00
suter_a dfa8852cfe removed debug tag. 2026-02-06 15:14:25 +01:00
suter_a 29fbb4a62b replace the NeXus IDF 2 example. 2026-02-06 14:03:55 +01:00
suter_a de8b02b94d more complete doxygen docu. 2026-02-06 12:43:55 +01:00
suter_a dd2f743b3a added docu by Claude for PNeXus. 2026-02-06 08:45:58 +01:00
suter_a d5dbc12175 NeXus HDF4/HDF5 IDF V1: read 'frames_good' 2026-02-05 13:29:27 +01:00
suter_a 643be9738f fixed wrong path in NeXus IDF V2. 2026-02-05 12:59:10 +01:00
suter_a 88b5e492dd NeXus IDF V2 detector_1 -> instrument/detector_1 where possible. 2026-02-05 12:08:40 +01:00
suter_a 810306cb2a first full IDF V2 implementation. 2026-02-05 10:59:15 +01:00
suter_a 43cb8b2460 start with the implementation of NeXus IDF V2. 2026-02-04 19:48:38 +01:00
suter_a ceb9673330 read deadtime parameters for IDF V1. 2026-02-04 17:57:48 +01:00
suter_a da0b356e3b more work on the deadtime correction on the msr-file side. 2026-02-04 13:29:07 +01:00
suter_a b262ee33c5 start implementing with the deadtime correction, if present 2026-02-04 13:20:10 +01:00
suter_a 12888be4c9 add deadtime correction related params. 2026-02-04 11:06:56 +01:00
suter_a 867ac4895b switched to HDF4/HDF5 template loading in order to simplify the code. 2026-02-04 09:26:49 +01:00
suter_a a6c9120d06 check for IDF 1/2. 2026-02-03 17:38:56 +01:00
suter_a 417901e271 HDF4 handling completed. 2026-02-03 16:17:06 +01:00
suter_a 8d1dcef2de add more HDF4 header info: counts. 2026-02-03 08:03:13 +01:00
suter_a 30fbd8eb67 fixed typo, and added file pointer checks. 2026-02-02 19:14:14 +01:00
suter_a 76dbd757e3 dump_header can now handle HDF4/HDF5 NeXus files, without the NeXus library. 2026-02-02 19:08:12 +01:00
suter_a c894c21bf3 add more HDF4 header info. 2026-02-02 08:02:41 +01:00
suter_a 008ca7210a add more HDF4 header info. 2026-02-01 19:49:55 +01:00
suter_a 60f11dfc0e add more HDF4 header info. 2026-02-01 18:55:49 +01:00
suter_a 3aaca28c87 start populating HDF4 header info. 2026-02-01 17:54:02 +01:00
suter_a d4f0855b19 fix git-revision.h generation: output to build tree and add missing dependencies
Generate git-revision.h into CMAKE_BINARY_DIR/src/ (which is in the
include path) instead of the source tree. Remove the header from
add_executable() source lists, and add missing add_dependencies on
git_revision for all Qt5/Qt6 targets.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 19:59:47 +01:00
suter_a 9d173203ff fix git-revision.h generation: output to build tree and add missing dependencies
Build and Deploy Documentation / build-and-deploy (push) Successful in 18s
Generate git-revision.h into CMAKE_BINARY_DIR/src/ (which is in the
include path) instead of the source tree. Remove the header from
add_executable() source lists, and add missing add_dependencies on
git_revision for all Qt5/Qt6 targets.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 19:52:16 +01:00
suter_a 00c980af68 generate git-revision.h at build time instead of configure time
Replace execute_process with add_custom_target so the git revision
check runs on every build, not just on cmake configure.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 19:40:33 +01:00
suter_a fb9d6e917c proper TDirectory handling for the histos. 2026-01-29 19:40:20 +01:00
suter_a 2eb0cf28d5 fixed missing TDirectory handling of RunSummary in dump_header.cpp 2026-01-29 19:40:10 +01:00
suter_a 8b054b77b9 generate git-revision.h at build time instead of configure time
Build and Deploy Documentation / build-and-deploy (push) Successful in 18s
Replace execute_process with add_custom_target so the git revision
check runs on every build, not just on cmake configure.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 19:35:20 +01:00
suter_a 4e29ad6898 proper TDirectory handling for the histos.
Build and Deploy Documentation / build-and-deploy (push) Successful in 19s
2026-01-26 20:32:34 +01:00
suter_a 4ac7a7d01c fixed missing TDirectory handling of RunSummary in dump_header.cpp
Build and Deploy Documentation / build-and-deploy (push) Successful in 20s
2026-01-26 19:52:41 +01:00
suter_a 65efb389c3 first test to read hdf4/hdf5 directly. 2026-01-25 16:20:10 +01:00
suter_a 83c8f6630c 2nd spot for cmake version check for policy setting. 2026-01-25 14:50:23 +01:00
suter_a 227bfb7419 2nd spot for cmake version check for policy setting.
Build and Deploy Documentation / build-and-deploy (push) Successful in 19s
2026-01-25 14:49:38 +01:00
suter_a 70eb0397df cmake version check for policy setting. 2026-01-25 14:45:46 +01:00
suter_a 3c02c6073a cmake version check for policy setting. 2026-01-25 14:43:49 +01:00
suter_a b3e4d247f0 add HDF4/HDF5 example programs. 2026-01-25 14:07:36 +01:00
suter_a 6aaed94adf add doxygen file comment. 2026-01-25 12:05:04 +01:00
suter_a c3e9c03920 added HDF5 ISIS NeXus class handling. 2026-01-25 11:15:49 +01:00
suter_a 909fa6519d added HDF4 ISIS NeXus class handling. 2026-01-25 10:51:23 +01:00
suter_a 3eea73f07a stub for new NeXus file handling. Not much is working yet. 2026-01-25 08:26:43 +01:00
suter_a f66c832d56 updated the copyright info. 2026-01-25 07:45:44 +01:00
suter_a 4de660788d updated the copyright info.
Build and Deploy Documentation / build-and-deploy (push) Successful in 26s
2026-01-25 07:42:29 +01:00
suter_a 990e280c8f set cmake Boost find policy. Removed NeXus library find from cmake, since it will not be used anymore. 2026-01-25 07:28:47 +01:00
suter_a af3c8832fe set cmake Boost find policy.
Build and Deploy Documentation / build-and-deploy (push) Successful in 28s
2026-01-25 07:26:25 +01:00
suter_a 7615e791d3 version update of the doxygen config file. 2026-01-24 18:30:18 +01:00
suter_a 394ea01d37 further playing with the Prefs dialog. 2026-01-24 18:30:06 +01:00
suter_a d19d7b59c8 further playing with the Prefs dialog. 2026-01-24 18:29:46 +01:00
suter_a 7dc0a237dc further playing with the Prefs dialog. 2026-01-24 18:29:37 +01:00
suter_a 1b4b9cc238 increased size of prefs dialog, since it seems too small for the newest qt6 version, especially on macOS. 2026-01-24 18:29:28 +01:00
suter_a 123acec405 version update of the doxygen config file.
Build and Deploy Documentation / build-and-deploy (push) Successful in 30s
2026-01-22 15:15:42 +01:00
suter_a eaa2ba8faf further playing with the Prefs dialog.
Build and Deploy Documentation / build-and-deploy (push) Successful in 18s
2026-01-21 12:19:34 +01:00
suter_a 8b9ac6e5b1 further playing with the Prefs dialog.
Build and Deploy Documentation / build-and-deploy (push) Successful in 26s
2026-01-21 12:16:27 +01:00
suter_a 2601e80c8a further playing with the Prefs dialog.
Build and Deploy Documentation / build-and-deploy (push) Successful in 19s
2026-01-21 11:20:08 +01:00
suter_a 1b91d8b281 increased size of prefs dialog, since it seems too small for the newest qt6 version, especially on macOS.
Build and Deploy Documentation / build-and-deploy (push) Successful in 27s
2026-01-21 11:11:17 +01:00
suter_a db54db3394 more detailed NeXus support message.
Build and Deploy Documentation / build-and-deploy (push) Successful in 18s
2026-01-16 18:00:39 +01:00
suter_a 84bb6e3a72 spirit classic/qi -> x3. Increase musrfit and library version to 1.9.10/1.7.0.
Build and Deploy Documentation / build-and-deploy (push) Successful in 18s
2026-01-16 09:24:09 +01:00
suter_a ce1bc1583b for tests/spirit: replace 'nil' by 'leer' since 'nil' leads to conflict with macOS. 2026-01-01 09:53:12 +01:00
suter_a 4adf66cb26 replace 'nil' by 'leer' since 'nil' leads to conflict with macOS. 2025-12-30 14:34:26 +01:00
suter_a 8a86351674 add missing header files for install for cmake. 2025-12-30 13:59:00 +01:00
suter_a 418ca6b0a1 add missing header file PFunctionsAst.h 2025-12-30 13:56:50 +01:00
suter_a 73aff4ec69 modernize musrfit function handling using spirit x3 instead of spirit classic now. 2025-12-30 13:31:18 +01:00
suter_a 7ce0926fd9 migrated spirit qi grammar to x3 of mupp variable handling. 2025-12-30 11:02:46 +01:00
suter_a e4ff8ca7d5 added doxygen docu to spirit X3 under tests.
Build and Deploy Documentation / build-and-deploy (push) Successful in 19s
2025-12-27 13:57:14 +01:00
suter_a 5d3981d8b2 test spirit parser moved from classic to X3.
Build and Deploy Documentation / build-and-deploy (push) Successful in 19s
2025-12-27 12:32:01 +01:00
suter_a 3442ca7b62 adopted from AFS to NFS.
Build and Deploy Documentation / build-and-deploy (push) Successful in 20s
2025-12-24 14:03:44 +01:00
suter_a a023a4b090 perform Fourier phase checks only if a Fourier block is present and not set to power spectra.
Build and Deploy Documentation / build-and-deploy (push) Successful in 20s
2025-12-22 16:09:32 +01:00
suter_a 642f878833 improve comment in comment.
Build and Deploy Documentation / build-and-deploy (push) Successful in 20s
2025-12-21 16:09:01 +01:00
suter_a 8852cf21cf add missing #include<cmath> to make some compilers happy (qt5 part).
Build and Deploy Documentation / build-and-deploy (push) Successful in 19s
2025-11-27 16:16:04 +01:00
suter_a 89f695d6ce adopt PFitter to ROOT v6-38-00 and make sure it is backwards compatible.
Build and Deploy Documentation / build-and-deploy (push) Successful in 20s
2025-11-27 15:32:16 +01:00
suter_a 975f48f3fa add missing #include<cmath> to make some compilers happy. 2025-11-27 15:30:45 +01:00
suter_a 93f6bccaef improve the doxygen docu of the BMWtools.
Build and Deploy Documentation / build-and-deploy (push) Successful in 20s
2025-11-25 18:51:57 +01:00
suter_a 1a922125bb improve the doxygen documentation of the plotter-part of mupp. 2025-11-25 18:33:31 +01:00
suter_a 322aa58fbc improve the doxygen documentation of the var-part of mupp. 2025-11-25 17:56:04 +01:00
suter_a 4cbf625b84 improve the doxygen docu of PVarDialog.* (musredit_qt6). 2025-11-25 17:36:13 +01:00
suter_a 1b0cddc0ee improve the doxygen docu of PmuppScript.* (musredit_qt6).
Build and Deploy Documentation / build-and-deploy (push) Successful in 20s
2025-11-25 12:30:59 +01:00
suter_a 4f52ff7b9b improve the doxygen docu of PmuppGui.* (musredit_qt6). 2025-11-25 12:23:33 +01:00
suter_a 0cb9b20738 improve the doxygen docu of PmuppAdmin.* (musredit_qt6).
Build and Deploy Documentation / build-and-deploy (push) Successful in 20s
2025-11-25 12:18:18 +01:00
suter_a 20d5955977 improve the doxygen docu of mupp.* Pmupp.* (musredit_qt6). 2025-11-25 09:27:59 +01:00
suter_a ab14747460 improve the doxygen docu of PTextEdit.* (musredit_qt6). 2025-11-25 09:16:43 +01:00
suter_a 6c87889f5c improve the doxygen docu of PSubTextEdit.* (musredit_qt6). 2025-11-25 08:52:43 +01:00
suter_a c434993763 improve the doxygen docu of PReplaceDialog.* (musredit_qt6). 2025-11-25 08:44:41 +01:00
suter_a 9fa970a53e improve the doxygen docu of PReplaceConfirmationDialog.* (musredit_qt6). 2025-11-25 08:39:44 +01:00
suter_a 87fcf91593 improve the doxygen docu of PPrefsDialog.* (musredit_qt6). 2025-11-25 08:36:54 +01:00
suter_a 02ddc3889d improve the doxygen docu of PMusrEditAbout.* (musredit_qt6). 2025-11-25 08:32:59 +01:00
suter_a 2fd0248e37 deal with Boost 1.89 not having system as component anymore. 2025-11-25 08:29:45 +01:00
suter_a b658b8b9de improve the doxygen docu of PMsr2DataDialog.* (musredit_qt6). 2025-11-25 07:58:47 +01:00
suter_a 948ac57be6 improve the doxygen docu of PGetTitleBlockDialog.* (musredit_qt6). 2025-11-25 07:52:10 +01:00
suter_a 4802a7a016 improve the doxygen docu of PGetTheoryBlockDialog.* (musredit_qt6). 2025-11-25 07:49:24 +01:00
suter_a 244baa4dd4 add PSI/VMS to dump_header.
Build and Deploy Documentation / build-and-deploy (push) Successful in 18s
2025-11-24 19:25:45 +01:00
suter_a e1f2941d7f add PSI/VMS to the musrfit_startup.xml.
Build and Deploy Documentation / build-and-deploy (push) Successful in 18s
2025-11-24 19:12:12 +01:00
suter_a 98ee6a3983 add musrStep and musrWiz to the workflow.
Build and Deploy Documentation / build-and-deploy (push) Successful in 20s
2025-11-24 18:23:45 +01:00
suter_a 3f50462ce4 make the technical docu more complete by adding musrStep and musrWiz.
Build and Deploy Documentation / build-and-deploy (push) Successful in 17s
2025-11-24 18:18:58 +01:00
suter_a 4c5a009305 Update .gitea/workflows/deploy-pages.yml
Build and Deploy Documentation / build-and-deploy (push) Successful in 18s
switch Qt docu from Qt5 to Qt6
2025-11-24 17:32:00 +01:00
suter_a 7e415e636c improve the doxygen docu of PGetSingleHistoRunBlockDialog.* (musredit_qt6).
Build and Deploy Documentation / build-and-deploy (push) Successful in 19s
2025-11-24 13:51:35 +01:00
suter_a b3bffd6a51 improve the doxygen docu of PGetPlotBlockDialog.* (musredit_qt6). 2025-11-24 13:44:21 +01:00
suter_a cbd6bb984e improve the doxygen docu of PGetParameterBlockDialog.* (musredit_qt6). 2025-11-24 13:40:15 +01:00
suter_a 1aec75d5ad improve the doxygen docu of PGetNonMusrRunBlockDialog.* (musredit_qt6). 2025-11-24 13:35:54 +01:00
suter_a 8b631e026c improve the doxygen docu of PGetMusrFTOptionsDialog.* (musredit_qt6). 2025-11-24 13:30:27 +01:00
suter_a 456bc2adb4 improve the doxygen docu of PGetFunctionBlockDialog.* (musredit_qt6). 2025-11-24 13:24:35 +01:00
suter_a 8b42254cbb improve the doxygen docu of PGetFourierBlockDialog.* (musredit_qt6). 2025-11-24 12:25:29 +01:00
suter_a 06ccceb810 improve the doxygen docu of PGetAsymmetryRunBlockDialog.* (musredit_qt6). 2025-11-24 11:15:21 +01:00
suter_a 6ca0461f9b improve the doxygen docu of PFitOutputHandler.* (musredit_qt6). 2025-11-24 11:08:03 +01:00
suter_a 9cbcec63be improve the doxygen docu of PFindDialog.* (musredit_qt6). 2025-11-24 10:53:43 +01:00
suter_a b714c8d170 improve the doxygen docu of PDumpOutputHandler.* (musredit_qt6). 2025-11-24 10:48:14 +01:00
suter_a eb807ade7b improve the doxygen docu of PChangeDefaultPathDialog.* (musredit_qt6). 2025-11-24 10:42:16 +01:00
suter_a 1f7ce9f88a improve the doxygen docu of PAdmin.* (musredit_qt6). 2025-11-24 10:34:58 +01:00
suter_a be24a3aa73 improve the doxygen docu of main.cpp and musredit.h (musredit_qt6). 2025-11-24 10:24:36 +01:00
suter_a aaa609b3e2 improve the doxygen docu of musrWiz.
Build and Deploy Documentation / build-and-deploy (push) Successful in 18s
2025-11-23 18:41:03 +01:00
suter_a a0e6a3a83d improve the doxygen docu of musrStep. 2025-11-23 18:25:48 +01:00
suter_a 0db498284f improve the doxygen docu of PUserFcn.* and PUserFcnBase.*
Build and Deploy Documentation / build-and-deploy (push) Successful in 18s
2025-11-23 17:58:07 +01:00
suter_a d8ae606a55 improve the doxygen docu of PTheory.* 2025-11-23 17:47:46 +01:00
suter_a e940ad09b4 improve the doxygen docu of PStartupHandler.* 2025-11-23 17:35:31 +01:00
suter_a 633f63b104 improve the doxygen docu of PRunSingleHistoRRF.* 2025-11-23 17:25:45 +01:00
suter_a db4b6395ef fixed a AI glich in the docu. 2025-11-23 17:08:43 +01:00
suter_a fa1d496cf5 improve the doxygen docu of PRunSingleHisto.*
Build and Deploy Documentation / build-and-deploy (push) Successful in 19s
2025-11-15 21:31:09 +01:00
suter_a 310713da0e improve the doxygen docu of PRunNonMusr.* 2025-11-15 08:42:21 +01:00
suter_a 3e545f1d50 improve the doxygen docu of PRunMuMinus.* 2025-11-15 08:35:24 +01:00
suter_a 278fd47e52 improve the doxygen docu of PRunListCollection.* 2025-11-15 08:27:51 +01:00
suter_a 26b87e0659 improve the doxygen docu of PRunDataHandler.h 2025-11-15 08:16:15 +01:00
suter_a 38decd8b58 improve the doxygen docu of PRunBase.* 2025-11-15 08:02:11 +01:00
suter_a a05b4fe867 improve the doxygen docu of PRunAsymmetryRRF.* 2025-11-15 07:54:12 +01:00
suter_a 7b82b2c2c8 improve the doxygen docu of PRunAsymmetry.*. 2025-11-15 07:43:49 +01:00
suter_a 4d5ad0a00c improve doxygen documentation of PRunAsymmetryBNMR.*
Build and Deploy Documentation / build-and-deploy (push) Successful in 17s
2025-11-14 10:21:07 +01:00
suter_a c5d5038b4d improve doxygen documentation of PRgeHandler.* 2025-11-14 10:05:36 +01:00
suter_a be8161bac1 improve doxygen documentation of PPrepFourier.* 2025-11-14 09:57:18 +01:00
suter_a cdd248d116 improve doxygen documentation of PMusrT0.* 2025-11-14 09:48:35 +01:00
suter_a 26d55bc048 improve doxygen documentation of PMusrCanvas.* 2025-11-14 09:36:18 +01:00
suter_a 218e2125e3 improve doxygen documentation of PMsrHandler.* 2025-11-14 09:22:24 +01:00
suter_a 5f1b4fa5f5 improve doxygen documentation of PMsr2Data.* 2025-11-14 09:11:28 +01:00
suter_a a40c431396 improve doxygen documentation of PMsgBox.* 2025-11-14 07:57:06 +01:00
suter_a 40a797c0da improve doxygen documentation of PFunction.* and PFunctionGrammar.h
Build and Deploy Documentation / build-and-deploy (push) Successful in 18s
2025-11-14 07:50:50 +01:00
suter_a f8a2d646dc improve the doxygen docu.
Build and Deploy Documentation / build-and-deploy (push) Successful in 19s
2025-11-13 08:36:42 +01:00
suter_a 224f7a15d0 improve the doxygen docu. 2025-11-13 07:59:10 +01:00
suter_a 25024aae6b improve the doxygen docu with the help of Claude AI.
Build and Deploy Documentation / build-and-deploy (push) Successful in 17s
2025-11-12 20:32:20 +01:00
suter_a 4ab01f4faf added some more sanity checks for dump_header.
Build and Deploy Documentation / build-and-deploy (push) Successful in 19s
2025-11-12 17:56:33 +01:00
suter_a 5ae66a0614 added some more sanity checks for any2many. 2025-11-12 13:13:40 +01:00
suter_a d38fb078f9 added some more sanity checks for addRun. 2025-11-12 12:21:08 +01:00
suter_a f1587af451 added some more sanity checks for musrview. 2025-11-12 11:05:56 +01:00
suter_a ddf434f595 added some more sanity checks for musrt0. 2025-11-12 10:48:36 +01:00
suter_a 22112e47b2 added paranoia pointer checks.
Build and Deploy Documentation / build-and-deploy (push) Successful in 17s
2025-11-12 08:09:03 +01:00
suter_a 9363bafec4 make sure that the comment content is not confused with end of comment. 2025-11-12 08:06:38 +01:00
suter_a 3d07894b2d use Claude ai to generate doxygen documentation.
Build and Deploy Documentation / build-and-deploy (push) Successful in 17s
2025-11-10 15:14:08 +01:00
suter_a 262b5a36aa Update README.md - updated the docu web-page link.
Build and Deploy Documentation / build-and-deploy (push) Successful in 16s
2025-11-06 14:25:13 +01:00
suter_a 7745fe6e65 Update README.md
Build and Deploy Documentation / build-and-deploy (push) Successful in 16s
updated the docu web-page link
2025-11-06 14:13:08 +01:00
suter_a 189f95cb04 Update ChangeLog
Build and Deploy Documentation / build-and-deploy (push) Successful in 18s
2025-10-15 08:00:50 +02:00
suter_a f3250ededc Update INSTALL
Build and Deploy Documentation / build-and-deploy (push) Successful in 19s
2025-10-15 07:58:50 +02:00
bruhn_b 9820c5dba7 Update .gitea/workflows/deploy-pages.yml
Build and Deploy Documentation / build-and-deploy (push) Successful in 17s
2025-10-13 16:10:07 +02:00
ebner 7b9a473296 Update .gitea/workflows/deploy-pages.yml
Build and Deploy Documentation / build-and-deploy (push) Successful in 13s
2025-10-13 15:40:41 +02:00
ebner 23e68c1c4f Update .gitea/workflows/deploy-pages.yml
Build and Deploy Documentation / build-and-deploy (push) Failing after 17s
test
2025-10-13 15:36:51 +02:00
bruhn_b c9414f7f08 Update .gitea/workflows/deploy-pages.yml
Build and Deploy Documentation / build-and-deploy (push) Successful in 11s
2025-10-13 15:31:08 +02:00
685 changed files with 54790 additions and 14337 deletions
+5 -4
View File
@@ -25,8 +25,10 @@ jobs:
cd doc
mkdir technical
doxygen musrfit_dox.cfg
doxygen musredit_qt5_dox.cfg
doxygen mupp_qt5_dox.cfg
doxygen musredit_qt6_dox.cfg
doxygen mupp_qt6_dox.cfg
doxygen musrStep_qt6_dox.cfg
doxygen musrWiz_qt6_dox.cfg
- name: Configure Git
run: |
@@ -40,5 +42,4 @@ jobs:
cp -r ./doc/technical/html/* .
git add .
git commit -m "Deploy site"
git push -f https://${{secrets.GITHUB_TOKEN}}@gitea.psi.ch/${{ github.repository }}.git gitea-pages
git push --verbose -f https://${{secrets.GITHUB_TOKEN}}@gitea.psi.ch/${{ github.repository }}.git gitea-pages
+99 -29
View File
@@ -1,7 +1,19 @@
# - musrfit
cmake_minimum_required(VERSION 3.17)
project(musrfit VERSION 1.9.9 LANGUAGES C CXX)
# cmake: use BoostConfig.cmake instead of FindBoost
if (CMAKE_VERSION GREATER_EQUAL "3.3")
cmake_policy(SET CMP0167 NEW)
endif ()
project(musrfit VERSION 1.10.0 LANGUAGES C CXX)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
set(CMAKE_INSTALL_LIBDIR lib CACHE PATH "Object code libraries")
include(GNUInstallDirs)
#--- musrfit specific options -------------------------------------------------
option(nexus "build optional NeXus support. Needed for ISIS" OFF)
@@ -73,11 +85,6 @@ find_package(Git REQUIRED)
#--- check for ROOT -----------------------------------------------------------
find_package(ROOT 6.18 REQUIRED COMPONENTS Gui MathMore Minuit2 XMLParser)
if (ROOT_mathmore_FOUND)
execute_process(COMMAND root-config --bindir OUTPUT_VARIABLE ROOT_BINDIR)
string(STRIP ${ROOT_BINDIR} ROOT_BINDIR)
execute_process(COMMAND root-config --version OUTPUT_VARIABLE ROOT_VERSION)
string(STRIP ${ROOT_VERSION} ROOT_VERSION)
message("-- Found ROOT: ${ROOT_BINDIR} (found version: ${ROOT_VERSION})")
#---Define useful ROOT functions and macros (e.g. ROOT_GENERATE_DICTIONARY)
include(${ROOT_USE_FILE})
endif (ROOT_mathmore_FOUND)
@@ -92,11 +99,14 @@ endif ()
set(ROOT_GRTEQ_24 ${ROOT_GRTEQ_24} CACHE INTERNAL "ROOT Version check")
#--- check for boost ----------------------------------------------------------
find_package(Boost REQUIRED
COMPONENTS
system
filesystem
)
find_package(Boost QUIET)
if (Boost_VERSION VERSION_GREATER_EQUAL "1.89")
find_package(Boost REQUIRED COMPONENTS filesystem)
set(BOOST_LINK_LIBS Boost::filesystem)
else (Boost_VERSION VERSION_GREATER_EQUAL "1.89")
find_package(Boost REQUIRED COMPONENTS system filesystem)
set(BOOST_LINK_LIBS Boost::filesystem Boost::system)
endif (Boost_VERSION VERSION_GREATER_EQUAL "1.89")
message(STATUS "Boost libs: ${Boost_LIBRARIES}")
#--- check for gsl ------------------------------------------------------------
@@ -112,7 +122,7 @@ find_package(LibXml2 REQUIRED)
if (try_OpenMP)
find_package(OpenMP)
if (OpenMP_CXX_FOUND)
add_definitions(-DHAVE_GOMP)
add_compile_definitions(HAVE_GOMP)
set(HAVE_GOMP 1 CACHE INTERNAL "Have GOMP")
endif (OpenMP_CXX_FOUND)
endif (try_OpenMP)
@@ -198,14 +208,38 @@ if (qt_based_tools)
endif (qt_version STREQUAL 3)
endif (qt_based_tools)
#--- if NeXus check also for HDF4, HDF5, and MXML -----------------------------
#--- if NeXus check also for HDF4 (optional), HDF5 ----------------------------
if (nexus)
find_package(HDF5 COMPONENTS CXX REQUIRED)
if (HAVE_HDF4)
find_package(HDF4 REQUIRED)
endif (HAVE_HDF4)
find_package(NEXUS REQUIRED)
add_definitions(-DPNEXUS_ENABLED)
#--- check for HDF4 -----------------------------------------------------------
# Find HDF4 manually (pkg-config often doesn't have hdf4)
find_path(HDF4_INCLUDE_DIR
NAMES mfhdf.h
PATH_SUFFIXES hdf
)
find_library(HDF4_DF_LIBRARY
NAMES df libdf
)
find_library(HDF4_MFHDF_LIBRARY
NAMES mfhdf libmfhdf
)
if (HDF4_INCLUDE_DIR AND HDF4_DF_LIBRARY AND HDF4_MFHDF_LIBRARY)
set(HDF4_FOUND TRUE)
set(HDF4_INCLUDE_DIRS ${HDF4_INCLUDE_DIR})
set(HDF4_LIBRARIES ${HDF4_MFHDF_LIBRARY} ${HDF4_DF_LIBRARY})
message(STATUS "Found HDF4: ${HDF4_INCLUDE_DIR}")
message(STATUS " HDF4 libraries: ${HDF4_LIBRARIES}")
else()
message(FATAL_ERROR "HDF4 library not found. Please install libhdf4-dev or hdf-devel")
endif()
add_compile_definitions(HAVE_HDF4)
endif (HAVE_HDF4)
add_compile_definitions(PNEXUS_ENABLED)
endif (nexus)
#--- check for Cuba lib if BMWlibs are enabled --------------------------------
@@ -226,13 +260,15 @@ endif ()
#--- start create git-revision.h ----------------------------------------------
if (IS_GIT_REPO)
execute_process(COMMAND sh ${CMAKE_SOURCE_DIR}/src/git_revision.sh)
add_custom_target(git_revision ALL
COMMAND sh ${CMAKE_SOURCE_DIR}/src/git_revision.sh ${CMAKE_BINARY_DIR}/src
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
COMMENT "Checking git revision"
)
set(HAVE_GIT_REV_H "-DHAVE_GIT_REV_H")
set(GIT_REV_H "git-revision.h")
set(HAVE_GIT_REV_H "-DHAVE_GIT_REV_H")
else (IS_GIT_REPO)
set(HAVE_GIT_REV_H "")
set(GIT_REV_H "")
set(HAVE_GIT_REV_H "")
endif (IS_GIT_REPO)
#--- end create git-revision.h ------------------------------------------------
@@ -245,24 +281,30 @@ set(CMAKE_SKIP_BUILD_RPATH FALSE)
# (but later on when installing)
set(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE)
set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")
set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_FULL_LIBDIR}")
# add the automatically determined parts of the RPATH
# which point to directories outside the build tree to the install RPATH
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
# the RPATH to be used when installing, but only if it's not a system directory
list(FIND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES "${CMAKE_INSTALL_PREFIX}/lib" isSystemDir)
list(FIND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES "${CMAKE_INSTALL_FULL_LIBDIR}" isSystemDir)
if("${isSystemDir}" STREQUAL "-1")
set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")
set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_FULL_LIBDIR}")
endif("${isSystemDir}" STREQUAL "-1")
set(rpath ${CMAKE_INSTALL_RPATH})
string(APPEND rpath ";/usr/local/lib")
set(CMAKE_INSTALL_RPATH "${rpath}")
if (UNIX)
set(rpath ${CMAKE_INSTALL_RPATH})
string(APPEND rpath ";/usr/local/lib")
set(CMAKE_INSTALL_RPATH "${rpath}")
endif ()
#--- propagate to the sub-directories -----------------------------------------
add_subdirectory(src)
#--- testing ------------------------------------------------------------------
enable_testing()
add_subdirectory(tests)
#--- write summary of the installation
cmake_host_system_information(RESULT PROCESSOR QUERY PROCESSOR_DESCRIPTION)
@@ -307,7 +349,6 @@ if (nexus)
message(" HDF4 not present.")
endif (HAVE_HDF4)
message(" HDF5 found in ${HDF5_INCLUDE_DIRS}, Version: ${HDF5_VERSION}")
message(" NeXus found in ${NEXUS_INCLUDE_DIR}, Version: ${NEXUS_VERSION_STRING}")
endif (nexus)
message("")
@@ -403,6 +444,35 @@ message("")
message("-------------------------------------------------------------------------")
message("")
#--- generate and install cmake package config files --------------------------
include(CMakePackageConfigHelpers)
configure_package_config_file(
${CMAKE_SOURCE_DIR}/cmake/musrfitConfig.cmake.in
${CMAKE_CURRENT_BINARY_DIR}/musrfitConfig.cmake
INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/musrfit
)
write_basic_package_version_file(
${CMAKE_CURRENT_BINARY_DIR}/musrfitConfigVersion.cmake
VERSION ${PROJECT_VERSION}
COMPATIBILITY AnyNewerVersion
)
install(
EXPORT musrfitTargets
FILE musrfitTargets.cmake
NAMESPACE musrfit::
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/musrfit
)
install(
FILES
${CMAKE_CURRENT_BINARY_DIR}/musrfitConfig.cmake
${CMAKE_CURRENT_BINARY_DIR}/musrfitConfigVersion.cmake
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/musrfit
)
#--- cpack specific info ......................................................
file(TO_NATIVE_PATH ${PROJECT_SOURCE_DIR} PROJECT_SOURCE_DIR_NATIVE)
file(TO_NATIVE_PATH ${PROJECT_BINARY_DIR} PROJECT_BINARY_DIR_NATIVE)
+14 -2
View File
@@ -6,11 +6,23 @@ The ChangeLog will describe feature changes rather than coding detail changes.
For detailed information about changes have a look here:
https://gitlab.psi.ch/nemu/musrfit/activity
https://gitea.psi.ch/LMU/musrfit
or
https://bitbucket.org/muonspin/musrfit/commits/all
https://bitbucket.org/muonspin/musrfit
Release of V1.10.0, 2026/02/21
==============================
ditch the use of the NeXus lib. NeXus files are now directly read via hdf4/5
add deadtime correction of pulsed sources, assuming the relevant parameters are
present in the file.
Release of V1.9.10, 2026/01/16
==============================
function handling lifted from boost/spirit classic/qi to x3
Release of V1.9.9, 2025/06/08
=============================
+3 -3
View File
@@ -18,7 +18,7 @@ directory and
cd build
cmake ../ -DCMAKE_INSTALL_PREFIX=$ROOTSYS (or where ever musrfit should be installed)
cmake --build ./ --clean-first
make install (as superuser -- maybe)
cmake --install ./ (as superuser -- maybe)
/sbin/ldconfig (as superuser)
cmake configuration allows a couple of switches. For details check the documentation at
@@ -31,7 +31,7 @@ An example with NeXus support and BMWlibs needed would look like this
cd build
cmake ../ -Dnexus=1 -DBMWlibs=1 -DCMAKE_INSTALL_PREFIX=$ROOTSYS
cmake --build ./ --clean-first
make install (as superuser -- maybe)
cmake --install ./ (as superuser -- maybe)
/sbin/ldconfig (as superuser)
In the optimal case everything is ready to be used ;-)
@@ -43,7 +43,7 @@ In the optimal case everything is ready to be used ;-)
More information regarding software requirements and the installation process
can be found here:
http://lmu.web.psi.ch/musrfit/user/MUSR/MusrFitSetup.html
https://lmu.pages.psi.ch/musrfit-docu/setup-standard.html
#---------------------------------------------------------------------
# this is the end ...
+1 -1
View File
@@ -32,7 +32,7 @@ Documentation
For a more exhaustive user documentation see:
http://lmu.web.psi.ch/musrfit/user/html/index.html
https://lmu.pages.psi.ch/musrfit-docu/index.html
Contacts
+37 -37
View File
@@ -1,37 +1,37 @@
# musrfit - muSR and beta-NMR data analysis package #
### Contents ###
This is a data analysis package to analyze time differential muSR and beta-NMR data.
Currently it allows the following:
* set up most commonly used fitting functions for muSR and beta-NMR
* fit data, including global fits
* show the fit results and the residuals
* show the Fourier transform of the data
* easily extract the fit parameters and import in other programs (gnuplot, qtiplot/origin, ...)
* generate input fitting files for follow-up runs
* generate global input fitting files based on a single run template
* implement more sophisticated user functions
(e.g. GL vortex lattice, Meissner screening including low-energy muon stopping profiles)
### Currently supported platforms: ###
* Linux
* Mac OS X
* Windows 10 1809 or newer - current state is for the commited ones
* Web based implementation - http://musruser.psi.ch/cgi-bin/musrfit.cgi
### Documentation ####
For a more exhaustive user documentation see:
http://lmu.web.psi.ch/musrfit/user/html/index.html
### Contacts ###
<andreas.suter@psi.ch>
For the beta-NMR related parts, please contact Zaher Salman
<zaher.salman@psi.ch>
# musrfit - muSR and beta-NMR data analysis package #
### Contents ###
This is a data analysis package to analyze time differential muSR and beta-NMR data.
Currently it allows the following:
* set up most commonly used fitting functions for muSR and beta-NMR
* fit data, including global fits
* show the fit results and the residuals
* show the Fourier transform of the data
* easily extract the fit parameters and import in other programs (gnuplot, qtiplot/origin, ...)
* generate input fitting files for follow-up runs
* generate global input fitting files based on a single run template
* implement more sophisticated user functions
(e.g. GL vortex lattice, Meissner screening including low-energy muon stopping profiles)
### Currently supported platforms: ###
* Linux
* Mac OS X
* Windows 10 1809 or newer - current state is for the commited ones
* Web based implementation - http://musruser.psi.ch/cgi-bin/musrfit.cgi
### Documentation ####
For a more exhaustive user documentation see:
https://lmu.pages.psi.ch/musrfit-docu/index.html
### Contacts ###
<andreas.suter@psi.ch>
For the beta-NMR related parts, please contact Zaher Salman
<zaher.salman@psi.ch>
+1 -1
View File
@@ -17,7 +17,7 @@ set (CPACK_RESOURCE_FILE_LICENSE "@PROJECT_SOURCE_DIR@/COPYING")
set (CPACK_RESOURCE_FILE_README "@PROJECT_SOURCE_DIR@/README.md")
set (CPACK_RESOURCE_FILE_WELCOME "@PROJECT_SOURCE_DIR@/cmake/welcome.txt")
set (CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION "@CMAKE_INSTALL_PREFIX@;@CMAKE_INSTALL_PREFIX@/bin;@CMAKE_INSTALL_PREFIX@/include;@CMAKE_INSTALL_PREFIX@/share;@CMAKE_INSTALL_PREFIX@/lib64;@CMAKE_INSTALL_PREFIX@/lib;@CMAKE_INSTALL_PREFIX@/pkgconfig")
set (CPACK_RPM_EXCLUDE_FROM_AUTO_FILELIST_ADDITION "@CMAKE_INSTALL_PREFIX@;@CMAKE_INSTALL_PREFIX@/bin;@CMAKE_INSTALL_PREFIX@/include;@CMAKE_INSTALL_PREFIX@/share;@CMAKE_INSTALL_PREFIX@/lib64;@CMAKE_INSTALL_PREFIX@/lib;@CMAKE_INSTALL_PREFIX@/pkgconfig;@CMAKE_INSTALL_PREFIX@/share/applications;@CMAKE_INSTALL_PREFIX@/share/icons;@CMAKE_INSTALL_PREFIX@/share/icons/hicolor;@CMAKE_INSTALL_PREFIX@/share/icons/hicolor/48x48;@CMAKE_INSTALL_PREFIX@/share/icons/hicolor/48x48/apps")
# we do not have any absolute paths, so do not need DESTDIR
set (CPACK_SET_DESTDIR "OFF")
+1 -3
View File
@@ -74,9 +74,7 @@ endfunction()
#as35 return()
#as35 endif()
find_path(FFTW3_INCLUDE NAMES fftw3.h
HINTS "/usr/include" "/opt/local/include" "/app/include"
)
find_path(FFTW3_INCLUDE NAMES fftw3.h)
find_library(FFTW3_LIBRARY fftw3)
find_library(FFTW3_OMP_LIBRARY fftw3_omp)
-97
View File
@@ -1,97 +0,0 @@
## Process this file with cmake
#=============================================================================
# NeXus - Neutron & X-ray Common Data Format
#
# CMakeLists for building the NeXus library and applications.
#
# Copyright (C) 2011 Stephen Rankin
#
# This library is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by the
# Free Software Foundation; either version 2 of the License, or (at your
# option) any later version.
#
# This library is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
# for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this library; if not, write to the Free Software Foundation,
# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
# For further information, see <http://www.nexusformat.org>
#
#
#=============================================================================
#------------------------------------------------------------------------------
# find the runtime binaries of the HDF4 library
#------------------------------------------------------------------------------
find_library(HDF4_DF_LIBRARY NAMES df hdf
HINTS ENV HDF4_ROOT
PATH_SUFFIXES hdf)
if(HDF4_DF_LIBRARY MATCHES HDF4_DF_LIBRARY-NOTFOUND)
message(FATAL_ERROR "Could not find HDF4 DF library!")
else()
get_filename_component(HDF4_LIBRARY_DIRS ${HDF4_DF_LIBRARY} PATH)
message(STATUS "Found HDF4 DF library: ${HDF4_DF_LIBRARY}")
message(STATUS "HDF4 libary path: ${HDF4_LIBRARY_DIRS}")
endif()
find_library(HDF4_MFHDF_LIBRARY NAMES mfhdf
HINTS ENV HDF4_ROOT
PATH_SUFFIXES hdf)
if(HDF4_MFHDF_LIBRARY MATCHES HDF4_MFHDF_LIBRARY-NOTFOUND)
message(FATAL_ERROR "Could not find HDF5 MFHDF library!")
else()
message(STATUS "Found HDF4 MFHDF library: ${HDF4_MFHDF_LIBRARY}")
endif()
#------------------------------------------------------------------------------
# find the HDF4 header file
#------------------------------------------------------------------------------
find_path(HDF4_INCLUDE_DIRS mfhdf.h
HINTS ENV HDF4_ROOT
PATH_SUFFIXES hdf)
if(HDF4_INCLUDE_DIRS MATCHES HDF4_INCLUDE_DIRS-NOTFOUND)
message(FATAL_ERROR "Could not find HDF4 header files")
else()
message(STATUS "Found HDF4 header files in: ${HDF4_INCLUDE_DIRS}")
endif()
#------------------------------------------------------------------------------
# search for additional packages required to link against HDF4
#------------------------------------------------------------------------------
find_package(JPEG REQUIRED)
#------------------------------------------------------------------------------
# add libraries to the link list for NAPI
#------------------------------------------------------------------------------
get_filename_component(LIB_EXT ${HDF4_DF_LIBRARY} EXT)
if(LIB_EXT MATCHES .a)
message(STATUS "HDF4 DF library is static")
list(APPEND NAPI_LINK_LIBS "-Wl,-whole-archive" ${HDF4_DF_LIBRARY} "-Wl,-no-whole-archive")
else()
list(APPEND NAPI_LINK_LIBS ${HDF4_DF_LIBRARY})
endif()
get_filename_component(LIB_EXT ${HDF4_MFHDF_LIBRARY} EXT)
if(LIB_EXT MATCHES .a)
message(STATUS "HDF4 MFHDF library is static")
list(APPEND NAPI_LINK_LIBS "-Wl,-whole-archive" ${HDF4_MFHDF_LIBRARY} "-Wl,-no-whole-archive")
else()
list(APPEND NAPI_LINK_LIBS ${HDF4_MFHDF_LIBRARY})
endif()
list(APPEND NAPI_LINK_LIBS jpeg)
include_directories ( SYSTEM ${HDF4_INCLUDE_DIRS} )
link_directories(${HDF4_LIBRARY_DIRS})
-34
View File
@@ -1,34 +0,0 @@
# - find MXML
# find the MXML lib and includes
# This module defines
# LIBMXML_INCLUDE_DIR, where to find mxml.h
# LIBMXML_LIBRARY, library to link against
# LIBMXML_FOUND, if false, do not try to use the MXML lib
find_path(LIBMXML_INCLUDE_DIR mxml.h
HINT "/usr/include"
)
# find position of mxml.h from the end
string(FIND "${LIBMXML_INCLUDE_DIR}" "/mxml.h" pos REVERSE)
# truncate the string
string(SUBSTRING "${LIBMXML_INCLUDE_DIR}" 0 ${pos} substr)
set(LIBMXML_INCLUDE_DIR ${substr})
unset(substr)
find_library(LIBMXML_LIBRARY mxml)
# get version string
# currently do not know from where to get it automatically
# handle the QUIETLY and REQUIRED arguments and set LIBMXML_FOUND to TRUE if
# all listed variables are TRUE
include(${CMAKE_ROOT}/Modules/FindPackageHandleStandardArgs.cmake)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(MXML
REQUIRED_VARS LIBMXML_LIBRARY LIBMXML_INCLUDE_DIR)
if (NOT LIBMXML_FOUND)
unset(LIBMXML_LIBRARY)
endif()
mark_as_advanced(LIBMXML_INCLUDE_DIR LIBMXML_LIBRARY)
-45
View File
@@ -1,45 +0,0 @@
# - Find NeXus library
# Find the native NEXUS includes and library
# This module defines
# NEXUS_INCLUDE_DIR, where to find NeXus.h, etc.
# NEXUS_LIBRARY, library to link against to use NEXUS
# NEXUS_FOUND, if false, do not try to use NEXUS.
find_path(NEXUS_INCLUDE_DIR napi.h
HINTS "/usr/local/include" "/opt/nexus/include" "/usr/local/include/nexus"
)
# find position of napi.h from the end
string(FIND "${NEXUS_INCLUDE_DIR}" "/napi.h" pos REVERSE)
# truncate the string
string(SUBSTRING "${NEXUS_INCLUDE_DIR}" 0 ${pos} substr)
set(NEXUS_INCLUDE_DIR ${substr})
unset(substr)
find_library(NEXUS_LIBRARY NeXus
HINTS "/usr/lib" "/usr/lib64" "/usr/local/lib" "/usr/local/lib64" "/opt/nexus/lib")
# get version string
if (NEXUS_INCLUDE_DIR AND EXISTS ${NEXUS_INCLUDE_DIR}/napi.h)
file(STRINGS "${NEXUS_INCLUDE_DIR}/napi.h" NEXUS_version_str
REGEX "^#define[\t ]+NEXUS_VERSION[\t ].*")
string(REGEX REPLACE "^#define[\t ]+NEXUS_VERSION[\t ]+\"([^\"]*).*"
"\\1" NEXUS_VERSION_STRING "${NEXUS_version_str}")
unset(NEXUS_version_str)
endif()
# handle the QUIETLY and REQUIRED arguments and set NEXUS_FOUND to TRUE if
# all listed variables are TRUE
include(${CMAKE_ROOT}/Modules/FindPackageHandleStandardArgs.cmake)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(NEXUS
REQUIRED_VARS NEXUS_LIBRARY NEXUS_INCLUDE_DIR
VERSION_VAR NEXUS_VERSION_STRING)
if (NOT NEXUS_FOUND)
unset(NEXUS_LIBRARY)
endif()
mark_as_advanced(NEXUS_INCLUDE_DIR NEXUS_LIBRARY)
+13
View File
@@ -0,0 +1,13 @@
[Desktop Entry]
Name=MuSRedit
Comment=editor and launcher for the musrfit data analysis
GenericName=musrfit editor
Exec=musredit %F
Icon=musredit
Terminal=false
Type=Application
StartupWMClass=MuSRedit
Categories=Science;DataEditing;
MimeType=text/plain;
Keywords=muSR;fitting;musrfit;physics;muon;
StartupNotify=true
+2
View File
@@ -91,6 +91,8 @@ rm -rf $RPM_BUILD_ROOT
%_prefix/lib64/*
%license COPYING
%doc %_prefix/share/doc/musrfit
%{_datadir}/applications/musredit.desktop
%{_datadir}/icons/hicolor/48x48/apps/musredit.png
+15
View File
@@ -0,0 +1,15 @@
# musrfitConfig.cmake.in
# CMake package configuration template for musrfit.
# Generated by configure_package_config_file().
@PACKAGE_INIT@
include(CMakeFindDependencyMacro)
find_dependency(ROOT REQUIRED COMPONENTS Gui MathMore Minuit2 XMLParser)
find_dependency(Boost REQUIRED COMPONENTS filesystem)
find_dependency(GSL REQUIRED)
include("${CMAKE_CURRENT_LIST_DIR}/musrfitTargets.cmake")
check_required_components(musrfit)
+7
View File
@@ -10,3 +10,10 @@ then
fi
/sbin/ldconfig
#update .desktop and icons
if command -v update-desktop-database &>/dev/null; then
update-desktop-database -q /usr/share/applications || true
fi
if command -v gtk-update-icon-cache &>/dev/null; then
gtk-update-icon-cache -q -t /usr/share/icons/hicolor || true
fi
+8
View File
@@ -3,3 +3,11 @@
echo " >> musrfit post uninstall script started ..."
/sbin/ldconfig
#update .desktop and icons
if command -v update-desktop-database &>/dev/null; then
update-desktop-database -q /usr/share/applications || true
fi
if command -v gtk-update-icon-cache &>/dev/null; then
gtk-update-icon-cache -q -t /usr/share/icons/hicolor || true
fi
+1 -1
View File
@@ -8,7 +8,7 @@
***************************************************************************/
/***************************************************************************
* Copyright (C) 2007-2025 by Andreas Suter *
* Copyright (C) 2007-2026 by Andreas Suter *
* andreas.suter@psi.ch *
* *
* This program is free software; you can redistribute it and/or modify *
+1 -1
View File
@@ -8,7 +8,7 @@
***************************************************************************/
/***************************************************************************
* Copyright (C) 2007-2025 by Andreas Suter *
* Copyright (C) 2007-2026 by Andreas Suter *
* andreas.suter@psi.ch *
* *
* This program is free software; you can redistribute it and/or modify *
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+51
View File
@@ -0,0 +1,51 @@
# This is a comment
# Script: sigmaSC-vs-temp.txt
loadPath ./
load YBCO-40nm-FC-E3p8keV-B10mT-Tscan.db # collection 0
load YBCO-40nm-FC-E3p8keV-B150mT-Tscan.db # collection 1
# declare the python variables (one block for all of them, see below)
var SigmaSC_10 = python
var SigmaSC_10Err = python
var SigmaSC_150 = python
var SigmaSC_150Err = python
# a single python block can serve several collections: address each one
# explicitly via coll[]/collErr[], either by index (coll[0], B=10mT) or by name
# (coll['...Tscan.db'], B=150mT). Both addressing modes are shown here.
<python>
import numpy as np
# B=10mT -> collection 0, addressed by index
s10 = np.array(coll[0]['Sigma'])
se10 = np.array(collErr[0]['Sigma'])
SigmaSC_10 = np.sqrt(abs(s10**2-0.11**2))
SigmaSC_10Err = np.sqrt((s10*se10)**2+(0.11*0.0025)**2)/SigmaSC_10
# B=150mT -> collection 1, addressed by name
s150 = np.array(coll['YBCO-40nm-FC-E3p8keV-B150mT-Tscan.db']['Sigma'])
se150 = np.array(collErr['YBCO-40nm-FC-E3p8keV-B150mT-Tscan.db']['Sigma'])
SigmaSC_150 = np.sqrt(abs(s150**2-0.075**2))
SigmaSC_150Err = np.sqrt((s150*se150)**2+(0.075*0.0025)**2)/SigmaSC_150
</python>
# link variables to collections
col 0 : SigmaSC_10 # error variable SigmaSC_10Err doesn't need to be given, it is automatically linked to SigmaSC_10
col 1 : SigmaSC_150
norm
select 0
x dataT
y SigmaSC_10
select 1
x dataT
y SigmaSC_150
savePath ./
plot SigmaSCVsTemp_py.pdf
macro SigmaSCVsTemp_py.C
# end
+19 -19
View File
@@ -1,34 +1,34 @@
nc-ZnO T=80 F=69
Ag_T=100_F=20
###############################################################
FITPARAMETER
# No Name Value Step Pos_Error Boundaries
1 alpha 0.88008 -0.00063 0.00063
2 asym 0.1708 -0.0017 0.0017 0 0.3
3 phase 3.90 -0.38 0.38 0 100
4 field 71.003 -0.036 0.036 0 none
5 rate 0.1526 -0.0024 0.0024 0 100
6 beta 1.231 -0.046 0.047
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.301 -0.010 0.010 0 none
5 rate 0.0037 -0.0013 0.0013 0 100
###############################################################
THEORY
asymmetry 2
TFieldCos 3 fun1 (phase frequency)
generExpo 5 6 (rate exponent)
simplExpo 5 (rate)
###############################################################
FUNCTIONS
fun1 = gamma_mu * par4
###############################################################
RUN data/EMU00005989_v2 EMU ISIS NEXUS (name beamline institute data-file-format)
RUN data/emu00139040 EMU ISIS NEXUS (name beamline institute data-file-format)
fittype 2 (asymmetry fit)
alpha 1
map 0 0 0 0 0 0 0 0 0 0
forward 1-16
backward 17-32
forward 1-48
backward 49-96
backgr.fix 0 0
data 40 1500 40 1500
fit 0.2 14
data 10 2048 10 2048
deadtime-cor file
fit 0.144 14
packing 1
###############################################################
@@ -39,19 +39,19 @@ SAVE
###############################################################
FOURIER
units Gauss # units either 'Gauss', 'MHz', or 'Mc/s'
units Gauss # units either 'Gauss', 'Tesla', 'MHz', or 'Mc/s'
fourier_power 10
apodization STRONG # NONE, WEAK, MEDIUM, STRONG
plot REAL # REAL, IMAG, REAL_AND_IMAG, POWER, PHASE
plot REAL # REAL, IMAG, REAL_AND_IMAG, POWER, PHASE, PHASE_OPT_REAL
range 0 100
phase par2
###############################################################
PLOT 2 (asymmetry plot)
runs 1
range 0 14 -0.22 0.22
view_packing 5
range 0 14 -0.32 0.32
view_packing 10
###############################################################
STATISTIC --- 2012-03-20 10:28:41
chisq = 796.7, NDF = 846, chisq/NDF = 0.941749
STATISTIC --- 2026-02-23 13:12:14
chisq = 1159.8, NDF = 863, chisq/NDF = 1.343877
+33 -32
View File
@@ -1,49 +1,50 @@
nc-ZnO T=80 F=69
Ag_T=100_F=20
###############################################################
FITPARAMETER
# No Name Value Step Pos_Error Boundaries
1 zero 0 0 none
2 phase 2.81 -0.30 0.30 0 100
3 field 70.998 -0.025 0.025 0 none
4 asym 0.1700 -0.0011 0.0012 0 0.3
5 rate 0.1523 -0.0017 0.0017 0 100
6 beta 1.255 -0.033 0.033
7 Norm_L 2410.44 -0.83 0.83
8 BG_L 0 0 none 0 none
9 Norm_R 2121.43 -0.77 0.77 0 none
10 BG_R 0 0 none 0 none
11 relPhase 182.29 -0.31 0.31 0 none
1 phaseL 0 0 none
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 1179.09 -0.59 0.58 0 none
8 BG_R 0 0 none 0 none
9 relPhase 178.57 -0.20 0.20 0 none
###############################################################
THEORY
asymmetry 4
generExpo 5 6 (rate exponent)
asymmetry 3
simpleGss 4 (rate)
TFieldCos fun1 fun2 (phase frequency)
###############################################################
FUNCTIONS
fun1 = par2 + map1
fun2 = gamma_mu * par3
fun1 = par1 + map1
fun2 = gamma_mu * par2
###############################################################
GLOBAL
fittype 0 (single histogram fit)
data 40 1500
fit 0.2 14
data 5 2048
t0 10.0
deadtime-cor file
fit 0.144 30
packing 1
###############################################################
RUN data/EMU00005989_v2 XXXX ISIS NEXUS (name beamline institute data-file-format)
RUN data/emu00139040 EMU ISIS NEXUS (name beamline institute data-file-format)
norm 5
backgr.fit 6
map 1 0 0 0 0 0 0 0 0 0
forward 1-48
#deadtime-cor file
RUN data/emu00139040 XXXX ISIS NEXUS (name beamline institute data-file-format)
norm 7
backgr.fit 8
map 1 0 0 0 0 0 0 0 0 0
forward 1-16
RUN data/EMU00005989_v2 XXXX ISIS NEXUS (name beamline institute data-file-format)
norm 9
backgr.fit 10
map 11 0 0 0 0 0 0 0 0 0
forward 17-32
map 9 0 0 0 0 0 0 0 0 0
forward 49-96
###############################################################
COMMANDS
@@ -59,15 +60,15 @@ fourier_power 11
apodization STRONG # NONE, WEAK, MEDIUM, STRONG
plot REAL # REAL, IMAG, REAL_AND_IMAG, POWER, PHASE, PHASE_OPT_REAL
range 0 200
phase parR2 par11
phase parR1, par9
###############################################################
PLOT 0 (single histo plot)
lifetimecorrection
runs 1 2
range 0 14 -0.22 0.22
view_packing 2
range 0 20 -0.35 0.35
view_packing 10
###############################################################
STATISTIC --- 2019-03-12 18:08:05
maxLH = 2585.1, NDF = 1696, maxLH/NDF = 1.524236
STATISTIC --- 2026-02-23 13:09:55
maxLH = 4228.9, NDF = 3726, maxLH/NDF = 1.134977
@@ -0,0 +1,78 @@
LSCO(x=0.125), T=45.00 K, E=2.97 keV, B=~4(G)/0.11(A), Tr/Sa=15.02/11.30 kV, RAL-RAR=-0.01 kV, SR=-45.00
###############################################################
FITPARAMETER
# Nr. Name Value Step Pos_Error Boundaries
1 Asy 0.14561 -0.00047 0.00047 0 0.5
2 Rate 0.1508 -0.0017 0.0017 0 10
3 Field 29.450 -0.027 0.027 0 none
4 N0_L 3076.3 -1.0 1.0
5 Bkg_L 12.882 -0.071 0.071
6 Phase_L -34.89 -0.31 0.31
7 alpha_LR 1.16481 -0.00055 0.00055
8 Bkg_R 17.876 -0.080 0.079
9 RelPhase_R 163.31 -0.31 0.31
10 Zero 0 0 none
###############################################################
THEORY
asymmetry 1
simplExpo 2 (rate)
TFieldCos fun3 fun1 (phase frequency)
###############################################################
FUNCTIONS
fun1 = par3 * gamma_mu
fun2 = par7 * par4
fun3 = par6 + map1
###############################################################
GLOBAL
data 2791 66601
fit 0.1 12
packing 50
###############################################################
RUN data/lem15_his_2992 MUE4 PSI MUSR-ROOT (name beamline institute data-file-format)
ADDRUN data/lem15_his_2993 MUE4 PSI MUSR-ROOT (name beamline institute data-file-format)
ADDRUN data/lem15_his_2994 MUE4 PSI MUSR-ROOT (name beamline institute data-file-format)
fittype 0 (single histogram fit)
norm 4
backgr.fit 5
map 10 0 0 0 0 0 0 0 0 0
forward 21 25
RUN data/lem15_his_2992 MUE4 PSI MUSR-ROOT (name beamline institute data-file-format)
ADDRUN data/lem15_his_2993 MUE4 PSI MUSR-ROOT (name beamline institute data-file-format)
ADDRUN data/lem15_his_2994 MUE4 PSI MUSR-ROOT (name beamline institute data-file-format)
fittype 0 (single histogram fit)
norm fun2
backgr.fit 8
map 9 0 0 0 0 0 0 0 0 0
forward 23 27
###############################################################
COMMANDS
MAX_LIKELIHOOD
MINIMIZE
MINOS
SAVE
###############################################################
PLOT 0 (single histo plot)
lifetimecorrection
runs 1 2
range 0 12 -0.2 0.2
view_packing 500
###############################################################
FOURIER
units Gauss # units either 'Gauss', 'Tesla', 'MHz', or 'Mc/s'
fourier_power 12
apodization STRONG # NONE, WEAK, MEDIUM, STRONG
plot REAL # REAL, IMAG, REAL_AND_IMAG, POWER, PHASE, PHASE_OPT_REAL
phase par6
range 0 700
###############################################################
STATISTIC --- 2026-02-20 16:12:06
maxLH = 2888.7, NDF = 2429, maxLH/NDF = 1.189249
-8
View File
@@ -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 -1
View File
@@ -1,5 +1,5 @@
const DOCUMENTATION_OPTIONS = {
VERSION: '1.9.9',
VERSION: '1.10.0',
LANGUAGE: 'en',
COLLAPSE_INDEX: false,
BUILDER: 'html',
+33 -33
View File
@@ -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 */
+8 -5
View File
@@ -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],
+5 -5
View 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 &mdash; musrfit 1.9.9 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
<title>Acknowledgements &mdash; 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>&#169; Copyright 2025, Andreas Suter.
<span class="lastupdated">Last updated on Jun 07, 2025.
<p>&#169; Copyright 2026, Andreas Suter.
<span class="lastupdated">Last updated on Feb 21, 2026.
</span></p>
</div>
+5 -5
View 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>any2many - a Universal μSR-file-format converter &mdash; 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 &mdash; 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>&#169; Copyright 2025, Andreas Suter.
<span class="lastupdated">Last updated on Jun 07, 2025.
<p>&#169; Copyright 2026, Andreas Suter.
<span class="lastupdated">Last updated on Feb 21, 2026.
</span></p>
</div>
+5 -5
View 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>Bugtracking &mdash; musrfit 1.9.9 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
<title>Bugtracking &mdash; 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>&#169; Copyright 2025, Andreas Suter.
<span class="lastupdated">Last updated on Jun 07, 2025.
<p>&#169; Copyright 2026, Andreas Suter.
<span class="lastupdated">Last updated on Feb 21, 2026.
</span></p>
</div>
+5 -5
View 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>How to Cite musrfit? &mdash; musrfit 1.9.9 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
<title>How to Cite musrfit? &mdash; 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>&#169; Copyright 2025, Andreas Suter.
<span class="lastupdated">Last updated on Jun 07, 2025.
<p>&#169; Copyright 2026, Andreas Suter.
<span class="lastupdated">Last updated on Feb 21, 2026.
</span></p>
</div>
+5 -5
View 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>Short description and references to the supported file-formats &mdash; 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 &mdash; 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>&#169; Copyright 2025, Andreas Suter.
<span class="lastupdated">Last updated on Jun 07, 2025.
<p>&#169; Copyright 2026, Andreas Suter.
<span class="lastupdated">Last updated on Feb 21, 2026.
</span></p>
</div>
+25 -27
View File
@@ -5,14 +5,14 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Index &mdash; musrfit 1.9.9 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
<title>Index &mdash; 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>&#169; Copyright 2025, Andreas Suter.
<span class="lastupdated">Last updated on Jun 09, 2025.
<p>&#169; Copyright 2026, Andreas Suter.
<span class="lastupdated">Last updated on Feb 21, 2026.
</span></p>
</div>
+6 -6
View 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>Welcome to the musrfit documentation! &mdash; musrfit 1.9.9 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
<title>Welcome to the musrfit documentation! &mdash; 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>&#169; Copyright 2025, Andreas Suter.
<span class="lastupdated">Last updated on Jun 09, 2025.
<p>&#169; Copyright 2026, Andreas Suter.
<span class="lastupdated">Last updated on Feb 21, 2026.
</span></p>
</div>
+5 -5
View 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>msr2data - A Program for Automatically Processing Multiple musrfit msr Files &mdash; 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 &mdash; 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>&#169; Copyright 2025, Andreas Suter.
<span class="lastupdated">Last updated on Jun 07, 2025.
<p>&#169; Copyright 2026, Andreas Suter.
<span class="lastupdated">Last updated on Feb 21, 2026.
</span></p>
</div>
+5 -5
View 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>mupp - μSR Parameter Plotter &mdash; musrfit 1.9.9 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
<title>mupp - μSR Parameter Plotter &mdash; 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>&#169; Copyright 2025, Andreas Suter.
<span class="lastupdated">Last updated on Jun 07, 2025.
<p>&#169; Copyright 2026, Andreas Suter.
<span class="lastupdated">Last updated on Feb 21, 2026.
</span></p>
</div>
+160 -36
View 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>MusrRoot - an Extensible Open File Format for μSR &mdash; 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 &mdash; 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">-&#64;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">-&#64;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&lt;TString&gt;</p></td>
</tr>
<tr class="row-odd"><td><p>5</p></td>
<td><p>TIntVector</p></td>
<td><p>type cast to vector&lt;Int_T&gt;</p></td>
</tr>
<tr class="row-even"><td><p>6</p></td>
<td><p>TDoubleVector</p></td>
<td><p>type cast to vector&lt;Double_t&gt;</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">&lt;</span><span class="n">TMusrRunHeader</span><span class="o">&gt;</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">&lt;</span><span class="n">TMusrRunHeader</span><span class="o">&gt;</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">-&gt;</span><span class="n">Set</span><span class="p">(</span><span class="s">&quot;RunInfo/File Name&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;deltat_tdc_gps_2871.root&quot;</span><span class="p">);</span>
<span class="n">header</span><span class="o">-&gt;</span><span class="n">Set</span><span class="p">(</span><span class="s">&quot;RunInfo/Run Title&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;here comes the run title&quot;</span><span class="p">);</span>
<span class="n">header</span><span class="o">-&gt;</span><span class="n">Set</span><span class="p">(</span><span class="s">&quot;RunInfo/Run Number&quot;</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">-&gt;</span><span class="n">Set</span><span class="p">(</span><span class="s">&quot;DetectorInfo/Detector001/Time Zero Bin&quot;</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">&quot;RECREATE&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;write_musrRoot_runHeader&quot;</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">&lt;</span><span class="n">TMusrRunHeader</span><span class="o">&gt;</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">&lt;</span><span class="n">TMusrRunHeader</span><span class="o">&gt;</span><span class="p">();</span>
<span class="c1">// set some stuff</span>
<span class="n">header</span><span class="o">-&gt;</span><span class="n">Set</span><span class="p">(</span><span class="s">&quot;DetectorInfo/Detector001/Time Zero Bin&quot;</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">-&gt;</span><span class="n">Set</span><span class="p">(</span><span class="s">&quot;Something/Somewhere/Strange&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;Test String&quot;</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">&lt;</span><span class="n">TFile</span><span class="o">&gt;</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">&lt;</span><span class="n">TFile</span><span class="o">&gt;</span><span class="p">(</span><span class="n">fileName</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;RECREATE&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;write_musrRoot_runHeader&quot;</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">-&gt;</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">&quot;RunHeader&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;MusrRoot Run Header Info&quot;</span><span class="p">);</span>
<span class="n">std</span><span class="o">::</span><span class="n">unique_ptr</span><span class="o">&lt;</span><span class="n">TFolder</span><span class="o">&gt;</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">&lt;</span><span class="n">TFolder</span><span class="o">&gt;</span><span class="p">(</span><span class="s">&quot;RunHeader&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;MusrRoot Run Header Info&quot;</span><span class="p">);</span>
<span class="c1">// create the &quot;folder&quot; structure</span>
<span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">header</span><span class="o">-&gt;</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">-&gt;</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">-&gt;</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">&lt;</span><span class="n">TMusrRunHeader</span><span class="o">&gt;</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">&lt;</span><span class="n">TMusrRunHeader</span><span class="o">&gt;</span><span class="p">();</span>
<span class="c1">// set some stuff</span>
<span class="n">header</span><span class="o">-&gt;</span><span class="n">Set</span><span class="p">(</span><span class="s">&quot;DetectorInfo/Detector001/Time Zero Bin&quot;</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">-&gt;</span><span class="n">Set</span><span class="p">(</span><span class="s">&quot;Something/Somewhere/Strange&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;Test String&quot;</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">&lt;</span><span class="n">TFile</span><span class="o">&gt;</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">&lt;</span><span class="n">TFile</span><span class="o">&gt;</span><span class="p">(</span><span class="n">fileName</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;RECREATE&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;write_musrRoot_runHeader&quot;</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">-&gt;</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">-&gt;</span><span class="n">mkdir</span><span class="p">(</span><span class="s">&quot;RunHeader&quot;</span><span class="p">);</span>
<span class="c1">// create the &quot;directory&quot; structure</span>
<span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">header</span><span class="o">-&gt;</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">-&gt;</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">-&gt;</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">&quot;READ&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;read_musrRoot_runHeader&quot;</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">&lt;</span><span class="n">TFile</span><span class="o">&gt;</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">&lt;</span><span class="n">TFile</span><span class="o">&gt;</span><span class="p">(</span><span class="n">fileName</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;READ&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;read_musrRoot_runHeader&quot;</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">-&gt;</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">-&gt;</span><span class="n">GetObject</span><span class="p">(</span><span class="s">&quot;RunHeader&quot;</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">&lt;&lt;</span><span class="w"> </span><span class="n">endl</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="s">&quot;&gt;&gt; **ERROR** Couldn&#39;t get top folder RunHeader&quot;</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">&lt;&lt;</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">&lt;&lt;</span><span class="w"> </span><span class="s">&quot;&gt;&gt; **ERROR** Couldn&#39;t get top folder RunHeader&quot;</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">&lt;</span><span class="n">TMusrRunHeader</span><span class="o">&gt;</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">&lt;</span><span class="n">TMusrRunHeader</span><span class="o">&gt;</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">-&gt;</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">&lt;&lt;</span><span class="w"> </span><span class="n">endl</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="s">&quot;&gt;&gt; **ERROR** couldn&#39;t extract all RunHeader information&quot;</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">&lt;&lt;</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">&lt;&lt;</span><span class="w"> </span><span class="s">&quot;&gt;&gt; **ERROR** couldn&#39;t extract all RunHeader information&quot;</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">-&gt;</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">&lt;</span><span class="n">TFile</span><span class="o">&gt;</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">&lt;</span><span class="n">TFile</span><span class="o">&gt;</span><span class="p">(</span><span class="n">fileName</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;READ&quot;</span><span class="p">,</span><span class="w"> </span><span class="s">&quot;read_musrRoot_runHeader&quot;</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">-&gt;</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">-&gt;</span><span class="n">GetObject</span><span class="p">(</span><span class="s">&quot;RunHeader&quot;</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">&lt;&lt;</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">&lt;&lt;</span><span class="w"> </span><span class="s">&quot;&gt;&gt; **ERROR** Couldn&#39;t get top folder RunHeader&quot;</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">&lt;</span><span class="n">TMusrRunHeader</span><span class="o">&gt;</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">&lt;</span><span class="n">TMusrRunHeader</span><span class="o">&gt;</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">-&gt;</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">&lt;&lt;</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">&lt;&lt;</span><span class="w"> </span><span class="s">&quot;&gt;&gt; **ERROR** couldn&#39;t extract all RunHeader information&quot;</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">-&gt;</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">-&gt;</span><span class="n">Get</span><span class="p">(</span><span class="s">&quot;RunInfo/Run Number&quot;</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">&lt;&lt;</span><span class="w"> </span><span class="n">endl</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="s">&quot;Run Number: &quot;</span><span class="w"> </span><span class="o">&lt;&lt;</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">&lt;&lt;</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">&lt;&lt;</span><span class="w"> </span><span class="s">&quot;Run Number: &quot;</span><span class="w"> </span><span class="o">&lt;&lt;</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">&lt;&lt;</span><span class="w"> </span><span class="n">endl</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="s">&quot;**ERROR** Couldn&#39;t obtain the &#39;Run Number&#39;.&quot;</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">&lt;&lt;</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">&lt;&lt;</span><span class="w"> </span><span class="s">&quot;**ERROR** Couldn&#39;t obtain the &#39;Run Number&#39;.&quot;</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">-&gt;</span><span class="n">Get</span><span class="p">(</span><span class="s">&quot;RunInfo/Sample Temperature&quot;</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">&lt;&lt;</span><span class="w"> </span><span class="n">endl</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="s">&quot;Sample Temperature: &quot;</span><span class="w"> </span><span class="o">&lt;&lt;</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">&lt;&lt;</span><span class="w"> </span><span class="s">&quot; +- &quot;</span><span class="p">;</span>
<span class="w"> </span><span class="n">cout</span><span class="w"> </span><span class="o">&lt;&lt;</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">&lt;&lt;</span><span class="w"> </span><span class="s">&quot; &quot;</span><span class="w"> </span><span class="o">&lt;&lt;</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">&lt;&lt;</span><span class="w"> </span><span class="s">&quot;; SP: &quot;</span><span class="w"> </span><span class="o">&lt;&lt;</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">&lt;&lt;</span><span class="w"> </span><span class="s">&quot;; &quot;</span><span class="w"> </span><span class="o">&lt;&lt;</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">&lt;&lt;</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">&lt;&lt;</span><span class="w"> </span><span class="s">&quot;Sample Temperature: &quot;</span><span class="w"> </span><span class="o">&lt;&lt;</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">&lt;&lt;</span><span class="w"> </span><span class="s">&quot; +- &quot;</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">&lt;&lt;</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">&lt;&lt;</span><span class="w"> </span><span class="s">&quot; &quot;</span><span class="w"> </span><span class="o">&lt;&lt;</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">&lt;&lt;</span><span class="w"> </span><span class="s">&quot;; SP: &quot;</span><span class="w"> </span><span class="o">&lt;&lt;</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">&lt;&lt;</span><span class="w"> </span><span class="s">&quot;; &quot;</span><span class="w"> </span><span class="o">&lt;&lt;</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">&lt;&lt;</span><span class="w"> </span><span class="n">endl</span><span class="w"> </span><span class="o">&lt;&lt;</span><span class="w"> </span><span class="s">&quot;**ERROR** Couldn&#39;t obtain the &#39;Sample Temperature&#39;.&quot;</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">&lt;&lt;</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">&lt;&lt;</span><span class="w"> </span><span class="s">&quot;**ERROR** Couldn&#39;t obtain the &#39;Sample Temperature&#39;.&quot;</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>&#169; Copyright 2025, Andreas Suter.
<span class="lastupdated">Last updated on Jun 07, 2025.
<p>&#169; Copyright 2026, Andreas Suter.
<span class="lastupdated">Last updated on Feb 21, 2026.
</span></p>
</div>
+5 -5
View 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>musredit: the GUI Based Interface to musrfit &mdash; 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 &mdash; 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>&#169; Copyright 2025, Andreas Suter.
<span class="lastupdated">Last updated on Jun 07, 2025.
<p>&#169; Copyright 2026, Andreas Suter.
<span class="lastupdated">Last updated on Feb 21, 2026.
</span></p>
</div>
Binary file not shown.
+5 -5
View File
@@ -5,15 +5,15 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Search &mdash; musrfit 1.9.9 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
<title>Search &mdash; 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>&#169; Copyright 2025, Andreas Suter.
<span class="lastupdated">Last updated on Jun 09, 2025.
<p>&#169; 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
+5 -5
View 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>Setting up musrfit / DKS: High Speed Fitting with GPUs &mdash; 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 GPUs &mdash; 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>&#169; Copyright 2025, Andreas Suter.
<span class="lastupdated">Last updated on Jun 07, 2025.
<p>&#169; Copyright 2026, Andreas Suter.
<span class="lastupdated">Last updated on Feb 21, 2026.
</span></p>
</div>
+113 -129
View 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>Setting up musrfit on Different Platforms &mdash; 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 &mdash; 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 users
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>&lt;<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=&lt;prefix-path&gt;</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=&lt;value&gt;</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=&lt;value&gt;</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).
&lt;value&gt;=1 enables <code class="docutils literal notranslate"><span class="pre">NeXus</span></code>, &lt;value&gt;=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=&lt;value&gt;</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. &lt;value&gt;=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=&lt;value&gt;</strong></dt><dd><p>enable/disable the <code class="docutils literal notranslate"><span class="pre">ASlibs</span></code>. &lt;value&gt;=1 enables the <code class="docutils literal notranslate"><span class="pre">ASlibs</span></code>, &lt;value&gt;=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">&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;</span>
<span class="cp">&lt;!DOCTYPE plist PUBLIC &quot;-//Apple//DTD PLIST 1.0//EN&quot; &quot;http://www.apple.com/DTDs/PropertyList-1.0.dtd&quot;&gt;</span>
<span class="nt">&lt;plist</span><span class="w"> </span><span class="na">version=</span><span class="s">&quot;1.0&quot;</span><span class="nt">&gt;</span>
<span class="nt">&lt;dict&gt;</span>
<span class="w"> </span><span class="nt">&lt;key&gt;</span>Label<span class="nt">&lt;/key&gt;</span>
<span class="w"> </span><span class="nt">&lt;string&gt;</span>ch.psi.musrfit.environment<span class="nt">&lt;/string&gt;</span>
<span class="w"> </span><span class="nt">&lt;key&gt;</span>ProgramArguments<span class="nt">&lt;/key&gt;</span>
<span class="w"> </span><span class="nt">&lt;array&gt;</span>
<span class="w"> </span><span class="nt">&lt;string&gt;</span>sh<span class="nt">&lt;/string&gt;</span>
<span class="w"> </span><span class="nt">&lt;string&gt;</span>-c<span class="nt">&lt;/string&gt;</span>
<span class="w"> </span><span class="nt">&lt;string&gt;</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>&quot;$ROOTSYS&quot;
<span class="w"> </span>launchctl<span class="w"> </span>setenv<span class="w"> </span>MUSRFITPATH<span class="w"> </span>&quot;$ROOTSYS/bin&quot;
<span class="w"> </span>launchctl<span class="w"> </span>setenv<span class="w"> </span>PATH<span class="w"> </span>&quot;$ROOTSYS/bin:$QTDIR/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin&quot;
<span class="w"> </span>launchctl<span class="w"> </span>setenv<span class="w"> </span>DYLD_LIBRARY_PATH<span class="w"> </span>&quot;$ROOTSYS/lib:/usr/local/lib&quot;
<span class="w"> </span>launchctl<span class="w"> </span>setenv<span class="w"> </span>OpenMP_ROOT<span class="w"> </span>&quot;$OpenMP_ROOT&quot;
<span class="w"> </span><span class="nt">&lt;/string&gt;</span>
<span class="w"> </span><span class="nt">&lt;/array&gt;</span>
<span class="w"> </span><span class="nt">&lt;key&gt;</span>RunAtLoad<span class="nt">&lt;/key&gt;</span>
<span class="w"> </span><span class="nt">&lt;true/&gt;</span>
<span class="nt">&lt;/dict&gt;</span>
<span class="nt">&lt;/plist&gt;</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=&lt;prefix-path&gt;</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=&lt;value&gt;</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=&lt;value&gt;</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).
&lt;value&gt;=1 enables <code class="docutils literal notranslate"><span class="pre">NeXus</span></code>, &lt;value&gt;=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=&lt;value&gt;</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. &lt;value&gt;=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=&lt;value&gt;</strong></dt><dd><p>enable/disable the <code class="docutils literal notranslate"><span class="pre">ASlibs</span></code>. &lt;value&gt;=1 enables the <code class="docutils literal notranslate"><span class="pre">ASlibs</span></code>, &lt;value&gt;=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">&quot;/opt/local/libexec/qt6/lib/cmake;/opt/local/include/libomp&quot;</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">&quot;/opt/local/libexec/qt6/lib/cmake;/opt/local/include/libomp&quot;</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>&#169; Copyright 2025, Andreas Suter.
<span class="lastupdated">Last updated on Jun 07, 2025.
<p>&#169; Copyright 2026, Andreas Suter.
<span class="lastupdated">Last updated on Feb 21, 2026.
</span></p>
</div>
+6 -6
View 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>Tutorial for musrfit &mdash; musrfit 1.9.9 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
<title>Tutorial for musrfit &mdash; 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>&#169; Copyright 2025, Andreas Suter.
<span class="lastupdated">Last updated on Jun 07, 2025.
<p>&#169; Copyright 2026, Andreas Suter.
<span class="lastupdated">Last updated on Feb 21, 2026.
</span></p>
</div>
+10 -10
View 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>Documentation of user libs (user functions) &mdash; 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) &mdash; 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">&lt;musrfit-dir&gt;/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)&amp;=\int_0^{\pi/2}\frac{\mathrm d\varphi}{\sqrt{1-m^2\sin^2{\varphi}}},\en
<hr/>
<div role="contentinfo">
<p>&#169; Copyright 2025, Andreas Suter.
<span class="lastupdated">Last updated on Jun 07, 2025.
<p>&#169; Copyright 2026, Andreas Suter.
<span class="lastupdated">Last updated on Feb 21, 2026.
</span></p>
</div>
+15 -6
View 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>User manual &mdash; musrfit 1.9.9 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=fa44fd50" />
<title>User manual &mdash; 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>&#169; Copyright 2025, Andreas Suter.
<span class="lastupdated">Last updated on Jun 09, 2025.
<p>&#169; Copyright 2026, Andreas Suter.
<span class="lastupdated">Last updated on Feb 21, 2026.
</span></p>
</div>
+19
View File
@@ -0,0 +1,19 @@
/*********************************************************************************************
name: musrStep.dox
created by: Andreas Suter, 2025/11/24
content: Description of musrStep
**********************************************************************************************/
/**
\mainpage musrStep
<p>musrStep allows to reset the \<step\> values of the msr-file after a fit which went wrong. For instance this
this is necessary for high-field muSR data, since these values might be too small for the next
fit step.
*/
File diff suppressed because it is too large Load Diff
+18
View File
@@ -0,0 +1,18 @@
/*********************************************************************************************
name: musrWiz.dox
created by: Andreas Suter, 2025/11/24
content: Description of musrWiz
**********************************************************************************************/
/**
\mainpage musrWiz -- still on the level of concept
<p>musrWiz allows to generate an msr-file from scratch by going through a number of questions.
Currently only available for LEM.
*/
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -12,7 +12,7 @@
\mainpage musredit
<p>musredit is a simple editor based interface to the musrfit programs. It is based on Qt5.x or Qt6.x (depending of your distro) of The Qt Company (<code>http://www.qt.io</code>).
<p>musredit is a simple editor based interface to the musrfit programs. It is based on Qt5.x (soon being deprecated) or Qt6.x (depending of your distro) of The Qt Company (<code>http://www.qt.io</code>).
<p>musredit is free software liensenced under GPL 2 or later (for detail license informations see
<code>http://www.gnu.org/licenses</code>).
+5 -3
View File
@@ -47,10 +47,12 @@ under Linux, Mac OS X, and (with some more work) under Windows. The musrfit fram
msr-files with the same parameters and summarize the fitting results either in a TRIUMF DB or a column ASCII file.
- **msr2msr**: old WKM like msr-files can be transformed into musrfit style msr-files with this little program.
- musrgui (obsolete): an editor to handle msr-files, calling musrfit, etc. from within the editor, based on Qt3.x.
- **musredit**: an editor to handle msr-files, calling musrfit, etc. from within a simple text editor, based on Qt5.x or Qt6.x. A technical documentation of musredit can be found
- **musredit**: an editor to handle msr-files, calling musrfit, etc. from within a simple text editor, based on Qt5.x (soon being deprecated) or Qt6.x. A technical documentation of musredit can be found
\htmlonly <a href="./musredit/html/index.html">here.</a>\endhtmlonly
- **musrWiz** (beta): allows to create an initial msr-file by a step-by-step instruction wizard.
- **musrStep**: allows to efficiently deal with initial step values of msr-files. Especially useful for msr-files dealing with many runs/detectors.
- **musrWiz** (beta): allows to create an initial msr-file by a step-by-step instruction wizard. A technical documentation of musrWiz can be found
\htmlonly <a href="./musrWiz/html/index.html">here.</a>\endhtmlonly
- **musrStep**: allows to efficiently deal with initial step values of msr-files. Especially useful for msr-files dealing with many runs/detectors. A technical documentation of musrStep can be found
\htmlonly <a href="./musrStep/html/index.html">here.</a>\endhtmlonly
- **mupp**: is the muSR parameter plotter. It allows to plot values in db- or dat-files (collections). A technical documentation of mupp can be found
\htmlonly <a href="./mupp/html/index.html">here.</a>\endhtmlonly
- **addRun**: allows to add runs from the command line
+17 -3
View File
@@ -38,7 +38,7 @@ PROJECT_NAME = musrfit
# could be handy for archiving the generated documentation or if some version
# control system is used.
PROJECT_NUMBER = 1.9.9
PROJECT_NUMBER = 1.10.0
# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a
@@ -923,6 +923,18 @@ INPUT = musrfit.dox \
../src/classes/PUserFcn.cpp \
../src/external/MusrRoot/TMusrRunHeader.h \
../src/external/MusrRoot/TMusrRunHeader.cpp \
../src/external/nexus/PNeXus.h \
../src/external/nexus/PNeXus.cpp \
../src/external/MuSR_software/Class_MuSR_PSI/MuSR_td_PSI_bin.h \
../src/external/MuSR_software/Class_MuSR_PSI/MuSR_td_PSI_bin.cpp \
../src/external/mud/src/mud.h \
../src/external/mud/src/mud_all.c \
../src/external/mud/src/mud.c \
../src/external/mud/src/mud_encode.c \
../src/external/mud/src/mud_friendly.c \
../src/external/mud/src/mud_gen.c \
../src/external/mud/src/mud_new.c \
../src/external/mud/src/mud_tri_ti.c \
../src/addRun.cpp \
../src/any2many.cpp \
../src/dump_header.cpp \
@@ -2241,7 +2253,7 @@ INCLUDE_FILE_PATTERNS =
# recursively expanded use the := operator instead of the = operator.
# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
PREDEFINED =
PREDEFINED = HAVE_HDF4
# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this
# tag can be used to specify a list of macro names that should be expanded. The
@@ -2280,7 +2292,9 @@ SKIP_FUNCTION_MACROS = YES
# run, you must also specify the path to the tagfile here.
TAGFILES = dox-tags/musredit.tag=musredit/html \
dox-tags/mupp.tag=mupp/html
dox-tags/mupp.tag=mupp/html \
dox-tags/musrStep.tag=musrStep/html \
dox-tags/musrWiz.tag=musrWiz/html
# When a file name is specified after GENERATE_TAGFILE, doxygen will create a
# tag file that is based on the input files it reads. See section "Linking to
+62
View File
@@ -0,0 +1,62 @@
Ag-plate, 30kV, standard, Mu-in 23kHz, -30G vert
###############################################################
FITPARAMETER
###############################################################
# No Name Value Step posError [Lower_Boundary Upper_Boundary]
1 alpha 1.16167 0.00056 none
2 Asymmetry 0.24501 0.00036 none
3 Sigma 0.0248 0.0036 none 0 none
4 phi -0.50 0.12 none
5 Field 30.6044 0.0084 none 0 none
###############################################################
THEORY
asymmetry 2
simpleGss 3 (rate)
TFieldCos 4 fun1 (phase frequency)
###############################################################
FUNCTIONS
fun1 = gamma_mu * par5
###############################################################
GLOBAL
fittype 2 (asymmetry fit)
fit 0.01 10
packing 10
###############################################################
RUN ../../data/deltat_tdc_flame_2024_0804 PIM3 PSI MUSR-ROOT (name beamline institute data-file-format)
alpha 1
forward 2
backward 1
map 0 0 0 0 0 0 0 0 0 0
t0 1618.0 1628.0
data 1639 202527 1649 202160
background 160 1544 160 1544
###############################################################
COMMANDS
MIGRAD
HESSE
SAVE
###############################################################
PLOT 2 (asymmetry plot)
runs 1
plot_range 0.3 10 -0.5 0.3
view_packing 1000
###############################################################
FOURIER
units MHz # units either 'Gauss', 'Tesla', 'MHz', or 'Mc/s'
fourier_power 12
apodization NONE # NONE, WEAK, MEDIUM, STRONG
plot REAL # REAL, IMAG, REAL_AND_IMAG, POWER, PHASE, PHASE_OPT_REAL
phase 0
###############################################################
STATISTIC --- 2026-01-05 23:16:51
chisq = 10441.5, NDF = 10065, chisq/NDF = 1.037407
+54
View File
@@ -0,0 +1,54 @@
Ag reference, ZF, HUB43, T1p6
###############################################################
FITPARAMETER
###############################################################
# No Name Value Step posError [Lower_Boundary Upper_Boundary]
1 alpha 0.80606 0 none
2 Asymmetry 0.17179 0.00033 none
3 Sigma 0.0000 0.0081 none
###############################################################
THEORY
asymmetry 2
statGssKt 3 (rate)
###############################################################
#FUNCTIONS
###############################################################
GLOBAL
fittype 2 (asymmetry fit)
fit 0.01 10
packing 10
###############################################################
RUN /afs/psi.ch/project/bulkmusr/data/flame/d2023/tdc/root/deltat_tdc_flame_2023_1703 PIM3 PSI MUSR-ROOT (name beamline institute data-file-format)
alpha 1
forward 2
backward 1
map 0 0 0 0 0 0 0 0 0 0
###############################################################
COMMANDS
MIGRAD
HESSE
SAVE
###############################################################
PLOT 2 (asymmetry plot)
runs 1
plot_range 0.3 10 -0.3 0.3
view_packing 4000
###############################################################
FOURIER
units MHz # units either 'Gauss', 'Tesla', 'MHz', or 'Mc/s'
fourier_power 10
apodization NONE # NONE, WEAK, MEDIUM, STRONG
plot REAL # REAL, IMAG, REAL_AND_IMAG, POWER, PHASE, PHASE_OPT_REAL
phase 0
###############################################################
STATISTIC --- 2026-01-05 10:31:24
chisq = 10098.0, NDF = 10067, chisq/NDF = 1.003079
@@ -0,0 +1,80 @@
Ag-plate, 30kV, standard, Mu-in 23kHz, -30G vert
###############################################################
FITPARAMETER
###############################################################
# No Name Value Step posError [Lower_Boundary Upper_Boundary]
1 N0_B 4448.1 1.1 none
2 Background_B 10.285 0.029 none
3 Asymmetry_B 0.27012 0.00036 none
4 Sigma_B 0.0256 0.0027 none
5 phi_B 2.54 0.11 none
6 Field_B 30.5743 0.0072 none
7 N0_F 5128.3 1.2 none
8 Background_F 6.040 0.025 none
9 Asymmetry_F 0.21978 0.00033 none
10 Sigma_F 0.0249 0.0030 none
11 phi_F 177.04 0.12 none
12 Field_F 30.6133 0.0081 none
###############################################################
THEORY
asymmetry map1
simpleGss map2 (rate)
TFieldCos map3 fun1 (phase frequency)
###############################################################
FUNCTIONS
fun1 = gamma_mu * map4
###############################################################
GLOBAL
fittype 0 (single histogram fit)
fit 0.01 20
packing 10
###############################################################
RUN ../../data/deltat_tdc_flame_2024_0804 PIM3 PSI MUSR-ROOT (name beamline institute data-file-format)
norm 1
backgr.fit 2
forward 2
map 3 4 5 6 0 0 0 0 0 0
t0 1618.0
data 1642 203152
RUN ../../data/deltat_tdc_flame_2024_0804 PIM3 PSI MUSR-ROOT (name beamline institute data-file-format)
norm 7
backgr.fit 8
forward 1
map 9 10 11 12 0 0 0 0 0 0
t0 1628.0
data 1652 203152
###############################################################
COMMANDS
MAX_LIKELIHOOD
MIGRAD
HESSE
SAVE
###############################################################
PLOT 0 (single histo plot)
lifetimecorrection
runs 1 2
#logy
plot_range 0 20 -0.4 0.5
view_packing 1000
###############################################################
FOURIER
units MHz # units either 'Gauss', 'Tesla', 'MHz', or 'Mc/s'
fourier_power 12
apodization NONE # NONE, WEAK, MEDIUM, STRONG
plot REAL # REAL, IMAG, REAL_AND_IMAG, POWER, PHASE, PHASE_OPT_REAL
phase 0
###############################################################
STATISTIC --- 2026-01-06 11:30:58
maxLH = 40936.2, NDF = 40271, maxLH/NDF = 1.016519
@@ -0,0 +1,78 @@
Ag-plate, 30kV, standard, Mu-in 23kHz, -30G vert
###############################################################
FITPARAMETER
###############################################################
# No Name Value Step posError [Lower_Boundary Upper_Boundary]
1 N0_B 4447.4 1.1 none
2 Background_B 10.288 0.029 none
3 Asymmetry_B 0.27006 0.00034 none
4 Sigma 0.0253 0.0020 none
5 phi_B 2.343 0.092 none
6 Field 30.5916 0.0054 none
7 N0_F 5127.5 1.2 none
8 Background_F 6.042 0.025 none
9 Asymmetry_F 0.21989 0.00031 none
10 phi_F 177.29 0.10 none
###############################################################
THEORY
asymmetry map1
simpleGss 4 (rate)
TFieldCos map3 fun1 (phase frequency)
###############################################################
FUNCTIONS
fun1 = gamma_mu * par6
###############################################################
GLOBAL
fittype 0 (single histogram fit)
fit 0.01 20
packing 10
###############################################################
RUN ../../data/deltat_tdc_flame_2024_0804 PIM3 PSI MUSR-ROOT (name beamline institute data-file-format)
norm 1
backgr.fit 2
forward 2
map 3 0 5 0 0 0 0 0 0 0
t0 1618.0
data 1642 203152
RUN ../../data/deltat_tdc_flame_2024_0804 PIM3 PSI MUSR-ROOT (name beamline institute data-file-format)
norm 7
backgr.fit 8
forward 1
map 9 0 10 0 0 0 0 0 0 0
t0 1628.0
data 1652 203152
###############################################################
COMMANDS
MAX_LIKELIHOOD
MIGRAD
HESSE
SAVE
###############################################################
PLOT 0 (single histo plot)
lifetimecorrection
runs 1 2
#logy
plot_range 0 20 -0.4 0.5
view_packing 1000
###############################################################
FOURIER
units MHz # units either 'Gauss', 'Tesla', 'MHz', or 'Mc/s'
fourier_power 12
apodization NONE # NONE, WEAK, MEDIUM, STRONG
plot REAL # REAL, IMAG, REAL_AND_IMAG, POWER, PHASE, PHASE_OPT_REAL
phase 0
###############################################################
STATISTIC --- 2026-01-06 16:22:29
maxLH = 40942.7, NDF = 40273, maxLH/NDF = 1.016628
@@ -0,0 +1,81 @@
Ag-plate, 30kV, standard, Mu-in 23kHz, -30G vert
###############################################################
FITPARAMETER
###############################################################
# No Name Value Step posError [Lower_Boundary Upper_Boundary]
1 N0_B 4447.4 1.1 none
2 Background_B 10.288 0.029 none
3 Asymmetry_B 0.27006 0.00034 none
4 Sigma 0.0253 0.0020 none
5 phi_B 2.343 0.092 none
6 Field 30.5916 0.0054 none
7 alpha 1.15293 0.00039 none
8 Background_F 6.042 0.025 none
9 beta 0.8143 0.0015 none
10 phi_F 177.29 0.10 none
11 ONE 1 0 none
###############################################################
THEORY
asymmetry fun3
simpleGss 4 (rate)
TFieldCos map3 fun1 (phase frequency)
###############################################################
FUNCTIONS
fun1 = gamma_mu * par6
fun2 = par1 * par7
fun3 = par3 * map1
###############################################################
GLOBAL
fittype 0 (single histogram fit)
fit 0.01 20
packing 10
###############################################################
RUN ../../data/deltat_tdc_flame_2024_0804 PIM3 PSI MUSR-ROOT (name beamline institute data-file-format)
norm 1
backgr.fit 2
forward 2
map 11 0 5 0 0 0 0 0 0 0
t0 1618.0
data 1642 203152
RUN ../../data/deltat_tdc_flame_2024_0804 PIM3 PSI MUSR-ROOT (name beamline institute data-file-format)
norm fun2
backgr.fit 8
forward 1
map 9 0 10 0 0 0 0 0 0 0
t0 1628.0
data 1652 203152
###############################################################
COMMANDS
MAX_LIKELIHOOD
MIGRAD
HESSE
SAVE
###############################################################
PLOT 0 (single histo plot)
lifetimecorrection
runs 1 2
#logy
plot_range 0 20 -0.4 0.5
view_packing 1000
###############################################################
FOURIER
units MHz # units either 'Gauss', 'Tesla', 'MHz', or 'Mc/s'
fourier_power 12
apodization NONE # NONE, WEAK, MEDIUM, STRONG
plot REAL # REAL, IMAG, REAL_AND_IMAG, POWER, PHASE, PHASE_OPT_REAL
phase 0
###############################################################
STATISTIC --- 2026-01-06 16:11:04
maxLH = 40942.7, NDF = 40273, maxLH/NDF = 1.016628
+63
View File
@@ -0,0 +1,63 @@
Ag-plate, 30kV, standard, Mu-in 23kHz, -30G vert
###############################################################
FITPARAMETER
###############################################################
# No Name Value Step posError [Lower_Boundary Upper_Boundary]
1 N0 4446.1 1.8 none
2 Background 9.68 0.18 none
3 Asymmetry 0.27004 0.00052 none
4 Sigma 0.0212 0.0057 none
5 phi 2.54 0.16 none
6 Field 30.570 0.011 none
###############################################################
THEORY
asymmetry 3
simpleGss 4 (rate)
TFieldCos 5 fun1 (phase frequency)
###############################################################
FUNCTIONS
fun1 = gamma_mu * par6
###############################################################
GLOBAL
fittype 0 (single histogram fit)
fit 0.01 10
packing 10
###############################################################
RUN ../../data/deltat_tdc_flame_2024_0804 PIM3 PSI MUSR-ROOT (name beamline institute data-file-format)
norm 1
backgr.fit 2
forward 2
map 0 0 0 0 0 0 0 0 0 0
t0 1600.0
data 1620 102401
###############################################################
COMMANDS
MIGRAD
HESSE
SAVE
###############################################################
PLOT 0 (single histo plot)
runs 1
logy
plot_range 0 10
view_packing 1000
###############################################################
FOURIER
units MHz # units either 'Gauss', 'Tesla', 'MHz', or 'Mc/s'
fourier_power 12
apodization NONE # NONE, WEAK, MEDIUM, STRONG
plot REAL # REAL, IMAG, REAL_AND_IMAG, POWER, PHASE, PHASE_OPT_REAL
phase 0
###############################################################
STATISTIC --- 2026-01-05 16:38:23
chisq = 10309.6, NDF = 10224, chisq/NDF = 1.008375
+124
View File
@@ -0,0 +1,124 @@
MnP, TPol, WEP 50G
# Run Numbers: 8
###############################################################
FITPARAMETER
###############################################################
# No Name Value Err Min Max
#calibration for backward-forward, detectors 2 - 1
1 alpha_ForwBackw 0.7656 0.0025 none
2 beta_ForwBackw 0.925 0.012 none
#calibration for up-down, detectors 3 - 4
3 alpha_UpDown 0.9925 0.0027 none
4 beta_UpDown 1.007 0.012 none
# Detector specific parameters
5 N0_Backw 468.68 0.99 none
6 NBg_Backw 6.95 0.32 none
7 Phi_Backw -53.35 0.66 none
8 NBg_Forw 5.23 0.29 none
9 Phi_Forw 127.90 0.76 none
10 N0_Up 654.1 1.2 none
11 NBg_Up 19.20 0.40 none
12 Phi_Up 37.84 0.48 none
13 NBg_Down 15.38 0.40 none
14 Phi_Down 219.13 0.49 none
# constant maps
15 ONE 1 0 none
# Fitting parameters
16 A0_Back 0.2752 0.0028 none
17 A0_Down 0.2814 0.0027 none
18 Lambda 0.3523 0.0054 none
19 Field 45.939 0.064 none
###############################################################
THEORY
asymmetry fun2
simplExpo 18 (rate)
TFieldCos map5 fun3 (phase frequency)
###############################################################
FUNCTIONS
#N0
fun1 = map1 * map2
#A0
fun2 = map3 * map4
#Frequency
fun3 = gamma_mu * par19
###############################################################
GLOBAL
fittype 0 (single histogram fit)
fit 0.1 10
packing 10
###############################################################
RUN ../../data/deltat_tdc_gps_0222 PIM3 PSI PSI-BIN (name beamline institute data-file-format)
norm fun1
backgr.fit 6
forward 2
map 5 15 16 15 7 0 0 0 0 0 0 0 0 0
t0 401.0
data 407 12696
RUN ../../data/deltat_tdc_gps_0222 PIM3 PSI PSI-BIN (name beamline institute data-file-format)
norm fun1
backgr.fit 8
forward 1
map 5 1 16 2 9 0 0 0 0 0 0 0 0 0
t0 402.0
data 424 12520
RUN ../../data/deltat_tdc_gps_0222 PIM3 PSI PSI-BIN (name beamline institute data-file-format)
norm fun1
backgr.fit 11
forward 3
map 10 15 17 15 12 0 0 0 0 0 0 0 0 0
t0 399.0
data 416 12657
RUN ../../data/deltat_tdc_gps_0222 PIM3 PSI PSI-BIN (name beamline institute data-file-format)
norm fun1
backgr.fit 13
forward 4
map 10 3 17 4 14 0 0 0 0 0 0 0 0 0
t0 401.0
data 421 12474
###############################################################
COMMANDS
MIGRAD
HESSE
SAVE
###############################################################
PLOT 0 (single histo plot)
lifetimecorrection
runs 1 2 3 4
use_fit_ranges
view_packing 50
###############################################################
FOURIER
units MHz # units either 'Gauss', 'Tesla', 'MHz', or 'Mc/s'
fourier_power 12
apodization STRONG # NONE, WEAK, MEDIUM, STRONG
plot POWER # REAL, IMAG, REAL_AND_IMAG, POWER, PHASE, PHASE_OPT_REAL
phase 8
###############################################################
STATISTIC --- 2026-01-06 17:09:57
chisq = 4921.3, NDF = 4752, chisq/NDF = 1.035620
+77
View File
@@ -0,0 +1,77 @@
MnP, TPol, ZF
# Run Numbers: 8
###############################################################
FITPARAMETER
###############################################################
# No Name Value Err Min Max
# geometric parameters
1 alpha_UpDown 0.9925 0 none
2 beta_UpDown 1.007 0 none
# Fitting parameters
3 Asytot 0.2041 0.0020 none 0 0.25
4 LambdaOsc 2.503 0.059 none 0 none
5 Phi -2.9 1.3 none -20 10
6 Field 1839.24 0.95 none 0 none
7 fractionRelax 0.333 0 none 0 1
8 LambdaRelax 0.0322 0.0060 none 0 none
###############################################################
THEORY
asymmetry fun2
simplExpo 4 (rate)
TFieldCos 5 fun1 (phase frequency)
+
asymmetry fun3
simplExpo 8 (rate)
###############################################################
FUNCTIONS
fun1 = gamma_mu * par6
fun2 = par3 * (1 - par7)
fun3 = par3 * par7
###############################################################
GLOBAL
fittype 2 (asymmetry fit)
fit 0.02 4
packing 1
###############################################################
RUN ../../data/deltat_tdc_gps_0232 PIM3 PSI PSI-BIN (name beamline institute data-file-format)
alpha 1
beta 2
forward 3
backward 4
map 0 0 0 0 0 0 0 0 0 0
t0 399.0 401.0
data 416 12749 418 12680
background 100 360 100 360 # estimated bkg: 23.3597 / 18.2767
###############################################################
COMMANDS
MIGRAD
HESSE
SAVE
###############################################################
PLOT 2 (asymmetry plot)
runs 1
plot_range 0 1.5 -0.3 0.3
view_packing 10
###############################################################
FOURIER
units Gauss # units either 'Gauss', 'Tesla', 'MHz', or 'Mc/s'
fourier_power 12
apodization STRONG # NONE, WEAK, MEDIUM, STRONG
plot POWER # REAL, IMAG, REAL_AND_IMAG, POWER, PHASE, PHASE_OPT_REAL
phase par5
###############################################################
STATISTIC --- 2026-01-07 15:14:25
chisq = 10310.0, NDF = 10183, chisq/NDF = 1.012473
@@ -0,0 +1,81 @@
MnP, TPol, ZF
# Run Numbers: 8
###############################################################
FITPARAMETER
###############################################################
# No Name Value Err Min Max
# geometric parameters
1 alpha_UpDown 0.9925 0 none
2 beta_UpDown 1.007 0 none
# Fitting parameters
3 Asytot 0.12603 0.00096 none
4 LambdaOsc 0.94 0.19 none 0 none
5 Phi -4.6 2.1 none
6 Bmax 9106.3 3.9 none 0 none
7 Bmin 3133.3 3.9 none 0 none
8 fractionRelax 0.3333 0 none 0 1
9 LambdaRelax 0.4952 0.0083 none 0 none
###############################################################
THEORY
asymmetry fun3
simplExpo 4 (rate)
bessel 5 fun1 (phase frequency)
TFieldCos 5 fun2 (phase frequency)
+
asymmetry fun4
simplExpo 9 (rate)
###############################################################
FUNCTIONS
fun1 = gamma_mu * (par6 - par7) / 2
fun2 = gamma_mu * (par6 + par7) / 2
fun3 = par3 * (1 - par8)
fun4 = par3 * par8
###############################################################
GLOBAL
fittype 2 (asymmetry fit)
fit 0.02 4
packing 1
###############################################################
RUN ../../data/deltat_tdc_gps_0261 PIM3 PSI PSI-BIN (name beamline institute data-file-format)
alpha 1
beta 2
forward 3
backward 4
map 0 0 0 0 0 0 0 0 0 0
t0 399.0 401.0
data 416 12749 418 12680
background 100 360 100 360 # estimated bkg: 244.0198 / 198.2411
###############################################################
COMMANDS
MIGRAD
HESSE
SAVE
###############################################################
PLOT 2 (asymmetry plot)
runs 1
plot_range 0.01 1 -0.3 0.3
view_packing 1
###############################################################
FOURIER
dc-corrected true
units Tesla # units either 'Gauss', 'Tesla', 'MHz', or 'Mc/s'
fourier_power 12
apodization WEAK # NONE, WEAK, MEDIUM, STRONG
plot POWER # REAL, IMAG, REAL_AND_IMAG, POWER, PHASE, PHASE_OPT_REAL
phase par5
range 0.1 1.4
###############################################################
STATISTIC --- 2026-01-07 13:47:08
chisq = 10389.3, NDF = 10182, chisq/NDF = 1.020364
@@ -0,0 +1,4 @@
dataT0 dataT0Err dataT1 dataT1Err dataB alpha_UpDown alpha_UpDownPosErr alpha_UpDownNegErr beta_UpDown beta_UpDownPosErr beta_UpDownNegErr Asytot AsytotPosErr AsytotNegErr LambdaOsc LambdaOscPosErr LambdaOscNegErr Phi PhiPosErr PhiNegErr Field FieldPosErr FieldNegErr fractionRelax fractionRelaxPosErr fractionRelaxNegErr LambdaRelax LambdaRelaxPosErr LambdaRelaxNegErr CHISQ NDF CHISQred RUN
250.003 0.02925 250.001 0.0044 0 0.9925 0 0 1.007 0 0 0.2041 0.002 0.002 2.503 0.059 0.059 -2.9 1.3 1.3 1839.24 0.95 0.95 0.333 0 0 0.0322 0.006 0.006 10310 10183 1.01247 232
+77
View File
@@ -0,0 +1,77 @@
MnP, TPol, ZF
# Run Numbers: 8
###############################################################
FITPARAMETER
###############################################################
# No Name Value Err Min Max
# geometric parameters
1 alpha_UpDown 1 0 none
2 beta_UpDown 1 0 none
# Fitting parameters
3 Asytot 0.2039 0.0029 none
4 LambdaOsc 2.396 0.075 none 0 none
5 Phi -3.1 1.3 none
6 Field 1839.30 0.95 none
7 fractionRelax 0.3566 0.0055 none 0 1
8 LambdaRelax 0.0351 0.0061 none 0 none
###############################################################
THEORY
asymmetry fun2
simplExpo 4 (rate)
TFieldCos 5 fun1 (phase frequency)
+
asymmetry fun3
simplExpo 8 (rate)
###############################################################
FUNCTIONS
fun1 = gamma_mu * par6
fun2 = par3 * (1 - par7)
fun3 = par3 * par7
###############################################################
GLOBAL
fittype 2 (asymmetry fit)
fit 0.02 4
packing 1
###############################################################
RUN ../../data/deltat_tdc_gps_0232 PIM3 PSI PSI-BIN (name beamline institute data-file-format)
alpha 1
beta 2
forward 3
backward 4
map 0 0 0 0 0 0 0 0 0 0
t0 399.0 401.0
data 416 12749 418 12680
background 100 360 100 360 # estimated bkg: 23.3597 / 18.2767
###############################################################
COMMANDS
MIGRAD
HESSE
SAVE
###############################################################
PLOT 2 (asymmetry plot)
runs 1
plot_range 0 1.5 -0.3 0.3
view_packing 10
###############################################################
FOURIER
units Gauss # units either 'Gauss', 'Tesla', 'MHz', or 'Mc/s'
fourier_power 12
apodization STRONG # NONE, WEAK, MEDIUM, STRONG
plot POWER # REAL, IMAG, REAL_AND_IMAG, POWER, PHASE, PHASE_OPT_REAL
phase par5
###############################################################
STATISTIC --- 2026-01-06 18:17:35
chisq = 10305.4, NDF = 10182, chisq/NDF = 1.012115
@@ -0,0 +1,124 @@
WEPAMP 70
# Run Numbers: 8
###############################################################
FITPARAMETER
###############################################################
# No Name Value Err Min Max
#calibration for backward-forward, detectors 2 - 1
1 alpha_ForwBackw 1.3288 0.0015 none
2 beta_ForwBackw 0.9453 0.0051 none
#calibration for up-down, detectors 3 - 4
3 alpha_UpDown 1.0523 0.0012 none
4 beta_UpDown 0.9787 0.0047 none
# Detector specific parameters
5 N0_Backw 902.99 0.79 none
6 NBg_Backw 3.730 0.090 none
7 Phi_Backw -13.36 0.26 none
8 NBg_Forw 5.515 0.099 none
9 Phi_Forw 168.61 0.25 none
10 N0_Up 1073.57 0.86 none
11 NBg_Up 10.64 0.10 none
12 Phi_Up -100.38 0.23 none
13 NBg_Down 11.34 0.11 none
14 Phi_Down 75.32 0.23 none
# constant maps
15 ONE 1 0 none
# Fitting parameters
16 A0_Back 0.2587 0.0012 none
17 A0_Down 0.2841 0.0012 none
18 Lambda 0.00043 0.00099 none
19 Field 47.412 0.012 none
###############################################################
THEORY
asymmetry fun2
simplExpo 18 (rate)
TFieldCos map5 fun3 (phase frequency)
###############################################################
FUNCTIONS
#N0
fun1 = map1 * map2
#A0
fun2 = map3 * map4
#Frequency
fun3 = gamma_mu * par19
###############################################################
GLOBAL
fittype 0 (single histogram fit)
fit 0.1 10
packing 10
###############################################################
RUN /afs/psi.ch/project/bulkmusr/data/gps/d2015/tdc/deltat_tdc_gps_0069 PIM3 PSI PSI-BIN (name beamline institute data-file-format)
norm fun1
backgr.fit 6
forward 2
map 5 15 16 15 7 0 0 0 0 0 0 0 0 0
t0 401.0
data 415 25132
RUN /afs/psi.ch/project/bulkmusr/data/gps/d2015/tdc/deltat_tdc_gps_0069 PIM3 PSI PSI-BIN (name beamline institute data-file-format)
norm fun1
backgr.fit 8
forward 1
map 5 1 16 2 9 0 0 0 0 0 0 0 0 0
t0 402.0
data 424 100897
RUN /afs/psi.ch/project/bulkmusr/data/gps/d2015/tdc/deltat_tdc_gps_0069 PIM3 PSI PSI-BIN (name beamline institute data-file-format)
norm fun1
backgr.fit 11
forward 3
map 10 15 17 15 12 0 0 0 0 0 0 0 0 0
t0 405.0
data 420 100897
RUN /afs/psi.ch/project/bulkmusr/data/gps/d2015/tdc/deltat_tdc_gps_0069 PIM3 PSI PSI-BIN (name beamline institute data-file-format)
norm fun1
backgr.fit 13
forward 4
map 10 3 17 4 14 0 0 0 0 0 0 0 0 0
t0 401.0
data 421 100897
###############################################################
COMMANDS
MIGRAD
HESSE
SAVE
###############################################################
PLOT 0 (single histo plot)
lifetimecorrection
runs 1 2 3 4
use_fit_ranges
view_packing 50
###############################################################
FOURIER
units MHz # units either 'Gauss', 'Tesla', 'MHz', or 'Mc/s'
fourier_power 12
apodization STRONG # NONE, WEAK, MEDIUM, STRONG
plot POWER # REAL, IMAG, REAL_AND_IMAG, POWER, PHASE, PHASE_OPT_REAL
phase 8
###############################################################
STATISTIC --- 2026-01-06 17:09:45
chisq = 9854.0, NDF = 9909, chisq/NDF = 0.994449
+125
View File
@@ -0,0 +1,125 @@
Nb3BWO9, powder, veto, long, variox, VMX40G, coinc
# Run Numbers: 8
###############################################################
FITPARAMETER
###############################################################
# No Name Value Err Min Max
#calibration for backward-forward, detectors 2 6 8- 1 5 7
1 alpha_ForwBackw 1.0078 0.0014 none
2 beta_ForwBackw 0.9046 0.0070 none
#calibration for right-left, detectors 3 - 4
3 alpha_RightLeft 0.8995 0.0014 none
4 beta_RightLeft 1.0522 0.0077 none
# Detector specific parameters
5 N0_Backw 579.23 0.56 none
6 NBg_Backw 3.23 0.11 none
7 Phi_Backw 1.16 0.38 none
8 NBg_Forw 1.91 0.11 none
9 Phi_Forw 184.21 0.42 none
10 N0_Right 475.04 0.49 none
11 NBg_Right 0.801 0.096 none
12 Phi_Right 91.78 0.39 none
13 NBg_Left 0.785 0.091 none
14 Phi_Left 275.86 0.43 none
# constant maps
15 ONE 1 0 none
# Fitting parameters
16 A0_Back 0.2452 0 none
17 A0_Left 0.2567 0 none
18 Lambda 0.4 0 none
19 Field 40.575 0 none
###############################################################
THEORY
asymmetry fun2
simplExpo 18 (rate)
TFieldCos map5 fun3 (phase frequency)
###############################################################
FUNCTIONS
#N0
fun1 = map1 * map2
#A0
fun2 = map3 * map4
#Frequency
fun3 = gamma_mu * par19
###############################################################
GLOBAL
fittype 0 (single histogram fit)
fit 0.1 7
packing 100
###############################################################
RUN ../../data/deltat_tdc_flame_2022_0137 PIM3 PSI MUSR-ROOT (name beamline institute data-file-format)
norm fun1
backgr.fit 6
forward 2 6 8
map 5 15 16 15 7 0 0 0 0 0 0 0 0 0
t0 1617.0 1609.0 1608.0
data 1655 100897
RUN ../../data/deltat_tdc_flame_2022_0137 PIM3 PSI MUSR-ROOT (name beamline institute data-file-format)
norm fun1
backgr.fit 8
forward 1 5 7
map 5 1 16 2 9 0 0 0 0 0 0 0 0 0
t0 1626.0 1617.0 1617.0
data 1668 100897
RUN ../../data/deltat_tdc_flame_2022_0137 PIM3 PSI MUSR-ROOT (name beamline institute data-file-format)
norm fun1
backgr.fit 11
forward 3
map 10 15 17 15 12 0 0 0 0 0 0 0 0 0
t0 1599.0
data 1658 100897
RUN ../../data/deltat_tdc_flame_2022_0137 PIM3 PSI MUSR-ROOT (name beamline institute data-file-format)
norm fun1
backgr.fit 13
forward 4
map 10 3 17 4 14 0 0 0 0 0 0 0 0 0
t0 1606.0
data 1645 100897
###############################################################
COMMANDS
MAX_LIKELIHOOD
MIGRAD
HESSE
SAVE
###############################################################
PLOT 0 (single histo plot)
lifetimecorrection
runs 1 2 3 4
use_fit_ranges
view_packing 500
###############################################################
FOURIER
units MHz # units either 'Gauss', 'Tesla', 'MHz', or 'Mc/s'
fourier_power 12
apodization STRONG # NONE, WEAK, MEDIUM, STRONG
plot POWER # REAL, IMAG, REAL_AND_IMAG, POWER, PHASE, PHASE_OPT_REAL
phase 8
###############################################################
STATISTIC --- 2026-01-12 22:31:58
maxLH = 2833.5, NDF = 2810, maxLH/NDF = 1.008372
@@ -0,0 +1,167 @@
Nd3BWO9, powder, veto, long, variox, coinc, 40K, ZFC
###############################################################
FITPARAMETER
# No Name Value Step Pos_Error Boundaries
# Common parameters for all runs
1 beta_ForwBackw 0.9046 0 none
2 Asytot 0.2604 0.0018 none
3 fraction 0.594 0.017 none 0 1
# Specific parameters for run 139
4 alpha_ForwBackw_0139 0.9968 0.0017 none
5 LambdaFast_0139 8.86 0.51 none 0 none
6 LambdaSlow_0139 1.248 0.075 none 0.3 none
# Specific parameters for run 140
7 alpha_ForwBackw_0140 0.9486 0.0011 none
8 LambdaFast_0140 8.85 0.43 none 0 none
9 LambdaSlow_0140 1.992 0.083 none 0.3 none
# Specific parameters for run 141
10 alpha_ForwBackw_0141 0.9139 0.0011 none
11 LambdaFast_0141 8.35 0.40 none 0 none
12 LambdaSlow_0141 1.841 0.080 none 0.3 none
# Specific parameters for run 142
13 alpha_ForwBackw_0142 0.8492 0.0011 none
14 LambdaFast_0142 7.55 0.35 none 0 none
15 LambdaSlow_0142 1.833 0.077 none 0.3 none
# Specific parameters for run 143
16 alpha_ForwBackw_0143 0.79182 0.00094 none
17 LambdaFast_0143 6.12 0.26 none 0 none
18 LambdaSlow_0143 1.783 0.069 none 0.3 none
# Specific parameters for run 144
19 alpha_ForwBackw_0144 0.74872 0.00059 none
20 LambdaFast_0144 5.21 0.18 none 0 none
21 LambdaSlow_0144 1.667 0.052 none 0.3 none
###############################################################
THEORY
asymmetry fun1
simplExpo map1 (rate)
+
asymmetry fun2
simplExpo map2 (rate)
###############################################################
FUNCTIONS
fun1 = par2 * par3
fun2 = par2 * (1 - par3)
###############################################################
GLOBAL
fittype 2 (asymmetry fit)
fit 0.02 10
packing 20
###############################################################
# RUN blocks for run 139
RUN ../../data/deltat_tdc_flame_2022_0139 PIM3 PSI MUSR-ROOT (name beamline institute data-file-format)
alpha 4
beta 1
map 5 6 0 0 0 0 0 0 0 0
forward 2 6 8
backward 1 5 7
background 100 1360 100 1360 # estimated bkg: 0.9394 / 0.4689
data 1655 100897 1668 100897
t0 1617.0 1626.0 1609.0 1613.0 1608.0 1609.0
# RUN blocks for run 140
RUN ../../data/deltat_tdc_flame_2022_0140 PIM3 PSI MUSR-ROOT (name beamline institute data-file-format)
alpha 7
beta 1
map 8 9 0 0 0 0 0 0 0 0
forward 2 6 8
backward 1 5 7
background 100 1360 100 1360 # estimated bkg: 0.5805 / 0.3182
data 1655 100897 1668 100897
t0 1617.0 1626.0 1609.0 1613.0 1608.0 1609.0
# RUN blocks for run 141
RUN ../../data/deltat_tdc_flame_2022_0141 PIM3 PSI MUSR-ROOT (name beamline institute data-file-format)
alpha 10
beta 1
map 11 12 0 0 0 0 0 0 0 0
forward 2 6 8
backward 1 5 7
background 100 1360 100 1360 # estimated bkg: 0.3979 / 0.2903
data 1655 100897 1668 100897
t0 1617.0 1626.0 1609.0 1613.0 1608.0 1609.0
# RUN blocks for run 142
RUN ../../data/deltat_tdc_flame_2022_0142 PIM3 PSI MUSR-ROOT (name beamline institute data-file-format)
alpha 13
beta 1
map 14 15 0 0 0 0 0 0 0 0
forward 2 6 8
backward 1 5 7
background 100 1360 100 1360 # estimated bkg: 1.4354 / 0.4641
data 1655 100897 1668 100897
t0 1617.0 1626.0 1609.0 1613.0 1608.0 1609.0
# RUN blocks for run 143
RUN ../../data/deltat_tdc_flame_2022_0143 PIM3 PSI MUSR-ROOT (name beamline institute data-file-format)
alpha 16
beta 1
map 17 18 0 0 0 0 0 0 0 0
forward 2 6 8
backward 1 5 7
background 100 1360 100 1360 # estimated bkg: 1.0367 / 0.3469
data 1655 100897 1668 100897
t0 1617.0 1626.0 1609.0 1613.0 1608.0 1609.0
# RUN blocks for run 144
RUN ../../data/deltat_tdc_flame_2022_0144 PIM3 PSI MUSR-ROOT (name beamline institute data-file-format)
alpha 19
beta 1
map 20 21 0 0 0 0 0 0 0 0
forward 2 6 8
backward 1 5 7
background 100 1360 100 1360 # estimated bkg: 1.7416 / 0.6093
data 1655 100897 1668 100897
t0 1617.0 1626.0 1609.0 1613.0 1608.0 1609.0
###############################################################
COMMANDS
FIX 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
MIGRAD
HESSE
RESTORE
MIGRAD
HESSE
SAVE
###############################################################
FOURIER
units Gauss # units either 'Gauss', 'Tesla', 'MHz', or 'Mc/s'
fourier_power 12
apodization STRONG # NONE, WEAK, MEDIUM, STRONG
plot POWER # REAL, IMAG, REAL_AND_IMAG, POWER, PHASE, PHASE_OPT_REAL
phase 0.0
###############################################################
PLOT 2 (asymmetry plot)
runs 1 2 3 4 5 6
range 0 10 -0.3 0.3
view_packing 1500
###############################################################
STATISTIC --- 2026-01-13 09:43:43
chisq = 29800.0, NDF = 29698, chisq/NDF = 1.003434
+72
View File
@@ -0,0 +1,72 @@
Nd3BWO9, powder, veto, long, variox, coinc, 40K, ZFC
# Run Numbers: 8
###############################################################
FITPARAMETER
###############################################################
# No Name Value Err Min Max
# geometric parameters
1 alpha_ForwBackw_0139 1.0078 0.1 none
2 beta_ForwBackw 0.9046 0 none
# Fitting parameters
3 Asytot 0.2461 0. none
4 fraction 0.86 0 none 0 1
5 LambdaFast_0139 5.75 0.33 none 0 none
6 LambdaSlow_0139 0.712 0.044 none 0.3 none
###############################################################
THEORY
asymmetry fun1
simplExpo 5 (rate)
+
asymmetry fun2
simplExpo 6 (rate)
###############################################################
FUNCTIONS
fun1 = par3 * par4
fun2 = par3 * (1 - par4)
###############################################################
GLOBAL
fittype 2 (asymmetry fit)
fit 0.02 10
packing 20
###############################################################
RUN ../../data/deltat_tdc_flame_2022_0139 PIM3 PSI MUSR-ROOT (name beamline institute data-file-format)
alpha 1
beta 2
forward 2 6 8
backward 1 5 7
map 0 0 0 0 0 0 0 0 0 0
t0 1617.0 1626.0 1609.0 1613.0 1608.0 1609.0
data 1655 100897 1668 100897
background 100 1360 100 1360 # estimated bkg: 0.9394 / 0.4689
###############################################################
COMMANDS
MIGRAD
HESSE
SAVE
###############################################################
PLOT 2 (asymmetry plot)
runs 1
plot_range 0 10 -0.3 0.3
view_packing 1500
###############################################################
FOURIER
units Gauss # units either 'Gauss', 'Tesla', 'MHz', or 'Mc/s'
fourier_power 12
apodization STRONG # NONE, WEAK, MEDIUM, STRONG
plot POWER # REAL, IMAG, REAL_AND_IMAG, POWER, PHASE, PHASE_OPT_REAL
phase 0
###############################################################
STATISTIC --- 2026-01-13 09:01:50
chisq = 4867.1, NDF = 4949, chisq/NDF = 0.983461
@@ -0,0 +1,9 @@
dataT dataTErr dataB dataSpinRot alpha_ForwBackw alpha_ForwBackwPosErr alpha_ForwBackwNegErr beta_ForwBackw beta_ForwBackwPosErr beta_ForwBackwNegErr Asytot AsytotPosErr AsytotNegErr fraction fractionPosErr fractionNegErr LambdaFast LambdaFastPosErr LambdaFastNegErr LambdaSlow LambdaSlowPosErr LambdaSlowNegErr CHISQ NDF CHISQred RUN
40 0.02 0 0 1.0078 0 0 0.9046 0 0 0.2461 0.0042 0.0042 0.705 0.016 0.016 5.75 0.33 0.33 0.712 0.044 0.044 4867.1 4949 0.983451 139
40.0019 0.0007 7500 0 1.0078 0 0 0.9046 0 0 0.2517 0.0029 0.0029 0.8391 0.0044 0.0044 3.89 0.1 0.1 0.0505 0.0093 0.0093 5055.8 4949 1.02158 140
40.003 0.001 15000 0 1.0078 0 0 0.9046 0 0 0.2756 0.003 0.003 0.7727 0.0041 0.0041 3.82 0.1 0.1 0.0431 0.0059 0.0059 5075.2 4949 1.0255 141
40.0068 0.0005 22500 0 1.0078 0 0 0.9046 0 0 0.3168 0.003 0.003 0.6845 0.0038 0.0038 3.656 0.094 0.094 0.0225 0.0035 0.0035 5001.8 4949 1.01067 142
40.03 0.02 30000 0 1.0078 0 0 0.9046 0 0 0.3583 0.0026 0.0026 0.6317 0.0033 0.0033 3.235 0.074 0.074 0.0055 0.0024 0.0024 5124.7 4949 1.0355 143
40.015 0.002 35000 0 1.0078 0 0 0.9046 0 0 0.3968 0.0016 0.0016 0.5841 0.002 0.002 3.176 0.043 0.043 0.0114 0.0012 0.0012 5090.1 4949 1.02851 144
+9
View File
@@ -0,0 +1,9 @@
dataT dataTErr dataB dataSpinRot beta_ForwBackw beta_ForwBackwPosErr beta_ForwBackwNegErr Asytot AsytotPosErr AsytotNegErr fraction fractionPosErr fractionNegErr alpha_ForwBackw_ alpha_ForwBackw_PosErr alpha_ForwBackw_NegErr LambdaFast_ LambdaFast_PosErr LambdaFast_NegErr LambdaSlow_ LambdaSlow_PosErr LambdaSlow_NegErr CHISQ NDF CHISQred RUN
40 0.02 0 0 0.9046 0 0 0.2604 0.0018 0.0018 0.594 0.017 0.017 0.9968 0.0017 0.0017 8.86 0.51 0.51 1.248 0.075 0.075 29800 29698 1.00343 139
40.0019 0.0007 7500 0 0.9046 0 0 0.2604 0.0018 0.0018 0.594 0.017 0.017 0.9486 0.0011 0.0011 8.85 0.43 0.43 1.992 0.083 0.083 29800 29698 1.00343 140
40.003 0.001 15000 0 0.9046 0 0 0.2604 0.0018 0.0018 0.594 0.017 0.017 0.9139 0.0011 0.0011 8.35 0.4 0.4 1.841 0.08 0.08 29800 29698 1.00343 141
40.0068 0.0005 22500 0 0.9046 0 0 0.2604 0.0018 0.0018 0.594 0.017 0.017 0.8492 0.0011 0.0011 7.55 0.35 0.35 1.833 0.077 0.077 29800 29698 1.00343 142
40.03 0.02 30000 0 0.9046 0 0 0.2604 0.0018 0.0018 0.594 0.017 0.017 0.79182 0.00094 0.00094 6.12 0.26 0.26 1.783 0.069 0.069 29800 29698 1.00343 143
40.015 0.002 35000 0 0.9046 0 0 0.2604 0.0018 0.0018 0.594 0.017 0.017 0.74872 0.00059 0.00059 5.21 0.18 0.18 1.667 0.052 0.052 29800 29698 1.00343 144
+73
View File
@@ -0,0 +1,73 @@
Nd3BWO9, powder, veto, long, variox, coinc, 40K, ZFC
# Run Numbers: 8
###############################################################
FITPARAMETER
###############################################################
# No Name Value Err Min Max
# geometric parameters
1 alpha_ForwBackw 1 0 none
2 beta_ForwBackw 1 0 none
# Fitting parameters
3 Asytot 0.2382 0.0047 none
4 fraction 0.689 0.020 none 0 1
5 LambdaFast 5.98 0.42 none 0 none
6 LambdaSlow 0.822 0.057 none 0.3 none
###############################################################
THEORY
asymmetry fun1
simplExpo 5 (rate)
+
asymmetry fun2
simplExpo 6 (rate)
###############################################################
FUNCTIONS
fun1 = par3 * par4
fun2 = par3 * (1 - par4)
###############################################################
GLOBAL
fittype 2 (asymmetry fit)
fit 0.02 10
packing 20
###############################################################
RUN ../../data/deltat_tdc_flame_2022_0139 PIM3 PSI MUSR-ROOT (name beamline institute data-file-format)
alpha 1
beta 2
forward 2
backward 1
map 0 0 0 0 0 0 0 0 0 0
t0 1617.0 1626.0
data 1655 100897 1668 100897
background 100 1360 100 1360 # estimated bkg: 0.6802 / 0.3333
###############################################################
COMMANDS
MIGRAD
HESSE
SAVE
###############################################################
PLOT 2 (asymmetry plot)
runs 1
plot_range 0 10 -0.3 0.3
view_packing 1500
###############################################################
FOURIER
units Gauss # units either 'Gauss', 'Tesla', 'MHz', or 'Mc/s'
fourier_power 12
apodization STRONG # NONE, WEAK, MEDIUM, STRONG
plot POWER # REAL, IMAG, REAL_AND_IMAG, POWER, PHASE, PHASE_OPT_REAL
phase 0
###############################################################
STATISTIC --- 2026-01-13 08:54:54
chisq = 4833.7, NDF = 4949, chisq/NDF = 0.976693
@@ -0,0 +1,125 @@
Nb3BWO9, powder, veto, long, variox, VMX40G, coinc
# Run Numbers: 8
###############################################################
FITPARAMETER
###############################################################
# No Name Value Err Min Max
#calibration for backward-forward, detectors 2 - 1
1 alpha_ForwBackw 1.0015 0.0016 none
2 beta_ForwBackw 0.9309 0.0082 none
#calibration for right-left, detectors 3 - 4
3 alpha_RightLeft 0.8995 0.0014 none
4 beta_RightLeft 1.0522 0.0077 none
# Detector specific parameters
5 N0_Backw 426.38 0.48 none
6 NBg_Backw 2.423 0.094 none
7 Phi_Backw -0.54 0.43 none
8 NBg_Forw 1.493 0.093 none
9 Phi_Forw 184.71 0.47 none
10 N0_Right 475.08 0.49 none
11 NBg_Right 0.789 0.096 none
12 Phi_Right 91.76 0.39 none
13 NBg_Left 0.780 0.091 none
14 Phi_Left 275.86 0.43 none
# constant maps
15 ONE 1 0 none
# Fitting parameters
16 A0_Back 0.2452 0 none
17 A0_Left 0.2567 0 none
18 Lambda 0.4 0 none
19 Field 40.575 0 none
###############################################################
THEORY
asymmetry fun2
simplExpo 18 (rate)
TFieldCos map5 fun3 (phase frequency)
###############################################################
FUNCTIONS
#N0
fun1 = map1 * map2
#A0
fun2 = map3 * map4
#Frequency
fun3 = gamma_mu * par19
###############################################################
GLOBAL
fittype 0 (single histogram fit)
fit 0.1 7
packing 100
###############################################################
RUN ../../data/deltat_tdc_flame_2022_0137 PIM3 PSI MUSR-ROOT (name beamline institute data-file-format)
norm fun1
backgr.fit 6
forward 2
map 5 15 16 15 7 0 0 0 0 0 0 0 0 0
t0 1617.0
data 1655 100897
RUN ../../data/deltat_tdc_flame_2022_0137 PIM3 PSI MUSR-ROOT (name beamline institute data-file-format)
norm fun1
backgr.fit 8
forward 1
map 5 1 16 2 9 0 0 0 0 0 0 0 0 0
t0 1626.0
data 1668 100897
RUN ../../data/deltat_tdc_flame_2022_0137 PIM3 PSI MUSR-ROOT (name beamline institute data-file-format)
norm fun1
backgr.fit 11
forward 3
map 10 15 17 15 12 0 0 0 0 0 0 0 0 0
t0 1599.0
data 1618 100897
RUN ../../data/deltat_tdc_flame_2022_0137 PIM3 PSI MUSR-ROOT (name beamline institute data-file-format)
norm fun1
backgr.fit 13
forward 4
map 10 3 17 4 14 0 0 0 0 0 0 0 0 0
t0 1606.0
data 1639 100897
###############################################################
COMMANDS
MAX_LIKELIHOOD
MIGRAD
HESSE
SAVE
###############################################################
PLOT 0 (single histo plot)
lifetimecorrection
runs 1 2 3 4
use_fit_ranges
view_packing 500
###############################################################
FOURIER
units MHz # units either 'Gauss', 'Tesla', 'MHz', or 'Mc/s'
fourier_power 12
apodization STRONG # NONE, WEAK, MEDIUM, STRONG
plot POWER # REAL, IMAG, REAL_AND_IMAG, POWER, PHASE, PHASE_OPT_REAL
phase 8
###############################################################
STATISTIC --- 2026-01-12 22:23:52
maxLH = 2859.5, NDF = 2811, maxLH/NDF = 1.017237
@@ -0,0 +1,176 @@
Synth quartz crystal, TF33(2025), 175 kV spinrot
##################################################################
FITPARAMETER
# No Name Value Step Pos_Error Boundaries
# Single hist pars for detectors F1, F3, F5, F7
1 Asym_F1 0.13098 0.00045 none
2 Norm_F1 445.806 0.078 none
3 Bgr_F1 0.382 0.010 none
#
4 Asym_F3 0.13830 0.00040 none
5 Norm_F3 609.803 0.088 none
6 Bgr_F3 0.526 0.011 none
#
7 Asym_F5 0.14141 0.00039 none
8 Norm_F5 658.214 0.093 none
9 Bgr_F5 0.487 0.012 none
#
10 Asym_F7 0.12978 0.00043 none
11 Norm_F7 502.318 0.078 none
12 Bgr_F7 0.426 0.010 none
# Three component fit
13 Freq_Mu12 1936.43174 0.00011 none
14 Relx_Mu12 0.02658 0.00093 none
15 Frac_Mu12 0.42506 0.00058 none
16 Freq_Mu34 2558.78249 0.00016 none
17 Relx_Mu34 0.0398 0.0011 none
18 Frac_Mu34 0.32738 0.00056 none
19 Freq_mu 154.98230 0.00024 none
20 Relx_mu 0.0775 0.0018 none
# Frac_mu = (1 - Frac_Mu12) - Frac_Mu34
# phases of each component on each detector
21 PhsF1_Mu12 64.27 0.24 none
22 PhsF1_Mu34 359.72 0.32 none
23 PhsF1_mu 183.61 0.46 none
24 PhsF3_Mu12 -6.46 0.20 none
25 PhsF3_Mu34 299.50 0.26 none
26 PhsF3_mu 144.91 0.38 none
27 PhsF5_Mu12 175.32 0.19 none
28 PhsF5_Mu34 222.25 0.25 none
29 PhsF5_mu 36.37 0.35 none
30 PhsF7_Mu12 -21.60 0.23 none
31 PhsF7_Mu34 218.05 0.31 none
32 PhsF7_mu 304.82 0.42 none
#####################################################################
THEORY
asymmetry fun1
simplExpo 14 (rate)
TFieldCos map2 13 (phase frequency)
+
asymmetry fun2
simplExpo 17 (rate)
TFieldCos map3 16 (phase frequency)
+
asymmetry fun3
simplExpo 20 (rate)
TFieldCos map4 19 (phase frequency)
#TFieldCos map4 fun4 (phase frequency)
# mappings: Detector-specific asymmetry and phases
# map1 map2 map3 map4
# Asym_F* Phs_F*_Mu12 Phs_F*_Mu34 Phs_F*_mu
#####################################################################
GLOBAL
fittype 0 (single histogram fit)
fit 0.002 9
packing 2
#packing 8
#
#####################################################################
FUNCTIONS
# amplitudes of each component
fun1 = par15 * map1
fun2 = par18 * map1
fun3 = ((1.0 - par15) - par18) * map1
#####################################################################
RUN ../../data/tdc_hifi_2025_00002 PIE3 PSI PSI-MDU (name beamline institute data-file-format)
map 1 21 22 23 0 0 0 0 0 0
norm 2
backgr.fit 3
forward 2
data 20151 409500
t0 20052.0
#--------------------------------------------------------------------
RUN ../../data/tdc_hifi_2025_00002 PIE3 PSI PSI-MDU (name beamline institute data-file-format)
map 4 24 25 26 0 0 0 0 0 0
norm 5
backgr.fit 6
forward 4
data 20151 409500
t0 20052.0
#--------------------------------------------------------------------
RUN ../../data/tdc_hifi_2025_00002 PIE3 PSI PSI-MDU (name beamline institute data-file-format)
map 7 27 28 29 0 0 0 0 0 0
norm 8
backgr.fit 9
forward 6
data 20152 409500
t0 20051.0
#--------------------------------------------------------------------
RUN ../../data/tdc_hifi_2025_00002 PIE3 PSI PSI-MDU (name beamline institute data-file-format)
map 10 30 31 32 0 0 0 0 0 0
norm 11
backgr.fit 12
forward 8
data 20152 409500
t0 20049.0
#--------------------------------------------------------------------
#####################################################################
COMMANDS
SCALE_N0_BKG FALSE
STRATEGY=2
PRINT_LEVEL 2
MAX_LIKELIHOOD
MINIMIZE
SAVE
#####################################################################
FOURIER
units MHz # units either 'Gauss', 'Tesla', 'MHz', or 'Mc/s'
fourier_power 13
apodization STRONG # NONE, WEAK, MEDIUM, STRONG
plot POWER # REAL, IMAG, REAL_AND_IMAG, POWER, PHASE
dc-corrected FALSE # TRUE, FALSE
#range 1800 2700
#####################################################################
PLOT 0 (single histo plot)
lifetimecorrection
runs 1 2 3 4
#runs 1
range 0.002 2
view_packing 6
#####################################################################
STATISTIC --- 2026-01-12 13:10:35
maxLH = 742209.8, NDF = 737049, maxLH/NDF = 1.007002
@@ -0,0 +1,176 @@
Synth quartz crystal, TF33(2025), 175 kV spinrot
##################################################################
FITPARAMETER
# No Name Value Step Pos_Error Boundaries
# Single hist pars for detectors F1, F3, F5, F7
1 Asym_F1 0.13098 0.00045 none
2 Norm_F1 445.806 0.078 none
3 Bgr_F1 0.382 0.010 none
#
4 Asym_F3 0.13830 0.00040 none
5 Norm_F3 609.803 0.088 none
6 Bgr_F3 0.526 0.011 none
#
7 Asym_F5 0.14141 0.00039 none
8 Norm_F5 658.214 0.093 none
9 Bgr_F5 0.487 0.012 none
#
10 Asym_F7 0.12978 0.00043 none
11 Norm_F7 502.318 0.078 none
12 Bgr_F7 0.426 0.010 none
# Three component fit
13 Freq_Mu12 1930 0.00011 none
14 Relx_Mu12 0.02658 0.00093 none
15 Frac_Mu12 0.42506 0.00058 none
16 Freq_Mu34 3200 0.00016 none
17 Relx_Mu34 0.0398 0.0011 none
18 Frac_Mu34 0.32738 0.00056 none
19 Freq_mu 152.5 0.00024 none
20 Relx_mu 0.0775 0.0018 none
# Frac_mu = (1 - Frac_Mu12) - Frac_Mu34
# phases of each component on each detector
21 PhsF1_Mu12 64.27 0.24 none
22 PhsF1_Mu34 359.72 0.32 none
23 PhsF1_mu 183.61 0.46 none
24 PhsF3_Mu12 -6.46 0.20 none
25 PhsF3_Mu34 299.50 0.26 none
26 PhsF3_mu 144.91 0.38 none
27 PhsF5_Mu12 175.32 0.19 none
28 PhsF5_Mu34 222.25 0.25 none
29 PhsF5_mu 36.37 0.35 none
30 PhsF7_Mu12 -21.60 0.23 none
31 PhsF7_Mu34 218.05 0.31 none
32 PhsF7_mu 304.82 0.42 none
#####################################################################
THEORY
asymmetry fun1
simplExpo 14 (rate)
TFieldCos map2 13 (phase frequency)
+
asymmetry fun2
simplExpo 17 (rate)
TFieldCos map3 16 (phase frequency)
+
asymmetry fun3
simplExpo 20 (rate)
TFieldCos map4 19 (phase frequency)
#TFieldCos map4 fun4 (phase frequency)
# mappings: Detector-specific asymmetry and phases
# map1 map2 map3 map4
# Asym_F* Phs_F*_Mu12 Phs_F*_Mu34 Phs_F*_mu
#####################################################################
GLOBAL
fittype 0 (single histogram fit)
fit 0.002 9
packing 2
#packing 8
#
#####################################################################
FUNCTIONS
# amplitudes of each component
fun1 = par15 * map1
fun2 = par18 * map1
fun3 = ((1.0 - par15) - par18) * map1
#####################################################################
RUN ../../data/tdc_hifi_2025_00002 PIE3 PSI PSI-MDU (name beamline institute data-file-format)
map 1 21 22 23 0 0 0 0 0 0
norm 2
backgr.fit 3
forward 2
data 20151 409500
t0 20052.0
#--------------------------------------------------------------------
RUN ../../data/tdc_hifi_2025_00002 PIE3 PSI PSI-MDU (name beamline institute data-file-format)
map 4 24 25 26 0 0 0 0 0 0
norm 5
backgr.fit 6
forward 4
data 20151 409500
t0 20052.0
#--------------------------------------------------------------------
RUN ../../data/tdc_hifi_2025_00002 PIE3 PSI PSI-MDU (name beamline institute data-file-format)
map 7 27 28 29 0 0 0 0 0 0
norm 8
backgr.fit 9
forward 6
data 20152 409500
t0 20051.0
#--------------------------------------------------------------------
RUN ../../data/tdc_hifi_2025_00002 PIE3 PSI PSI-MDU (name beamline institute data-file-format)
map 10 30 31 32 0 0 0 0 0 0
norm 11
backgr.fit 12
forward 8
data 20152 409500
t0 20049.0
#--------------------------------------------------------------------
#####################################################################
COMMANDS
SCALE_N0_BKG FALSE
STRATEGY=2
PRINT_LEVEL 2
MAX_LIKELIHOOD
MINIMIZE
SAVE
#####################################################################
FOURIER
units MHz # units either 'Gauss', 'Tesla', 'MHz', or 'Mc/s'
fourier_power 13
apodization STRONG # NONE, WEAK, MEDIUM, STRONG
plot POWER # REAL, IMAG, REAL_AND_IMAG, POWER, PHASE
dc-corrected FALSE # TRUE, FALSE
#range 1800 2700
#####################################################################
PLOT 0 (single histo plot)
lifetimecorrection
runs 1 2 3 4
#runs 1
range 0.002 2
view_packing 6
#####################################################################
STATISTIC --- 2026-01-12 13:10:35
maxLH = 742209.8, NDF = 737049, maxLH/NDF = 1.007002
+10
View File
@@ -0,0 +1,10 @@
dataT dataTErr dataB dataE dataTr dataRALRAR dataRATRAB dataSpinRot RANGE alpha_LR alpha_LRPosErr alpha_LRNegErr N0_L N0_LPosErr N0_LNegErr Bkg_L Bkg_LPosErr Bkg_LNegErr Bkg_R Bkg_RPosErr Bkg_RNegErr phi_L phi_LPosErr phi_LNegErr phi_R phi_RPosErr phi_RNegErr Asymmetry AsymmetryPosErr AsymmetryNegErr Sigma SigmaPosErr SigmaNegErr Field FieldPosErr FieldNegErr maxLH NDF maxLHred RUN
100 0.01 96.69 22.0593 13.4975 -0.409 -0.009 -45 99.4 1.0736 0.0013 0.0013 439.97 0.38 0.38 1.461 0.04 0.04 2.147 0.043 0.043 -32.92 0.39 0.39 132.08 0.39 0.39 0.20098 0.00086 0.00086 0.0903 0.0036 0.0036 99.447 0.026 0.026 34027.7 33783 1.00724 1309
99.996 0.006 96.69 18.763 13.4975 -0.409 -0.009 -45 84.1 1.0755 0.0013 0.0013 440.54 0.38 0.38 1.374 0.04 0.04 2.097 0.042 0.042 -32.4 0.39 0.39 132.43 0.4 0.4 0.19758 0.00087 0.00087 0.0935 0.0035 0.0035 99.422 0.026 0.026 34124.9 33783 1.01012 1310
99.996 0.005 96.68 15.3663 13.4975 -0.409 -0.009 -45 69.9 1.0768 0.0013 0.0013 438.88 0.38 0.38 1.397 0.04 0.04 2.169 0.043 0.043 -31.48 0.41 0.41 133.05 0.42 0.42 0.18801 0.00087 0.00087 0.0864 0.0039 0.0039 99.429 0.027 0.027 34736.1 33783 1.02821 1311
99.996 0.004 96.68 12.0611 13.4975 -0.409 -0.009 -45 56.5 1.08 0.0013 0.0013 439.33 0.38 0.38 1.309 0.04 0.04 2.13 0.043 0.043 -32.63 0.44 0.44 132.67 0.44 0.44 0.17983 0.00087 0.00087 0.091 0.0039 0.0039 99.482 0.029 0.029 34533.3 33783 1.02221 1312
99.997 0.004 96.68 8.76457 13.4975 -0.409 -0.009 -45 43.5 1.0848 0.0013 0.0013 438.49 0.38 0.38 1.378 0.04 0.04 2.158 0.043 0.043 -33.64 0.46 0.46 131.89 0.47 0.47 0.16878 0.00088 0.00088 0.0999 0.0041 0.0041 99.564 0.031 0.031 33894.9 33783 1.00331 1313
99.997 0.003 96.68 5.36815 13.4975 -0.409 -0.009 -45 30.8 1.0992 0.0013 0.0013 435.14 0.38 0.38 1.284 0.04 0.04 2.152 0.043 0.043 -32.32 0.53 0.53 132.97 0.54 0.54 0.1481 0.00089 0.00089 0.1141 0.0045 0.0045 99.523 0.037 0.037 34184.8 33783 1.01189 1314
100 0.04 96.67 2.07199 13.4975 -0.409 -0.009 -45 17.3 1.2133 0.0015 0.0015 413.22 0.37 0.37 1.329 0.039 0.039 2.025 0.044 0.044 -34.06 0.8 0.8 131.5 0.8 0.8 0.1063 0.001 0.001 0.2089 0.0067 0.0067 99.625 0.068 0.068 34306.3 33783 1.01549 1315
+10
View File
@@ -0,0 +1,10 @@
dataT dataTErr dataB dataE dataTr dataRALRAR dataRATRAB dataSpinRot RANGE alpha_LR alpha_LRPosErr alpha_LRNegErr N0_L N0_LPosErr N0_LNegErr Bkg_L Bkg_LPosErr Bkg_LNegErr Bkg_R Bkg_RPosErr Bkg_RNegErr phi_L phi_LPosErr phi_LNegErr phi_R phi_RPosErr phi_RNegErr Asymmetry AsymmetryPosErr AsymmetryNegErr Sigma SigmaPosErr SigmaNegErr Field FieldPosErr FieldNegErr maxLH NDF maxLHred RUN
10 0.005 96.72 22.0593 13.4975 -0.409 -0.009 -45 99.4 1.0711 0.0013 0.0013 439.03 0.38 0.38 1.404 0.04 0.04 2.149 0.043 0.043 -25.04 0.47 0.47 138.78 0.48 0.48 0.18829 0.001 0.001 0.2294 0.0035 0.0035 79.499 0.043 0.043 34473.3 33783 1.02043 1281
10 0.005 96.7 18.763 13.4975 -0.409 -0.009 -45 84.1 1.069 0.0013 0.0013 438.45 0.38 0.38 1.432 0.04 0.04 2.17 0.043 0.043 -26.31 0.51 0.51 138.97 0.52 0.52 0.1859 0.0011 0.0011 0.3041 0.0042 0.0042 81.396 0.056 0.056 34372.2 33783 1.01744 1282
10 0.005 96.69 15.3664 13.4975 -0.409 -0.009 -45 69.9 1.072 0.0013 0.0013 437.69 0.38 0.38 1.41 0.04 0.04 2.091 0.043 0.043 -26.48 0.57 0.57 138.37 0.58 0.58 0.1838 0.0012 0.0012 0.3914 0.005 0.005 84.387 0.074 0.074 34640.3 33783 1.02538 1283
10 0.006 96.71 12.0612 13.4975 -0.409 -0.009 -45 56.5 1.072 0.0013 0.0013 439 0.38 0.38 1.298 0.04 0.04 2.224 0.043 0.043 -27.37 0.62 0.62 137.3 0.62 0.62 0.1757 0.0012 0.0012 0.4199 0.0052 0.0052 88.282 0.084 0.084 34364 33783 1.0172 1284
10.001 0.006 96.71 8.76476 13.4975 -0.409 -0.009 -45 43.5 1.0814 0.0013 0.0013 436.38 0.38 0.38 1.425 0.04 0.04 2.006 0.043 0.043 -30.39 0.66 0.66 133.99 0.66 0.66 0.1658 0.0012 0.0012 0.4279 0.0055 0.0055 92.651 0.09 0.09 34544.3 33783 1.02254 1285
10 0.006 96.69 5.36815 13.4975 -0.409 -0.009 -45 30.8 1.0892 0.0013 0.0013 434.87 0.38 0.38 1.387 0.04 0.04 2.168 0.043 0.043 -32.49 0.7 0.7 134.65 0.71 0.71 0.1416 0.0011 0.0011 0.3479 0.0058 0.0058 96.918 0.083 0.083 34843.7 33783 1.0314 1286
10 0.006 96.69 2.07189 13.4975 -0.409 -0.009 -45 19.4 1.2039 0.0015 0.0015 413.63 0.37 0.37 1.289 0.039 0.039 1.975 0.043 0.043 -37.2 1.1 1.1 129.8 1.1 1.1 0.0937 0.0012 0.0012 0.359 0.011 0.011 100 0.12 0.12 34724.5 33783 1.02787 1287
@@ -0,0 +1,45 @@
n/a
###############################################################
FITPARAMETER
###############################################################
# No Name Value Step posError [Lower_Boundary Upper_Boundary]
1 Bext 97.6 0 none
2 LambdaL 345.4 1.3 none
3 dead_layer 25.05 0.20 none
###############################################################
THEORY
const 1
const fun1
simplExpo fun2 (rate)
###############################################################
FUNCTIONS
fun1 = exp(par3 / par2)
fun2 = 1 / par2
###############################################################
GLOBAL
fittype 8 (non muSR fit)
fit 1 1000
packing 1
###############################################################
RUN 10K-Escan.dat MUE4 PSI DAT (name beamline institute data-file-format)
xy-data 8 17
map 0 0 0 0 0 0 0 0 0 0
###############################################################
COMMANDS
MIGRAD
HESSE
###############################################################
PLOT 8 (non muSR plot)
runs 1
range 0 150
###############################################################
STATISTIC --- 2026-01-09 13:49:20
chisq = 1175.3, NDF = 5, chisq/NDF = 235.060000
+64
View File
@@ -0,0 +1,64 @@
n/a
###############################################################
FITPARAMETER
###############################################################
# No Name Value Step posError [Lower_Boundary Upper_Boundary]
1 Bext 99.473 0.012 none
2 LambdaL 155.8 2.0 none
3 thickness 234.9 4.5 none
4 dead_layer 23.24 0.18 none
5 ZERO 0 0 none
6 ONE 1 0 none
###############################################################
THEORY
const fun1
const fun2
simplExpo fun4 (rate)
+
const fun1
const fun3
simplExpo fun5 (rate)
+
const map2
const 1
###############################################################
FUNCTIONS
fun1 = map1 * par1 / 2 / cosh(par3 / 2 / par2)
fun2 = exp((par3 + 2 * par4) / 2 / par2)
fun3 = exp((-1) * (par3 + 2 * par4) / 2 / par2)
fun4 = 1 / par2
fun5 = -1 / par2
###############################################################
GLOBAL
fittype 8 (non muSR fit)
fit 0 1000
packing 1
###############################################################
RUN 10K-Escan.dat MUE4 PSI DAT (name beamline institute data-file-format)
xy-data 8 17
map 6 5 0 0 0 0 0 0 0 0
RUN 100K-Escan.dat MUE4 PSI DAT (name beamline institute data-file-format)
xy-data 8 17
map 5 6 0 0 0 0 0 0 0 0
###############################################################
COMMANDS
STRATEGY 2
MIGRAD
HESSE
SAVE
###############################################################
PLOT 8 (non muSR plot)
runs 1 2
range 0 150
###############################################################
STATISTIC --- 2026-01-09 14:24:08
chisq = 245.3, NDF = 10, chisq/NDF = 24.528841
@@ -0,0 +1,8 @@
RUN RANGE
1309 99.4
1310 84.1
1311 69.9
1312 56.5
1313 43.5
1314 30.8
1315 17.3
@@ -0,0 +1,8 @@
RUN RANGE
1281 99.4
1282 84.1
1283 69.9
1284 56.5
1285 43.5
1286 30.8
1287 19.4
+77
View File
@@ -0,0 +1,77 @@
YBCO Uni Basel, T=9.99 K, E=22.06 keV, B=~100(G)/2.73(A), Tr/Sa=13.50/-9.99 kV, RAL-RAR=-0.41 kV, SR=-45.00
###############################################################
FITPARAMETER
###############################################################
# No Name Value Step posError [Lower_Boundary Upper_Boundary]
1 alpha_LR 1.0711 0.0013 none
2 N0_L 439.03 0.38 none
3 Bkg_L 1.404 0.040 none
4 Bkg_R 2.149 0.043 none
5 phi_L -25.04 0.47 none
6 phi_R 138.78 0.48 none
7 Asymmetry 0.18829 0.00100 none
8 Sigma 0.2294 0.0035 none 0 none
9 Field 79.499 0.043 none 0 none
###############################################################
THEORY
asymmetry 7
simpleGss 8 (rate)
TFieldCos map1 fun1 (phase frequency)
###############################################################
FUNCTIONS
fun1 = gamma_mu * par9
fun2 = par1 * par2
###############################################################
GLOBAL
fittype 0 (single histogram fit)
fit 0.1 10
packing 3
###############################################################
RUN ../../data/lem22_his_1281 PIM3 PSI MUSR-ROOT (name beamline institute data-file-format)
norm 2
backgr.fit 3
forward 21 25
map 5 0 0 0 0 0 0 0 0 0
t0 2808.0 2743.0
data 3019 66100
RUN ../../data/lem22_his_1281 PIM3 PSI MUSR-ROOT (name beamline institute data-file-format)
norm fun2
backgr.fit 4
forward 23 27
map 6 0 0 0 0 0 0 0 0 0
t0 2830.0 2778.0
data 3210 65861
###############################################################
COMMANDS
MAX_LIKELIHOOD
STRATEGY 2
MIGRAD
HESSE
SAVE
###############################################################
PLOT 0 (single histo plot)
lifetimecorrection
runs 1 2
plot_range 0.3 10 -0.3 0.3
view_packing 100
###############################################################
FOURIER
units Gauss # units either 'Gauss', 'Tesla', 'MHz', or 'Mc/s'
fourier_power 12
apodization WEAK # NONE, WEAK, MEDIUM, STRONG
plot POWER # REAL, IMAG, REAL_AND_IMAG, POWER, PHASE, PHASE_OPT_REAL
phase 0
range 0 1000
###############################################################
STATISTIC --- 2026-01-08 16:14:18
maxLH = 34473.3, NDF = 33783, maxLH/NDF = 1.020434
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

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