more docu, and a bug fix in the Abragam function

This commit is contained in:
nemu
2010-06-02 20:18:22 +00:00
parent 32d2cab3aa
commit f938e4ed27
14 changed files with 563 additions and 328 deletions

View File

@@ -34,6 +34,9 @@
#include "PRunBase.h"
/**
* <p>Will eventually handle the \f$\mu^{-}\f$ fitting etc.
*/
class PRunMuMinus : public PRunBase
{
public:
@@ -51,9 +54,9 @@ class PRunMuMinus : public PRunBase
virtual Bool_t PrepareData();
private:
Double_t fFitStartTime;
Double_t fFitStopTime;
UInt_t fNoOfFitBins;
Double_t fFitStartTime; ///< fit start time
Double_t fFitStopTime; ///< fit end time
UInt_t fNoOfFitBins; ///< number of bins to be fitted
};
#endif // _PRUNMUMINUS_H_

View File

@@ -35,6 +35,9 @@
#include "PMusr.h"
#include "PRunBase.h"
/**
* <p>Class handling the non-muSR fit type
*/
class PRunNonMusr : public PRunBase
{
public:
@@ -46,7 +49,7 @@ class PRunNonMusr : public PRunBase
virtual Double_t CalcMaxLikelihood(const std::vector<Double_t>& par);
virtual void CalcTheory();
virtual UInt_t GetNoOfFitBins() { return fNoOfFitBins; }
virtual UInt_t GetNoOfFitBins() { return fNoOfFitBins; } ///< returns the number of fitted bins
virtual UInt_t GetXIndex();
virtual UInt_t GetYIndex();
@@ -57,11 +60,11 @@ class PRunNonMusr : public PRunBase
virtual Bool_t PrepareViewData();
private:
PRawRunData *fRawRunData;
PRawRunData *fRawRunData; ///< raw run data handler
Double_t fFitStartTime;
Double_t fFitStopTime;
UInt_t fNoOfFitBins;
Double_t fFitStartTime; ///< fit start time
Double_t fFitStopTime; ///< fit stop time
UInt_t fNoOfFitBins; ///< number of bins to be be fitted
};
#endif // _PRUNNONMUSR_H_

View File

@@ -34,6 +34,9 @@
#include "PRunBase.h"
/**
* <p>Class handling single histogram fit type.
*/
class PRunSingleHisto : public PRunBase
{
public:
@@ -45,7 +48,7 @@ class PRunSingleHisto : public PRunBase
virtual Double_t CalcMaxLikelihood(const std::vector<Double_t>& par);
virtual void CalcTheory();
virtual UInt_t GetNoOfFitBins() { return fNoOfFitBins; }
virtual UInt_t GetNoOfFitBins() { return fNoOfFitBins; } ///< returns the number of bins fitted
protected:
virtual Bool_t PrepareData();
@@ -54,10 +57,10 @@ class PRunSingleHisto : public PRunBase
virtual Bool_t PrepareViewData(PRawRunData* runData, const UInt_t histoNo);
private:
Double_t fFitStartTime;
Double_t fFitStopTime;
UInt_t fNoOfFitBins;
Double_t fBackground; ///< needed if background range is given. In units per bin
Double_t fFitStartTime; ///< fit start time
Double_t fFitStopTime; ///< fit stop time
UInt_t fNoOfFitBins; ///< number of bins to be fitted
Double_t fBackground; ///< needed if background range is given (units: 1/bin)
Bool_t EstimateBkg(UInt_t histoNo);
};

View File

@@ -39,6 +39,14 @@
#include "PMusr.h"
/**
* <p>Handles the XML musrfit startup file (musrfit_startup.xml) in which default settings
* are stored:
* - list of search paths for the data files
* - Fourier transform default settings
* - marker list for plotting
* - color list for plotting
*/
class PStartupHandler : public TObject, public TQObject
{
public:
@@ -56,29 +64,29 @@ class PStartupHandler : public TObject, public TQObject
virtual void OnFatalError(const Char_t*); // SLOT
virtual void OnCdataBlock(const Char_t*, Int_t); // SLOT
virtual Bool_t StartupFileFound() { return fStartupFileFound; }
virtual TString GetStartupFilePath() { return fStartupFilePath; }
virtual Bool_t StartupFileFound() { return fStartupFileFound; } ///< true = musrfit_startup.xml found
virtual TString GetStartupFilePath() { return fStartupFilePath; } ///< returns FULLPATH/musrfit_startup.xml, where FULLPATH=path were the musrfit_startup.xml is found
virtual void CheckLists();
virtual PMsrFourierStructure GetFourierDefaults() { return fFourierDefaults; }
virtual const PStringVector GetDataPathList() const { return fDataPathList; }
virtual const PIntVector GetMarkerList() const { return fMarkerList; }
virtual const PIntVector GetColorList() const { return fColorList; }
virtual PMsrFourierStructure GetFourierDefaults() { return fFourierDefaults; } ///< returns the Fourier defaults
virtual const PStringVector GetDataPathList() const { return fDataPathList; } ///< returns the search data path list
virtual const PIntVector GetMarkerList() const { return fMarkerList; } ///< returns the marker list
virtual const PIntVector GetColorList() const { return fColorList; } ///< returns the color list
private:
enum EKeyWords {eEmpty, eComment, eDataPath,
eFourierSettings, eUnits, eFourierPower, eApodization, ePlot, ePhase, ePhaseIncrement,
eRootSettings, eMarkerList, eMarker,
eColorList, eColor};
EKeyWords fKey;
EKeyWords fKey; ///< xml filter key
Bool_t fStartupFileFound;
TString fStartupFilePath;
PMsrFourierStructure fFourierDefaults;
PStringVector fDataPathList;
PIntVector fMarkerList;
PIntVector fColorList;
Bool_t fStartupFileFound; ///< startup file found flag
TString fStartupFilePath; ///< full musrfit_startup.xml startup file paths
PMsrFourierStructure fFourierDefaults; ///< Fourier defaults
PStringVector fDataPathList; ///< search data path list
PIntVector fMarkerList; ///< marker list
PIntVector fColorList; ///< color list
Bool_t StartupFileExists(Char_t *fln);

View File

@@ -117,7 +117,7 @@ typedef struct theo_data_base {
} PTheoDataBase;
//--------------------------------------------------------------------------------------
/*!
/**
* <p> Holds the functions available for the user.
*/
static PTheoDataBase fgTheoDataBase[THEORY_MAX] = {
@@ -187,7 +187,7 @@ static PTheoDataBase fgTheoDataBase[THEORY_MAX] = {
//--------------------------------------------------------------------------------------
/**
* <p>
* <p>Class handling a theory of a msr-file.
*/
class PTheory
{
@@ -234,23 +234,23 @@ class PTheory
virtual Double_t GetDynKTLFValue(const Double_t t) const;
// variables
Bool_t fValid;
UInt_t fType;
Bool_t fValid; ///< flag to tell if the theory is valid
UInt_t fType; ///< function tag
vector<UInt_t> fParamNo; ///< holds the parameter numbers for the theory (including maps and functions, see constructor desciption)
UInt_t fNoOfParam;
PTheory *fAdd, *fMul;
UInt_t fNoOfParam; ///< number of parameters for the given function
PTheory *fAdd, *fMul; ///< pointers to the add-sub-function or the multiply-sub-function
TString fUserFcnClassName; ///< name of the user function class for within root
TString fUserFcnSharedLibName; ///< name of the shared lib to which the user function belongs
PUserFcnBase *fUserFcn; ///< pointer to the user function object
mutable PDoubleVector fUserParam; ///< vector holding the resolved user function parameters, i.e. map and function resolved.
PMsrHandler *fMsrInfo;
PMsrHandler *fMsrInfo; ///< pointer to the msr-file handler
mutable Double_t fPrevParam[THEORY_MAX_PARAM]; ///< needed for LF-stuff
mutable PDoubleVector fLFIntegral; ///< needed for LF-stuff. Keeps the non-analytic integral values
mutable Double_t fDynLFdt;
mutable PDoubleVector fDynLFFuncValue; ///< needed for LF-stuff. Keeps the dynamic LF KT function values
mutable Double_t fPrevParam[THEORY_MAX_PARAM]; ///< needed for LF. Keeps the previous fitting parameters
mutable PDoubleVector fLFIntegral; ///< needed for LF. Keeps the non-analytic integral values
mutable Double_t fDynLFdt; ///< needed for LF. Keeps the time step for the dynamic LF calculation, used in the integral equation approach
mutable PDoubleVector fDynLFFuncValue; ///< needed for LF. Keeps the dynamic LF KT function values
};
#endif // _PTHEORY_H_