From cc8ac60713f20603b3a10fa9e988dc88b8cb095e Mon Sep 17 00:00:00 2001 From: Andreas Suter Date: Fri, 26 Feb 2021 15:17:41 +0100 Subject: [PATCH 1/3] by changing the behaviour of the global parts of the class PUserFcnBase from pure virtual default NeedGlobalPart=false, the code can be simplified in many places. --- src/classes/PUserFcnBase.cpp | 20 ---- src/external/libBNMR/TBNMR.h | 8 -- .../libBNMR/libLineProfile/LineProfile.h | 27 ----- .../libCalcMeanFieldsLEM/TCalcMeanFieldsLEM.h | 20 ---- src/external/libFitPofB/classes/TPofTCalc.cpp | 2 +- src/external/libFitPofB/include/TLondon1D.h | 24 ---- src/external/libFitPofB/include/TSkewedGss.h | 4 - src/external/libFitPofB/include/TVortex.h | 24 ---- src/external/libGapIntegrals/TGapIntegrals.h | 112 ------------------ src/external/libGbGLF/PGbGLF.h | 4 - src/external/libLFRelaxation/TLFRelaxation.h | 24 ---- .../libPhotoMeissner/include/PPhotoMeissner.h | 7 +- .../libSpinValve/include/PSkewedLorentzian.h | 5 - src/external/libZFRelaxation/ZFRelaxation.h | 12 -- src/include/PUserFcnBase.h | 10 +- 15 files changed, 7 insertions(+), 296 deletions(-) diff --git a/src/classes/PUserFcnBase.cpp b/src/classes/PUserFcnBase.cpp index db655131..9a9ea3fc 100644 --- a/src/classes/PUserFcnBase.cpp +++ b/src/classes/PUserFcnBase.cpp @@ -34,26 +34,6 @@ ClassImp(PUserFcnBase) -//-------------------------------------------------------------------------- -// Constructor -//-------------------------------------------------------------------------- -/** - *

Constructor - */ -PUserFcnBase::PUserFcnBase() -{ -} - -//-------------------------------------------------------------------------- -// Destructor -//-------------------------------------------------------------------------- -/** - *

Destructor - */ -PUserFcnBase::~PUserFcnBase() -{ -} - //-------------------------------------------------------------------------- // This function is a replacement for the ParseFile method of TSAXParser. // It is needed because in certain environments ParseFile does not work but ParseBuffer does. diff --git a/src/external/libBNMR/TBNMR.h b/src/external/libBNMR/TBNMR.h index 6a95b4e9..2fb900c5 100644 --- a/src/external/libBNMR/TBNMR.h +++ b/src/external/libBNMR/TBNMR.h @@ -55,10 +55,6 @@ public: ExpRlx(){} ~ExpRlx(){} - Bool_t NeedGlobalPart() const { return false; } - void SetGlobalPart(std::vector &globalPart, UInt_t idx) { } - Bool_t GlobalPartIsValid() const { return true; } - // function operator double operator()(double, const std::vector&) const; @@ -73,10 +69,6 @@ public: SExpRlx(){} ~SExpRlx(){} - Bool_t NeedGlobalPart() const { return false; } - void SetGlobalPart(std::vector &globalPart, UInt_t idx) { } - Bool_t GlobalPartIsValid() const { return true; } - // function operator double operator()(double, const std::vector&) const; private: diff --git a/src/external/libBNMR/libLineProfile/LineProfile.h b/src/external/libBNMR/libLineProfile/LineProfile.h index 85e269f1..13a2a106 100644 --- a/src/external/libBNMR/libLineProfile/LineProfile.h +++ b/src/external/libBNMR/libLineProfile/LineProfile.h @@ -51,12 +51,6 @@ Double_t IAsym_high(Double_t, Double_t, Double_t, Double_t); class LineGauss : public PUserFcnBase { public: - - // global user-function-access functions, here without any functionality - Bool_t NeedGlobalPart() const { return false; } - void SetGlobalPart(vector &globalPart, UInt_t idx) { } - Bool_t GlobalPartIsValid() const { return true; } - // function operator Double_t operator()(Double_t, const vector&) const; @@ -68,12 +62,6 @@ public: class LineLaplace : public PUserFcnBase { public: - - // global user-function-access functions, here without any functionality - Bool_t NeedGlobalPart() const { return false; } - void SetGlobalPart(vector &globalPart, UInt_t idx) { } - Bool_t GlobalPartIsValid() const { return true; } - // function operator Double_t operator()(Double_t, const vector&) const; @@ -85,11 +73,6 @@ public: class LineLorentzian : public PUserFcnBase { public: - // global user-function-access functions, here without any functionality - Bool_t NeedGlobalPart() const { return false; } - void SetGlobalPart(vector &globalPart, UInt_t idx) { } - Bool_t GlobalPartIsValid() const { return true; } - // function operator Double_t operator()(Double_t, const vector&) const; @@ -101,11 +84,6 @@ public: class LineSkewLorentzian : public PUserFcnBase { public: - // global user-function-access functions, here without any functionality - Bool_t NeedGlobalPart() const { return false; } - void SetGlobalPart(vector &globalPart, UInt_t idx) { } - Bool_t GlobalPartIsValid() const { return true; } - // function operator Double_t operator()(Double_t, const vector&) const; @@ -118,11 +96,6 @@ public: class LineSkewLorentzian2 : public PUserFcnBase { public: - // global user-function-access functions, here without any functionality - Bool_t NeedGlobalPart() const { return false; } - void SetGlobalPart(vector &globalPart, UInt_t idx) { } - Bool_t GlobalPartIsValid() const { return true; } - // function operator Double_t operator()(Double_t, const vector&) const; diff --git a/src/external/libCalcMeanFieldsLEM/TCalcMeanFieldsLEM.h b/src/external/libCalcMeanFieldsLEM/TCalcMeanFieldsLEM.h index 641f5239..926a03fd 100644 --- a/src/external/libCalcMeanFieldsLEM/TCalcMeanFieldsLEM.h +++ b/src/external/libCalcMeanFieldsLEM/TCalcMeanFieldsLEM.h @@ -38,10 +38,6 @@ public: TMeanFieldsForScHalfSpace(); ~TMeanFieldsForScHalfSpace() {delete fImpProfile; fImpProfile = 0;} - virtual Bool_t NeedGlobalPart() const { return false; } - virtual void SetGlobalPart(std::vector &globalPart, UInt_t idx) { } - virtual Bool_t GlobalPartIsValid() const { return true; } - double operator()(double, const std::vector&) const; double CalcMeanB (double, const TLondon1D_HS&) const; @@ -58,10 +54,6 @@ public: TMeanFieldsForScSingleLayer(); ~TMeanFieldsForScSingleLayer() {delete fImpProfile; fImpProfile = 0;} - virtual Bool_t NeedGlobalPart() const { return false; } - virtual void SetGlobalPart(std::vector &globalPart, UInt_t idx) { } - virtual Bool_t GlobalPartIsValid() const { return true; } - double operator()(double, const std::vector&) const; double CalcMeanB (double, const std::vector&, const std::vector&, const TLondon1D_1L&) const; @@ -78,10 +70,6 @@ public: TMeanFieldsForScBilayer(); ~TMeanFieldsForScBilayer() {delete fImpProfile; fImpProfile = 0;} - virtual Bool_t NeedGlobalPart() const { return false; } - virtual void SetGlobalPart(std::vector &globalPart, UInt_t idx) { } - virtual Bool_t GlobalPartIsValid() const { return true; } - double operator()(double, const std::vector&) const; double CalcMeanB (double, const std::vector&, const std::vector&, const TLondon1D_2L&, double) const; @@ -98,10 +86,6 @@ public: TMeanFieldsForScTrilayer(); ~TMeanFieldsForScTrilayer() {delete fImpProfile; fImpProfile = 0;} - virtual Bool_t NeedGlobalPart() const { return false; } - virtual void SetGlobalPart(std::vector &globalPart, UInt_t idx) { } - virtual Bool_t GlobalPartIsValid() const { return true; } - double operator()(double, const std::vector&) const; double CalcMeanB (double, const std::vector&, const std::vector&, const TLondon1D_3L&) const; @@ -118,10 +102,6 @@ public: TMeanFieldsForScTrilayerWithInsulator(); ~TMeanFieldsForScTrilayerWithInsulator() {delete fImpProfile; fImpProfile = 0;} - virtual Bool_t NeedGlobalPart() const { return false; } - virtual void SetGlobalPart(std::vector &globalPart, UInt_t idx) { } - virtual Bool_t GlobalPartIsValid() const { return true; } - double operator()(double, const std::vector&) const; double CalcMeanB (double, const std::vector&, const std::vector&, const TLondon1D_3LwInsulator&) const; diff --git a/src/external/libFitPofB/classes/TPofTCalc.cpp b/src/external/libFitPofB/classes/TPofTCalc.cpp index 5e292e76..2072ee00 100644 --- a/src/external/libFitPofB/classes/TPofTCalc.cpp +++ b/src/external/libFitPofB/classes/TPofTCalc.cpp @@ -206,7 +206,7 @@ double TPofTCalc::Eval(double t) const { if (i < fNFFT/2){ return fPT[i]+(fPT[i+1]-fPT[i])/(fT[i+1]-fT[i])*(t-fT[i]); } - std::cout << "TPofTCalc::Eval: No data for the time " << t << " us available! Returning -999.0 ..." << std::endl; +//as35 std::cout << "TPofTCalc::Eval: No data for the time " << t << " us available! Returning -999.0 ..." << std::endl; return -999.0; } diff --git a/src/external/libFitPofB/include/TLondon1D.h b/src/external/libFitPofB/include/TLondon1D.h index aa4f4e8f..fcc49e84 100644 --- a/src/external/libFitPofB/include/TLondon1D.h +++ b/src/external/libFitPofB/include/TLondon1D.h @@ -43,10 +43,6 @@ public: TLondon1DHS(); ~TLondon1DHS(); - virtual Bool_t NeedGlobalPart() const { return false; } - virtual void SetGlobalPart(std::vector &globalPart, UInt_t idx) { } - virtual Bool_t GlobalPartIsValid() const { return true; } - double operator()(double, const std::vector&) const; private: @@ -76,10 +72,6 @@ public: TLondon1D1L(); ~TLondon1D1L(); - virtual Bool_t NeedGlobalPart() const { return false; } - virtual void SetGlobalPart(std::vector &globalPart, UInt_t idx) { } - virtual Bool_t GlobalPartIsValid() const { return true; } - double operator()(double, const std::vector&) const; private: @@ -111,10 +103,6 @@ public: TLondon1D2L(); ~TLondon1D2L(); - virtual Bool_t NeedGlobalPart() const { return false; } - virtual void SetGlobalPart(std::vector &globalPart, UInt_t idx) { } - virtual Bool_t GlobalPartIsValid() const { return true; } - double operator()(double, const std::vector&) const; private: @@ -145,10 +133,6 @@ public: TProximity1D1LHS(); ~TProximity1D1LHS(); - virtual Bool_t NeedGlobalPart() const { return false; } - virtual void SetGlobalPart(std::vector &globalPart, UInt_t idx) { } - virtual Bool_t GlobalPartIsValid() const { return true; } - double operator()(double, const std::vector&) const; private: @@ -179,10 +163,6 @@ public: TLondon1D3L(); ~TLondon1D3L(); - virtual Bool_t NeedGlobalPart() const { return false; } - virtual void SetGlobalPart(std::vector &globalPart, UInt_t idx) { } - virtual Bool_t GlobalPartIsValid() const { return true; } - double operator()(double, const std::vector&) const; private: @@ -213,10 +193,6 @@ public: TLondon1D3LS(); ~TLondon1D3LS(); - virtual Bool_t NeedGlobalPart() const { return false; } - virtual void SetGlobalPart(std::vector &globalPart, UInt_t idx) { } - virtual Bool_t GlobalPartIsValid() const { return true; } - double operator()(double, const std::vector&) const; private: diff --git a/src/external/libFitPofB/include/TSkewedGss.h b/src/external/libFitPofB/include/TSkewedGss.h index 1eb97e9a..dc90366c 100644 --- a/src/external/libFitPofB/include/TSkewedGss.h +++ b/src/external/libFitPofB/include/TSkewedGss.h @@ -43,10 +43,6 @@ public: TSkewedGss(); ~TSkewedGss(); - virtual Bool_t NeedGlobalPart() const { return false; } - virtual void SetGlobalPart(std::vector &globalPart, UInt_t idx) { } - virtual Bool_t GlobalPartIsValid() const { return true; } - double operator()(double, const std::vector&) const; private: diff --git a/src/external/libFitPofB/include/TVortex.h b/src/external/libFitPofB/include/TVortex.h index 21c79e90..352309b8 100644 --- a/src/external/libFitPofB/include/TVortex.h +++ b/src/external/libFitPofB/include/TVortex.h @@ -43,10 +43,6 @@ public: TBulkTriVortexLondon(); ~TBulkTriVortexLondon(); - virtual Bool_t NeedGlobalPart() const { return false; } - virtual void SetGlobalPart(std::vector &globalPart, UInt_t idx) { } - virtual Bool_t GlobalPartIsValid() const { return true; } - double operator()(double, const std::vector&) const; private: @@ -76,10 +72,6 @@ public: TBulkSqVortexLondon(); ~TBulkSqVortexLondon(); - virtual Bool_t NeedGlobalPart() const { return false; } - virtual void SetGlobalPart(std::vector &globalPart, UInt_t idx) { } - virtual Bool_t GlobalPartIsValid() const { return true; } - double operator()(double, const std::vector&) const; private: @@ -109,10 +101,6 @@ public: TBulkTriVortexML(); ~TBulkTriVortexML(); - virtual Bool_t NeedGlobalPart() const { return false; } - virtual void SetGlobalPart(std::vector &globalPart, UInt_t idx) { } - virtual Bool_t GlobalPartIsValid() const { return true; } - double operator()(double, const std::vector&) const; private: @@ -142,10 +130,6 @@ public: TBulkTriVortexAGL(); ~TBulkTriVortexAGL(); - virtual Bool_t NeedGlobalPart() const { return false; } - virtual void SetGlobalPart(std::vector &globalPart, UInt_t idx) { } - virtual Bool_t GlobalPartIsValid() const { return true; } - double operator()(double, const std::vector&) const; private: @@ -175,10 +159,6 @@ public: TBulkTriVortexAGLII(); ~TBulkTriVortexAGLII(); - virtual Bool_t NeedGlobalPart() const { return false; } - virtual void SetGlobalPart(std::vector &globalPart, UInt_t idx) { } - virtual Bool_t GlobalPartIsValid() const { return true; } - double operator()(double, const std::vector&) const; private: @@ -208,10 +188,6 @@ public: TBulkTriVortexNGL(); ~TBulkTriVortexNGL(); - virtual Bool_t NeedGlobalPart() const { return false; } - virtual void SetGlobalPart(std::vector &globalPart, UInt_t idx) { } - virtual Bool_t GlobalPartIsValid() const { return true; } - double operator()(double, const std::vector&) const; private: diff --git a/src/external/libGapIntegrals/TGapIntegrals.h b/src/external/libGapIntegrals/TGapIntegrals.h index 07c498be..69148941 100644 --- a/src/external/libGapIntegrals/TGapIntegrals.h +++ b/src/external/libGapIntegrals/TGapIntegrals.h @@ -45,10 +45,6 @@ public: TGapSWave(); virtual ~TGapSWave(); - virtual Bool_t NeedGlobalPart() const { return false; } - virtual void SetGlobalPart(std::vector &globalPart, UInt_t idx) { } - virtual Bool_t GlobalPartIsValid() const { return true; } - double operator()(double, const std::vector&) const; private: @@ -73,10 +69,6 @@ public: TGapPointPWave(); virtual ~TGapPointPWave(); - virtual Bool_t NeedGlobalPart() const { return false; } - virtual void SetGlobalPart(std::vector &globalPart, UInt_t idx) { } - virtual Bool_t GlobalPartIsValid() const { return true; } - double operator()(double, const std::vector&) const; private: @@ -101,10 +93,6 @@ public: TGapLinePWave(); virtual ~TGapLinePWave(); - virtual Bool_t NeedGlobalPart() const { return false; } - virtual void SetGlobalPart(std::vector &globalPart, UInt_t idx) { } - virtual Bool_t GlobalPartIsValid() const { return true; } - double operator()(double, const std::vector&) const; private: @@ -129,10 +117,6 @@ public: TGapDWave(); virtual ~TGapDWave(); - virtual Bool_t NeedGlobalPart() const { return false; } - virtual void SetGlobalPart(std::vector &globalPart, UInt_t idx) { } - virtual Bool_t GlobalPartIsValid() const { return true; } - double operator()(double, const std::vector&) const; private: @@ -157,10 +141,6 @@ public: TGapCosSqDWave(); virtual ~TGapCosSqDWave(); - virtual Bool_t NeedGlobalPart() const { return false; } - virtual void SetGlobalPart(std::vector &globalPart, UInt_t idx) { } - virtual Bool_t GlobalPartIsValid() const { return true; } - double operator()(double, const std::vector&) const; private: @@ -185,10 +165,6 @@ public: TGapSinSqDWave(); virtual ~TGapSinSqDWave(); - virtual Bool_t NeedGlobalPart() const { return false; } - virtual void SetGlobalPart(std::vector &globalPart, UInt_t idx) { } - virtual Bool_t GlobalPartIsValid() const { return true; } - double operator()(double, const std::vector&) const; private: @@ -213,10 +189,6 @@ public: TGapAnSWave(); virtual ~TGapAnSWave(); - virtual Bool_t NeedGlobalPart() const { return false; } - virtual void SetGlobalPart(std::vector &globalPart, UInt_t idx) { } - virtual Bool_t GlobalPartIsValid() const { return true; } - double operator()(double, const std::vector&) const; private: @@ -241,10 +213,6 @@ public: TGapNonMonDWave1(); virtual ~TGapNonMonDWave1(); - virtual Bool_t NeedGlobalPart() const { return false; } - virtual void SetGlobalPart(std::vector &globalPart, UInt_t idx) { } - virtual Bool_t GlobalPartIsValid() const { return true; } - double operator()(double, const std::vector&) const; private: @@ -269,10 +237,6 @@ public: TGapNonMonDWave2(); virtual ~TGapNonMonDWave2(); - virtual Bool_t NeedGlobalPart() const { return false; } - virtual void SetGlobalPart(std::vector &globalPart, UInt_t idx) { } - virtual Bool_t GlobalPartIsValid() const { return true; } - double operator()(double, const std::vector&) const; private: @@ -298,10 +262,6 @@ public: TGapPowerLaw() {} virtual ~TGapPowerLaw() {} - virtual Bool_t NeedGlobalPart() const { return false; } - virtual void SetGlobalPart(std::vector &globalPart, UInt_t idx) { } - virtual Bool_t GlobalPartIsValid() const { return true; } - double operator()(double, const std::vector&) const; private: @@ -319,10 +279,6 @@ public: TGapDirtySWave() {} virtual ~TGapDirtySWave() {} - virtual Bool_t NeedGlobalPart() const { return false; } - virtual void SetGlobalPart(std::vector &globalPart, UInt_t idx) { } - virtual Bool_t GlobalPartIsValid() const { return true; } - double operator()(double, const std::vector&) const; private: @@ -341,10 +297,6 @@ public: TLambdaSWave(); virtual ~TLambdaSWave(); - virtual Bool_t NeedGlobalPart() const { return false; } - virtual void SetGlobalPart(std::vector &globalPart, UInt_t idx) { } - virtual Bool_t GlobalPartIsValid() const { return true; } - double operator()(double, const std::vector&) const; private: @@ -363,10 +315,6 @@ public: TLambdaPointPWave(); virtual ~TLambdaPointPWave(); - virtual Bool_t NeedGlobalPart() const { return false; } - virtual void SetGlobalPart(std::vector &globalPart, UInt_t idx) { } - virtual Bool_t GlobalPartIsValid() const { return true; } - double operator()(double, const std::vector&) const; private: @@ -385,10 +333,6 @@ public: TLambdaLinePWave(); virtual ~TLambdaLinePWave(); - virtual Bool_t NeedGlobalPart() const { return false; } - virtual void SetGlobalPart(std::vector &globalPart, UInt_t idx) { } - virtual Bool_t GlobalPartIsValid() const { return true; } - double operator()(double, const std::vector&) const; private: @@ -407,10 +351,6 @@ public: TLambdaDWave(); virtual ~TLambdaDWave(); - virtual Bool_t NeedGlobalPart() const { return false; } - virtual void SetGlobalPart(std::vector &globalPart, UInt_t idx) { } - virtual Bool_t GlobalPartIsValid() const { return true; } - double operator()(double, const std::vector&) const; private: @@ -429,10 +369,6 @@ public: TLambdaAnSWave(); virtual ~TLambdaAnSWave(); - virtual Bool_t NeedGlobalPart() const { return false; } - virtual void SetGlobalPart(std::vector &globalPart, UInt_t idx) { } - virtual Bool_t GlobalPartIsValid() const { return true; } - double operator()(double, const std::vector&) const; private: @@ -451,10 +387,6 @@ public: TLambdaNonMonDWave1(); virtual ~TLambdaNonMonDWave1(); - virtual Bool_t NeedGlobalPart() const { return false; } - virtual void SetGlobalPart(std::vector &globalPart, UInt_t idx) { } - virtual Bool_t GlobalPartIsValid() const { return true; } - double operator()(double, const std::vector&) const; private: @@ -473,10 +405,6 @@ public: TLambdaNonMonDWave2(); virtual ~TLambdaNonMonDWave2(); - virtual Bool_t NeedGlobalPart() const { return false; } - virtual void SetGlobalPart(std::vector &globalPart, UInt_t idx) { } - virtual Bool_t GlobalPartIsValid() const { return true; } - double operator()(double, const std::vector&) const; private: @@ -495,10 +423,6 @@ public: TLambdaPowerLaw() {} virtual ~TLambdaPowerLaw() {} - virtual Bool_t NeedGlobalPart() const { return false; } - virtual void SetGlobalPart(std::vector &globalPart, UInt_t idx) { } - virtual Bool_t GlobalPartIsValid() const { return true; } - double operator()(double, const std::vector&) const; private: @@ -516,10 +440,6 @@ public: TLambdaInvSWave(); virtual ~TLambdaInvSWave(); - virtual Bool_t NeedGlobalPart() const { return false; } - virtual void SetGlobalPart(std::vector &globalPart, UInt_t idx) { } - virtual Bool_t GlobalPartIsValid() const { return true; } - double operator()(double, const std::vector&) const; private: @@ -538,10 +458,6 @@ public: TLambdaInvPointPWave(); virtual ~TLambdaInvPointPWave(); - virtual Bool_t NeedGlobalPart() const { return false; } - virtual void SetGlobalPart(std::vector &globalPart, UInt_t idx) { } - virtual Bool_t GlobalPartIsValid() const { return true; } - double operator()(double, const std::vector&) const; private: @@ -560,10 +476,6 @@ public: TLambdaInvLinePWave(); virtual ~TLambdaInvLinePWave(); - virtual Bool_t NeedGlobalPart() const { return false; } - virtual void SetGlobalPart(std::vector &globalPart, UInt_t idx) { } - virtual Bool_t GlobalPartIsValid() const { return true; } - double operator()(double, const std::vector&) const; private: @@ -582,10 +494,6 @@ public: TLambdaInvDWave(); virtual ~TLambdaInvDWave(); - virtual Bool_t NeedGlobalPart() const { return false; } - virtual void SetGlobalPart(std::vector &globalPart, UInt_t idx) { } - virtual Bool_t GlobalPartIsValid() const { return true; } - double operator()(double, const std::vector&) const; private: @@ -604,10 +512,6 @@ public: TLambdaInvAnSWave(); virtual ~TLambdaInvAnSWave(); - virtual Bool_t NeedGlobalPart() const { return false; } - virtual void SetGlobalPart(std::vector &globalPart, UInt_t idx) { } - virtual Bool_t GlobalPartIsValid() const { return true; } - double operator()(double, const std::vector&) const; private: @@ -626,10 +530,6 @@ public: TLambdaInvNonMonDWave1(); virtual ~TLambdaInvNonMonDWave1(); - virtual Bool_t NeedGlobalPart() const { return false; } - virtual void SetGlobalPart(std::vector &globalPart, UInt_t idx) { } - virtual Bool_t GlobalPartIsValid() const { return true; } - double operator()(double, const std::vector&) const; private: @@ -648,10 +548,6 @@ public: TLambdaInvNonMonDWave2(); virtual ~TLambdaInvNonMonDWave2(); - virtual Bool_t NeedGlobalPart() const { return false; } - virtual void SetGlobalPart(std::vector &globalPart, UInt_t idx) { } - virtual Bool_t GlobalPartIsValid() const { return true; } - double operator()(double, const std::vector&) const; private: @@ -670,10 +566,6 @@ public: TLambdaInvPowerLaw() {} virtual ~TLambdaInvPowerLaw() {} - virtual Bool_t NeedGlobalPart() const { return false; } - virtual void SetGlobalPart(std::vector &globalPart, UInt_t idx) { } - virtual Bool_t GlobalPartIsValid() const { return true; } - double operator()(double, const std::vector&) const; private: @@ -691,10 +583,6 @@ public: TFilmMagnetizationDWave(); virtual ~TFilmMagnetizationDWave(); - virtual Bool_t NeedGlobalPart() const { return false; } - virtual void SetGlobalPart(std::vector &globalPart, UInt_t idx) { } - virtual Bool_t GlobalPartIsValid() const { return true; } - double operator()(double, const std::vector&) const; private: diff --git a/src/external/libGbGLF/PGbGLF.h b/src/external/libGbGLF/PGbGLF.h index 93c772ce..aa6cf9db 100644 --- a/src/external/libGbGLF/PGbGLF.h +++ b/src/external/libGbGLF/PGbGLF.h @@ -44,10 +44,6 @@ class PGbGLF : public PUserFcnBase PGbGLF() {} virtual ~PGbGLF() {} - virtual Bool_t NeedGlobalPart() const { return false; } - virtual void SetGlobalPart(std::vector &globalPart, UInt_t idx) {} - virtual Bool_t GlobalPartIsValid() const { return true; } - virtual Double_t operator()(Double_t t, const std::vector ¶m) const; private: diff --git a/src/external/libLFRelaxation/TLFRelaxation.h b/src/external/libLFRelaxation/TLFRelaxation.h index 6db5d71a..e03be8d6 100644 --- a/src/external/libLFRelaxation/TLFRelaxation.h +++ b/src/external/libLFRelaxation/TLFRelaxation.h @@ -58,10 +58,6 @@ public: TLFStatGssKT(); ~TLFStatGssKT(); - Bool_t NeedGlobalPart() const { return false; } - void SetGlobalPart(std::vector &globalPart, UInt_t idx) { } - Bool_t GlobalPartIsValid() const { return true; } - double operator()(double, const std::vector&) const; private: @@ -85,10 +81,6 @@ public: TLFStatExpKT(); ~TLFStatExpKT(); - Bool_t NeedGlobalPart() const { return false; } - void SetGlobalPart(std::vector &globalPart, UInt_t idx) { } - Bool_t GlobalPartIsValid() const { return true; } - double operator()(double, const std::vector&) const; private: @@ -119,10 +111,6 @@ public: TLFDynGssKT(); ~TLFDynGssKT(); - Bool_t NeedGlobalPart() const { return false; } - void SetGlobalPart(std::vector &globalPart, UInt_t idx) { } - Bool_t GlobalPartIsValid() const { return true; } - double operator()(double, const std::vector&) const; private: @@ -172,10 +160,6 @@ public: TLFDynExpKT(); ~TLFDynExpKT(); - Bool_t NeedGlobalPart() const { return false; } - void SetGlobalPart(std::vector &globalPart, UInt_t idx) { } - Bool_t GlobalPartIsValid() const { return true; } - double operator()(double, const std::vector&) const; private: @@ -227,10 +211,6 @@ public: TLFDynSG(); ~TLFDynSG(); - Bool_t NeedGlobalPart() const { return false; } - void SetGlobalPart(std::vector &globalPart, UInt_t idx) { } - Bool_t GlobalPartIsValid() const { return true; } - double operator()(double, const std::vector&) const; private: @@ -255,10 +235,6 @@ public: TLFSGInterpolation(); ~TLFSGInterpolation(); - Bool_t NeedGlobalPart() const { return false; } - void SetGlobalPart(std::vector &globalPart, UInt_t idx) { } - Bool_t GlobalPartIsValid() const { return true; } - double operator()(double, const std::vector&) const; private: diff --git a/src/external/libPhotoMeissner/include/PPhotoMeissner.h b/src/external/libPhotoMeissner/include/PPhotoMeissner.h index 85956c76..9f12b7e9 100644 --- a/src/external/libPhotoMeissner/include/PPhotoMeissner.h +++ b/src/external/libPhotoMeissner/include/PPhotoMeissner.h @@ -8,7 +8,7 @@ ***************************************************************************/ /*************************************************************************** - * Copyright (C) 2013-2019 by Andreas Suter * + * Copyright (C) 2013-2021 by Andreas Suter * * andreas.suter@psi.ch * * * * This program is free software; you can redistribute it and/or modify * @@ -43,11 +43,6 @@ class PPhotoMeissner : public PUserFcnBase virtual Bool_t IsValid() { return fValid; } - // global user-function-access functions, here without any functionality - virtual Bool_t NeedGlobalPart() const { return false; } - void SetGlobalPart(std::vector &globalPart, UInt_t idx) { } - Bool_t GlobalPartIsValid() const { return true; } - // function operator Double_t operator()(Double_t, const std::vector&) const; diff --git a/src/external/libSpinValve/include/PSkewedLorentzian.h b/src/external/libSpinValve/include/PSkewedLorentzian.h index c0452aa1..52c0e27b 100644 --- a/src/external/libSpinValve/include/PSkewedLorentzian.h +++ b/src/external/libSpinValve/include/PSkewedLorentzian.h @@ -43,11 +43,6 @@ class PSkewedLorentzian : public PUserFcnBase virtual Bool_t IsValid() { return fValid; } - // global user-function-access functions, here without any functionality - virtual Bool_t NeedGlobalPart() const { return false; } - void SetGlobalPart(std::vector &globalPart, UInt_t idx) { } - Bool_t GlobalPartIsValid() const { return true; } - // function operator Double_t operator()(Double_t, const std::vector&) const; diff --git a/src/external/libZFRelaxation/ZFRelaxation.h b/src/external/libZFRelaxation/ZFRelaxation.h index d142c5ea..db9209a6 100644 --- a/src/external/libZFRelaxation/ZFRelaxation.h +++ b/src/external/libZFRelaxation/ZFRelaxation.h @@ -50,10 +50,6 @@ public: ZFMagGss(){} ///< default constructor ~ZFMagGss(){} ///< default destructor - Bool_t NeedGlobalPart() const { return false; } - void SetGlobalPart(std::vector &globalPart, UInt_t idx) { } - Bool_t GlobalPartIsValid() const { return true; } - double operator()(double, const std::vector&) const; ClassDef(ZFMagGss,1) @@ -75,10 +71,6 @@ public: ZFMagExp(){} ///< default constructor ~ZFMagExp(){} ///< default destructor - Bool_t NeedGlobalPart() const { return false; } - void SetGlobalPart(std::vector &globalPart, UInt_t idx) { } - Bool_t GlobalPartIsValid() const { return true; } - double operator()(double, const std::vector&) const; ClassDef(ZFMagExp,1) @@ -99,10 +91,6 @@ public: UniaxialStatGssKT(); virtual ~UniaxialStatGssKT(); - virtual Bool_t NeedGlobalPart() const { return false; } - virtual void SetGlobalPart(std::vector &globalPart, UInt_t idx) { } - virtual Bool_t GlobalPartIsValid() const { return true; } - double operator()(double, const std::vector&) const; private: diff --git a/src/include/PUserFcnBase.h b/src/include/PUserFcnBase.h index c5ddf293..16c65e5d 100644 --- a/src/include/PUserFcnBase.h +++ b/src/include/PUserFcnBase.h @@ -42,12 +42,12 @@ class PUserFcnBase : public TObject { public: - PUserFcnBase(); - virtual ~PUserFcnBase(); + PUserFcnBase() {} + virtual ~PUserFcnBase() {} - virtual Bool_t NeedGlobalPart() const = 0; ///< if a user function needs a global part this function should return true, otherwise false - virtual void SetGlobalPart(std::vector &globalPart, UInt_t idx) = 0; ///< if a user function is using a global part, this function is used to invoke and retrieve the proper global object - virtual Bool_t GlobalPartIsValid() const = 0; ///< if a user function is using a global part, this function returns if the global object part is valid + virtual Bool_t NeedGlobalPart() const { return false; } ///< if a user function needs a global part this function should return true, otherwise false (default: false) + virtual void SetGlobalPart(std::vector &globalPart, UInt_t idx) {} ///< if a user function is using a global part, this function is used to invoke and retrieve the proper global object + virtual Bool_t GlobalPartIsValid() const { return false; } ///< if a user function is using a global part, this function returns if the global object part is valid (default: false) virtual Double_t operator()(Double_t t, const std::vector ¶m) const = 0; From 6d61cfd4d9023595c1870cb1e3e308f11e131c12 Mon Sep 17 00:00:00 2001 From: Andreas Suter Date: Fri, 26 Feb 2021 15:18:12 +0100 Subject: [PATCH 2/3] modernized the msr input file. --- .../test-libFitPofB_Abrikosov-PSI-BIN.msr | 51 +++++++-------- .../test-libFitPofB_Meissner-ROOT-NPP.msr | 65 +++++++++---------- 2 files changed, 55 insertions(+), 61 deletions(-) diff --git a/doc/examples/BMWlibs/test-libFitPofB_Abrikosov-PSI-BIN.msr b/doc/examples/BMWlibs/test-libFitPofB_Abrikosov-PSI-BIN.msr index e3ce4614..404ee7e1 100644 --- a/doc/examples/BMWlibs/test-libFitPofB_Abrikosov-PSI-BIN.msr +++ b/doc/examples/BMWlibs/test-libFitPofB_Abrikosov-PSI-BIN.msr @@ -2,23 +2,23 @@ LSCO x=0.195 single ############################################################### FITPARAMETER # No Name Value Step Pos_Error Boundaries - 1 phase 8.09 0.30 none - 2 field 107.08786 0.00052 none - 3 lambda 195.5703 0.0029 none 1 none + 1 phase 10.34 0.21 none + 2 field 112.82363 0.00033 none + 3 lambda 170.4570 0.0022 none 1 none 4 xi 4 0 none 0 10 - 5 asym1 0.1980 0.0011 none 0 0.3 - 6 rate1 0.7697 0.0063 none + 5 asym1 0.19219 -0.00079 0.00079 0 0.3 + 6 rate1 0.7955 0.0043 none 7 asymBg 0 0 none 0 0.3 8 rateBg 0 0 none 0 none - 9 N01 3311.3 1.7 none 0 none - 10 bg1 68.70 0.30 none 0 none - 11 N02 3577.8 1.7 none 0 none - 12 bg2 69.62 0.31 none 0 none - 13 relphase 181.63 0.41 none 150 210 + 9 N01 3313.6 1.2 none 0 none + 10 bg1 68.54 0.21 none 0 none + 11 N02 3575.9 1.2 none 0 none + 12 bg2 69.82 0.22 none 0 none + 13 relphase 181.46 0.29 none 150 210 14 zero 0 0 none - 15 relasy 1.0325 0.0075 none + 15 relasy 1.0365 0.0051 none 16 one 1 0 none ############################################################### @@ -39,52 +39,51 @@ fun3 = par5 * map2 fun4 = par7 * map2 ############################################################### -RUN data/deltat_pta_gps_3093 PIM3 PSI PSI-BIN (name beamline institute data-file-format) +GLOBAL fittype 0 (single histogram fit) +fit 0 8 +packing 30 + + +############################################################### +RUN data/deltat_pta_gps_3093 PIM3 PSI PSI-BIN (name beamline institute data-file-format) map 14 16 0 0 0 0 0 0 0 0 forward 3 norm 9 -lifetimecorrection backgr.fit 10 t0 125.0 data 128 8001 -fit 0 8 -packing 30 RUN data/deltat_pta_gps_3093 PIM3 PSI PSI-BIN (name beamline institute data-file-format) -fittype 0 (single histogram fit) map 13 15 0 0 0 0 0 0 0 0 forward 4 norm 11 -lifetimecorrection backgr.fit 12 t0 124.0 data 127 8000 -fit 0 8 -packing 30 ############################################################### COMMANDS +MAX_LIKELIHOOD MINIMIZE -#MIGRAD -HESSE -#MINOS +MINOS SAVE ############################################################### FOURIER -units Gauss # units either 'Gauss', 'MHz', or 'Mc/s' +units Gauss # units either 'Gauss', 'Tesla', 'MHz', or 'Mc/s' fourier_power 9 apodization NONE # NONE, WEAK, MEDIUM, STRONG -plot POWER # REAL, IMAG, REAL_AND_IMAG, POWER, PHASE +plot POWER # REAL, IMAG, REAL_AND_IMAG, POWER, PHASE, PHASE_OPT_REAL phase par1 range 0 500 ############################################################### PLOT 0 (single histo plot) +lifetimecorrection runs 1 2 range 0 4 -0.25 0.25 ############################################################### -STATISTIC --- 2013-05-03 09:08:20 - chisq = 1200.8, NDF = 415, chisq/NDF = 2.893391 +STATISTIC --- 2021-02-26 14:54:47 + maxLH = 1497.5, NDF = 415, maxLH/NDF = 3.608471 diff --git a/doc/examples/BMWlibs/test-libFitPofB_Meissner-ROOT-NPP.msr b/doc/examples/BMWlibs/test-libFitPofB_Meissner-ROOT-NPP.msr index 36d96c9b..bf27f039 100644 --- a/doc/examples/BMWlibs/test-libFitPofB_Meissner-ROOT-NPP.msr +++ b/doc/examples/BMWlibs/test-libFitPofB_Meissner-ROOT-NPP.msr @@ -4,19 +4,19 @@ FITPARAMETER # No Name Value Step Pos_Error Boundaries 1 field 94.717 0 none 2 deadlayer 10.5 0 none - 3 lambda 115.96 -0.92 0.88 + 3 lambda 115.98 -0.65 0.63 # E = 22keV 4 phase22 25.4956 0 none - 5 asym22 0.1047 -0.0029 0.0030 0 0.3 - 6 rate22 0.559 -0.032 0.033 - 7 NormL22 753.00 -0.86 0.87 - 8 BGL22 51.08 -0.13 0.13 - 9 NormR22 545.93 -0.77 0.76 - 10 BGR22 38.60 -0.11 0.12 - 11 relasyR22 1.068 -0.038 0.039 0.2 2 - 12 relphaR22 162.8 -1.5 1.5 110 210 + 5 asym22 0.1047 -0.0021 0.0021 0 0.3 + 6 rate22 0.558 -0.023 0.023 + 7 NormL22 752.98 -0.61 0.61 + 8 BGL22 51.114 -0.094 0.094 + 9 NormR22 545.95 -0.54 0.54 + 10 BGR22 38.634 -0.082 0.082 + 11 relasyR22 1.068 -0.027 0.027 0.2 2 + 12 relphaR22 162.8 -1.1 1.1 110 210 13 energy22 22 0 none 14 one 1 0 none @@ -35,53 +35,48 @@ fun2 = map1 + map5 fun3 = par1 * gamma_mu ############################################################### -RUN data/lem09_his_0916 MUE4 PSI ROOT-NPP (name beamline institute data-file-format) +GLOBAL fittype 0 (single histogram fit) -norm 7 -backgr.fit 8 -lifetimecorrection -map 4 5 6 14 15 13 0 0 0 0 -forward 1 -background 65000 66500 -data 3419 63000 -t0 3419.0 -fit 0.15 10 -packing 150 - -RUN data/lem09_his_0916 MUE4 PSI ROOT-NPP (name beamline institute data-file-format) -fittype 0 (single histogram fit) -norm 9 -backgr.fit 10 -lifetimecorrection -map 4 5 6 11 12 13 0 0 0 0 -forward 3 -background 65000 66500 data 3419 63000 t0 3419.0 fit 0.15 10 packing 150 +############################################################### +RUN data/lem09_his_0916 MUE4 PSI ROOT-NPP (name beamline institute data-file-format) +norm 7 +backgr.fit 8 +map 4 5 6 14 15 13 0 0 0 0 +forward 1 + +RUN data/lem09_his_0916 MUE4 PSI ROOT-NPP (name beamline institute data-file-format) +norm 9 +backgr.fit 10 +map 4 5 6 11 12 13 0 0 0 0 +forward 3 + ############################################################### COMMANDS -#MAX_LIKELIHOOD +MAX_LIKELIHOOD MINIMIZE MINOS 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 WEAK # NONE, WEAK, MEDIUM, STRONG -plot POWER # REAL, IMAG, REAL_AND_IMAG, POWER, PHASE +plot POWER # REAL, IMAG, REAL_AND_IMAG, POWER, PHASE, PHASE_OPT_REAL phase par4 range 0 200 ############################################################### PLOT 0 (single histo plot) -runs 1 2 +lifetimecorrection +runs 1 2 range 0 4 -0.25 0.25 ############################################################### -STATISTIC --- 2013-11-12 10:25:11 - chisq = 696.9, NDF = 663, chisq/NDF = 1.051076 +STATISTIC --- 2021-02-26 14:50:08 + maxLH = 695.5, NDF = 663, maxLH/NDF = 1.049008 From 551fa4e4a639ab1a8d84a613e6d0aae0eb6ba8c4 Mon Sep 17 00:00:00 2001 From: Andreas Suter Date: Mon, 1 Mar 2021 15:40:10 +0100 Subject: [PATCH 3/3] refresh of the setup docu. --- doc/html/.buildinfo | 4 - doc/html/_sources/acknowledgement.txt | 22 - doc/html/_sources/any2many.txt | 8 - doc/html/_sources/bugtracking.txt | 9 - doc/html/_sources/cite.txt | 18 - doc/html/_sources/index.txt | 31 - doc/html/_sources/msr2data.txt | 374 ---- doc/html/_sources/mupp.txt | 238 --- doc/html/_sources/musr-root.txt | 681 ------- doc/html/_sources/musredit.txt | 515 ------ doc/html/_sources/setup-dks.txt | 275 --- doc/html/_sources/setup-standard.txt | 1379 -------------- doc/html/_sources/tutorial.txt | 417 ----- doc/html/_sources/user-libs.txt | 747 -------- doc/html/_sources/user-manual.txt | 2421 ------------------------- doc/html/genindex.html | 2 +- doc/html/index.html | 2 +- doc/html/objects.inv | Bin 2012 -> 2019 bytes doc/html/search.html | 2 +- doc/html/searchindex.js | 2 +- doc/html/setup-standard.html | 28 +- doc/html/user-manual.html | 7 +- 22 files changed, 19 insertions(+), 7163 deletions(-) delete mode 100644 doc/html/.buildinfo delete mode 100644 doc/html/_sources/acknowledgement.txt delete mode 100644 doc/html/_sources/any2many.txt delete mode 100644 doc/html/_sources/bugtracking.txt delete mode 100644 doc/html/_sources/cite.txt delete mode 100644 doc/html/_sources/index.txt delete mode 100644 doc/html/_sources/msr2data.txt delete mode 100644 doc/html/_sources/mupp.txt delete mode 100644 doc/html/_sources/musr-root.txt delete mode 100644 doc/html/_sources/musredit.txt delete mode 100644 doc/html/_sources/setup-dks.txt delete mode 100644 doc/html/_sources/setup-standard.txt delete mode 100644 doc/html/_sources/tutorial.txt delete mode 100644 doc/html/_sources/user-libs.txt delete mode 100644 doc/html/_sources/user-manual.txt diff --git a/doc/html/.buildinfo b/doc/html/.buildinfo deleted file mode 100644 index 335c2894..00000000 --- a/doc/html/.buildinfo +++ /dev/null @@ -1,4 +0,0 @@ -# Sphinx build info version 1 -# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: eec60d1156b3ecdeb8b69fcbd6a0b13b -tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/doc/html/_sources/acknowledgement.txt b/doc/html/_sources/acknowledgement.txt deleted file mode 100644 index 7e8c47fa..00000000 --- a/doc/html/_sources/acknowledgement.txt +++ /dev/null @@ -1,22 +0,0 @@ -.. include:: -.. index:: acknowledgment - -.. _acknowledgment: - -Acknowledgements -================ - - -**Bastian M. Wojek** - I am very much indebted to BMW for his rigorous testing of ``musrfit``, his many useful suggestions, contributions, and for the - largest part of the user manual of ``musrfit`` which makes it accessible to a broader audience! Many thanks Bastian! - -**Uldis Locans** - I am very much indebted to Uldis work on :ref:`DKS ` enabling the GPU support for ``musrfit``. His kind, calm, and - extremely competent way to deal with his projects as well as to deal with the chaos of physicists way to think is admirable. Many thanks Uldis! - -**Zaher Salman** - Thanks for his beta-NMR and web-interface contributions to ``musrfit``! - -**Robert Scheuermann** - Thanks for his constant contructive input on ``musrfit``! diff --git a/doc/html/_sources/any2many.txt b/doc/html/_sources/any2many.txt deleted file mode 100644 index 6b5fd201..00000000 --- a/doc/html/_sources/any2many.txt +++ /dev/null @@ -1,8 +0,0 @@ -.. include:: -.. index:: any2many - -any2many - a Universal |mgr|\SR-file-format converter -===================================================== - -``any2many`` allows to convert most |mgr|\SR-file-formats from one to the other. -For a detailed description see :ref:`here `. \ No newline at end of file diff --git a/doc/html/_sources/bugtracking.txt b/doc/html/_sources/bugtracking.txt deleted file mode 100644 index 55a5ff54..00000000 --- a/doc/html/_sources/bugtracking.txt +++ /dev/null @@ -1,9 +0,0 @@ -.. index:: bugtracking -.. _bugtracking: - -Bugtracking -=========== - -For reporting bugs or requesting new features and improvements please use -the `bitbucket-repo `_ (preferred) -or send an e-mail to A. Suter at PSI. diff --git a/doc/html/_sources/cite.txt b/doc/html/_sources/cite.txt deleted file mode 100644 index 5a71e6f1..00000000 --- a/doc/html/_sources/cite.txt +++ /dev/null @@ -1,18 +0,0 @@ -.. include:: -.. index:: cite -.. _cite: - -How to Cite ``musrfit``? -======================== - -Since quite some effort is going into the development and maintenance of the ``musrfit`` package, you should at least acknowledge it in your publication if you have used it to analyze your data. Even better of course is to cite it properly by the reference given beneath - - * A.\ Suter, B.M. Wojek, "Musrfit: A Free Platform-Independent Framework for |mgr|\SR Data Analysis", Physics Procedia **30**, 69 (2012). ``_ - -The GPU high speed ``musrfit`` version is utilizing ``DKS``. In case you are using this version, please also add the following citations - - * A.\ Adelmann, U. Locans, A. Suter, "The Dynamic Kernel Scheduler—Part 1", Computer Physics Communications **207**, 83 (2016). ``_ - * U.\ Locans, *et al.*, "Real-time computation of parameter fitting and image reconstruction using graphical processing units", Computer Physics Communications **215**, 71 (2017). ``_ - * U.\ Locans and A.\ Suter, "Musrfit – Real Time Parameter Fitting Using GPUs", JPS Conf. Proc. *21*, 011051 (2018). ``_ - - diff --git a/doc/html/_sources/index.txt b/doc/html/_sources/index.txt deleted file mode 100644 index b4ed7d2f..00000000 --- a/doc/html/_sources/index.txt +++ /dev/null @@ -1,31 +0,0 @@ -.. musrfit docu documentation master file, created by - sphinx-quickstart on Sun Jun 17 11:00:32 2018. - You can adapt this file completely to your liking, but it should at least - contain the root `toctree` directive. - -Welcome to the musrfit documentation! -===================================== - -.. toctree:: - :maxdepth: 2 - - cite - tutorial - user-manual - user-libs - setup-standard - setup-dks - musredit - mupp - msr2data - any2many - musr-root - acknowledgement - bugtracking - - -Indices and tables -================== - -* :ref:`genindex` -* :ref:`search` diff --git a/doc/html/_sources/msr2data.txt b/doc/html/_sources/msr2data.txt deleted file mode 100644 index 8e77bbca..00000000 --- a/doc/html/_sources/msr2data.txt +++ /dev/null @@ -1,374 +0,0 @@ -.. include:: -.. index:: msr2data - -.. _msr2data: - -msr2data - A Program for Automatically Processing Multiple ``musrfit`` msr Files -================================================================================ - -``msr2data`` (originally written by B. M. Wojek) is a program implemented in ``C++``. Its purpose is -to process multiple msr files (input files for ``musrfit``) with the same parameters and summarize the fitting -results either in a *TRIUMF DB* [#f1]_ or a *column ASCII* file. This allows essentially to - -#. Collect the fit parameters. -#. Generate *new* input msr files based on old ones. - -.. [#f1] For an abridged description of this format see `here `_. The DB files - produced by ``msr2data`` can be viewed for instance with :ref:`mupp ` or |mgr|\View `see here `_, however, - they are not completely backward-compatible to the original ``db language`` since the parameter names can be longer than five or - six characters! In order to establish this backward compatibility (if needed) the user has to ensure the correct length of the - parameter names in the msr files! - -.. _msr2data-basic-usage: - -Basic Types of Usage --------------------- - -Apart from numerous :ref:`optional parameters ` that might be set, in principle there are four different ways of calling ``msr2data``. -These differ in how the list of runs which should be processed is supplied: - -**msr2data [optional parameters]** - A single run number. -**msr2data [optional parameters]** - An interval of run numbers is specified through the first and the last run number. The condition ```` < ```` is not necessary. -**msr2data \[ \] [optional parameters]** - Where ```` is one or a combination of the following: - - #. ``, , , ... `` : run numbers, *e.g.* 123 124, - #. ``-`` : a range, *e.g.* 123-125 -> 123 124 125, - #. ``::`` : a sequence, *e.g.* 123:127:2 -> 123 125 127. ```` has to be a positive integer. - #. A ```` can also combine (1)-(3), *e.g.* 123 128-130 133, etc. - -**msr2data [optional parameters]** - An ASCII file containing a list of run numbers and optional external parameters is passed to ``msr2data``. For the structure of the ASCII file - see :ref:`below `. - -All four basic types of calling ``msr2data`` contain the *mandatory* file-name ```` passed right after the list of runs. The meaning of -this ```` should become clear after giving examples for all four cases: - -.. code-block:: bash - - $ msr2data 8472 _tf_h13 - -generates the DB file ``out.db`` (can be changed by using the -o option) from ``8472_tf_h13.msr``. - -.. code-block:: bash - - $ msr2data 8472 8474 _tf_h13 - -generates the DB file ``out.db`` (can be changed by using the -o option) from ``8472_tf_h13.msr``, ``8473_tf_h13.msr``, and ``8474_tf_h13.msr``. - -.. code-block:: bash - - $ msr2data [8472 8470] _tf_h13 - -generates the DB file ``out.db`` (can be changed by using the -o option) from ``8472_tf_h13.msr`` and ``8470_tf_h13.msr``. - -.. code-block:: bash - - $ msr2data [8470:8474:2] _tf_h13 - -generates the DB file ``out.db`` (can be changed by using the -o option) from ``8470_tf_h13.msr``, ``8472_tf_h13.msr``, and ``8474_tf_h13.msr``. - -.. _run-list-file_structure: - -Run List File Structure -+++++++++++++++++++++++ - -.. code-block:: bash - - $ msr2data run.list _tf_h13 - -generates the DB file ``out.db`` (can be changed by using the -o option) from all runs listed in the ASCII file ``run.list`` in the working directory. -In this file it is also possible to include *external* parameters which should be put in the resulting DB file. The structure of the ``run.list`` is the following: - -:: - - RUN VAR1 VAR2 VAR3 ... - 8460 200 27.1 46.2 ... - 8472 205 27.1 46.3 ... - 8453 210 27.2 45.9 ... - · · · · - · · · · - · · · · - -*The first not commented and not empty line determines the parameter names and labels and has to be present!* - -It is allowed to add comments (with a preceding '#') or empty lines to the run-list file. - -The following should be mentioned together with the above examples: - -* The output files in the examples above are only newly created if they did *not* exist before invoking ``msr2data``. - If the files were already present the msr file data would be appended! -* If the files have been newly created, also the DB file header is written. If the files were present before, only - the data blocks are appended. The output of the header can either be forced or completely suppressed with the ``header`` - and ``noheader`` options as shall be seen later. -* If the ``musrfit`` output files do not have an ```` as specified above like ``8472.msr`` one has to call ``msr2data`` like in the following example: - - .. code-block:: bash - - $ msr2data 8472 8460 "" - -.. _msr2data-opt-param: - -Optional Parameters -------------------- - -As mentioned already above there are some optional parameters which change the behavior of ``msr2data`` and can be passed in any order. Here is a complete list: - -**data** - The output file format is changed to a simple column ASCII file (default output file name: out.dat). -**new** - An existing output file is deleted before new information is written to it. -**header** - Force the output of the file header even if the output file was present before. -**noheader** - The output of the file header is suppressed—also if the output file is newly created. - If either both or none of the header options are given, ``msr2data`` writes the file header only to new files - and it solely appends the data blocks to an existing output file assuming that the header is present already. -**nosummary** - There will be no attempt to read additional information like the temperature or the applied magnetic field from - the data files even if these information were present there. -**paramList ** - option used to select the parameters which shall be exported. ```` is a list of parameter numbers to be exported. - Allowed lists are: ``-``, *e.g.* ``1-16`` will export parameters 1 to 16. Space separated numbers, *e.g.:* ``1 3 5``. - A combination of both is possible, *e.g.* ``1-16 19 31 62``, and so on. -**-o, -o ** - The processed data will be written to the file ```` instead of the default ``out.db`` or ``out.dat``. - If ```` is equal to none (case-insensitive) the parameter data are not appended to any output file. -**fit** - Additionally to the final data collection ``msr2data`` will invoke ``musrfit`` to fit the specified runs. - All msr files are assumed to be present, none is newly generated! -**fit-