HDF4 handling completed.
This commit is contained in:
@@ -2373,7 +2373,26 @@ Bool_t PRunDataHandler::ReadNexusFile()
|
|||||||
std::cerr << std::endl << "**ERROR** nxH4::PNeXus data size error! count.size()=" << count.size() << ", #histos=" << noOfHistos << ", length=" << histoLength << "." << std::endl;
|
std::cerr << std::endl << "**ERROR** nxH4::PNeXus data size error! count.size()=" << count.size() << ", #histos=" << noOfHistos << ", length=" << histoLength << "." << std::endl;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
// fill dataSet - STILL MISSING
|
// fill dataSet
|
||||||
|
PDoubleVector data;
|
||||||
|
for (unsigned int i=0; i<noOfHistos; i++) {
|
||||||
|
dataSet.Clear();
|
||||||
|
dataSet.SetHistoNo(i+1); // i.e. histo numbers start with 1
|
||||||
|
dataSet.SetTimeZeroBin(t0_bin);
|
||||||
|
dataSet.SetFirstGoodBin(fgb);
|
||||||
|
dataSet.SetLastGoodBin(lgb);
|
||||||
|
for (unsigned j=0; j<histoLength; j++)
|
||||||
|
data.push_back(count[i*histoLength+j]);
|
||||||
|
dataSet.SetData(data);
|
||||||
|
runData.SetDataSet(dataSet);
|
||||||
|
data.clear();
|
||||||
|
}
|
||||||
|
|
||||||
|
// keep run name from the msr-file
|
||||||
|
runData.SetRunName(fRunName);
|
||||||
|
|
||||||
|
// keep the information
|
||||||
|
fData.push_back(runData);
|
||||||
} else { // no data found
|
} else { // no data found
|
||||||
std::cerr << std::endl << "**ERROR** nxH4::PNeXus couldn't obtain data: '/run/histogram_data_1/counts' is missing." << std::endl;
|
std::cerr << std::endl << "**ERROR** nxH4::PNeXus couldn't obtain data: '/run/histogram_data_1/counts' is missing." << std::endl;
|
||||||
return false;
|
return false;
|
||||||
@@ -2390,53 +2409,6 @@ Bool_t PRunDataHandler::ReadNexusFile()
|
|||||||
|
|
||||||
/* //as35
|
/* //as35
|
||||||
if (nxs_file->GetIdfVersion() == 1) {
|
if (nxs_file->GetIdfVersion() == 1) {
|
||||||
// get/set t0, firstGoodBin, lastGoodBin
|
|
||||||
std::vector<unsigned int> *t0 = nxs_file->GetEntryIdf1()->GetData()->GetT0s();
|
|
||||||
std::vector<unsigned int> *fgb = nxs_file->GetEntryIdf1()->GetData()->GetFirstGoodBins();
|
|
||||||
std::vector<unsigned int> *lgb = nxs_file->GetEntryIdf1()->GetData()->GetLastGoodBins();
|
|
||||||
|
|
||||||
// get/set data
|
|
||||||
std::vector<unsigned int> *pdata;
|
|
||||||
unsigned int max=0, binMax=0;
|
|
||||||
PDoubleVector data;
|
|
||||||
for (UInt_t i=0; i<nxs_file->GetEntryIdf1()->GetData()->GetNoOfHistos(); i++) {
|
|
||||||
pdata = nxs_file->GetEntryIdf1()->GetData()->GetHisto(i);
|
|
||||||
for (UInt_t j=0; j<pdata->size(); j++) {
|
|
||||||
data.push_back(pdata->at(j));
|
|
||||||
if (pdata->at(j) > max) {
|
|
||||||
max = pdata->at(j);
|
|
||||||
binMax = j;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// fill data set
|
|
||||||
dataSet.Clear();
|
|
||||||
dataSet.SetHistoNo(i+1); // i.e. histo numbers start with 1
|
|
||||||
// set time zero bin
|
|
||||||
if (i<t0->size())
|
|
||||||
dataSet.SetTimeZeroBin(t0->at(i));
|
|
||||||
else
|
|
||||||
dataSet.SetTimeZeroBin(t0->at(0));
|
|
||||||
// set time zero bin estimate
|
|
||||||
dataSet.SetTimeZeroBinEstimated(binMax);
|
|
||||||
// set first good bin
|
|
||||||
if (i<fgb->size())
|
|
||||||
dataSet.SetFirstGoodBin(fgb->at(i));
|
|
||||||
else
|
|
||||||
dataSet.SetFirstGoodBin(fgb->at(0));
|
|
||||||
// set last good bin
|
|
||||||
if (i<lgb->size())
|
|
||||||
dataSet.SetFirstGoodBin(lgb->at(i));
|
|
||||||
else
|
|
||||||
dataSet.SetFirstGoodBin(lgb->at(0));
|
|
||||||
dataSet.SetData(data);
|
|
||||||
|
|
||||||
runData.SetDataSet(dataSet);
|
|
||||||
data.clear();
|
|
||||||
}
|
|
||||||
|
|
||||||
// keep run name from the msr-file
|
|
||||||
runData.SetRunName(fRunName);
|
|
||||||
|
|
||||||
// keep the information
|
// keep the information
|
||||||
fData.push_back(runData);
|
fData.push_back(runData);
|
||||||
|
|||||||
Reference in New Issue
Block a user