Files
sics/tasu.h
cvs bde19bb973 - Fixes to HM code for AMOR TOF
- A couple of TAS fixes
- o2t was fixed to work with any drivable
- FOCUS was mended to include beam monitor in data file
2002-07-19 15:09:21 +00:00

54 lines
1.5 KiB
C

/*
This is a helper header file which contains the prototypes for some
functions to be used in the implementation of the triple axis spectrometer
module. For more info on the functions see the comments in the
implementation file tasutil.c
Initial Coding: Mark Koennecke, November 2000
Added TASUpdate: Mark Koennecke, May 2001
*/
#ifndef TASUSICS
#define TASUSICS
extern char *tasMotorOrder[];
extern char *tasVariableOrder[];
/* maximum number of motors in the list */
#define MAXMOT 27
/* offset to the currents, if available */
#define CURMOT (MAXMOT - 8)
/*
Note: the defines below MUST map the range between EI - HZ in the list
of variables as defined in tas.h. Otherwise quite interesting things
can happen. ETARGET is the variable order index for the energy targets.
*/
#define EMIN 25
#define EMAX 36
#define ETARGET 94
int isTASMotor(char *val);
int isTASCurrent(char *val);
int isTASVar(char *val);
int isTASEnergy(char *val);
void prepare2Parse(char *line);
int tasNumeric(char *pText);
float readDrivable(char *val, SConnection *pCon);
void startCurrent(char *val, SConnection *pCon, float fVal);
void readConversionFactors(pTASdata self,float convH[4]);
int TASCalc(pTASdata self, SConnection *pCon,
unsigned char tasMask[10],
float motorTargets[20],
unsigned char motorMask[20]);
int TASStart(pTASdata self, SConnection *pCon, SicsInterp *pSics,
float motorTargets[20],
unsigned char motorMask[20]);
int TASUpdate(pTASdata self, SConnection *pCon);
#endif