The read out program: 25.06.final-read-out-fast.vi
fastest version of the read-out program, reduced graphical display
(only displays the actual measurement, the gauss-fitted histograms of the
drifttime with the values and the drifttime);
writes out several files:
-
last-drifttime.dat : value of the latest drifttime in
ns; (ascii value)
-
drifttime-backup.dat : the actual drifttime (in ns)
will be appended with time and date and the number of the top and bottom
signals;(ascii table)
-
rawdata"X".bin : binary file of the rawdata; "X" is
for the numbers of 0 to 9 for the file-loop; overwrites always the oldest
file;
-
currentfile.dat : stores the name of the newest binary
rawdata file of the file-loop;(ascii value)
Before starting the program you can set several parameters for the data
acquisition program:
(don't forget to make all changed parameters default: right click on value
-> data opartions -> "make current value default" and than save
the program)
Card settings for PCI-9812:
-
Number of the data acquisition card: 0 (begins with 0, 1, 2, ...
; the oder in the PC is from top to bottom PCI-slot);
-
Number of the trigger source: Channel 0 (default value), the incoming triggersignal
is detected on this channel;don't change this parameter
-
A/D Count: 1000 (default value, max lvalue is 1000) , length of data which
will be taken if a trigger is detected, kimited on internal buffer of the
card;don't change this parameter
-
Reserved Buffer for A/D Data : 999 (default value) (the program reserves
999+1 =1000 values);don't change this parameter
-
Sample Rate: 10 MHz (default value, means 1 timebin=100ns), frequency depends
on the internal clock, sampling rate = frequency of source clock (40MHz)
divided by 2,4,6,8,...1024(max) ;don't change this
parameter
-
Post count (delay): 0 (default value); time till card starts data acquisition
after trigger event; don't change this parameter
-
trigger mode: delay trigger (takes about 350 ns to start data acquisition
+ post count);don't change this parameter
-
trigger polarity: positive trigger;don't change this
parameter
-
trigger level: Trigger in units of 8 mV, e.g. 0 mV, 8 mV, 16 mV, ....,
96mV, 104 mV, ... (range -1 to +1 V);
Program settings:
-
run until max #: 999999 (default value) (means that the program runs 999999
times with the specified number of samples), here you have the possibility
to set a limit how the program should take the specified number of samples;
-
now at run #: indicator to return tha actual run number;
-
read # samples: 5000 (default value), number of trigger events =
samples; all found signals will be tested to satisfy the cuts and than
sorted in short or long drifttime, filled in 2 different histograms, the
histograms are than gauss fitted and the difference of the 2 means will
be calculated = drifttime
-
now at sample #: indicator to return the actual sample number;
-
file-path to store the files: 4 files will be stored in this specified
path.
-
now at file #: returns the number of the newest binary rawdata file with
this name: rawdata"#".bin , # in the range from 0 to 9, it is a file loop
after file number 9 it starts overwritting file number 0 and so on...;
-
file size: returns the size of the binary rawdata file, should be "# of
samples" * "A/D count (1000)" * "2 bytes", for example 5000*1000*2 Byte
= 10MByte;
-
delaytime of channel 1 and 2: there is a 600 ns delay of the signals on
channel 1(bottom counter) and channel 2(top counter) and no delay on the
pick up signal. To correct this delay you can specifiy here the delay in
ns for each channel;
-
max iteration for gauss fit: here you can set a limit for the maximum number
of iteration for the gauss fit of the signals (used in subvi "gauss-fit-2"
and "gauss-fit-3"), the maximum number I noticed was 220 iterations, the
other break conditions (mse value and the change from one iteration to
the next of the Chi2) can be found and modified on the block diagram of
the "Levenberg Marquard Prep (modified).vi ".
-
# number of bins for histogram: set the number of bins for the 2 histograms
of the drifttime (15 is default value).
Peak-finder:
You have to specify a range within the program should search for the right
signal:
start channel #: (the first timebin to begin the search)
bins channel #: (the search length in timebins)
e.g.: Channel 1 and 2: start at timebin 0 (default value) and
the length is 20 timebins(default value).
For channel 3 you have to specify 2 ranges for the search:
For the bottom signal ( 3-1) for example start at 20 with a length of 60
and for the top signal (3-2) start at 150 with a length of 100.
Cuts on fitted signals:
You have to set cuts on the gauss fitted signals for all 4 different signals
(bottom(channel 1), top(channel 2), pick up bottom (ch3-1)and pick up top
(ch3-2)):
1. amplitude range ( lower limit 0 mV(default value), upper limit 1499
mV (default value) )
2. sigma range in timebins ( lower limit 0 (default value), upper limit
5 (default value) )
Displays and histograms:
-
Displays current signals
-
display histogram short drifttime ( 3-1 -1): displays the drifftime of
the signal difference of the pick-up signal(coming from the bottom counter)
amd the bottom signal, with the parameters of the gauss fit (amplitude
in mV, sigma and mean in ns, and the number of entries in the histogram);
-
display histogram short drifttime ( 3-2 -2: displays the drifftime of the
signal difference of the pick-up signal(coming from the top counter) amd
the top signal, with the parameters of the gauss fit (amplitude in mV,
sigma and mean in ns, and the number of entries in the histogram);
-
display of the mean difference of the two fitted histograms = drifttime
in ns.
The control buttons:
-
STOP (after an additional run with saving all files): when pressed during
execution, the vi will take an additional run with the specified number
of samples ;
-
STOP (immediately, at current sample, with saving all files) : stop after
the next sample with saving all values in the files, becareful the binary
rawdata file will be shorter ("# of samples" * "2000 bytes");
-
START daq : starts the program after compiling it (put it into "run mode"),
or if pressed before compiling, the pogram will start immediately;
ABORT : aborts the program without saving any file, you can also use
"Control + . " to abort the vi or press the red button in the headline
of the VI;
This Page was updated by Tobias
Titz.
Last
modified: Fri June 29 16:05:19 CET 2001