From 588747bd13b3cb85f72fee03b0a8b834bbf677ad Mon Sep 17 00:00:00 2001 From: nemu Date: Thu, 5 Nov 2009 06:42:33 +0000 Subject: [PATCH] some more work towards a full encapsulation --- src/classes/PMsrHandler.cpp | 66 +++++++++++++------------- src/classes/PMusr.cpp | 4 +- src/classes/PMusrCanvas.cpp | 12 ++--- src/classes/PRunAsymmetry.cpp | 28 +++++------ src/classes/PRunListCollection.cpp | 2 +- src/classes/PRunNonMusr.cpp | 32 ++++++------- src/classes/PRunSingleHisto.cpp | 22 ++++----- src/include/PMusr.h | 74 +++++++++++++----------------- src/include/PRunListCollection.h | 2 +- src/musrt0.cpp | 4 +- 10 files changed, 117 insertions(+), 129 deletions(-) diff --git a/src/classes/PMsrHandler.cpp b/src/classes/PMsrHandler.cpp index c8a3d9a5..9e6d2715 100644 --- a/src/classes/PMsrHandler.cpp +++ b/src/classes/PMsrHandler.cpp @@ -560,12 +560,12 @@ Int_t PMsrHandler::WriteMsrLogFile(const Bool_t messages) fout.width(16); fout << left << "rrffrequency"; fout.precision(prec); - fout << fRuns[runNo].fRRFFreq << endl; + fout << fRuns[runNo].GetRRFFreq() << endl; } else if (sstr.BeginsWith("rrfpacking")) { fout.width(16); fout << left << "rrfpacking"; fout.precision(prec); - fout << fRuns[runNo].fRRFPacking << endl; + fout << fRuns[runNo].GetRRFPacking() << endl; } else if (sstr.BeginsWith("alpha ")) { fout.width(16); fout << left << "alpha"; @@ -577,11 +577,11 @@ Int_t PMsrHandler::WriteMsrLogFile(const Bool_t messages) } else if (sstr.BeginsWith("alpha2")) { fout.width(16); fout << left << "alpha2"; - fout << fRuns[runNo].fAlpha2ParamNo << endl; + fout << fRuns[runNo].GetAlpha2ParamNo() << endl; } else if (sstr.BeginsWith("beta2")) { fout.width(16); fout << left << "beta2"; - fout << fRuns[runNo].fBeta2ParamNo << endl; + fout << fRuns[runNo].GetBeta2ParamNo() << endl; } else if (sstr.BeginsWith("norm")) { fout.width(16); fout << left << "norm"; @@ -630,11 +630,11 @@ Int_t PMsrHandler::WriteMsrLogFile(const Bool_t messages) } else if (sstr.BeginsWith("right")) { fout.width(16); fout << left << "right"; - fout << fRuns[runNo].fRightHistoNo << endl; + fout << fRuns[runNo].GetRightHistoNo() << endl; } else if (sstr.BeginsWith("left")) { fout.width(16); fout << left << "left"; - fout << fRuns[runNo].fLeftHistoNo << endl; + fout << fRuns[runNo].GetLeftHistoNo() << endl; } else if (sstr.BeginsWith("backgr.fix")) { fout.width(15); fout << left << "backgr.fix"; @@ -669,28 +669,24 @@ Int_t PMsrHandler::WriteMsrLogFile(const Bool_t messages) } fout << endl; } else if (sstr.BeginsWith("xy-data")) { - if (fRuns[runNo].fXYDataIndex[0] != -1) { // indices + if (fRuns[runNo].GetXDataIndex() != -1) { // indices fout.width(16); fout << left << "xy-data"; - for (UInt_t j=0; j<2; j++) { - if (fRuns[runNo].fXYDataIndex[j] == -1) - break; - fout.width(8); - fout.precision(2); - fout << left << fixed << fRuns[runNo].fXYDataIndex[j]; - } + fout.width(8); + fout.precision(2); + fout << left << fixed << fRuns[runNo].GetXDataIndex(); + fout.width(8); + fout.precision(2); + fout << left << fixed << fRuns[runNo].GetYDataIndex(); fout << endl; - } else if (!fRuns[runNo].fXYDataLabel[0].IsWhitespace()) { // labels + } else if (!fRuns[runNo].GetXDataLabel()->IsWhitespace()) { // labels fout.width(16); fout << endl << left << "xy-data"; - for (UInt_t j=0; j<2; j++) { - if (fRuns[runNo].fXYDataLabel[j].IsWhitespace()) - break; - fout.width(8); - fout << left << fixed << fRuns[runNo].fXYDataLabel[j].Data(); - if (j == 0) - fout << " "; - } + fout.width(8); + fout << left << fixed << fRuns[runNo].GetXDataLabel()->Data(); + fout << " "; + fout.width(8); + fout << left << fixed << fRuns[runNo].GetYDataLabel()->Data(); fout << endl; } } else if (sstr.BeginsWith("fit")) { @@ -707,7 +703,7 @@ Int_t PMsrHandler::WriteMsrLogFile(const Bool_t messages) } else if (sstr.BeginsWith("packing")) { fout.width(16); fout << left << "packing"; - fout << fRuns[runNo].fPacking << endl; + fout << fRuns[runNo].GetPacking() << endl; } else { fout << str.Data() << endl; } @@ -1758,7 +1754,7 @@ Bool_t PMsrHandler::HandleRunEntry(PMsrLines &lines) ostr = dynamic_cast(tokens->At(1)); str = ostr->GetString(); if (str.IsDigit()) - param.fPacking = str.Atoi(); + param.SetPacking(str.Atoi()); else error = true; } @@ -1772,7 +1768,7 @@ Bool_t PMsrHandler::HandleRunEntry(PMsrLines &lines) ostr = dynamic_cast(tokens->At(1)); str = ostr->GetString(); if (str.IsFloat()) - param.fRRFFreq = str.Atof(); + param.SetRRFFreq(str.Atof()); else error = true; } @@ -1786,7 +1782,7 @@ Bool_t PMsrHandler::HandleRunEntry(PMsrLines &lines) ostr = dynamic_cast(tokens->At(1)); str = ostr->GetString(); if (str.IsDigit()) - param.fRRFPacking = str.Atoi(); + param.SetRRFPacking(str.Atoi()); else error = true; } @@ -1800,7 +1796,7 @@ Bool_t PMsrHandler::HandleRunEntry(PMsrLines &lines) ostr = dynamic_cast(tokens->At(1)); str = ostr->GetString(); if (str.IsDigit()) - param.fAlpha2ParamNo = str.Atoi(); + param.SetAlpha2ParamNo(str.Atoi()); else error = true; } @@ -1814,7 +1810,7 @@ Bool_t PMsrHandler::HandleRunEntry(PMsrLines &lines) ostr = dynamic_cast(tokens->At(1)); str = ostr->GetString(); if (str.IsDigit()) - param.fBeta2ParamNo = str.Atoi(); + param.SetBeta2ParamNo(str.Atoi()); else error = true; } @@ -1828,7 +1824,7 @@ Bool_t PMsrHandler::HandleRunEntry(PMsrLines &lines) ostr = dynamic_cast(tokens->At(1)); str = ostr->GetString(); if (str.IsDigit()) - param.fRightHistoNo = str.Atoi(); + param.SetRightHistoNo(str.Atoi()); else error = true; } @@ -1842,7 +1838,7 @@ Bool_t PMsrHandler::HandleRunEntry(PMsrLines &lines) ostr = dynamic_cast(tokens->At(1)); str = ostr->GetString(); if (str.IsDigit()) - param.fLeftHistoNo = str.Atoi(); + param.SetLeftHistoNo(str.Atoi()); else error = true; } @@ -1856,18 +1852,18 @@ Bool_t PMsrHandler::HandleRunEntry(PMsrLines &lines) ostr = dynamic_cast(tokens->At(1)); str = ostr->GetString(); if (str.IsDigit()) { // xy-data indices given - param.fXYDataIndex[0] = str.Atoi(); // x-index + param.SetXDataIndex(str.Atoi()); // x-index ostr = dynamic_cast(tokens->At(2)); str = ostr->GetString(); if (str.IsDigit()) - param.fXYDataIndex[1] = str.Atoi(); // y-index + param.SetYDataIndex(str.Atoi()); // y-index else error = true; } else { // xy-data labels given - param.fXYDataLabel[0] = str; // x-label + param.SetXDataLabel(str); // x-label ostr = dynamic_cast(tokens->At(2)); str = ostr->GetString(); - param.fXYDataLabel[1] = str; // y-label + param.SetYDataLabel(str); // y-label } } } diff --git a/src/classes/PMusr.cpp b/src/classes/PMusr.cpp index 5fbfff59..a56eea3f 100644 --- a/src/classes/PMusr.cpp +++ b/src/classes/PMusr.cpp @@ -485,8 +485,8 @@ PMsrRunBlock::PMsrRunBlock() fLeftHistoNo = -1; // undefined left histogram number fXYDataIndex[0] = -1; // undefined x data index (NonMusr) fXYDataIndex[1] = -1; // undefined y data index (NonMusr) - fXYDataLabel[0] = TString("??"); // undefined x data label (NonMusr) - fXYDataLabel[1] = TString("??"); // undefined y data label (NonMusr) + fXYDataLabel[0] = TString(""); // undefined x data label (NonMusr) + fXYDataLabel[1] = TString(""); // undefined y data label (NonMusr) } //-------------------------------------------------------------------------- diff --git a/src/classes/PMusrCanvas.cpp b/src/classes/PMusrCanvas.cpp index 5a81de98..6483ea68 100644 --- a/src/classes/PMusrCanvas.cpp +++ b/src/classes/PMusrCanvas.cpp @@ -521,7 +521,7 @@ void PMusrCanvas::UpdateInfoPad() // get/set run plot info double dval; - vector< pair > ddvec; + const PDoublePairVector *ddvec; Char_t sval[128]; UInt_t runNo; PMsrPlotStructure plotInfo = fMsrHandler->GetMsrPlotList()->at(fPlotNumber); @@ -547,18 +547,18 @@ void PMusrCanvas::UpdateInfoPad() } // temperature if present ddvec = fRunList->GetTemp(*runs[runNo].GetRunName()); - if (ddvec.empty()) { + if (ddvec->empty()) { tstr += TString("T="); tstr += TString("??,"); - } else if (ddvec.size() == 1){ + } else if (ddvec->size() == 1){ tstr += TString("T="); - sprintf(sval, "%0.2lf", ddvec[0].first); + sprintf(sval, "%0.2lf", ddvec->at(0).first); tstr += TString(sval) + TString("K,"); } else { - for(UInt_t i(0); isize(); ++i){ sprintf(sval, "T%u=", i); tstr += TString(sval); - sprintf(sval, "%0.2lf", ddvec[i].first); + sprintf(sval, "%0.2lf", ddvec->at(i).first); tstr += TString(sval) + TString("K,"); } } diff --git a/src/classes/PRunAsymmetry.cpp b/src/classes/PRunAsymmetry.cpp index 5ed81a73..a0fd7f0d 100644 --- a/src/classes/PRunAsymmetry.cpp +++ b/src/classes/PRunAsymmetry.cpp @@ -544,7 +544,7 @@ Bool_t PRunAsymmetry::SubtractEstimatedBkg() // calculate proper background range for (UInt_t i=0; i<2; i++) { if (beamPeriod != 0.0) { - Double_t beamPeriodBins = beamPeriod/fRunInfo->fPacking; + Double_t beamPeriodBins = beamPeriod/fRunInfo->GetPacking(); UInt_t periods = (UInt_t)((Double_t)(end[i] - start[i] + 1) / beamPeriodBins); end[i] = start[i] + (UInt_t)round((Double_t)periods*beamPeriodBins); cout << "PRunAsymmetry::SubtractEstimatedBkg(): Background " << start[i] << ", " << end[i] << endl; @@ -654,19 +654,19 @@ Bool_t PRunAsymmetry::PrepareFitData(PRawRunData* runData, UInt_t histoNo[2]) Double_t error = 0.0; // forward for (Int_t i=start[0]; ifPacking == 1) { + if (fRunInfo->GetPacking() == 1) { forwardPacked.AppendValue(fForward[i]); forwardPacked.AppendErrorValue(fForwardErr[i]); - } else { // packed data, i.e. fRunInfo->fPacking > 1 - if (((i-start[0]) % fRunInfo->fPacking == 0) && (i != start[0])) { // fill data + } else { // packed data, i.e. fRunInfo->GetPacking() > 1 + if (((i-start[0]) % fRunInfo->GetPacking() == 0) && (i != start[0])) { // fill data // in order that after rebinning the fit does not need to be redone (important for plots) // the value is normalize to per bin - value /= fRunInfo->fPacking; + value /= fRunInfo->GetPacking(); forwardPacked.AppendValue(value); if (value == 0.0) forwardPacked.AppendErrorValue(1.0); else - forwardPacked.AppendErrorValue(TMath::Sqrt(error)/fRunInfo->fPacking); + forwardPacked.AppendErrorValue(TMath::Sqrt(error)/fRunInfo->GetPacking()); value = 0.0; error = 0.0; } @@ -676,19 +676,19 @@ Bool_t PRunAsymmetry::PrepareFitData(PRawRunData* runData, UInt_t histoNo[2]) } // backward for (Int_t i=start[1]; ifPacking == 1) { + if (fRunInfo->GetPacking() == 1) { backwardPacked.AppendValue(fBackward[i]); backwardPacked.AppendErrorValue(fBackwardErr[i]); - } else { // packed data, i.e. fRunInfo->fPacking > 1 - if (((i-start[1]) % fRunInfo->fPacking == 0) && (i != start[1])) { // fill data + } else { // packed data, i.e. fRunInfo->GetPacking() > 1 + if (((i-start[1]) % fRunInfo->GetPacking() == 0) && (i != start[1])) { // fill data // in order that after rebinning the fit does not need to be redone (important for plots) // the value is normalize to per bin - value /= fRunInfo->fPacking; + value /= fRunInfo->GetPacking(); backwardPacked.AppendValue(value); if (value == 0.0) backwardPacked.AppendErrorValue(1.0); else - backwardPacked.AppendErrorValue(TMath::Sqrt(error)/fRunInfo->fPacking); + backwardPacked.AppendErrorValue(TMath::Sqrt(error)/fRunInfo->GetPacking()); value = 0.0; error = 0.0; } @@ -709,8 +709,8 @@ Bool_t PRunAsymmetry::PrepareFitData(PRawRunData* runData, UInt_t histoNo[2]) Double_t f, b, ef, eb; // fill data time start, and step // data start at data_start-t0 shifted by (pack-1)/2 - fData.SetDataTimeStart(fTimeResolution*((Double_t)start[0]-t0[0]+(Double_t)(fRunInfo->fPacking-1)/2.0)); - fData.SetDataTimeStep(fTimeResolution*(Double_t)fRunInfo->fPacking); + fData.SetDataTimeStart(fTimeResolution*((Double_t)start[0]-t0[0]+(Double_t)(fRunInfo->GetPacking()-1)/2.0)); + fData.SetDataTimeStep(fTimeResolution*(Double_t)fRunInfo->GetPacking()); for (UInt_t i=0; iat(i); @@ -759,7 +759,7 @@ Bool_t PRunAsymmetry::PrepareFitData(PRawRunData* runData, UInt_t histoNo[2]) Bool_t PRunAsymmetry::PrepareViewData(PRawRunData* runData, UInt_t histoNo[2]) { // check if view_packing is wished - Int_t packing = fRunInfo->fPacking; + Int_t packing = fRunInfo->GetPacking(); if (fMsrInfo->GetMsrPlotList()->at(0).fViewPacking > 0) { packing = fMsrInfo->GetMsrPlotList()->at(0).fViewPacking; } diff --git a/src/classes/PRunListCollection.cpp b/src/classes/PRunListCollection.cpp index 6add629f..f89cc244 100644 --- a/src/classes/PRunListCollection.cpp +++ b/src/classes/PRunListCollection.cpp @@ -445,7 +445,7 @@ PRunData* PRunListCollection::GetNonMusr(UInt_t index, EDataSwitch tag) * * \param runName */ -PDoublePairVector PRunListCollection::GetTemp(const TString &runName) const +const PDoublePairVector* PRunListCollection::GetTemp(const TString &runName) const { return fData->GetRunData(runName)->GetTemperature(); } diff --git a/src/classes/PRunNonMusr.cpp b/src/classes/PRunNonMusr.cpp index acad7aea..35ff5052 100644 --- a/src/classes/PRunNonMusr.cpp +++ b/src/classes/PRunNonMusr.cpp @@ -197,15 +197,15 @@ Bool_t PRunNonMusr::PrepareFitData() Double_t err = 0.0; // cout << endl << ">> fRawRunData->fDataNonMusr.fData[" << xIndex << "].size()=" << fRawRunData->fDataNonMusr.fData[xIndex].size(); for (UInt_t i=0; ifDataNonMusr.GetData()->at(xIndex).size(); i++) { -// cout << endl << ">> i=" << i << ", packing=" << fRunInfo->fPacking; - if (fRunInfo->fPacking == 1) { +// cout << endl << ">> i=" << i << ", packing=" << fRunInfo->GetPacking(); + if (fRunInfo->GetPacking() == 1) { fData.AppendXValue(fRawRunData->fDataNonMusr.GetData()->at(xIndex).at(i)); fData.AppendValue(fRawRunData->fDataNonMusr.GetData()->at(yIndex).at(i)); fData.AppendErrorValue(fRawRunData->fDataNonMusr.GetErrData()->at(yIndex).at(i)); - } else { // packed data, i.e. fRunInfo->fPacking > 1 - if ((i % fRunInfo->fPacking == 0) && (i != 0)) { // fill data + } else { // packed data, i.e. fRunInfo->GetPacking() > 1 + if ((i % fRunInfo->GetPacking() == 0) && (i != 0)) { // fill data // cout << endl << "-> i=" << i; - fData.AppendXValue(fRawRunData->fDataNonMusr.GetData()->at(xIndex).at(i)-(fRawRunData->fDataNonMusr.GetData()->at(xIndex).at(i)-fRawRunData->fDataNonMusr.GetData()->at(xIndex).at(i-fRunInfo->fPacking))/2.0); + fData.AppendXValue(fRawRunData->fDataNonMusr.GetData()->at(xIndex).at(i)-(fRawRunData->fDataNonMusr.GetData()->at(xIndex).at(i)-fRawRunData->fDataNonMusr.GetData()->at(xIndex).at(i-fRunInfo->GetPacking()))/2.0); fData.AppendValue(value); fData.AppendErrorValue(TMath::Sqrt(err)); value = 0.0; @@ -255,15 +255,15 @@ Bool_t PRunNonMusr::PrepareViewData() Double_t err = 0.0; // cout << endl << ">> fRawRunData->fDataNonMusr.fData[" << xIndex << "].size()=" << fRawRunData->fDataNonMusr.fData[xIndex].size(); for (UInt_t i=0; ifDataNonMusr.GetData()->at(xIndex).size(); i++) { -// cout << endl << ">> i=" << i << ", packing=" << fRunInfo->fPacking; - if (fRunInfo->fPacking == 1) { +// cout << endl << ">> i=" << i << ", packing=" << fRunInfo->GetPacking(); + if (fRunInfo->GetPacking() == 1) { fData.AppendXValue(fRawRunData->fDataNonMusr.GetData()->at(xIndex).at(i)); fData.AppendValue(fRawRunData->fDataNonMusr.GetData()->at(yIndex).at(i)); fData.AppendErrorValue(fRawRunData->fDataNonMusr.GetErrData()->at(yIndex).at(i)); - } else { // packed data, i.e. fRunInfo->fPacking > 1 - if ((i % fRunInfo->fPacking == 0) && (i != 0)) { // fill data + } else { // packed data, i.e. fRunInfo->GetPacking() > 1 + if ((i % fRunInfo->GetPacking() == 0) && (i != 0)) { // fill data // cout << endl << "-> i=" << i; - fData.AppendXValue(fRawRunData->fDataNonMusr.GetData()->at(xIndex).at(i)-(fRawRunData->fDataNonMusr.GetData()->at(xIndex).at(i)-fRawRunData->fDataNonMusr.GetData()->at(xIndex).at(i-fRunInfo->fPacking))/2.0); + fData.AppendXValue(fRawRunData->fDataNonMusr.GetData()->at(xIndex).at(i)-(fRawRunData->fDataNonMusr.GetData()->at(xIndex).at(i)-fRawRunData->fDataNonMusr.GetData()->at(xIndex).at(i-fRunInfo->GetPacking()))/2.0); fData.AppendValue(value); fData.AppendErrorValue(TMath::Sqrt(err)); value = 0.0; @@ -382,14 +382,14 @@ UInt_t PRunNonMusr::GetXIndex() found = true; } else { // db-file format //cout << endl << ">> PRunNonMusr::GetXIndex: db-file format"; - if (fRunInfo->fXYDataIndex[0] > 0) { // xy-data already indices + if (fRunInfo->GetXDataIndex() > 0) { // xy-data already indices //cout << endl << ">> PRunNonMusr::GetXIndex: xy-data are already indices, i.e. not labels"; - index = fRunInfo->fXYDataIndex[0]-1; // since xy-data start with 1 ... + index = fRunInfo->GetXDataIndex()-1; // since xy-data start with 1 ... found = true; } else { // xy-data data tags which needs to be converted to an index //cout << endl << ">> fDataTags.size()=" << fRawRunData->fDataNonMusr.fDataTags.size(); for (UInt_t i=0; ifDataNonMusr.GetDataTags()->size(); i++) { - if (fRawRunData->fDataNonMusr.GetDataTags()->at(i).CompareTo(fRunInfo->fXYDataLabel[0]) == 0) { + if (fRawRunData->fDataNonMusr.GetDataTags()->at(i).CompareTo(*fRunInfo->GetXDataLabel()) == 0) { //cout << endl << ">> i=" << i << ", fRawRunData->fDataNonMusr.fDataTags[i]=" << fRawRunData->fDataNonMusr.fDataTags[i].Data(); //cout << endl << ">> fRunInfo->fXYDataLabel[0]=" << fRunInfo->fXYDataLabel[0].Data(); index = i; @@ -426,12 +426,12 @@ UInt_t PRunNonMusr::GetYIndex() index = 1; found = true; } else { // db-file format - if (fRunInfo->fXYDataIndex[1] > 0) { // xy-data already indices - index = fRunInfo->fXYDataIndex[1]-1; // since xy-data start with 1 ... + if (fRunInfo->GetYDataIndex() > 0) { // xy-data already indices + index = fRunInfo->GetYDataIndex()-1; // since xy-data start with 1 ... found = true; } else { // xy-data data tags which needs to be converted to an index for (UInt_t i=0; ifDataNonMusr.GetDataTags()->size(); i++) { - if (fRawRunData->fDataNonMusr.GetDataTags()->at(i).CompareTo(fRunInfo->fXYDataLabel[1]) == 0) { + if (fRawRunData->fDataNonMusr.GetDataTags()->at(i).CompareTo(*fRunInfo->GetYDataLabel()) == 0) { // cout << endl << ">> i=" << i << ", fRawRunData->fDataNonMusr.fDataTags[i]=" << fRawRunData->fDataNonMusr.fDataTags[i].Data(); // cout << endl << ">> fRunInfo->fXYDataLabel[1]=" << fRunInfo->fXYDataLabel[1].Data(); index = i; diff --git a/src/classes/PRunSingleHisto.cpp b/src/classes/PRunSingleHisto.cpp index 1ecccd17..d70563b0 100644 --- a/src/classes/PRunSingleHisto.cpp +++ b/src/classes/PRunSingleHisto.cpp @@ -85,7 +85,7 @@ PRunSingleHisto::~PRunSingleHisto() /** *

* - * The return value is chisq * fRunInfo->fPacking, the reason is: + * The return value is chisq * fRunInfo->GetPacking(), the reason is: * the data d_i and the theory t_i are scaled by the packing, i.e. d_i -> d_i / packing. * Since the error is 1/sqrt(d_i) and hence error^2 = d_i it follows that * (d_i - t_i)^2 ~ 1/packing^2 and error^2 ~ 1/packing, and hence the chisq needs @@ -497,23 +497,23 @@ Bool_t PRunSingleHisto::PrepareFitData(PRawRunData* runData, const UInt_t histoN Double_t normalizer = 1.0; // data start at data_start-t0 // time shifted so that packing is included correctly, i.e. t0 == t0 after packing - fData.SetDataTimeStart(fTimeResolution*((Double_t)start-(Double_t)t0+(Double_t)(fRunInfo->fPacking-1)/2.0)); - fData.SetDataTimeStep(fTimeResolution*fRunInfo->fPacking); + fData.SetDataTimeStart(fTimeResolution*((Double_t)start-(Double_t)t0+(Double_t)(fRunInfo->GetPacking()-1)/2.0)); + fData.SetDataTimeStep(fTimeResolution*fRunInfo->GetPacking()); for (Int_t i=start; ifPacking == 1) { + if (fRunInfo->GetPacking() == 1) { value = runData->GetDataBin(histoNo)->at(i); - normalizer = fRunInfo->fPacking * (fTimeResolution * 1e3); // fTimeResolution us->ns + normalizer = fRunInfo->GetPacking() * (fTimeResolution * 1e3); // fTimeResolution us->ns value /= normalizer; fData.AppendValue(value); if (value == 0.0) fData.AppendErrorValue(1.0); else fData.AppendErrorValue(TMath::Sqrt(value)); - } else { // packed data, i.e. fRunInfo->fPacking > 1 - if (((i-start) % fRunInfo->fPacking == 0) && (i != start)) { // fill data + } else { // packed data, i.e. fRunInfo->GetPacking() > 1 + if (((i-start) % fRunInfo->GetPacking() == 0) && (i != start)) { // fill data // in order that after rebinning the fit does not need to be redone (important for plots) // the value is normalize to per 1 nsec - normalizer = fRunInfo->fPacking * (fTimeResolution * 1e3); // fTimeResolution us->ns + normalizer = fRunInfo->GetPacking() * (fTimeResolution * 1e3); // fTimeResolution us->ns value /= normalizer; fData.AppendValue(value); if (value == 0.0) @@ -550,7 +550,7 @@ Bool_t PRunSingleHisto::PrepareFitData(PRawRunData* runData, const UInt_t histoN Bool_t PRunSingleHisto::PrepareRawViewData(PRawRunData* runData, const UInt_t histoNo) { // check if view_packing is wished - Int_t packing = fRunInfo->fPacking; + Int_t packing = fRunInfo->GetPacking(); if (fMsrInfo->GetMsrPlotList()->at(0).fViewPacking > 0) { packing = fMsrInfo->GetMsrPlotList()->at(0).fViewPacking; } @@ -710,7 +710,7 @@ cout << endl << ">> data start time = " << fData.GetDataTimeStart(); Bool_t PRunSingleHisto::PrepareViewData(PRawRunData* runData, const UInt_t histoNo) { // check if view_packing is wished - Int_t packing = fRunInfo->fPacking; + Int_t packing = fRunInfo->GetPacking(); if (fMsrInfo->GetMsrPlotList()->at(0).fViewPacking > 0) { packing = fMsrInfo->GetMsrPlotList()->at(0).fViewPacking; } @@ -891,7 +891,7 @@ Bool_t PRunSingleHisto::EstimateBkg(UInt_t histoNo) // calculate proper background range if (beamPeriod != 0.0) { - Double_t beamPeriodBins = beamPeriod/fRunInfo->fPacking; + Double_t beamPeriodBins = beamPeriod/fRunInfo->GetPacking(); UInt_t periods = (UInt_t)((Double_t)(end - start + 1) / beamPeriodBins); end = start + (UInt_t)round((Double_t)periods*beamPeriodBins); cout << endl << "PRunSingleHisto::EstimatBkg(): Background " << start << ", " << end; diff --git a/src/include/PMusr.h b/src/include/PMusr.h index f6797e36..278079ff 100644 --- a/src/include/PMusr.h +++ b/src/include/PMusr.h @@ -255,7 +255,7 @@ class PRawRunData { virtual const TString* GetSetup() { return &fSetup; } virtual const Double_t GetField() { return fField; } virtual const UInt_t GetNoOfTemperatures() { return fTemp.size(); } - virtual const PDoublePairVector GetTemperature() { return fTemp; } + virtual const PDoublePairVector* GetTemperature() const { return &fTemp; } virtual const Double_t GetTemperature(const UInt_t idx); virtual const Double_t GetTempError(const UInt_t idx); virtual const Double_t GetEnergy() { return fEnergy; } @@ -392,16 +392,17 @@ class PMsrRunBlock { virtual UInt_t GetT0Size() { return fT0.size(); } virtual Int_t GetT0(UInt_t i=0); virtual Double_t GetFitRange(UInt_t i); -// virtual Int_t GetPacking() { return fPacking; } -// virtual Double_t GetRRFFreq() { return fRRFFreq; } -// virtual Int_t GetAlpha2ParamNo() { return fAlpha2ParamNo; } -// virtual Int_t GetBeta2ParamNo() { return fBeta2ParamNo; } -// virtual Int_t GetRightHistoNo() { return fRightHistoNo; } -// virtual Int_t GetLeftHistoNo() { return fLeftHistoNo; } -// virtual Int_t GetXDataIndex() { return fXYDataIndex[0]; } -// virtual Int_t GetYDataIndex() { return fXYDataIndex[1]; } -// virtual TString* GetXDataLabel() { return &fXYDataLabel[0]; } -// virtual TString* GetYDataLabel() { return &fXYDataLabel[1]; } + virtual Int_t GetPacking() { return fPacking; } + virtual Double_t GetRRFFreq() { return fRRFFreq; } + virtual Int_t GetRRFPacking() { return fRRFPacking; } + virtual Int_t GetAlpha2ParamNo() { return fAlpha2ParamNo; } + virtual Int_t GetBeta2ParamNo() { return fBeta2ParamNo; } + virtual Int_t GetRightHistoNo() { return fRightHistoNo; } + virtual Int_t GetLeftHistoNo() { return fLeftHistoNo; } + virtual Int_t GetXDataIndex() { return fXYDataIndex[0]; } + virtual Int_t GetYDataIndex() { return fXYDataIndex[1]; } + virtual TString* GetXDataLabel() { return &fXYDataLabel[0]; } + virtual TString* GetYDataLabel() { return &fXYDataLabel[1]; } virtual void AppendRunName(TString str) { fRunName.push_back(str); } virtual void SetRunName(TString &str, UInt_t i); @@ -432,26 +433,17 @@ class PMsrRunBlock { virtual void AppendT0(Int_t ival) { fT0.push_back(ival); } virtual void SetT0(Int_t ival, UInt_t idx); virtual void SetFitRange(Double_t dval, UInt_t idx); -// virtual void SetPacking(Int_t ival) { fPacking = ival; } -// virtual void SetRRFFreq(Double_t dval) { fRRFFreq = dval; } -// virtual void SetAlpha2ParamNo(Int_t ival) { fAlpha2ParamNo = ival; } -// virtual void SetBeta2ParamNo(Int_t ival) { fBeta2ParamNo = ival; } -// virtual void SetRightHistoNo(Int_t ival) { fRightHistoNo = ival; } -// virtual void SetLeftHistoNo(Int_t ival) { fLeftHistoNo = ival; } -// virtual void SetXDataIndex(Int_t ival) { fXYDataIndex[0] = ival; } -// virtual void SetYDataIndex(Int_t ival) { fXYDataIndex[1] = ival; } -// virtual void SetXDataLabel(TString& str) { fXYDataLabel[0] = str; } -// virtual void SetYDataLabel(TString& str) { fXYDataLabel[1] = str; } - - Int_t fPacking; ///< packing/rebinning - Double_t fRRFFreq; ///< rotating reference frequency (fit type 4) - Int_t fRRFPacking; ///< rotating reference packing (fit type 4) - Int_t fAlpha2ParamNo; ///< rotating reference alpha2 (fit type 4) - Int_t fBeta2ParamNo; ///< rotating reference beta2 (fit type 4) - Int_t fRightHistoNo; ///< rotating reference right histogram number (fit type 4) - Int_t fLeftHistoNo; ///< rotating reference left histogram number (fit type 4) - Int_t fXYDataIndex[2]; ///< used to get the data indices when using db-files (fit type 8) - TString fXYDataLabel[2]; ///< used to get the indices via labels when using db-files (fit type 8) + virtual void SetPacking(Int_t ival) { fPacking = ival; } + virtual void SetRRFFreq(Double_t dval) { fRRFFreq = dval; } + virtual void SetRRFPacking(Int_t ival) { fRRFPacking = ival; } + virtual void SetAlpha2ParamNo(Int_t ival) { fAlpha2ParamNo = ival; } + virtual void SetBeta2ParamNo(Int_t ival) { fBeta2ParamNo = ival; } + virtual void SetRightHistoNo(Int_t ival) { fRightHistoNo = ival; } + virtual void SetLeftHistoNo(Int_t ival) { fLeftHistoNo = ival; } + virtual void SetXDataIndex(Int_t ival) { fXYDataIndex[0] = ival; } + virtual void SetYDataIndex(Int_t ival) { fXYDataIndex[1] = ival; } + virtual void SetXDataLabel(TString& str) { fXYDataLabel[0] = str; } + virtual void SetYDataLabel(TString& str) { fXYDataLabel[1] = str; } private: PStringVector fRunName; ///< name of the run file @@ -470,19 +462,19 @@ class PMsrRunBlock { Int_t fForwardHistoNo; ///< forward histogram number (fit type 0, 2, 4) Int_t fBackwardHistoNo; ///< backward histogram number (fit type 2, 4) PDoubleVector fBkgFix; ///< fixed background in (1/ns) (fit type 0, 2, 4) - PIntVector fBkgRange; ///< background bin range (fit type 0, 2, 4) + PIntVector fBkgRange; ///< background bin range (fit type 0, 2, 4) PIntVector fDataRange; ///< data bin range (fit type 0, 2, 4) PIntVector fT0; ///< t0 bins (fit type 0, 2, 4). if fit type 0 -> f0, f1, f2, ...; if fit type 2, 4 -> f0, b0, f1, b1, ... Double_t fFitRange[2]; ///< fit range in (us) -// Int_t fPacking; ///< packing/rebinning -// Double_t fRRFFreq; ///< rotating reference frequency (fit type 4) -// Int_t fRRFPacking; ///< rotating reference packing (fit type 4) -// Int_t fAlpha2ParamNo; ///< rotating reference alpha2 (fit type 4) -// Int_t fBeta2ParamNo; ///< rotating reference beta2 (fit type 4) -// Int_t fRightHistoNo; ///< rotating reference right histogram number (fit type 4) -// Int_t fLeftHistoNo; ///< rotating reference left histogram number (fit type 4) -// Int_t fXYDataIndex[2]; ///< used to get the data indices when using db-files (fit type 8) -// TString fXYDataLabel[2]; ///< used to get the indices via labels when using db-files (fit type 8) + Int_t fPacking; ///< packing/rebinning + Double_t fRRFFreq; ///< rotating reference frequency (fit type 4) + Int_t fRRFPacking; ///< rotating reference packing (fit type 4) + Int_t fAlpha2ParamNo; ///< rotating reference alpha2 (fit type 4) + Int_t fBeta2ParamNo; ///< rotating reference beta2 (fit type 4) + Int_t fRightHistoNo; ///< rotating reference right histogram number (fit type 4) + Int_t fLeftHistoNo; ///< rotating reference left histogram number (fit type 4) + Int_t fXYDataIndex[2]; ///< used to get the data indices when using db-files (fit type 8) + TString fXYDataLabel[2]; ///< used to get the indices via labels when using db-files (fit type 8) }; //------------------------------------------------------------- diff --git a/src/include/PRunListCollection.h b/src/include/PRunListCollection.h index c4032921..9aa736b6 100644 --- a/src/include/PRunListCollection.h +++ b/src/include/PRunListCollection.h @@ -75,7 +75,7 @@ class PRunListCollection virtual PRunData* GetRRF(UInt_t index, EDataSwitch tag=kIndex); virtual PRunData* GetNonMusr(UInt_t index, EDataSwitch tag=kIndex); - virtual vector< pair > GetTemp(const TString &runName) const; + virtual const PDoublePairVector *GetTemp(const TString &runName) const; virtual Double_t GetField(const TString &runName) const; virtual Double_t GetEnergy(const TString &runName) const; virtual const Char_t* GetSetup(const TString &runName) const; diff --git a/src/musrt0.cpp b/src/musrt0.cpp index e89ea806..87d19c16 100644 --- a/src/musrt0.cpp +++ b/src/musrt0.cpp @@ -274,11 +274,11 @@ int main(int argc, char *argv[]) musrt0_cleanup(saxParser, startupHandler, msrHandler, dataHandler); exit(0); } - if (!musrt0_item(app, msrHandler, dataHandler->GetRunData(*(runList->at(i).GetRunName(j))), i, runList->at(i).fRightHistoNo, 2, j)) { + if (!musrt0_item(app, msrHandler, dataHandler->GetRunData(*(runList->at(i).GetRunName(j))), i, runList->at(i).GetRightHistoNo(), 2, j)) { musrt0_cleanup(saxParser, startupHandler, msrHandler, dataHandler); exit(0); } - if (!musrt0_item(app, msrHandler, dataHandler->GetRunData(*(runList->at(i).GetRunName(j))), i, runList->at(i).fLeftHistoNo, 3, j)) { + if (!musrt0_item(app, msrHandler, dataHandler->GetRunData(*(runList->at(i).GetRunName(j))), i, runList->at(i).GetLeftHistoNo(), 3, j)) { musrt0_cleanup(saxParser, startupHandler, msrHandler, dataHandler); exit(0); }