30 #ifndef _PFOURIERCANVAS_H_ 31 #define _PFOURIERCANVAS_H_ 40 #include <TRootCanvas.h> 43 #include <TPaveText.h> 53 #define P_MENU_ID_FOURIER 10001 54 #define P_MENU_ID_AVERAGE 10002 55 #define P_MENU_ID_AVERAGE_PER_DATA_SET 10003 56 #define P_MENU_ID_EXPORT_DATA 10004 58 #define P_MENU_ID_FOURIER_REAL 100 59 #define P_MENU_ID_FOURIER_IMAG 101 60 #define P_MENU_ID_FOURIER_REAL_AND_IMAG 102 61 #define P_MENU_ID_FOURIER_PWR 103 62 #define P_MENU_ID_FOURIER_PHASE 104 63 #define P_MENU_ID_FOURIER_PHASE_OPT_REAL 105 64 #define P_MENU_ID_FOURIER_PHASE_PLUS 106 65 #define P_MENU_ID_FOURIER_PHASE_MINUS 107 95 const Bool_t showAverage,
const Bool_t showAveragePerDataSet,
96 const Int_t fourierPlotOpt, Double_t fourierXrange[2], Double_t phase,
97 Int_t wtopx, Int_t wtopy, Int_t ww, Int_t wh,
const Bool_t batch);
99 const Bool_t showAverage,
const Bool_t showAveragePerDataSet,
100 const Int_t fourierPlotOpt, Double_t fourierXrange[2], Double_t phase,
101 Int_t wtopx, Int_t wtopy, Int_t ww, Int_t wh,
105 virtual void HandleCmdKey(Int_t event, Int_t x, Int_t y, TObject *selected);
117 virtual void ExportData(
const Char_t *pathFileName);
161 virtual void InitFourierCanvas(
const Char_t* title, Int_t wtopx, Int_t wtopy, Int_t ww, Int_t wh);
172 virtual Double_t
GetMaximum(TH1F* histo, Double_t xmin=-1.0, Double_t xmax=-1.0);
173 virtual Double_t
GetMinimum(TH1F* histo, Double_t xmin=-1.0, Double_t xmax=-1.0);
180 #endif // _PFOURIERCANVAS_H_ std::unique_ptr< TLatex > fCurrentFourierPhaseText
used in Re/Im Fourier to show the current phase in the pad
Int_t fTimeout
timeout after which the Done signal should be emited. If timeout <= 0, no timeout is taking place ...
virtual void DecrementFourierPhase()
PIntVector fColorList
list of colors
std::vector< Double_t > optPhase
optimal phase which maximizes the real Fourier
std::unique_ptr< TTimer > fTimeoutTimer
timeout timer in order to terminate if no action is taking place for too long
virtual void SaveGraphicsAndQuit(const Char_t *fileName)
virtual void PlotAverage()
PFourierCanvasDataList fFourierHistos
keeps all the Fourier histos
PIntVector fDataSetTag
vector holding the data set tags
std::unique_ptr< TPaveText > fTitlePad
title pad used to display a title
Int_t fCurrentPlotView
tag showing what the current plot view is: real, imag, power, phase, ...
virtual void LastCanvasClosed()
virtual void Done(Int_t status=0)
virtual void PlotFourierPhaseValue()
virtual void PlotFourier()
Bool_t fAveragedViewPerDataSet
tag showing that the averaged view for individual data sets or normal view should be presented...
Bool_t fValid
if true, everything looks OK
virtual void CleanupAverage()
TRootCanvas * fImp
ROOT native GUI version of main window with menubar and drawing area.
std::vector< Int_t > PIntVector
virtual void SetTimeout(Int_t ival)
std::unique_ptr< TPad > fFourierPad
fourier pad used to display the fourier
virtual void UpdateInfoPad()
std::unique_ptr< TLegend > fInfoPad
info pad used to display a legend of the data plotted
virtual void CalcPhaseOptReal()
virtual void CreateXaxisTitle()
TH1F * dataFourierPhaseOptReal
phase otpimized real Fourier transform of the data histogram
TH1F * dataFourierPwr
power spectrum of the Fourier transform of the data histogram
virtual void InitFourierDataSets()
std::unique_ptr< TLegend > fLegAvgPerDataSet
legend used for averaged per data set view
TH1F * dataFourierPhase
phase spectrum of the Fourier transform of the data histogram
Double_t fInitialXRange[2]
keeps the initial x-range
Bool_t fAveragedView
tag showing that the averaged view for ALL data or normal view should be presented.
Double_t fInitialYRange[2]
keeps the initial y-range
TH1F * dataFourierIm
imaginary part of the Fourier transform of the data histogram
std::unique_ptr< TGPopupMenu > fPopupFourier
popup menu of the MusrFT/Fourier sub menu
Bool_t fBatchMode
musrview in ROOT batch mode
PFourierCanvasDataList fFourierAverage
keeps the average of the Fourier histos
virtual void HandleMenuPopup(Int_t id)
virtual TString GetDataSetName(TString title)
std::vector< PFourierCanvasDataSet > PFourierCanvasDataList
virtual void IncrementFourierPhase()
virtual void HandleCmdKey(Int_t event, Int_t x, Int_t y, TObject *selected)
virtual Double_t GetInterpolatedValue(TH1F *histo, Double_t xVal)
std::vector< PFourier * > fFourier
keeps all the Fourier data, ownership is with the caller
virtual Double_t GetMinimum(TH1F *histo, Double_t xmin=-1.0, Double_t xmax=-1.0)
TH1F * dataFourierRe
real part of the Fourier transform of the data histogram
TGPopupMenu * fPopupMain
popup menu MusrFT in the main menu bar
std::unique_ptr< TStyle > fStyle
A collection of all graphics attributes.
virtual void HandleAverage()
virtual void UpdateFourierPad()
PIntVector fMarkerList
list of markers
virtual void ExportData(const Char_t *pathFileName)
virtual void InitFourierCanvas(const Char_t *title, Int_t wtopx, Int_t wtopy, Int_t ww, Int_t wh)
std::unique_ptr< TCanvas > fMainCanvas
main canvas
virtual Double_t GetMaximum(TH1F *histo, Double_t xmin=-1.0, Double_t xmax=-1.0)
virtual void CreateStyle()
Double_t fCurrentFourierPhase
keeps the current Fourier phase (real/imag)