- 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:
cvs
2001-08-17 14:33:05 +00:00
parent a538361516
commit db6c355f44
56 changed files with 4060 additions and 426 deletions

View File

@ -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>