areaDetector 3-14
EPICS areaDetector framework
hamamatsu.h
Go to the documentation of this file.
1/* For end use and not for commercial purposes */
2
3#include <epicsEvent.h>
4#include "ADDriver.h"
5
6#include "console4.h"
7#include "common.h"
8#include "dcamapi4.h"
9#include "dcamprop.h"
10
11
12
13#define DRIVER_VERSION 2
14#define DRIVER_REVISION 9
15#define DRIVER_MODIFICATION 0
16
18class epicsShareClass hamamatsu : public ADDriver {
19public:
20 hamamatsu(const char *portName, int camIndex, int maxBuffers, size_t maxMemory,
21 int priority, int stackSize);
22
23 /* These are the methods that we override from ADDriver */
24 virtual asynStatus writeInt32(asynUser *pasynUser, epicsInt32 value);
25 virtual asynStatus writeFloat64(asynUser *pasynUser, epicsFloat64 value);
26 virtual void setShutter(int open);
27 virtual void report(FILE *fp, int details);
28 void simTask();
29 ~hamamatsu();
30 static void hamaExit();
31 void hamaAcquire();
32 void hamaAbortAcquisition();
33
34protected:
36 #define FIRST_HAMA_DETECTOR_PARAM HamaRegionReset
46
47private:
48 /* These are the methods that are new to this class */
49 BOOL copy_targetarea( HDCAM hdcam, int32 iFrame, void* buf, int32 rowbytes, int32 ox, int32 oy, int32 cx, int32 cy );
50 void get_image_information( HDCAM hdcam, int32& pixeltype, int32& width, int32& rowbytes, int32& height );
51 void sample_access_image( HDCAM hdcam );
52 void updateCoolerInfo(void);
53
54 /* Our data */
55 epicsEventId startEventId_;
56 epicsEventId stopEventId_;
57 HDCAM hdcam;
58 DCAMAPI_INIT apiinit;
59 HDCAMWAIT hwait;
60};
61
62#define HamaRegionResetString "HamaRegionReset"
63#define HamaTriggerSourceString "HamaTriggerSource"
64#define HamaTriggerModeString "HamaTriggerMode"
65#define HamaTriggerActiveString "HamaTriggerActive"
66#define HamaTriggerPolarityString "HamaTriggerPolarity"
67#define HamaFireTriggerString "HamaFireTrigger"
68#define HamaTriggerTimesString "HamaTriggerTimes"
69#define HamaTriggerDelayString "HamaTriggerDelay"
70#define HamaSensorCoolerStatusString "HamaSensorCoolerStatus"
71#define HamaReadoutSpeedString "HamaReadoutSpeed"
Class from which areaDetector drivers are directly derived.
Definition ADDriver.h:132
virtual asynStatus writeInt32(asynUser *pasynUser, epicsInt32 value)
Sets an int32 parameter.
Definition ADDriver.cpp:84
virtual void setShutter(int open)
Set the shutter position.
Definition ADDriver.cpp:29
virtual void report(FILE *fp, int details)
Report status of the driver.
Definition asynNDArrayDriver.cpp:753
Hamamatsu detector driver.
Definition hamamatsu.h:18
int HamaTriggerSource
Definition hamamatsu.h:37
int HamaSensorCoolerStatus
Definition hamamatsu.h:44
int HamaRegionReset
Definition hamamatsu.h:35
int HamaTriggerDelay
Definition hamamatsu.h:43
void simTask()
Should be private, but gets called from C, so must be public.
int HamaTriggerActive
Definition hamamatsu.h:39
int HamaTriggerTimes
Definition hamamatsu.h:42
int HamaFireTrigger
Definition hamamatsu.h:41
int HamaReadoutSpeed
Definition hamamatsu.h:45
int HamaTriggerPolarity
Definition hamamatsu.h:40
int HamaTriggerMode
Definition hamamatsu.h:38
unsigned char * buf
Definition udp_client_pixirad_single.cpp:70