@@ -276,16 +276,16 @@ LoadILLSANS::DetectorPosition LoadILLSANS::getDetectorPositionD33(const NeXus::N
276
276
* @param numberOfTubes
277
277
* @param numberOfPixelsPerTube
278
278
*/
279
- void LoadILLSANS::getDataDimensions (const NeXus::NXInt &data, int &numberOfChannels, int &numberOfTubes,
280
- int &numberOfPixelsPerTube) {
279
+ void LoadILLSANS::getDataDimensions (const NeXus::NXInt &data, size_t &numberOfChannels, size_t &numberOfTubes,
280
+ size_t &numberOfPixelsPerTube) {
281
281
if (m_isD16Omega) {
282
- numberOfChannels = data.dim0 ();
283
- numberOfTubes = data.dim1 ();
284
- numberOfPixelsPerTube = data.dim2 ();
282
+ numberOfChannels = static_cast < size_t >( data.dim0 () );
283
+ numberOfTubes = static_cast < size_t >( data.dim1 () );
284
+ numberOfPixelsPerTube = static_cast < size_t >( data.dim2 () );
285
285
} else {
286
- numberOfPixelsPerTube = data.dim1 ();
287
- numberOfChannels = data.dim2 ();
288
- numberOfTubes = data.dim0 ();
286
+ numberOfPixelsPerTube = static_cast < size_t >( data.dim1 () );
287
+ numberOfChannels = static_cast < size_t >( data.dim2 () );
288
+ numberOfTubes = static_cast < size_t >( data.dim0 () );
289
289
}
290
290
g_log.debug () << " Dimensions found:\n - Number of tubes: " << numberOfTubes
291
291
<< " \n - Number of pixels per tube: " << numberOfPixelsPerTube
@@ -360,7 +360,7 @@ void LoadILLSANS::initWorkSpace(NeXus::NXEntry &firstEntry, const std::string &i
360
360
}
361
361
}
362
362
363
- int numberOfTubes, numberOfPixelsPerTubes, numberOfChannels;
363
+ size_t numberOfTubes, numberOfPixelsPerTubes, numberOfChannels;
364
364
getDataDimensions (data, numberOfChannels, numberOfTubes, numberOfPixelsPerTubes);
365
365
366
366
// For these monochromatic instruments, one bin is "TOF" mode, and more than that is a scan
@@ -408,7 +408,7 @@ void LoadILLSANS::initWorkSpaceD11B(NeXus::NXEntry &firstEntry, const std::strin
408
408
dataLeft.dim0 () * dataLeft.dim1 ()) +
409
409
m_numberOfMonitors;
410
410
411
- int numberOfChannels, numberOfPixelsPerTubeCenter, numberOfTubesCenter;
411
+ size_t numberOfChannels, numberOfPixelsPerTubeCenter, numberOfTubesCenter;
412
412
getDataDimensions (dataCenter, numberOfChannels, numberOfTubesCenter, numberOfPixelsPerTubeCenter);
413
413
414
414
MultichannelType type = (numberOfChannels != 1 ) ? MultichannelType::KINETIC : MultichannelType::TOF;
@@ -418,8 +418,8 @@ void LoadILLSANS::initWorkSpaceD11B(NeXus::NXEntry &firstEntry, const std::strin
418
418
// we need to adjust the default binning after loadmetadata
419
419
if (numberOfChannels != 1 ) {
420
420
std::vector<double > frames (numberOfChannels, 0 );
421
- for (int i = 0 ; i < numberOfChannels; ++i) {
422
- frames[i] = i ;
421
+ for (size_t i = 0 ; i < numberOfChannels; ++i) {
422
+ frames[i] = static_cast < double >(i) ;
423
423
}
424
424
m_defaultBinning.resize (numberOfChannels);
425
425
std::copy (frames.cbegin (), frames.cend (), m_defaultBinning.begin ());
@@ -464,7 +464,7 @@ void LoadILLSANS::initWorkSpaceD22B(NeXus::NXEntry &firstEntry, const std::strin
464
464
static_cast <size_t >(data2_data.dim0 () * data2_data.dim1 () + data1_data.dim0 () * data1_data.dim1 ()) +
465
465
m_numberOfMonitors;
466
466
467
- int numberOfChannels, numberOfPixelsPerTubeCenter, numberOfTubesCenter;
467
+ size_t numberOfChannels, numberOfPixelsPerTubeCenter, numberOfTubesCenter;
468
468
getDataDimensions (data1_data, numberOfChannels, numberOfTubesCenter, numberOfPixelsPerTubeCenter);
469
469
470
470
MultichannelType type = (numberOfChannels != 1 ) ? MultichannelType::KINETIC : MultichannelType::TOF;
@@ -475,8 +475,8 @@ void LoadILLSANS::initWorkSpaceD22B(NeXus::NXEntry &firstEntry, const std::strin
475
475
// we need to adjust the default binning after loadmetadata
476
476
if (numberOfChannels != 1 ) {
477
477
std::vector<double > frames (numberOfChannels, 0 );
478
- for (int i = 0 ; i < numberOfChannels; ++i) {
479
- frames[i] = i ;
478
+ for (size_t i = 0 ; i < numberOfChannels; ++i) {
479
+ frames[i] = static_cast < double >(i) ;
480
480
}
481
481
m_defaultBinning.resize (numberOfChannels);
482
482
std::copy (frames.cbegin (), frames.cend (), m_defaultBinning.begin ());
@@ -723,7 +723,7 @@ size_t LoadILLSANS::loadDataFromD16ScanMonitors(const NeXus::NXEntry &firstEntry
723
723
size_t LoadILLSANS::loadDataFromTubes (NeXus::NXInt const &data, const std::vector<double > &timeBinning,
724
724
size_t firstIndex, const MultichannelType type) {
725
725
726
- int numberOfTubes, numberOfChannels, numberOfPixelsPerTube;
726
+ size_t numberOfTubes, numberOfChannels, numberOfPixelsPerTube;
727
727
getDataDimensions (data, numberOfChannels, numberOfTubes, numberOfPixelsPerTube);
728
728
729
729
bool pointData = true ;
@@ -1067,10 +1067,10 @@ std::vector<double> LoadILLSANS::getOmegaBinning(const NXEntry &entry, const std
1067
1067
auto scannedValues = LoadHelper::getDoubleDataset (entry, path);
1068
1068
scannedValues.load ();
1069
1069
1070
- const int nBins = scannedValues.dim1 ();
1070
+ const int64_t nBins = scannedValues.dim1 ();
1071
1071
std::vector<double > binning (nBins, 0 );
1072
1072
1073
- for (int i = 0 ; i < nBins; ++i) {
1073
+ for (int64_t i = 0 ; i < nBins; ++i) {
1074
1074
// for D16, we are only interested in the first line, which contains the omega values
1075
1075
binning[i] = scannedValues (0 , i);
1076
1076
}
@@ -1087,12 +1087,12 @@ std::vector<double> LoadILLSANS::getOmegaBinning(const NXEntry &entry, const std
1087
1087
*/
1088
1088
std::vector<double > LoadILLSANS::getVariableTimeBinning (const NXEntry &entry, const std::string &path, const NXInt &sum,
1089
1089
const NXFloat ×) const {
1090
- const int nBins = sum.dim0 ();
1090
+ const int64_t nBins = sum.dim0 ();
1091
1091
std::vector<double > binCenters;
1092
1092
binCenters.reserve (nBins);
1093
1093
NXFloat distance = entry.openNXFloat (path);
1094
1094
distance.load ();
1095
- for (int bin = 0 ; bin < nBins; ++bin) {
1095
+ for (int64_t bin = 0 ; bin < nBins; ++bin) {
1096
1096
// sum is in nanoseconds, times is in microseconds
1097
1097
const double tof = sum[bin] * 1E-9 - times[bin] * 1E-6 / 2 .;
1098
1098
// velocity in m/s
0 commit comments