Initial revision
This commit is contained in:
104
mesure.w
Normal file
104
mesure.w
Normal file
@ -0,0 +1,104 @@
|
||||
\subsection{Four Circle Single Counter Measurement Object}
|
||||
This object implements a basic single counter reflection measurement routine
|
||||
for four circle diffractometers. This object is able to read a reflection
|
||||
listing, drive to each reflection in the list, do a scan on it, integrate
|
||||
the scan results and write the results to ASCII files. Nothing sophisticated
|
||||
such as optimised measurement procedures and special background measurement
|
||||
programs. Three files will be created as output: one file with the ending
|
||||
.rfl which contains the reflection profiles for each reflection, a file .asc
|
||||
which contains a summary in form of HKL, I, sigma(I) for each reflection
|
||||
and a file ending .err which contains all the error messages obtained during
|
||||
the run.
|
||||
|
||||
|
||||
The interface to this object consists of these functions:
|
||||
|
||||
@d mesureint @{
|
||||
typedef struct __Mesure *pMesure;
|
||||
/*--------------------- live & death --------------------------------------*/
|
||||
pMesure CreateMesure(pHKL pCryst, pScanData pScanner,
|
||||
pMotor pOmega, char *pom, char *po2t,
|
||||
char *pFileRoot,pDataNumber pDanu);
|
||||
void DeleteMesure(void *pData);
|
||||
|
||||
int MesureFactory(SConnection *pCon, SicsInterp *pSics, void *pData,
|
||||
int argc, char *argv[]);
|
||||
/*------------------- object functions -----------------------------------*/
|
||||
int MesureReflection(pMesure self, float fHKL[3], SConnection *pCon);
|
||||
int MesureGenReflection(pMesure self, float fHKL[3],float fSet[4], SConnection *pCon);
|
||||
int MesureStart(pMesure self, SConnection *pCon);
|
||||
int MesureReopen(pMesure self, char *filename, SConnection *pCon);
|
||||
int MesureClose(pMesure self);
|
||||
int MesureFile(pMesure self, char *pFile, int iSkip, SConnection *pCon);
|
||||
int MesureGenFile(pMesure self, char *pFile, int iSkip, SConnection *pCon);
|
||||
int MesureSetPar(pMesure self, char *name, float fVal);
|
||||
int MesureGetPar(pMesure self, char *name, float *fVal);
|
||||
|
||||
int MesureAction(SConnection *pCon, SicsInterp *pSics, void *pData,
|
||||
int argc, char *argv[]);
|
||||
|
||||
@}
|
||||
All functions return 1 on success, 0 on failure.
|
||||
\begin{description}
|
||||
\item[CreateMesure] creates a new pMesure object. Parameters are the HKL
|
||||
object to use for cystallographic conversions and the scan object to use for
|
||||
doing the scans. This is followd by the motor for running omega, its name
|
||||
and the name of the motor for driving omega 2 theta. Finnaly the path to the
|
||||
data directory and the data number object for automatic filename creation is
|
||||
specified.
|
||||
\item[DeleteMesure] wipes the mesure object pData from memory.
|
||||
\item[MesureFactory] is the factory function for mesure which will be used
|
||||
by the interpreter to install mesure into the system.
|
||||
\item[MesureReflection] measures the single reflection fHKL. It drives
|
||||
there, calculates scan borders and performs the scan.
|
||||
\item[MesureGenReflection] measures the single reflection fHKL. It drives
|
||||
there, calculates scan borders and performs the scan. This version uses
|
||||
supplied values for the instrument settings.
|
||||
\item[MesureStart] sets everything up for a new measurement with new file
|
||||
names.
|
||||
\item[MesureReopen] reopens the files belonging to the file name given as
|
||||
base for appending. This is a recovery feature.
|
||||
\item[MesureFile] opens the file specified as second parameter and reads
|
||||
each line. Expected is a reflection to measure. Each reflection is then
|
||||
measured and output written. The last parameter iSkip allows to skip iSkip
|
||||
lines of the reflection file. This facility exists in order to restart work
|
||||
on an reflection file which had been interrupted for some reason.
|
||||
\item[MesureGenFile] opens the file specified as second parameter and reads
|
||||
each line. Expected is a reflection to measure. Each reflection is then
|
||||
measured and output written. The last parameter iSkip allows to skip iSkip
|
||||
lines of the reflection file. This facility exists in order to restart work
|
||||
on an reflection file which had been interrupted for some reason. This
|
||||
version acts upon files created by the program HKLGEN.
|
||||
\item[MesureSetPar] sets the parameter name of Mesure to fVal. A listing of
|
||||
possible parameters is given below.
|
||||
\item[MesureGetPar] returns the value of the parameter name in fVal.
|
||||
\item[MesureAction] implements the interpreter interface to the mesure
|
||||
object.
|
||||
\end{description}
|
||||
Mesure supports the following parameters:
|
||||
\begin{description}
|
||||
\item[np] the number of points per scan.
|
||||
\item[preset] The preset value for counting.
|
||||
\item[countmode] the counting mode, can be 0 for timer or 1 for monitor
|
||||
mode.
|
||||
\item[mode] can be 0 for omega 2theta scans or 1 for omega scans.
|
||||
\item[step] the scan step widths. This is allways in omega, in omega 2theta
|
||||
mode 2theta is always the double of this.
|
||||
\end{description}
|
||||
|
||||
@o mesure.h @{
|
||||
/*----------------------------------------------------------------------------
|
||||
M E S U R E
|
||||
|
||||
A SICS object for doing simple four circle measurements with a single
|
||||
counter.
|
||||
|
||||
copyright: see copyright.h
|
||||
|
||||
Mark Koenencke, April 1998
|
||||
---------------------------------------------------------------------------*/
|
||||
#ifndef SICSMESURE
|
||||
#define SICSMESURE
|
||||
@<mesureint@>
|
||||
#endif
|
||||
@}
|
Reference in New Issue
Block a user