Initial revision
This commit is contained in:
60
selector.h
Normal file
60
selector.h
Normal file
@ -0,0 +1,60 @@
|
||||
/*--------------------------------------------------------------------------
|
||||
|
||||
S E L E C T O R
|
||||
|
||||
This is an object to support a Crystal-Monochromator with
|
||||
possibly two bending dimensions.
|
||||
|
||||
The monochromator can be used in two modes: to adjust wavelength
|
||||
or to adjust energy for those triple axis people. This is reflected
|
||||
in a code structure like this: There is the actual device, the
|
||||
monochromator, as given here. This mono supports some configuration
|
||||
commands. And provides basic routines to run the monochromator
|
||||
common to the second part.
|
||||
|
||||
The second part are two variables, wavelength and energy, which
|
||||
are configured with a monochromator to act upon. See file selvar.* for
|
||||
more details.
|
||||
|
||||
Mark Koennecke, January 1996
|
||||
|
||||
copyright: see implementation file.
|
||||
|
||||
----------------------------------------------------------------------------*/
|
||||
|
||||
#ifndef SICSMONO
|
||||
#define SICSMONO
|
||||
#include "motor.h"
|
||||
|
||||
typedef struct __SicsSelector *pSicsSelector;
|
||||
|
||||
|
||||
/* birth and death: The Selector himself */
|
||||
pSicsSelector CreateSelector(char *name, pMotor pTheta, pMotor pTwoTheta,
|
||||
pMotor pBend1, pMotor pBend2);
|
||||
|
||||
int MonoInit(SConnection *pCon,SicsInterp *pSics, void *pData,
|
||||
int argc, char *argv[]);
|
||||
|
||||
void DeleteSelector(void *self);
|
||||
|
||||
|
||||
/* Action! */
|
||||
|
||||
int MonoAction(SConnection *pCon, SicsInterp *pSics, void *pData,
|
||||
int argc, char *argv[]);
|
||||
|
||||
int MonoRun(pSicsSelector self, SConnection *pCon, float fWaveLength);
|
||||
struct __ComEntry *GetSelectorMotors(pSicsSelector self, SConnection *pCon,
|
||||
float fNew);
|
||||
int MonoLimits(pSicsSelector self, float fWaveLength, char *error,
|
||||
int iErrLen);
|
||||
int MonoCheck(pSicsSelector self, SConnection *pCon);
|
||||
int MonoHalt(pSicsSelector self);
|
||||
float GetMonoPosition(pSicsSelector self, SConnection *pCon);
|
||||
char *MonoGetType(pSicsSelector self);
|
||||
int GetMonoPositions(pSicsSelector self, SConnection *pCon,
|
||||
float *fTheta, float *fTwtTh, float *fB1, float *fB2);
|
||||
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user