any2many export of MusrRoot crashed when first histo group was != 0. This happend when exporting to PSI-BIN or WKM. This is fixed now.

This commit is contained in:
suter_a 2015-09-14 09:44:49 +02:00
parent 24bc2cbb0b
commit 6c0a266e6a
2 changed files with 13 additions and 3 deletions

View File

@ -6,6 +6,8 @@ changes since 0.14.0
===================================
NEW 2015-02-23 implemented an average-per-data-set option for musrFT.
NEW 2015-02-21 add proper Mac icon to musredit
FIXED 2015-09-14 any2many export of MusrRoot crashed when first histo group was != 0.
This happend when exporting to PSI-BIN or WKM. This is fixed now.
FIXED 2015-09-08 fixed error in view_packing for single histo (wrong norm of the theory).
FIXED 2015-09-04 minor change in Fourier-block output (PMsrHandler::WriteMsrLogFile
and PMsrHandler::WriteMsrLogFile) to avoid truncated range labels.

View File

@ -1744,7 +1744,7 @@ Bool_t PRunDataHandler::ReadRootFile()
for (UInt_t i=0; i<fAny2ManyInfo->groupHistoList.size(); i++) {
found = false;
for (UInt_t j=0; j<ivec.size(); j++) {
if (fAny2ManyInfo->groupHistoList[i] == ivec[i])
if (fAny2ManyInfo->groupHistoList[i] == ivec[j])
found = true;
}
if (!found) {
@ -5084,7 +5084,11 @@ Bool_t PRunDataHandler::WriteWkmFile(TString fln)
if (lem_wkm_style)
cout << endl << "TOF(M3S1): nocut";
cout << endl << "Groups: " << fData[0].GetNoOfHistos();
cout << endl << "Channels: " << static_cast<UInt_t>(fData[0].GetDataBin(1)->size()/fAny2ManyInfo->rebin);
UInt_t histo0 = 1;
if (fAny2ManyInfo->groupHistoList.size() != 0) { // red/green list found
histo0 = fAny2ManyInfo->groupHistoList[0]+1; // take the first available red/green entry
}
cout << endl << "Channels: " << static_cast<UInt_t>(fData[0].GetDataBin(histo0)->size()/fAny2ManyInfo->rebin);
cout.precision(10);
cout << endl << "Resolution: " << fData[0].GetTimeResolution()*fAny2ManyInfo->rebin/1.0e3; // ns->us
cout.setf(ios::fixed,ios::floatfield); // floatfield set to fixed
@ -5173,7 +5177,11 @@ Bool_t PRunDataHandler::WritePsiBinFile(TString fln)
// run number
psibin.put_runNumber_int(fData[0].GetRunNumber());
// length of histograms
psibin.put_histoLength_bin((int)(fData[0].GetDataBin(1)->size()/fAny2ManyInfo->rebin));
UInt_t histo0 = 1;
if (fAny2ManyInfo->groupHistoList.size() != 0) { // red/green list found
histo0 = fAny2ManyInfo->groupHistoList[0]+1; // take the first available red/green entry
}
psibin.put_histoLength_bin((int)(fData[0].GetDataBin(histo0)->size()/fAny2ManyInfo->rebin));
// number of histograms
psibin.put_numberHisto_int((int)fData[0].GetNoOfHistos());
// run title = sample (10 char) / temp (10 char) / field (10 char) / orientation (10 char)