zoom/unzoom once more. Uncluttered PMusrCanvas which should improve the situation
This commit is contained in:
@ -47,6 +47,9 @@ FIXED warning messages
|
||||
FIXED db data tag reading error
|
||||
FIXED usage of BOOST >= 1.38.0
|
||||
FIXED the extraction of the time resolution for the mud data format, since MUD_getHistFsPerBin seems sometimes to return just crap.
|
||||
CHANGED another attempt to get proper zooming/unzooming. This time I tried to disentangle the rather messy PMusrCanvas class.
|
||||
Most of the checks seems to work, though still for non-muSR style, musrview is crashing once in a while which seems to
|
||||
come from root rather than musrview. I will try to investigate that on root macro level.
|
||||
CHANGED in root-5.27.04 the zooming/unzooming handling was modified which forced me to add some more code for
|
||||
proper zooming/unzooming via 'u' key
|
||||
CHANGED write the ROOT histogram of the correlation matrix to the output file as well as not only the graph
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -797,7 +797,7 @@ Bool_t PRunSingleHisto::PrepareRawViewData(PRawRunData* runData, const UInt_t hi
|
||||
if (fabs(theoryValue) > 10.0) { // dirty hack needs to be fixed!!
|
||||
theoryValue = 0.0;
|
||||
}
|
||||
fData.AppendTheoryValue(N0*TMath::Exp(-time/tau)*(1+theoryValue)+bkg);
|
||||
fData.AppendTheoryValue(N0*TMath::Exp(-time/tau)*(1.0+theoryValue)+bkg);
|
||||
}
|
||||
|
||||
// clean up
|
||||
|
@ -56,12 +56,6 @@
|
||||
#define YTITLE 0.95
|
||||
#define XTHEO 0.75
|
||||
|
||||
// Current Plot Range
|
||||
#define PR_NONE 0
|
||||
#define PR_RANGE 1
|
||||
#define PR_SUB_RANGE 2
|
||||
#define PR_FIT_RANGE 3
|
||||
|
||||
// Current Plot Views
|
||||
#define PV_DATA 1
|
||||
#define PV_FOURIER_REAL 2
|
||||
@ -104,10 +98,10 @@ class PMusrCanvasPlotRange : public TObject
|
||||
virtual Bool_t IsXRangePresent() { return fXRangePresent; }
|
||||
virtual Bool_t IsYRangePresent() { return fYRangePresent; }
|
||||
|
||||
virtual Double_t GetXMin() { return fXmin; }
|
||||
virtual Double_t GetXMax() { return fXmax; }
|
||||
virtual Double_t GetYMin() { return fYmin; }
|
||||
virtual Double_t GetYMax() { return fYmax; }
|
||||
virtual Double_t GetXmin() { return fXmin; }
|
||||
virtual Double_t GetXmax() { return fXmax; }
|
||||
virtual Double_t GetYmin() { return fYmin; }
|
||||
virtual Double_t GetYmax() { return fYmax; }
|
||||
|
||||
private:
|
||||
Bool_t fXRangePresent;
|
||||
@ -239,11 +233,12 @@ class PMusrCanvas : public TObject, public TQObject
|
||||
Bool_t fValid; ///< if true, everything looks OK
|
||||
Bool_t fDifferenceView; ///< tag showing that the shown data, fourier, are the difference between data and theory
|
||||
Int_t fCurrentPlotView; ///< tag showing what the current plot view is: data, fourier, ...
|
||||
Int_t fPreviousPlotView; ///< tag showing the previous plot view
|
||||
Int_t fPlotType; ///< plot type tag: -1 == undefined, MSR_PLOT_SINGLE_HISTO == single histogram, MSR_PLOT_ASYM == asymmetry, MSR_PLOT_MU_MINUS == mu minus (not yet implemented), MSR_PLOT_NON_MUSR == non-muSR
|
||||
Int_t fPlotNumber; ///< plot number
|
||||
UInt_t fPlotRangeTag; ///< plot range tag: 0=no range given, 1=range, 2=sub_ranges, 3=use_fit_ranges.
|
||||
|
||||
Double_t fXmin, fXmax, fYmin, fYmax; ///< data/theory frame range
|
||||
Bool_t fXRangePresent, fYRangePresent; ///< flag indicating if x-/y-range is present
|
||||
Double_t fXmin, fXmax, fYmin, fYmax; ///< data/theory frame range
|
||||
|
||||
Double_t fCurrentFourierPhase; ///< holds the current Fourier phase
|
||||
TLatex *fCurrentFourierPhaseText; ///< used in Re/Im Fourier to show the current phase in the pad
|
||||
@ -293,7 +288,7 @@ class PMusrCanvas : public TObject, public TQObject
|
||||
virtual void CleanupDataSet(PMusrCanvasNonMusrDataSet &dataSet);
|
||||
virtual void HandleDataSet(UInt_t plotNo, UInt_t runNo, PRunData *data);
|
||||
virtual void HandleNonMusrDataSet(UInt_t plotNo, UInt_t runNo, PRunData *data);
|
||||
virtual void HandleDifference(Bool_t unzoom=false);
|
||||
virtual void HandleDifference();
|
||||
virtual void HandleFourier();
|
||||
virtual void HandleDifferenceFourier();
|
||||
virtual void HandleFourierDifference();
|
||||
@ -306,14 +301,16 @@ class PMusrCanvas : public TObject, public TQObject
|
||||
virtual Double_t CalculateDiff(const Double_t x, const Double_t y, TGraphErrors *theo);
|
||||
virtual Int_t FindBin(const Double_t x, TGraphErrors *graph);
|
||||
|
||||
virtual Double_t GetGlobalMaximum(TH1F* histo);
|
||||
virtual Double_t GetGlobalMinimum(TH1F* histo);
|
||||
virtual Double_t GetMaximum(TH1F* histo, Double_t xmin=-1.0, Double_t xmax=-1.0);
|
||||
virtual Double_t GetMinimum(TH1F* histo, Double_t xmin=-1.0, Double_t xmax=-1.0);
|
||||
virtual Double_t GetMaximum(TGraphErrors* graph, Double_t xmin=-1.0, Double_t xmax=-1.0);
|
||||
virtual Double_t GetMinimum(TGraphErrors* graph, Double_t xmin=-1.0, Double_t xmax=-1.0);
|
||||
|
||||
virtual void PlotData();
|
||||
virtual void PlotDifference();
|
||||
virtual void PlotFourier();
|
||||
virtual void PlotFourierDifference();
|
||||
virtual void PlotFourierPhaseValue();
|
||||
virtual void PlotData(Bool_t unzoom=false);
|
||||
virtual void PlotDifference(Bool_t unzoom=false);
|
||||
virtual void PlotFourier(Bool_t unzoom=false);
|
||||
virtual void PlotFourierDifference(Bool_t unzoom=false);
|
||||
virtual void PlotFourierPhaseValue(Bool_t unzoom=false);
|
||||
virtual void IncrementFourierPhase();
|
||||
virtual void DecrementFourierPhase();
|
||||
|
||||
|
Reference in New Issue
Block a user