Hello Stefan
I tried to convert binary to a simple txt file and found next problem - strange time output.
Here is output from little modification for read_binary.cpp (Its last output line also is strange: dT = -1.#IOns +- -1.$ps)
Found data for board #0
Found timing calibration for channel #1
Found boards# 1
event channel waveform time point
1 0 -0.000092 0.000000 0
1 0 0.030548 0.000000 1
1 0 0.059418 0.000000 2
1 0 0.080200 0.000000 3
1 0 0.094223 0.000000 4
1 0 0.097702 0.000000 5
1 0 0.094055 0.000000 6
1 0 0.079117 0.000000 7
1 0 0.060364 0.000000 8
1 0 0.030960 0.000000 9
1 0 0.000504 0.000000 10
1 0 -0.031555 0.000000 11
1 0 -0.057465 0.000000 12
1 0 -0.080536 0.000000 13
1 0 -0.095413 0.000000 14
1 0 -0.099365 0.000000 15
I used output string in the following places, but it didn't help:
// reach channel data
:for (i=0 ; i<1024 ; i++) {
// convert data to volts
waveform[0][chn_index][i] = (voltage[i] / 65536. + eh.range/1000.0 - 0.5);
// calculate time for this cell
for (j=0,time[b][chn_index][i]=0 ; j<i ; j++)
time[b][chn_index][i] += bin_width[b][chn_index][(j+tch.trigger_cell) % 1024];
printf("%10d %10d %10f %10f %10d\n", eh.event_serial_number , chn_index , waveform[0][chn_index][i] , time[0][chn_index][i] , i);
And after alignment procedure:
t1 = time[b][0][(1024-tch.trigger_cell) % 1024];
for (chn=1 ; chn<4 ; chn++) {
t2 = time[b][chn][(1024-tch.trigger_cell) % 1024];
dt = t1 - t2;
for (i=0 ; i<1024 ; i++)
time[b][chn][i] += dt;
printf("%10d %10d %10f %10f %10d\n", eh.event_serial_number , chn_index , waveform[0][chn_index][i] , time[0][chn][i] , i);
}
Does it caused by some software or drivers changes?
Best regards,
Volodymyr
|