66aa847b58bc45264c242c895fb5e778878be384
Replace ROOT's TString::Tokenize() + TObjArray/TObjString token handling with the dependency-free PStringUtils::Split() across all command/theory parsing in PFitter (GetPhaseParams, GetParFromFun, CheckCommands and the Execute* helpers). Split() mirrors Tokenize() semantics (delimiter-set, skips empty tokens), so token counts and indices are unchanged. Each token is still copied into a TString, so the downstream Atoi/Atof/IsFloat/IsDigit/Contains/CompareTo logic stays as-is. Using a std::vector<std::string> removes the manual TObjArray cleanup and incidentally fixes three pre-existing leaks: the tokens array in ExecuteFitRange was never freed, and the early return paths in ExecutePrintLevel and the SECTOR check in CheckCommands skipped the cleanup. Build of libPMusr and musrfit is clean; full ctest suite passes (85/85). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
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
For the beta-NMR related parts, please contact Zaher Salman zaher.salman@psi.ch
Releases
4
v1.9.9 - Stable 06/25
Latest
Languages
C++
88.3%
Wolfram Language
6.5%
C
2.5%
CMake
1.7%
Perl
0.5%
Other
0.4%