mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-04-24 23:30:03 +02:00
makefile updated to include the receiver in the library
git-svn-id: file:///afs/psi.ch/project/sls_det_software/svn/slsDetectorSoftware@502 951219d9-93cf-4727-9268-0efd64621fa3
This commit is contained in:
parent
34a2f92cb4
commit
1d159e676a
@ -1,7 +1,7 @@
|
||||
CFLAGS= -DC_ONLY -fPIC
|
||||
#FLAGS+= #-DVERBOSE -DVERYVERBOSE
|
||||
|
||||
DFLAGS= -DDACS_INT -DTHIS_PATH='"$(shell pwd)"'
|
||||
DFLAGS= -DDACS_INT -DTHIS_PATH='"$(shell pwd)"' -DSLS_RECEIVER_FUNCTION_LIST
|
||||
|
||||
#ASM=$(shell echo "/lib/modules/`uname -r`/build/include")
|
||||
|
||||
|
@ -33,7 +33,7 @@ using namespace std;
|
||||
*/
|
||||
/**
|
||||
\mainpage
|
||||
<img src="psi_logo_150.gif" alt="Paul Scherrer Institut">
|
||||
|
||||
|
||||
<H1>API for SLS detectors data acquisition</H1>
|
||||
|
||||
@ -49,23 +49,31 @@ using namespace std;
|
||||
\li a Root library for data postprocessing and detector calibration (energy, angle).
|
||||
|
||||
|
||||
The slsDetectorUsers class is a minimal purely virtual interface class which should be instantiated by the users in their acquisition software (EPICS, spec etc.). More advanced configuration functions are not implemented and can be written in a configuration file tha can be read/written.
|
||||
slsDetectorUsers is a class to control the detector which should be instantiated by the users in their acquisition software (EPICS, spec etc.). A callback for dislaying the data can be registered.
|
||||
More advanced configuration functions are not implemented and can be written in a configuration file tha can be read/written.
|
||||
|
||||
slsReceiverUsers is a class to receive the data for detectors with external data receiver (e.g. GOTTHARD). Callbacks can be registered to process the data or save them in specific formats.
|
||||
|
||||
detectorData is a structure containing the data and additional information which is used to return the data e.g. to the GUi for displaying them.
|
||||
|
||||
|
||||
\authors <a href="mailto:anna.bergamaschi@psi.ch">Anna Bergamaschi</a>, <a href="mailto:dhanya.maliakal@psi.ch">Dhanya Maliakal</a>
|
||||
@version 0.2
|
||||
<H2>Currently supported detectors</H2>
|
||||
\li MYTHEN
|
||||
\li GOTTHARD controls
|
||||
<H3>Coming soon</H3>
|
||||
\li GOTTHARD data receiver
|
||||
<H3>Coming soon</H3>
|
||||
\li EIGER
|
||||
|
||||
@libdoc The slsDetectorUsers class is a minimal purely virtual interface class which should be instantiated by the users in their acquisition software (EPICS, spec etc.). More advanced configuration functions are not implemented and can be written in a configuration or parameters file that can be read/written.
|
||||
|
||||
*/
|
||||
/**
|
||||
@short This is the base class for detector functionalities of interest for the users. Can be emebedded in the users custom interface e.g. EPICS, Lima etc.
|
||||
|
||||
@libdoc The slsDetectorUsers class is a minimal interface class which should be instantiated by the users in their acquisition software (EPICS, spec etc.). More advanced configuration functions are not implemented and can be written in a configuration or parameters file that can be read/written.
|
||||
*/
|
||||
/**
|
||||
@short Class for detector functionalitiesto embed the detector controls in the users custom interface e.g. EPICS, Lima etc.
|
||||
|
||||
*/
|
||||
|
||||
@ -387,10 +395,10 @@ class slsDetectorUsers
|
||||
|
||||
/**
|
||||
@short register calbback for accessing detector final data
|
||||
\param userCallback function for plotting/analyzing the data
|
||||
\param userCallback function for plotting/analyzing the data. Its arguments are the data structure d and the frame number f.
|
||||
*/
|
||||
|
||||
void registerDataCallback(int( *userCallback)(detectorData*, int, void*), void *pArg);
|
||||
void registerDataCallback(int( *userCallback)(detectorData* d, int f, void*), void *pArg);
|
||||
|
||||
/**
|
||||
@short register callback for accessing raw data - if the rawDataCallback is registered, no filewriting/postprocessing will be carried on automatically by the software - the raw data are deleted by the software
|
||||
|
@ -4,9 +4,7 @@
|
||||
#ifndef DETECTOR_DATA_H
|
||||
#define DETECTOR_DATA_H
|
||||
/**
|
||||
@short data structure to hold the detector data after postprocessing
|
||||
|
||||
(e.g. to plot, store in a root tree etc.)
|
||||
@short data structure to hold the detector data after postprocessing (e.g. to plot, store in a root tree etc.)
|
||||
*/
|
||||
class detectorData {
|
||||
public:
|
||||
|
@ -1,4 +1,5 @@
|
||||
#ifdef SLS_RECEIVER_FUNCTION_LIST
|
||||
//#ifdef SLS_RECEIVER_FUNCTION_LIST
|
||||
|
||||
#ifndef SLS_RECEIVER_FUNCTION_LIST_H
|
||||
#define SLS_RECEIVER_FUNCTION_LIST_H
|
||||
/********************************************//**
|
||||
@ -391,4 +392,4 @@ public:
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
//#endif
|
||||
|
@ -32,6 +32,6 @@ int slsReceiverUsers::registerCallBackAcquisitionFinished(void (*func)(int, void
|
||||
|
||||
int slsReceiverUsers::registerCallBackRawDataReady(void (*func)(int, char*, FILE*, char*, void*),void *arg){
|
||||
receiver->registerCallBackRawDataReady(func,arg);
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
|
@ -1,8 +1,4 @@
|
||||
/********************************************//**
|
||||
* @file slsReceiverUsers.h
|
||||
* @short API for implementing the SLS data receiver in the users application. Callbacks can be defined for processing and/or saving data
|
||||
*
|
||||
***********************************************/
|
||||
|
||||
#ifndef SLS_RECEIVER_USERS_H
|
||||
#define SLS_RECEIVER_USERS_H
|
||||
|
||||
@ -10,8 +6,17 @@
|
||||
|
||||
class slsReceiverFuncs;
|
||||
|
||||
/**
|
||||
@short Class for implementing the SLS data receiver in the users application. Callbacks can be defined for processing and/or saving data
|
||||
*/
|
||||
/**
|
||||
|
||||
|
||||
@libdoc slsReceiverUsers is a class that can be instantiated in the users software to receive the data from the detectors. Callbacks can be defined for processing and/or saving data
|
||||
|
||||
|
||||
***********************************************/
|
||||
|
||||
class slsReceiverUsers {
|
||||
|
||||
public:
|
||||
@ -35,42 +40,35 @@ public:
|
||||
void start();
|
||||
|
||||
/**
|
||||
callback arguments are
|
||||
filepath
|
||||
filename
|
||||
fileindex
|
||||
data size
|
||||
|
||||
@sort register calbback for starting the acquisition
|
||||
\param func callback to be called when starting the acquisition. Its arguments are filepath filename fileindex data size
|
||||
|
||||
return value is
|
||||
0 callback takes care of open,close,wrie file
|
||||
1 callback writes file, we have to open, close it
|
||||
2 we open, close, write file, callback does not do anything
|
||||
\returns 0 callback takes care of open,close,write file; 1 callback writes file, we have to open, close it; 2 we open, close, write file, callback does not do anything
|
||||
|
||||
*/
|
||||
|
||||
void registerCallBackStartAcquisition(int (*func)(char*, char*,int, int, void*),void *arg);
|
||||
void registerCallBackStartAcquisition(int (*func)(char* filepath, char* filename,int fileindex, int datasize, void*),void *arg);
|
||||
|
||||
|
||||
/**
|
||||
callback argument is
|
||||
total frames caught
|
||||
|
||||
/**
|
||||
@sort register callback for end of acquisition
|
||||
\param func end of acquisition callback. Argument nf is total frames caught
|
||||
\returns nothing
|
||||
*/
|
||||
|
||||
|
||||
int registerCallBackAcquisitionFinished(void (*func)(int, void*),void *arg);
|
||||
int registerCallBackAcquisitionFinished(void (*func)(int nf, void*),void *arg);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
args to raw data ready callback are
|
||||
framenum
|
||||
datapointer
|
||||
file descriptor
|
||||
guidatapointer (NULL, no data required)
|
||||
@sort register callback to be called when data are available (to process and/or save the data).
|
||||
\param func raw data ready callback. arguments are framenum datapointer file descriptor guidatapointer (NULL, no data required)
|
||||
\returns nothing
|
||||
*/
|
||||
|
||||
int registerCallBackRawDataReady(void (*func)(int, char*, FILE*, char*, void*),void *arg);
|
||||
int registerCallBackRawDataReady(void (*func)(int framenumber, char* datapointer, FILE* filedescriptor, char* guidatapointer, void*),void *arg);
|
||||
|
||||
|
||||
private:
|
||||
|
@ -10,7 +10,6 @@
|
||||
#include "MySocketTCP.h"
|
||||
#include "slsReceiverFunctionList.h"
|
||||
|
||||
class slsReceiverFunctionList;
|
||||
|
||||
|
||||
/**
|
||||
|
Loading…
x
Reference in New Issue
Block a user