- Reworked the connection object and the IO system
- Reworked the support for TRICS - Added a second generation motor
This commit is contained in:
38
hkl.tex
38
hkl.tex
@ -20,26 +20,19 @@ $\langle$hkldat {\footnotesize ?}$\rangle\equiv$
|
||||
\mbox{}\verb@@\\
|
||||
\mbox{}\verb@ typedef struct __HKL {@\\
|
||||
\mbox{}\verb@ pObjectDescriptor pDes;@\\
|
||||
\mbox{}\verb@ double fUB[9];@\\
|
||||
\mbox{}\verb@ MATRIX UBinv;@\\
|
||||
\mbox{}\verb@ double fLambda;@\\
|
||||
\mbox{}\verb@ int iManual;@\\
|
||||
\mbox{}\verb@ double fLastHKL[5];@\\
|
||||
\mbox{}\verb@ int iNOR;@\\
|
||||
\mbox{}\verb@ int iQuad;@\\
|
||||
\mbox{}\verb@ int iHM;@\\
|
||||
\mbox{}\verb@ pMotor pTheta;@\\
|
||||
\mbox{}\verb@ pMotor pOmega;@\\
|
||||
\mbox{}\verb@ pMotor pChi;@\\
|
||||
\mbox{}\verb@ pMotor pPhi;@\\
|
||||
\mbox{}\verb@ pMotor pNu;@\\
|
||||
\mbox{}\verb@ pSelVar pMono;@\\
|
||||
\mbox{}\verb@ long lID;@\\
|
||||
\mbox{}\verb@ float scanTolerance;@\\
|
||||
\mbox{}\verb@ float targetHKL[3];@\\
|
||||
\mbox{}\verb@ int targetDirty;@\\
|
||||
\mbox{}\verb@ pIDrivable pMotDriv;@\\
|
||||
\mbox{}\verb@ } HKL;@\\
|
||||
\mbox{}\verb@@$\diamond$
|
||||
\mbox{}\verb@@$\Diamond$
|
||||
\end{list}
|
||||
\vspace{-1ex}
|
||||
\footnotesize\addtolength{\baselineskip}{-1ex}
|
||||
@ -51,23 +44,12 @@ $\langle$hkldat {\footnotesize ?}$\rangle\equiv$
|
||||
The fields are more or less self explaining:
|
||||
\begin{description}
|
||||
\item[pDes] The standard object descriptor.
|
||||
\item[fUB] The UB matrix.
|
||||
\item[iUB] is a flag which spcifies if a UB is specified.
|
||||
\item[fLambda] The wavelength of the neutrons.
|
||||
\item[iManual] A flag which defines if the wavelength has been set manually
|
||||
or is updated automatically from a wavelength variable.
|
||||
\item[fLastHKL] the HKL of the last reflection calculated.
|
||||
\item[iNor] a flag for normal beam calculation mode.
|
||||
\item[iHM] a flag for histogram memory mode. In this mode two theta
|
||||
limits are checked alos for detector 2 and 3.
|
||||
\item[pTheta] The two theta motor. All motor are needed for boundary
|
||||
checking.
|
||||
\item[pOmega] The omega axis motor.
|
||||
\item[pChi] The chi axis motor.
|
||||
\item[pPhi] the phi axis motor.
|
||||
\item[pNu] the nu axis motor for normal beam geometry.
|
||||
This is detector tilt.
|
||||
\item[pMono] The selector variable doing the wavelength.
|
||||
\item[scanTolerance] The hkl module refuses to position a reflection if it is
|
||||
to close to omega limits for scanning. This is the tolerance to use.
|
||||
\item[targetHKL] The target HKL values to support the H, K, L virtual motors
|
||||
@ -95,15 +77,12 @@ $\langle$hklint {\footnotesize ?}$\rangle\equiv$
|
||||
\mbox{}\verb@@\\
|
||||
\mbox{}\verb@ typedef struct __HKL *pHKL;@\\
|
||||
\mbox{}\verb@/*-------------------------------------------------------------------------*/@\\
|
||||
\mbox{}\verb@ pHKL CreateHKL(pMotor pTheta, pMotor pOmega, @\\
|
||||
\mbox{}\verb@ pMotor pChi, pMotor pPhi, pMotor pNu);@\\
|
||||
\mbox{}\verb@ pHKL CreateHKL();@\\
|
||||
\mbox{}\verb@ void DeleteHKL(void *pData);@\\
|
||||
\mbox{}\verb@ @\\
|
||||
\mbox{}\verb@ int HKLFactory(SConnection *pCon, SicsInterp *pSics, void *pData,@\\
|
||||
\mbox{}\verb@ int argc, char *argv[]);@\\
|
||||
\mbox{}\verb@/*------------------------------------------------------------------------*/@\\
|
||||
\mbox{}\verb@ int SetWavelengthVariable(SConnection *pCon, pHKL self, pSelVar pVar);@\\
|
||||
\mbox{}\verb@ int SetWavelengthManual(pHKL self, float fVal);@\\
|
||||
\mbox{}\verb@ void SetHKLScanTolerance(pHKL self, float value);@\\
|
||||
\mbox{}\verb@ int SetUB(pHKL self, float fUB[9]);@\\
|
||||
\mbox{}\verb@ int GetUB(pHKL self, float fUB[9]);@\\
|
||||
@ -126,7 +105,8 @@ $\langle$hklint {\footnotesize ?}$\rangle\equiv$
|
||||
\mbox{}\verb@ int argc, char *argv[]); @\\
|
||||
\mbox{}\verb@ int hklInRange(void *data, float fSet[4], int mask[4]);@\\
|
||||
\mbox{}\verb@ int startHKLMotors(pHKL self, SConnection *pCon, float fSet[4]);@\\
|
||||
\mbox{}\verb@@$\diamond$
|
||||
\mbox{}\verb@ void stopHKLMotors(pHKL self);@\\
|
||||
\mbox{}\verb@@$\Diamond$
|
||||
\end{list}
|
||||
\vspace{-1ex}
|
||||
\footnotesize\addtolength{\baselineskip}{-1ex}
|
||||
@ -197,7 +177,7 @@ drive properly.
|
||||
\mbox{}\verb@----------------------------------------------------------------------------*/@\\
|
||||
\mbox{}\verb@@$\langle$hkldat {\footnotesize ?}$\rangle$\verb@@\\
|
||||
\mbox{}\verb@@\\
|
||||
\mbox{}\verb@@$\diamond$
|
||||
\mbox{}\verb@@$\Diamond$
|
||||
\end{list}
|
||||
\vspace{-2ex}
|
||||
\end{minipage}\\[4ex]
|
||||
@ -227,7 +207,7 @@ drive properly.
|
||||
\mbox{}\verb@#include "selvar.h"@\\
|
||||
\mbox{}\verb@@$\langle$hklint {\footnotesize ?}$\rangle$\verb@@\\
|
||||
\mbox{}\verb@#endif @\\
|
||||
\mbox{}\verb@@$\diamond$
|
||||
\mbox{}\verb@@$\Diamond$
|
||||
\end{list}
|
||||
\vspace{-2ex}
|
||||
\end{minipage}\\[4ex]
|
||||
@ -257,7 +237,7 @@ $\langle$hklmotdat {\footnotesize ?}$\rangle\equiv$
|
||||
\mbox{}\verb@ pIDrivable pDriv;@\\
|
||||
\mbox{}\verb@ int index;@\\
|
||||
\mbox{}\verb@ }HKLMot, *pHKLMot;@\\
|
||||
\mbox{}\verb@@$\diamond$
|
||||
\mbox{}\verb@@$\Diamond$
|
||||
\end{list}
|
||||
\vspace{-1ex}
|
||||
\footnotesize\addtolength{\baselineskip}{-1ex}
|
||||
@ -303,7 +283,7 @@ functions. The interpreter interface is minimal: only a value request is support
|
||||
\mbox{}\verb@#endif@\\
|
||||
\mbox{}\verb@@\\
|
||||
\mbox{}\verb@ @\\
|
||||
\mbox{}\verb@@$\diamond$
|
||||
\mbox{}\verb@@$\Diamond$
|
||||
\end{list}
|
||||
\vspace{-2ex}
|
||||
\end{minipage}\\[4ex]
|
||||
|
Reference in New Issue
Block a user