Files
sics/stdscan.h
Ferdi Franceschini 074f1cb3cd Update from PSI
r1039 | ffr | 2006-08-03 09:59:29 +1000 (Thu, 03 Aug 2006) | 2 lines
2012-11-15 12:45:27 +11:00

112 lines
3.3 KiB
C

/*--------------------------------------------------------------------------
S T A N D A R D S C A N
This is a library of scan functions for the SICS standard scan.
copyright: see copyright.h
Extracted from scan.c: Mark Koennecke, November 2004
----------------------------------------------------------------------------*/
#ifndef SICSSTDSCAN
#define SICSSTDSCAN
/**
* make a filename according to SICS rules for this scan
*/
char *ScanMakeFileName(SicsInterp * pSics, SConnection * pCon);
/*
* write the header bits from the template
*/
void WriteTemplate(FILE * fd, FILE * temp, char *filename, pScanData pScan,
SConnection * pCon, SicsInterp * pSics);
/**
* write the header of the scan file
*/
int WriteHeader(pScanData self);
/**
* WriteScanPoints is called for each point to write the scan data
* to screen and to file.
*/
int WriteScanPoints(pScanData self, int iPoint);
/**
* Called before the scan to prepare. The default implementation
* checks if all scan positions are available and configures the
* counter.
*/
int PrepareScan(pScanData self);
/**
* allocate a new data file
*/
int prepareDataFile(pScanData self);
/**
* second version of PrepareScan which does not check scan limits
*/
int NonCheckPrepare(pScanData self);
/**
* prepare for a scan without complaining...
*/
int SilentPrepare(pScanData self);
/**
* ScanDrive handles driving to the scan point iPoint.
*/
int ScanDrive(pScanData self, int iPoint);
/**
* ScanFastDrive starts driving to the scan point iPoint, but
* does not wait. Use this for implementing slightly faster
* scans.
*/
int ScanFastDrive(pScanData self, int iPoint);
/**
* ScanCount is called at each scan step to do the counting.
*/
int ScanCount(pScanData self, int iPoint);
/**
* CollectScanData stores the scans count results into
* the scan data structure and prints the information about the
* scan progress.
*/
int CollectScanData(pScanData self, int iPoint);
int CollectScanDataJochen(pScanData self, int iPoint);
int CollectSilent(pScanData self, int iPoint);
/*===================================================================*/
/**
* Script invocation for writing the scan header.
*/
int ScriptWriteHeader(pScanData self);
/**
* Script writing each scan point
*/
int ScriptWriteScanPoints(pScanData self, int iPoint);
/**
* Script preparation of the scan.
*/
int ScriptPrepareScan(pScanData self);
/**
* Script driving to a scan point
*/
int ScriptScanDrive(pScanData self, int iPoint);
/**
* Script counting a scan point
*/
int ScriptScanCount(pScanData self, int iPoint);
/**
* Script collecting scan data for each scan point
*/
int ScriptScanCollect(pScanData self, int iPoint);
/**
* ScriptScanFinish invokes a script after the scan has finished
*/
int ScriptScanFinish(pScanData self);
/**
* ConfigureScript assigns the script invocation functions for
* scan
*/
void ConfigureScript(pScanData self);
/*=====================================================================*/
int StandardScanWrapper(SConnection * pCon, SicsInterp * pSics,
void *pData, int argc, char *argv[]);
#endif