- Enhanced and debugged histogram memory for AMOR
* added PROJECT both in HM and driver code * added single detector support. - Removed several bugs in the AMOR data bit. - Updated documentation
This commit is contained in:
@ -91,26 +91,48 @@ NeXus files.
|
||||
</P>
|
||||
<p>
|
||||
<h2>User Defined Scans</h2>
|
||||
In some cases users wish to exert more influence about the scan. Especially
|
||||
about what gets counted. In order to cater for this a hook was implemented
|
||||
in the internal scan command. This hook allows to run a tcl procedure at each
|
||||
scan point. This Tcl procedure is required to return a string containing
|
||||
up to 11 values for counters and monitors. The first value will be the one
|
||||
used as counts in the data file. The others will be placed as monitors.
|
||||
Please note, that only the first three monitors are written to file as of
|
||||
current. In order to use this facility the following steps are required:
|
||||
<p>
|
||||
In some cases users wish to control the scan more closely, i.e. do
|
||||
multiple counting operations at the same point etc. This is especially
|
||||
true when magnets are involved. In order to do this a facility has
|
||||
been provided which allows the user to specify a macro routine which
|
||||
is called at each point. This macro routine then performs all
|
||||
necessary operations and then is responsible for storing its data. In
|
||||
order to this commands have been defined which allow to append a line
|
||||
to the scan data file and to store measured data in the scan data
|
||||
structure. The last feature is necessary in order to make scan status
|
||||
displays and scan analysis, such as center detection, work. The
|
||||
following steps are required:
|
||||
<ol>
|
||||
<li>Write The Tcl-macro procedure to run. Make sure that is creates proper
|
||||
output.
|
||||
<li>Test the Tcl-procedure in SICS.
|
||||
<li>Install the Tcl-procedure into the scan object with the
|
||||
xxscan command name syntax.
|
||||
<li>Make the scan command use the Tcl procedure by setting channel to -10 with
|
||||
the xxscan setchannel -10 command.
|
||||
<li>Write a suitable macro procedure for the actions required at each
|
||||
scan point. The procedure signature looks like this:
|
||||
<pre>
|
||||
proc myScanPoint {point} {
|
||||
}
|
||||
</pre> And will be called with the number of the current scan point as
|
||||
a parameter. Besides all usual Tcl and SICS commands the following
|
||||
special commands may be used:
|
||||
<dl>
|
||||
<dt>xxxscan line text
|
||||
<dd>Appends all the text after line to the scan data file.
|
||||
<dt>xxxscan storecounts c1 c2 c3 c4 ...
|
||||
<dd>Stores the first number given as count data, all the others as
|
||||
monitor values in the internal scan data structure.
|
||||
</dl>
|
||||
<li>Test the procedure.
|
||||
<li>Switch the internal scan command command into user scan mode with
|
||||
the command:
|
||||
<b>xxxscan configure user</b>
|
||||
<li>Assign your procedure to the internal scan command with the
|
||||
command: <b>xxxscan command myScanPoint</b>
|
||||
<li>Use normal scan commands for doing your scan.
|
||||
<li>Switch the internal scan command into normal mode with the
|
||||
command:
|
||||
<B>xxxscan configure standard</b>.
|
||||
</ol>
|
||||
A hint: If you need to control the counting operation as well (because you
|
||||
are not using a counter to count) just run the scan object with a very low
|
||||
preset and do the counting yourself in your procedure.
|
||||
In all this replace xxxscan with the name of the internal scan
|
||||
command.
|
||||
</p>
|
||||
</BODY>
|
||||
</HTML>
|
||||
|
||||
|
Reference in New Issue
Block a user