added data handler dummy for PMusrCanvas

This commit is contained in:
nemu 2008-04-04 20:20:59 +00:00
parent f4f6fcb058
commit b47e5a4672
2 changed files with 248 additions and 4 deletions

View File

@ -376,9 +376,66 @@ cout << endl;
}
}
PRunData *data;
for (unsigned int i=0; i<plotInfo.fRuns.size(); i++) {
// get run data and create a histogram
data = 0;
// get data depending on the fittype
switch (runs[runNo].fFitType) {
case MSR_FITTYPE_SINGLE_HISTO:
data = fRunList->GetSingleHisto(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
//--------------------------------------------------------------------------
/**
* <p>
*
* \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
//--------------------------------------------------------------------------
/**
* <p>
*
* \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
//--------------------------------------------------------------------------
/**
* <p>
*
* \param runNo
* \param data
*/
void PMusrCanvas::HandleSingleHistoDataSet(unsigned int runNo, PRunData *data)
{
}
//--------------------------------------------------------------------------
// HandleAsymmetryDataSet
//--------------------------------------------------------------------------
/**
* <p>
*
* \param runNo
* \param data
*/
void PMusrCanvas::HandleAsymmetryDataSet(unsigned int runNo, PRunData *data)
{
}
//--------------------------------------------------------------------------
// HandleRRFDataSet
//--------------------------------------------------------------------------
/**
* <p>
*
* \param runNo
* \param data
*/
void PMusrCanvas::HandleRRFDataSet(unsigned int runNo, PRunData *data)
{
}
//--------------------------------------------------------------------------
// HandleNoneMusrDataSet
//--------------------------------------------------------------------------
/**
* <p>
*
* \param runNo
* \param data
*/
void PMusrCanvas::HandleNoneMusrDataSet(unsigned int runNo, PRunData *data)
{
}

View File

@ -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
//------------------------------------------------------------------------
/**
* <p>
*/
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;
//------------------------------------------------------------------------
/**
* <p>
*/
typedef vector<PMusrCanvasDataSet> PMusrCanvasDataList;
//--------------------------------------------------------------------------
/**
* <p>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<TH1F*> 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)
};