- made fixes to hkl
- Introduced a help system - introduced a module for handling automatic updates of files during long measurements - Added a circular buffer and handling facilities to varlog - Upgraded documentation SKIPPED: psi/faverage.h psi/nxamor.tex psi/pimotor.h psi/pimotor.tex
This commit is contained in:
@@ -66,6 +66,7 @@ $\langle$scandata {\footnotesize ?}$\rangle\equiv$
|
||||
\mbox{}\verb@ SConnection *pCon;@\\
|
||||
\mbox{}\verb@ char pRecover[1024];@\\
|
||||
\mbox{}\verb@ char pHeaderFile[1024];@\\
|
||||
\mbox{}\verb@ int (*PrepareScan)(pScanData self);@\\
|
||||
\mbox{}\verb@ int (*WriteHeader)(pScanData self);@\\
|
||||
\mbox{}\verb@ int (*WriteScanPoints)@\\
|
||||
\mbox{}\verb@ (pScanData self, @\\
|
||||
@@ -78,6 +79,7 @@ $\langle$scandata {\footnotesize ?}$\rangle\equiv$
|
||||
\mbox{}\verb@ (pScanData self,@\\
|
||||
\mbox{}\verb@ int iP);@\\
|
||||
\mbox{}\verb@ long lPos;@\\
|
||||
\mbox{}\verb@ int posSoft;@\\
|
||||
\mbox{}\verb@ void *pCounterData;@\\
|
||||
\mbox{}\verb@ char pCounterName[512];@\\
|
||||
\mbox{}\verb@ int iChannel;@\\
|
||||
@@ -140,6 +142,9 @@ line is permitted.
|
||||
finding data.
|
||||
\item[pCon] The connection object to use for error reporting during scan
|
||||
execution.
|
||||
\item[PrepareScan] checks limits of scan variables and memorizes
|
||||
important scan information. Sometimes this is not wanted, that is why
|
||||
it is parametrized here.
|
||||
\item[WriteHeader] is a pointer to a function which writes the header part
|
||||
of the scan file. Replace this function if another data format is needed.
|
||||
\item[WriteScanPoints] is a pointer to a function which will be called after
|
||||
@@ -154,22 +159,24 @@ This function together with ScanDrive and the data writing functions allow for
|
||||
\item[CollectScanData] reads all the scan data into the scan's data
|
||||
structures after any scan point. Overload this if a different storage
|
||||
scheme is required especiallay for polarising scans.
|
||||
\item[posSoft] is a flag which is true if scan variable are stored with
|
||||
soft position, i.e. with zeropoints applied.
|
||||
\item[pCounterData] is a pointer to a counter structure. This defines the
|
||||
counter to use and is initialized at creation of the scan data structure.
|
||||
\item[pCountername] is the name of the counter used.
|
||||
\item[iChannel] is the channel to use for counting. 0 is the main counter,
|
||||
everything baove one of the monitors.
|
||||
everything above one of the monitors.
|
||||
\item[pCount, iCounts] is a dynamic array containing iCounts sets of
|
||||
counting infomation. For each scan point this array holds the counts
|
||||
measured. iCounts is also the current scan position.
|
||||
\item[iWindow] the width of the window used for peak integration. See
|
||||
integrate.w,c for more details.
|
||||
\item[pCommand] It turned out that a way is needed to define user defined
|
||||
speciality scans. This is implemented by setting the channel number to -10
|
||||
and then have the scan command execute a Tcl script for each scan point.
|
||||
This Tcl script has to return a Tcl list containing the values to enter for
|
||||
counter and monitor for the scan point. pCommand now is the name of the
|
||||
Tcl procedure to invoke.
|
||||
speciality scans, especially for those magnetic polarized guys. The way
|
||||
it is done is that scan has to be configured user. In this mode, ScanCount
|
||||
will call a script which does everything necessary at the scan point,
|
||||
including adding data to the data file. pCommand now holds the name of
|
||||
the script to invoke.
|
||||
\item[pSpecial] Usually NULL. A entry which allows customized scans to keep
|
||||
some additional data in the scan data structure.
|
||||
\end{description}
|
||||
@@ -206,6 +213,7 @@ $\langle$scaninter {\footnotesize ?}$\rangle\equiv$
|
||||
\mbox{}\verb@ char *pName, int iLength);@\\
|
||||
\mbox{}\verb@ int GetScanVarStep(pScanData self, int iWhich, @\\
|
||||
\mbox{}\verb@ float *fStep);@\\
|
||||
\mbox{}\verb@ int isScanVarSoft(pScanData self);@\\
|
||||
\mbox{}\verb@ int GetScanMonitor(pScanData self, int iWhich, @\\
|
||||
\mbox{}\verb@ long *lData, int iDataLen);@\\
|
||||
\mbox{}\verb@ int GetScanNP(pScanData self);@\\
|
||||
@@ -221,7 +229,23 @@ $\langle$scaninter {\footnotesize ?}$\rangle\equiv$
|
||||
\mbox{}\verb@ /*@\\
|
||||
\mbox{}\verb@ resets the configurable scan functions to their default values.@\\
|
||||
\mbox{}\verb@ */@\\
|
||||
\mbox{}\verb@@\\
|
||||
\mbox{}\verb@ int NonCheckPrepare(pScanData self);@\\
|
||||
\mbox{}\verb@ /*@\\
|
||||
\mbox{}\verb@ a function for the PrepareScan field in the scan data structure@\\
|
||||
\mbox{}\verb@ which does not check the boundaries of the scan as the default@\\
|
||||
\mbox{}\verb@ PrepareScan does.@\\
|
||||
\mbox{}\verb@ */@\\
|
||||
\mbox{}\verb@ int AppendScanLine(pScanData self, char *line);@\\
|
||||
\mbox{}\verb@ /*@\\
|
||||
\mbox{}\verb@ AppendScanLine appends a line to the scan data file. When finished@\\
|
||||
\mbox{}\verb@ it updates the position pointer in the file to point behind the@\\
|
||||
\mbox{}\verb@ added line. @\\
|
||||
\mbox{}\verb@ */@\\
|
||||
\mbox{}\verb@ int StoreScanCounts(pScanData self, char *data);@\\
|
||||
\mbox{}\verb@ /*@\\
|
||||
\mbox{}\verb@ parses the numbers in data and stores them as the count and@\\
|
||||
\mbox{}\verb@ monitor data for the current scan point.@\\
|
||||
\mbox{}\verb@ */ @\\
|
||||
\mbox{}\verb@/*------------------------ Interpreter Interface --------------------------*/@\\
|
||||
\mbox{}\verb@ int ScanFactory(SConnection *pCon, SicsInterp *pSics, void *pData,@\\
|
||||
\mbox{}\verb@ int argc, char *argv[]);@\\
|
||||
@@ -279,6 +303,17 @@ summed counts and the variance. See the section on integrate for more
|
||||
details.
|
||||
\item[ResetScanFunctions] reinstalls the default functions for scan
|
||||
processing into the ScanData structure.
|
||||
\item[NonCheckPrepare] Before a scan is started, various data
|
||||
structures in the scan object are initialized. Thereby the scan
|
||||
boundaries are checked against the motor limits. For some scans this
|
||||
is not feasible. This version omits this check and must be entered as
|
||||
the PrepareScan function field in the scan data structure by code
|
||||
using the scan module.
|
||||
\item[AppendScanLine] appends a line to the scan file. This is useful
|
||||
for user configured scans, for instance in polarisation mode.
|
||||
\item[StoreScanCounts] parses the data given in data and stores the
|
||||
numbers as count values as the count data for the current scan point.
|
||||
Another feature for supporting user configurable scans.
|
||||
\item[SimScan] creates a simulated gaussian peak with the given
|
||||
parameters. Used for debugging several things.
|
||||
\item[ScanFactory] is the SICS interpreter object creation function
|
||||
|
||||
Reference in New Issue
Block a user