Files
sics/hkl.h
koennecke 51a60375d6 - Removed -fwritable-string
SKIPPED:
	psi/dornier2.c
	psi/ecbdriv.c
	psi/el734hp.c
	psi/libpsi.a
	psi/make_gen
	psi/makefile_linux
	psi/pimotor.c
	psi/pipiezo.c
	psi/sinqhttp.c
	psi/tcpdornier.c
	psi/velodornier.c
2006-03-31 15:24:52 +00:00

55 lines
2.2 KiB
C

/*---------------------------------------------------------------------------
H K L
This SICS object performs angle setting calculations for a four circle
diffractometer. The heart of this code is a C transcriptions of routines
written by Jean Allibon at ILL for the MAD program. Theory is explained in
the article by W. C. Hamilton in International Tables for Crystallography,
1974 edition.
copyright: see copyright.h
Mark Koennecke, February 1998
----------------------------------------------------------------------------*/
#ifndef SICSHKL
#define SICSHKL
#include "selector.h"
#include "selvar.h"
typedef struct __HKL *pHKL;
/*-------------------------------------------------------------------------*/
pHKL CreateHKL(pMotor pTheta, pMotor pOmega,
pMotor pChi, pMotor pPhi, pMotor pNu);
void DeleteHKL(void *pData);
int HKLFactory(SConnection *pCon, SicsInterp *pSics, void *pData,
int argc, char *argv[]);
/*------------------------------------------------------------------------*/
int SetWavelengthVariable(SConnection *pCon, pHKL self, pSelVar pVar);
int SetWavelengthManual(pHKL self, float fVal);
void SetHKLScanTolerance(pHKL self, float value);
int SetUB(pHKL self, float fUB[9]);
int GetUB(pHKL self, float fUB[9]);
int SetNOR(pHKL self, int iNOB);
int GetLambda(pHKL self, float *fVal);
int GetCurrentHKL(pHKL self, float fVal[3]);
int GetCurrentPosition(pHKL self, SConnection *pCon, float fPosition[4]);
int GetHKLFromAngles(pHKL self, SConnection *pCon, float fVal[3]);
int CalculateSettings(pHKL self, float fHKL[3], float fPsi, int iHamil,
float fSet[4],SConnection *pCon);
int RunHKL(pHKL self, float fHKL[3], float fPsi, int iHamil, SConnection
*pCon);
int DriveHKL(pHKL self, float fHKL[3], float fPsi, int iHamil,
SConnection *pCon);
int DriveSettings(pHKL self, float fSet[4],SConnection *pCon);
int HKLAction(SConnection *pCon, SicsInterp *pSics, void *pData,
int argc, char *argv[]);
int hklInRange(void *data, float fSet[4], int mask[4]);
int startHKLMotors(pHKL self, SConnection *pCon, float fSet[4]);
#endif