diff --git a/Ccs/tools/dataprocessing/smile_raw_ce_converter.py b/Ccs/tools/dataprocessing/smile_raw_ce_converter.py index 5300ed6a94325191260c66b0aa1621f0fe2735c7..7f41a3b8364451b10a9b576811e5fab8a7da5d17 100755 --- a/Ccs/tools/dataprocessing/smile_raw_ce_converter.py +++ b/Ccs/tools/dataprocessing/smile_raw_ce_converter.py @@ -118,12 +118,22 @@ def _mk_bin_entry(data, timestamp): return timestamp, fc, ccdnr, col, row, node, evts -def _assemble_ft_frames_to_fp_view(arr3d): - - n00 = arr3d[0, :, :] # CCD2 F-side (lower left in FP view) - n01 = arr3d[1, :, ::-1] # CCD2 E-side (lower right in FP view) - n10 = arr3d[2, ::-1, ::-1] # CCD4 F-side (upper right in FP view) - n11 = arr3d[3, ::-1, :] # CCD4 E-side (upper left in FP view) +def _assemble_ft_frames_to_fp_view(arrnd): + + # FT + if arrnd.ndim == 3: + n00 = arrnd[0, :, :] # CCD2 F-side (lower left in FP view) + n01 = arrnd[1, :, ::-1] # CCD2 E-side (lower right in FP view) + n10 = arrnd[2, ::-1, ::-1] # CCD4 F-side (upper right in FP view) + n11 = arrnd[3, ::-1, :] # CCD4 E-side (upper left in FP view) + # ED + elif arrnd.ndim == 4: + n00 = arrnd[0, 0, :, :] # CCD2 F-side + n01 = arrnd[0, 1, :, :][:, ::-1] # CCD2 E-side + n10 = arrnd[1, 0, :, :][::-1, ::-1] # CCD4 F-side + n11 = arrnd[1, 1, :, :][::-1, :] # CCD4 E-side + else: + return n0 = np.concatenate((n00, n01), axis=1) # CCD2 n1 = np.concatenate((n11, n10), axis=1) # CCD4