PSI sics-cvs-psi_pre-ansto
This commit is contained in:
70
hklscan.w
Normal file
70
hklscan.w
Normal file
@@ -0,0 +1,70 @@
|
||||
\subsection{hklscan}
|
||||
hklscan is an object which implements scanning in reciprocal space. It belongs
|
||||
to the four circle diffraction line of commands. It requires the hkl object
|
||||
for doing four circle calculations and a scan object for doing the scanning.
|
||||
The scan object is configured by overloading its WriteScanPoints and
|
||||
ScanDrive functions to do the right thing for this. Thus most of the work
|
||||
is done in scan and hkl.
|
||||
|
||||
hklscan has its own data structure looking like this:
|
||||
|
||||
@d hklscandat @{
|
||||
typedef struct __HKLSCAN {
|
||||
pObjectDescriptor pDes;
|
||||
pScanData pScan;
|
||||
pHKL pCalc;
|
||||
float fStart[3];
|
||||
float fStep[3];
|
||||
float fPos[3];
|
||||
} sHklscan;
|
||||
@}
|
||||
\begin{description}
|
||||
\item[pDes] The standard object descriptor.
|
||||
\item[pScan] The scan object used for scanning.
|
||||
\item[pCalc] The hkl object used for crystallographic computations.
|
||||
\item[fStart] The start values in H, K, L for scanning.
|
||||
\item[fStep] The step width in H, K, L.
|
||||
\item[fPos] The last position in H, K, L.
|
||||
\end{description}
|
||||
|
||||
The hklscan object defines the following external interface:
|
||||
|
||||
@d hklscanfunc @{
|
||||
typedef struct __HKLSCAN *pHklscan;
|
||||
/*--------------------------------------------------------------------------*/
|
||||
int HklScan(pHklscan self, SConnection *pCon, int iNP, int iMode,
|
||||
float fPreset);
|
||||
/*---------------- interpreter functions -----------------------------------*/
|
||||
int HklscanFactory(SConnection *pCon, SicsInterp *pSics, void *pData,
|
||||
int argc, char *argv[]);
|
||||
int HklscanAction(SConnection *pCon, SicsInterp *pSics, void *pData,
|
||||
int argc, char *argv[]);
|
||||
|
||||
@}
|
||||
|
||||
@o hklscan.i @{
|
||||
/*-------------------------------------------------------------------------
|
||||
Internal data structure for the hklscan object. DO NOT MODIFY.
|
||||
Modifications only in hklscan.i
|
||||
|
||||
Mark Koennecke, June 1999
|
||||
--------------------------------------------------------------------------*/
|
||||
@<hklscandat@>
|
||||
@}
|
||||
|
||||
@o hklscan.h @{
|
||||
/*--------------------------------------------------------------------------
|
||||
H K L S C A N
|
||||
|
||||
A class for doing scans in reciprocal space. This makes only sense at an
|
||||
four circle diffractometer. Most of the work is done in the HKL and scan
|
||||
objects. This class just adapts and used both objects to do the right thing.
|
||||
|
||||
Mark Koennecke, June 1999
|
||||
---------------------------------------------------------------------------*/
|
||||
#ifndef HKLSCAN
|
||||
#define HKLSCAN
|
||||
@<hklscanfunc@>
|
||||
#endif
|
||||
@}
|
||||
|
||||
Reference in New Issue
Block a user