Files
sics/scan.h
Ferdi Franceschini 10d29d597c Cleaned up ANSTO code to merge with sinqdev.sics
This is our new RELEASE-4_0 branch which was taken from ansto/93d9a7c
Conflicts:
	.gitignore
	SICSmain.c
	asynnet.c
	confvirtualmot.c
	counter.c
	devexec.c
	drive.c
	event.h
	exebuf.c
	exeman.c
	histmem.c
	interface.h
	motor.c
	motorlist.c
	motorsec.c
	multicounter.c
	napi.c
	napi.h
	napi4.c
	network.c
	nwatch.c
	nxscript.c
	nxxml.c
	nxxml.h
	ofac.c
	reflist.c
	scan.c
	sicshipadaba.c
	sicsobj.c
	site_ansto/docs/Copyright.txt
	site_ansto/instrument/lyrebird/config/tasmad/sicscommon/nxsupport.tcl
	site_ansto/instrument/lyrebird/config/tasmad/taspub_sics/tasscript.tcl
	statusfile.c
	tasdrive.c
	tasub.c
	tasub.h
	tasublib.c
	tasublib.h
2015-04-23 20:49:26 +10:00

81 lines
3.1 KiB
C

/*---------------------------------------------------------------------------
S C A N
Header file for the SICS scan object.
Mark Koennecke, October 1997
Extracted scan variable: Mark Koennecke, November 2004
copyright: see copyright.h
-----------------------------------------------------------------------------*/
#ifndef SICSSCAN1
#define SICSSCAN1
typedef struct __ScanData *pScanData;
/*--------------------------------------------------------------------------*/
#include "counter.h"
/*------------------------- live & death ----------------------------------*/
pScanData CreateScanObject(char *pRecover, char *pHeader,
pCounter pCount, char *objName);
void DeleteScanObject(void *self);
/*-------------------------------------------------------------------------*/
int AddScanVar(pScanData self, SicsInterp * pSics, SConnection * pCon,
char *name, float fStart, float fStep);
int ClearScanVar(pScanData self);
int DoScan(pScanData self, int iNP, int iMode, float fPreset,
SicsInterp * pSics, SConnection * pCon);
int SilentScan(pScanData self, int iNP, int iMode, float fPreset,
SicsInterp * pSics, SConnection * pCon);
int RecoverScan(pScanData self, SicsInterp * pSics, SConnection * pCon);
int GetScanCounts(pScanData self, long *lData, int iDataLen);
int GetScanVar(pScanData self, int iWhich, float *fData, int iDataLen);
int GetSoftScanVar(pScanData self, int iWhich, float *fData, int iDataLen);
int GetScanVarName(pScanData self, int iWhich, char *pName, int iLength);
int GetScanVarStep(pScanData self, int iWhich, float *fStep);
int GetScanMonitor(pScanData self, int iWhich, long *lData, int iDataLen);
int GetScanNP(pScanData self);
float GetScanPreset(pScanData self);
int isScanRunning(pScanData self);
int ScanIntegrate(pScanData self, float *fSum, float *fVariance);
int SimScan(pScanData self, float fPos, float FHWM, float fHeight);
/*
creates a simulated gaussian shaped peak with the parameters given.
*/
int ResetScanFunctions(pScanData self);
/*
resets the configurable scan functions to their default values.
*/
int NonCheckPrepare(pScanData self);
/*
a function for the PrepareScan field in the scan data structure
which does not check the boundaries of the scan as the default
PrepareScan does.
*/
int AppendScanLine(pScanData self, char *line);
/*
AppendScanLine appends a line to the scan data file. When finished
it updates the position pointer in the file to point behind the
added line.
*/
int StoreScanCounts(pScanData self, char *data);
/*
parses the numbers in data and stores them as the count and
monitor data for the current scan point.
*/
/*------------------------ Interpreter Interface --------------------------*/
int ScanFactory(SConnection * pCon, SicsInterp * pSics, void *pData,
int argc, char *argv[]);
int ScanWrapper(SConnection * pCon, SicsInterp * pSics, void *pData,
int argc, char *argv[]);
#endif