From b47e5a46729b35fa5affff7f92b6cdbd35204512 Mon Sep 17 00:00:00 2001 From: nemu Date: Fri, 4 Apr 2008 20:20:59 +0000 Subject: [PATCH] added data handler dummy for PMusrCanvas --- src/classes/PMusrCanvas.cpp | 209 ++++++++++++++++++++++++++++++++++++ src/include/PMusrCanvas.h | 43 +++++++- 2 files changed, 248 insertions(+), 4 deletions(-) diff --git a/src/classes/PMusrCanvas.cpp b/src/classes/PMusrCanvas.cpp index 363dbb1d..9d697d1d 100644 --- a/src/classes/PMusrCanvas.cpp +++ b/src/classes/PMusrCanvas.cpp @@ -376,9 +376,66 @@ cout << endl; } } + PRunData *data; for (unsigned int i=0; iGetSingleHisto(runNo, PRunListCollection::kRunNo); + if (!data) { // something wrong + fValid = false; + // error message + cout << endl << "PMusrCanvas::UpdateDataTheoryPad: **ERROR** couldn't obtain run no " << runNo << " for a single histogram plot"; + cout << endl; + return; + } + // handle data + break; + case MSR_FITTYPE_ASYM: + data = fRunList->GetAsymmetry(runNo, PRunListCollection::kRunNo); + if (!data) { // something wrong + fValid = false; + // error message + cout << endl << "PMusrCanvas::UpdateDataTheoryPad: **ERROR** couldn't obtain run no " << runNo << " for a asymmetry plot"; + cout << endl; + return; + } + // handle data + break; + case MSR_FITTYPE_ASYM_RRF: + data = fRunList->GetRRF(runNo, PRunListCollection::kRunNo); + if (!data) { // something wrong + fValid = false; + // error message + cout << endl << "PMusrCanvas::UpdateDataTheoryPad: **ERROR** couldn't obtain run no " << runNo << " for a RRF plot"; + cout << endl; + return; + } + // handle data + break; + case MSR_FITTYPE_NO_MUSR: + data = fRunList->GetNonMusr(runNo, PRunListCollection::kRunNo); + if (!data) { // something wrong + fValid = false; + // error message + cout << endl << "PMusrCanvas::UpdateDataTheoryPad: **ERROR** couldn't obtain run no " << runNo << " for a none musr data plot"; + cout << endl; + return; + } + // handle data + break; + default: + fValid = false; + // error message + cout << endl << "PMusrCanvas::UpdateDataTheoryPad: **ERROR** wrong plottype tag?!"; + cout << endl; + return; + break; + } // get theory object and calculate a theory histogram + // generate the histo plot } } @@ -430,3 +487,155 @@ void PMusrCanvas::UpdateInfoPad() fMainCanvas->cd(); fMainCanvas->Update(); } + +//-------------------------------------------------------------------------- +// InitDataSet +//-------------------------------------------------------------------------- +/** + *

+ * + * \param dataSet + */ +void PMusrCanvas::InitDataSet(PMusrCanvasDataSet &dataSet) +{ + dataSet.data = 0; + dataSet.dataFourierRe = 0; + dataSet.dataFourierIm = 0; + dataSet.dataFourierPwr = 0; + dataSet.dataFourierPhase = 0; + dataSet.theory = 0; + dataSet.theoryFourierRe = 0; + dataSet.theoryFourierIm = 0; + dataSet.theoryFourierPwr = 0; + dataSet.theoryFourierPhase = 0; + dataSet.diff = 0; + dataSet.diffFourierRe = 0; + dataSet.diffFourierIm = 0; + dataSet.diffFourierPwr = 0; + dataSet.diffFourierPhase = 0; +} + +//-------------------------------------------------------------------------- +// CleanupDataSet +//-------------------------------------------------------------------------- +/** + *

+ * + * \param dataSet + */ +void PMusrCanvas::CleanupDataSet(PMusrCanvasDataSet &dataSet) +{ + if (dataSet.data) { + delete dataSet.data; + dataSet.data = 0; + } + if (dataSet.dataFourierRe) { + delete dataSet.dataFourierRe; + dataSet.dataFourierRe = 0; + } + if (dataSet.dataFourierIm) { + delete dataSet.dataFourierIm; + dataSet.dataFourierIm = 0; + } + if (dataSet.dataFourierPwr) { + delete dataSet.dataFourierPwr; + dataSet.dataFourierPwr = 0; + } + if (dataSet.dataFourierPhase) { + delete dataSet.dataFourierPhase; + dataSet.dataFourierPhase = 0; + } + if (dataSet.theory) { + delete dataSet.theory; + dataSet.theory = 0; + } + if (dataSet.theoryFourierRe) { + delete dataSet.theoryFourierRe; + dataSet.theoryFourierRe = 0; + } + if (dataSet.theoryFourierIm) { + delete dataSet.theoryFourierIm; + dataSet.theoryFourierIm = 0; + } + if (dataSet.theoryFourierPwr) { + delete dataSet.theoryFourierPwr; + dataSet.theoryFourierPwr = 0; + } + if (dataSet.theoryFourierPhase) { + delete dataSet.theoryFourierPhase; + dataSet.theoryFourierPhase = 0; + } + if (dataSet.diff) { + delete dataSet.diff; + dataSet.diff = 0; + } + if (dataSet.diffFourierRe) { + delete dataSet.diffFourierRe; + dataSet.diffFourierRe = 0; + } + if (dataSet.diffFourierIm) { + delete dataSet.diffFourierIm; + dataSet.diffFourierIm = 0; + } + if (dataSet.diffFourierPwr) { + delete dataSet.diffFourierPwr; + dataSet.diffFourierPwr = 0; + } + if (dataSet.diffFourierPhase) { + delete dataSet.diffFourierPhase; + dataSet.diffFourierPhase = 0; + } +} + +//-------------------------------------------------------------------------- +// HandleSingleHistoDataSet +//-------------------------------------------------------------------------- +/** + *

+ * + * \param runNo + * \param data + */ +void PMusrCanvas::HandleSingleHistoDataSet(unsigned int runNo, PRunData *data) +{ +} + +//-------------------------------------------------------------------------- +// HandleAsymmetryDataSet +//-------------------------------------------------------------------------- +/** + *

+ * + * \param runNo + * \param data + */ +void PMusrCanvas::HandleAsymmetryDataSet(unsigned int runNo, PRunData *data) +{ +} + +//-------------------------------------------------------------------------- +// HandleRRFDataSet +//-------------------------------------------------------------------------- +/** + *

+ * + * \param runNo + * \param data + */ +void PMusrCanvas::HandleRRFDataSet(unsigned int runNo, PRunData *data) +{ +} + +//-------------------------------------------------------------------------- +// HandleNoneMusrDataSet +//-------------------------------------------------------------------------- +/** + *

+ * + * \param runNo + * \param data + */ +void PMusrCanvas::HandleNoneMusrDataSet(unsigned int runNo, PRunData *data) +{ +} + diff --git a/src/include/PMusrCanvas.h b/src/include/PMusrCanvas.h index df887c90..eb7f1368 100644 --- a/src/include/PMusrCanvas.h +++ b/src/include/PMusrCanvas.h @@ -44,12 +44,40 @@ #ifndef __MAKECINT__ #include "PMsrHandler.h" #include "PRunListCollection.h" -#endif +#endif // __MAKECINT__ #define YINFO 0.1 #define YTITLE 0.95 #define XTHEO 0.75 +//------------------------------------------------------------------------ +/** + *

+ */ +typedef struct { + TH1F *data; + TH1F *dataFourierRe; + TH1F *dataFourierIm; + TH1F *dataFourierPwr; + TH1F *dataFourierPhase; + TH1F *theory; + TH1F *theoryFourierRe; + TH1F *theoryFourierIm; + TH1F *theoryFourierPwr; + TH1F *theoryFourierPhase; + TH1F *diff; + TH1F *diffFourierRe; + TH1F *diffFourierIm; + TH1F *diffFourierPwr; + TH1F *diffFourierPhase; +} PMusrCanvasDataSet; + +//------------------------------------------------------------------------ +/** + *

+ */ +typedef vector PMusrCanvasDataList; + //-------------------------------------------------------------------------- /** *

The preprocessor tag __MAKECINT__ is used to hide away from rootcint @@ -69,7 +97,7 @@ class PMusrCanvas : public TObject, public TQObject #ifndef __MAKECINT__ virtual void SetMsrHandler(PMsrHandler *msrHandler) { fMsrHandler = msrHandler; } virtual void SetRunListCollection(PRunListCollection *runList) { fRunList = runList; } -#endif +#endif // __MAKECINT__ virtual void UpdateParamTheoryPad(); virtual void UpdateDataTheoryPad(); @@ -93,13 +121,20 @@ class PMusrCanvas : public TObject, public TQObject #ifndef __MAKECINT__ PMsrHandler *fMsrHandler; PRunListCollection *fRunList; -#endif +#endif // __MAKECINT__ - vector fData; + PMusrCanvasDataList fData; PIntVector fMarkerList; PIntVector fColorList; + virtual void InitDataSet(PMusrCanvasDataSet &dataSet); + virtual void CleanupDataSet(PMusrCanvasDataSet &dataSet); + virtual void HandleSingleHistoDataSet(unsigned int runNo, PRunData *data); + virtual void HandleAsymmetryDataSet(unsigned int runNo, PRunData *data); + virtual void HandleRRFDataSet(unsigned int runNo, PRunData *data); + virtual void HandleNoneMusrDataSet(unsigned int runNo, PRunData *data); + ClassDef(PMusrCanvas, 1) };