
/*----------------------------------------------------------------------------
                         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

 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[]);
  

#endif
