@@ -1658,6 +1658,13 @@ class DLL_EXPORT HDF5_IO
16581658 ocr_array.setOnes ();
16591659 }
16601660 }
1661+ else
1662+ {
1663+ elt_array.setOnes ();
1664+ ert_array.setOnes ();
1665+ icr_array.setOnes ();
1666+ ocr_array.setOnes ();
1667+ }
16611668 err = _read_h5d<T_real2>(energy_dset_id, H5S_ALL, energy_space_id, H5P_DEFAULT, energy_array.data ());
16621669 if (err < 0 )
16631670 {
@@ -1694,6 +1701,9 @@ class DLL_EXPORT HDF5_IO
16941701 int left_pol_idx = 0 ;
16951702 int right_pol_idx = 0 ;
16961703
1704+ int scaler_idx = 0 ;
1705+ int scaler_cntr = 0 ;
1706+ int scaler_inc = params_override->polarity_pattern .size ();
16971707 for (size_t i = 0 ; i < dims3[0 ]; i++)
16981708 {
16991709 offset3[0 ] = i;
@@ -1774,11 +1784,21 @@ class DLL_EXPORT HDF5_IO
17741784 (*spec_vol)[polarity][idx].input_counts (icr_array[i]);
17751785 (*spec_vol)[polarity][idx].output_counts (ocr_array[i]);
17761786
1777- energy_map.values (polarity, idx) = energy_array[i];
1778- i0_map.values (polarity, idx) = i0_array[i];
1787+
1788+ energy_map.values (0 , idx) = energy_array[scaler_idx];
1789+ energy_map.values (1 , idx) = energy_array[scaler_idx];
1790+ i0_map.values (0 , idx) = i0_array[scaler_idx];
1791+ i0_map.values (1 , idx) = i0_array[scaler_idx];
17791792
1780- dtf_map.values (polarity, idx) = dtf_array[i];
1781- dtp_map.values (polarity, idx) = dtp_array[i];
1793+ scaler_cntr ++;
1794+ if (scaler_cntr > scaler_inc)
1795+ {
1796+ scaler_cntr = 0 ;
1797+ scaler_idx ++;
1798+ }
1799+
1800+ dtf_map.values (0 , idx) = dtf_array[i];
1801+ dtp_map.values (0 , idx) = dtp_array[i];
17821802 }
17831803
17841804 scan_info.scaler_maps .push_back (dtf_map);
0 commit comments