- Added makefile_slinux
- Changed mesure to be a silver bullet SKIPPED: psi/ecbcounter.c psi/ecbdriv.c psi/el734hp.c psi/el737hpdriv.c psi/fowrite.c psi/nextrics.c psi/tasscan.c
This commit is contained in:
75
mesure.w
75
mesure.w
@ -1,15 +1,22 @@
|
||||
\subsection{Four Circle Single Counter Measurement Object}
|
||||
This object implements a basic single counter reflection measurement routine
|
||||
This object implements a 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
|
||||
the scan results and write the results to ASCII files.
|
||||
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.
|
||||
|
||||
This module has evolved to support the following mode advanced feautures:
|
||||
\begin{itemize}
|
||||
\item Vary step width and scanned variable in dependence on two theta
|
||||
\item Calculation mode in order to determine the number of reflections which
|
||||
can actually be measured from a given list.
|
||||
\item Remeasuring of weak reflections.
|
||||
\item Fast scans.
|
||||
\end{itemize}
|
||||
|
||||
The interface to this object consists of these functions:
|
||||
|
||||
@ -17,7 +24,7 @@ The interface to this object consists of these functions:
|
||||
typedef struct __Mesure *pMesure;
|
||||
/*--------------------- live & death --------------------------------------*/
|
||||
pMesure CreateMesure(pHKL pCryst, pScanData pScanner,
|
||||
pMotor pOmega, char *pom, char *po2t,
|
||||
pMotor pOmega, char *pom,
|
||||
char *pFileRoot,pDataNumber pDanu);
|
||||
void DeleteMesure(void *pData);
|
||||
|
||||
@ -82,24 +89,72 @@ Mesure supports the following parameters:
|
||||
\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}
|
||||
|
||||
|
||||
\subsubsection{Four Circle Table}
|
||||
In order to support the variation of scan parameters with two theta a table is needed which
|
||||
holds the necessary parameters. This table is implemented in a separate module. The
|
||||
interface to this module is:
|
||||
@d fourtableint @{
|
||||
int MakeFourCircleTable();
|
||||
void DeleteFourCircleTable(int handle);
|
||||
int HandleFourCircleCommands(int handle, SConnection *pCon,
|
||||
int argc, char *argv[], int *err);
|
||||
char *GetFourCircleScanVar(int handle, double two_theta);
|
||||
double GetFourCircleStep(int handle, double two_theta);
|
||||
int SaveFourCircleTable(int handle, char *objName, FILE *fd);
|
||||
@}
|
||||
Many functions takes as the first argument a handle to the four circle table as
|
||||
created by MakeFourCircleTable.
|
||||
\begin{description}
|
||||
\item[MakeFourCircleTable] creats a four circle table. Returns a handle with which
|
||||
the table can be referred to later.
|
||||
\item[DeleteFourCircleTable] removes a four circle table. The single argument is
|
||||
a handle to a four circle tbale as created by MakeFourCircle.
|
||||
\item[HandleFourCircleCommands] handles interpreter commands which allow to
|
||||
edit or list the table described by handle. pCon is used for output. argc, argv are
|
||||
the arguments to the command. The returns 1 when the command was handled, 0 else.
|
||||
If there was an error, err is set to 0.
|
||||
\item[GetFourCircleScanVar] retrieves the scan variable to use for the two theta
|
||||
value given.
|
||||
\item[GetFourCircleStep] retrieves the step width to use for the two theta
|
||||
value given.
|
||||
\item[SaveFourCircleTable] saves the configuration of the table into fd. objName is the
|
||||
name of the object to which this table belongs.
|
||||
\end{description}
|
||||
|
||||
|
||||
@o mesure.h @{
|
||||
/*----------------------------------------------------------------------------
|
||||
M E S U R E
|
||||
|
||||
A SICS object for doing simple four circle measurements with a single
|
||||
A SICS object for doing four circle measurements with a single
|
||||
counter.
|
||||
|
||||
copyright: see copyright.h
|
||||
|
||||
Mark Koenencke, April 1998
|
||||
Mark Koennecke, April 1998
|
||||
Heavily reworked: Mark Koennecke, February-March 2005
|
||||
---------------------------------------------------------------------------*/
|
||||
#ifndef SICSMESURE
|
||||
#define SICSMESURE
|
||||
@<mesureint@>
|
||||
#endif
|
||||
@}
|
||||
|
||||
@o fourtable.h @{
|
||||
/*---------------------------------------------------------------------------
|
||||
F O U R T A B L E
|
||||
|
||||
A SICS object which holds the variation of scan parameters for four circle
|
||||
reflection list measurements.
|
||||
copyright: see copyright.h
|
||||
|
||||
Mark Koennecke, February 2005
|
||||
---------------------------------------------------------------------------*/
|
||||
#ifndef FOURTABLE
|
||||
#define FOURTABLE
|
||||
@<fourtableint@>
|
||||
#endif
|
||||
@}
|
Reference in New Issue
Block a user