34 reconstructed_arr = np.empty(arr_size, dtype=np.uint)
36 for i
in range(len(change_locations)):
38 if (i + 1) == len(change_locations):
39 reconstructed_arr[change_locations[i]:] = change_values[i]
41 reconstructed_arr[change_locations[i]:change_locations[i + 1]] = change_values[i]
42 return reconstructed_arr
311 pulser_vals: np.ndarray
312 pulser_idx: np.ndarray
313 calibration_vals: np.ndarray
314 calibration_idx: np.ndarray
315 ready_vals: np.ndarray
316 ready_idx: np.ndarray
317 context_vals: np.ndarray
318 context_idx: np.ndarray
320 wib_sync_vals: np.ndarray
321 wib_sync_idx: np.ndarray
322 femb_sync_vals: np.ndarray
323 femb_sync_idx: np.ndarray
327 crc_err_vals: np.ndarray
328 crc_err_idx: np.ndarray
329 link_valid_vals: np.ndarray
330 link_valid_idx: np.ndarray
337 colddata_timestamp_0_diff_vals: np.ndarray
338 colddata_timestamp_0_diff_idx: np.ndarray
339 colddata_timestamp_0_first: int
341 colddata_timestamp_1_diff_vals: np.ndarray
342 colddata_timestamp_1_diff_idx: np.ndarray
343 colddata_timestamp_1_first: int
345 timestamp_dts_diff_vals: np.ndarray
346 timestamp_dts_diff_idx: np.ndarray
347 timestamp_dts_first: int
355 additional_fields = [f
"n_frames={self.n_frames}",
356 f
"n_channels={self.n_channels}",
357 f
"sampling_period={self.sampling_period}",
358 f
"femb_id={self.femb_id}",
359 f
"coldata_id={self.colddata_id}",
360 f
"version={self.version}",
361 f
"first_timestamp={self.timestamp_dts_first}"]
362 additional_field_names = [
"timestamp_dts_diff",
363 "colddata_timestamp_0_diff",
"colddata_timestamp_1_diff",
364 "cd",
"crc_err",
"link_valid",
"lol",
"wib_sync",
"femb_sync",
365 "pulser",
"calibration",
"ready",
"context"]
366 for name
in additional_field_names:
367 vals_name = f
'{name}_vals'
368 idx_name = f
'{name}_idx'
369 additional_fields.append(f
"{name}={getattr(self,vals_name)} (idx={getattr(self,idx_name)})")
370 return f
"{base_str}: [{', '.join(additional_fields)}]"
372@dataclass(order=True)
429 errors_vals: np.ndarray
430 errors_idx: np.ndarray
435 timestamp_dts_diff_vals: np.ndarray[int, np.float128]
436 timestamp_dts_diff_idx: np.ndarray
437 timestamp_dts_first: int
439 tai_time_diff_vals: np.ndarray[int, np.float128]
440 tai_time_diff_idx: np.ndarray
449 additional_fields = [f
"n_frames={self.n_frames}",
450 f
"n_channels={self.n_channels}",
451 f
"sampling_period={self.sampling_period}",
452 f
"channel_id={self.channel_id}",
453 f
"tde_header={self.tde_header}",
454 f
"version={self.version}",
455 f
"first_timestamp={self.timestamp_first_dts}",
456 f
"tai_time_first={self.tai_time_first}"]
457 additional_field_names = [
"timestamp_dts_diff",
"tai_time_diff",
"errors"]
458 for name
in additional_field_names:
459 vals_name = f
'{name}_vals'
460 idx_name = f
'{name}_idx'
461 additional_fields.append(f
"{name}={getattr(self,vals_name)} (idx={getattr(self,idx_name)})")
462 return f
"{base_str}: [{', '.join(additional_fields)}]"
464@dataclass(order=True)