musrview gets the new feature: calculate theory points only at data points.

Conflicts:
	doc/html/searchindex.js
	doc/html/setup-dks.html
	src/classes/PMusrCanvas.cpp
	src/include/PMusrCanvas.h
	src/musrview.cpp
This commit is contained in:
2020-08-29 11:15:02 +02:00
parent ae105bacb4
commit 3b5060c061
75 changed files with 5223 additions and 35364 deletions

View File

@@ -206,12 +206,14 @@ class PMusrCanvas : public TObject, public TQObject
PMusrCanvas();
PMusrCanvas(const Int_t number, const Char_t* title,
Int_t wtopx, Int_t wtopy, Int_t ww, Int_t wh, const Bool_t batch,
const Bool_t fourier=false, const Bool_t avg=false, const Bool_t useDKS=false);
const Bool_t fourier=false, const Bool_t avg=false, const Bool_t theoAsData=false,
const Bool_t useDKS=false);
PMusrCanvas(const Int_t number, const Char_t* title,
Int_t wtopx, Int_t wtopy, Int_t ww, Int_t wh,
PMsrFourierStructure fourierDefault,
const PIntVector markerList, const PIntVector colorList, const Bool_t batch,
const Bool_t fourier=false, const Bool_t avg=false, const Bool_t useDKS=false);
const Bool_t fourier=false, const Bool_t avg=false, const Bool_t theoAsData=false,
const Bool_t useDKS=false);
virtual ~PMusrCanvas();
virtual Bool_t IsValid() { return fValid; }
@@ -236,6 +238,7 @@ class PMusrCanvas : public TObject, public TQObject
virtual void ExportData(const Char_t *fileName);
private:
Bool_t fTheoAsData; ///< flag if true, calculate theory points only at the data points
Bool_t fStartWithFourier; ///< flag if true, the Fourier transform will be presented bypassing the time domain representation
Bool_t fStartWithAvg; ///< flag if true, the averaged data/Fourier will be presented
Bool_t fUseDKS; ///< flag if true, use DKS if it is enabled

View File

@@ -40,7 +40,7 @@ class PRunAsymmetry : public PRunBase
{
public:
PRunAsymmetry();
PRunAsymmetry(PMsrHandler *msrInfo, PRunDataHandler *rawData, UInt_t runNo, EPMusrHandleTag tag);
PRunAsymmetry(PMsrHandler *msrInfo, PRunDataHandler *rawData, UInt_t runNo, EPMusrHandleTag tag, Bool_t theoAsData);
virtual ~PRunAsymmetry();
virtual Double_t CalcChiSquare(const std::vector<Double_t>& par);
@@ -68,6 +68,7 @@ class PRunAsymmetry : public PRunBase
UInt_t fAlphaBetaTag; ///< \f$ 1 \to \alpha = \beta = 1\f$; \f$ 2 \to \alpha \neq 1, \beta = 1\f$; \f$ 3 \to \alpha = 1, \beta \neq 1\f$; \f$ 4 \to \alpha \neq 1, \beta \neq 1\f$.
UInt_t fNoOfFitBins; ///< number of bins to be be fitted
Int_t fPacking; ///< packing for this particular run. Either given in the RUN- or GLOBAL-block.
Bool_t fTheoAsData; ///< true=only calculate the theory points at the data points, false=calculate more points for the theory as compared to data are calculated which lead to 'nicer' Fouriers
PDoubleVector fForward; ///< forward histo data
PDoubleVector fForwardErr; ///< forward histo errors

View File

@@ -41,7 +41,7 @@ class PRunAsymmetryBNMR : public PRunBase
{
public:
PRunAsymmetryBNMR();
PRunAsymmetryBNMR(PMsrHandler *msrInfo, PRunDataHandler *rawData, UInt_t runNo, EPMusrHandleTag tag);
PRunAsymmetryBNMR(PMsrHandler *msrInfo, PRunDataHandler *rawData, UInt_t runNo, EPMusrHandleTag tag, Bool_t theoAsData);
virtual ~PRunAsymmetryBNMR();
virtual Double_t CalcChiSquare(const std::vector<Double_t>& par);
@@ -68,6 +68,7 @@ class PRunAsymmetryBNMR : public PRunBase
UInt_t fAlphaBetaTag; ///< \f$ 1 \to \alpha = \beta = 1\f$; \f$ 2 \to \alpha \neq 1, \beta = 1\f$; \f$ 3 \to \alpha = 1, \beta \neq 1\f$; \f$ 4 \to \alpha \neq 1, \beta \neq 1\f$.
UInt_t fNoOfFitBins; ///< number of bins to be be fitted
Int_t fPacking; ///< packing for this particular run. Either given in the RUN- or GLOBAL-block.
Bool_t fTheoAsData; ///< true=only calculate the theory points at the data points, false=calculate more points for the theory as compared to data are calculated which lead to 'nicer' Fouriers
PDoubleVector fForwardp; ///< pos hel forward histo data
PDoubleVector fForwardpErr; ///< pos hel forward histo errors

View File

@@ -40,7 +40,7 @@ class PRunAsymmetryRRF : public PRunBase
{
public:
PRunAsymmetryRRF();
PRunAsymmetryRRF(PMsrHandler *msrInfo, PRunDataHandler *rawData, UInt_t runNo, EPMusrHandleTag tag);
PRunAsymmetryRRF(PMsrHandler *msrInfo, PRunDataHandler *rawData, UInt_t runNo, EPMusrHandleTag tag, Bool_t theoAsData);
virtual ~PRunAsymmetryRRF();
virtual Double_t CalcChiSquare(const std::vector<Double_t>& par);
@@ -66,6 +66,7 @@ class PRunAsymmetryRRF : public PRunBase
UInt_t fAlphaBetaTag; ///< \f$ 1 \to \alpha = \beta = 1\f$; \f$ 2 \to \alpha \neq 1, \beta = 1\f$; \f$ 3 \to \alpha = 1, \beta \neq 1\f$; \f$ 4 \to \alpha \neq 1, \beta \neq 1\f$.
UInt_t fNoOfFitBins; ///< number of bins to be be fitted
Int_t fRRFPacking; ///< RRF packing for this particular run. Given in the GLOBAL-block.
Bool_t fTheoAsData; ///< true=only calculate the theory points at the data points, false=calculate more points for the theory as compared to data are calculated which lead to 'nicer' Fouriers
PDoubleVector fForward; ///< forward histo data
PDoubleVector fForwardErr; ///< forward histo errors

View File

@@ -68,7 +68,7 @@ typedef struct {
class PRunListCollection
{
public:
PRunListCollection(PMsrHandler *msrInfo, PRunDataHandler *data);
PRunListCollection(PMsrHandler *msrInfo, PRunDataHandler *data, Bool_t theoAsdata=false);
virtual ~PRunListCollection();
enum EDataSwitch { kIndex, kRunNo };
@@ -136,6 +136,7 @@ class PRunListCollection
virtual Int_t GetMuMinusParams(UInt_t idx, const std::vector<Double_t>& par, PDKSParams &dksp);
private:
Bool_t fTheoAsData; ///< if true: calculate theory points only at the data points
PMsrHandler *fMsrInfo; ///< pointer to the msr-file handler
PRunDataHandler *fData; ///< pointer to the run-data handler

View File

@@ -39,7 +39,7 @@ class PRunMuMinus : public PRunBase
{
public:
PRunMuMinus();
PRunMuMinus(PMsrHandler *msrInfo, PRunDataHandler *rawData, UInt_t runNo, EPMusrHandleTag tag);
PRunMuMinus(PMsrHandler *msrInfo, PRunDataHandler *rawData, UInt_t runNo, EPMusrHandleTag tag, Bool_t theoAsData);
virtual ~PRunMuMinus();
virtual Double_t CalcChiSquare(const std::vector<Double_t>& par);
@@ -65,6 +65,7 @@ class PRunMuMinus : public PRunBase
private:
UInt_t fNoOfFitBins; ///< number of bins to be fitted
Int_t fPacking; ///< packing for this particular run. Either given in the RUN- or GLOBAL-block.
Bool_t fTheoAsData; ///< true=only calculate the theory points at the data points, false=calculate more points for the theory as compared to data are calculated which lead to 'nicer' Fouriers
Int_t fGoodBins[2]; ///< keep first/last good bins. 0=fgb, 1=lgb

View File

@@ -39,7 +39,7 @@ class PRunSingleHisto : public PRunBase
{
public:
PRunSingleHisto();
PRunSingleHisto(PMsrHandler *msrInfo, PRunDataHandler *rawData, UInt_t runNo, EPMusrHandleTag tag);
PRunSingleHisto(PMsrHandler *msrInfo, PRunDataHandler *rawData, UInt_t runNo, EPMusrHandleTag tag, Bool_t theoAsData);
virtual ~PRunSingleHisto();
virtual Double_t CalcChiSquare(const std::vector<Double_t>& par);
@@ -72,6 +72,7 @@ class PRunSingleHisto : public PRunBase
UInt_t fNoOfFitBins; ///< number of bins to be fitted
Double_t fBackground; ///< needed if background range is given (units: 1/bin)
Int_t fPacking; ///< packing for this particular run. Either given in the RUN- or GLOBAL-block.
Bool_t fTheoAsData; ///< true=only calculate the theory points at the data points, false=calculate more points for the theory as compared to data are calculated which lead to 'nicer' Fouriers
Int_t fGoodBins[2]; ///< keep first/last good bins. 0=fgb, 1=lgb

View File

@@ -39,7 +39,7 @@ class PRunSingleHistoRRF : public PRunBase
{
public:
PRunSingleHistoRRF();
PRunSingleHistoRRF(PMsrHandler *msrInfo, PRunDataHandler *rawData, UInt_t runNo, EPMusrHandleTag tag);
PRunSingleHistoRRF(PMsrHandler *msrInfo, PRunDataHandler *rawData, UInt_t runNo, EPMusrHandleTag tag, Bool_t theoAsData);
virtual ~PRunSingleHistoRRF();
virtual Double_t CalcChiSquare(const std::vector<Double_t>& par);
@@ -68,6 +68,7 @@ class PRunSingleHistoRRF : public PRunBase
Double_t fBackground; ///< needed if background range is given (units: 1/bin)
Double_t fBkgErr; ///< estimate error on the estimated background
Int_t fRRFPacking; ///< RRF packing for this particular run. Given in the GLOBAL-block.
Bool_t fTheoAsData; ///< true=only calculate the theory points at the data points, false=calculate more points for the theory as compared to data are calculated which lead to 'nicer' Fouriers
Int_t fGoodBins[2]; ///< keep first/last good bins. 0=fgb, 1=lgb