first full IDF V2 implementation.

This commit is contained in:
2026-02-05 10:59:15 +01:00
parent 43cb8b2460
commit 810306cb2a
3 changed files with 56 additions and 12 deletions

View File

@@ -2371,7 +2371,7 @@ nxH5::PNeXusDeadTime::PNeXusDeadTime(const PNeXus *nxs, bool debug) : fDebug(deb
}
}
// get dead time parameters
// get dead time parameters
if (dataMap.find("/raw_data_1/detector_1/dead_time") != dataMap.end()) {
auto dead_time = std::any_cast<PNXdata<float>>(dataMap["/raw_data_1/detector_1/dead_time"]);
const auto& dt_data = dead_time.GetData();
@@ -2379,7 +2379,7 @@ nxH5::PNeXusDeadTime::PNeXusDeadTime(const PNeXus *nxs, bool debug) : fDebug(deb
}
fDeadTimeEstimated.resize(fDeadTime.size());
// get good_frames
// get good_frames
if (dataMap.find("/raw_data_1/good_frames") != dataMap.end()) {
auto intData = std::any_cast<PNXdata<int>>(dataMap["/raw_data_1/good_frames"]);
const auto& ival = intData.GetData();
@@ -3206,10 +3206,10 @@ void nxH5::PNeXus::HandleIdfV2(H5::H5File &file)
ReadStringDataset(file, "/raw_data_1/instrument/source/type");
ReadStringDataset(file, "/raw_data_1/instrument/source/probe");
ReadIntDataset(file, "/raw_data_1/instrument/detector_1/resolution");
ReadIntDataset(file, "/raw_data_1/detector_1/counts");
ReadIntDataset(file, "/raw_data_1/instrument/detector_1/counts");
ReadFloatDataset(file, "/raw_data_1/detector_1/raw_time");
ReadIntDataset(file, "/raw_data_1/detector_1/spectrum_index");
ReadFloatDataset(file, "/raw_data_1/detector_1/dead_time");
ReadFloatDataset(file, "/raw_data_1/instrument/detector_1/dead_time");
} catch (const H5::Exception& err) {
std::cerr << "Error in HandleIdfV2: " << err.getDetailMsg() << std::endl;
throw;
@@ -3797,7 +3797,7 @@ void nxH5::PNeXus::Dump()
std::cout << std::endl << " counts:";
std::cout << std::endl;
try {
auto counts_data = std::any_cast<PNXdata<int>>(fDataMap["/raw_data_1/detector_1/counts"]);
auto counts_data = std::any_cast<PNXdata<int>>(fDataMap["/raw_data_1/instrument/detector_1/counts"]);
auto dims = counts_data.GetDimensions();
std::cout << " counts dimensions: " << dims[0] << " x "
<< dims[1] << " x " << dims[2] << std::endl;
@@ -3931,7 +3931,7 @@ void nxH5::PNeXus::Dump()
std::cout << std::endl << " dead_time:";
std::cout << std::endl;
try {
auto dead_time = std::any_cast<PNXdata<float>>(fDataMap["/raw_data_1/detector_1/dead_time"]);
auto dead_time = std::any_cast<PNXdata<float>>(fDataMap["/raw_data_1/instrument/detector_1/dead_time"]);
const auto& data = dead_time.GetData();
// dump the first couple of raw_times