11 #ifndef CCD_MULTI_TRACK_H
12 #define CCD_MULTI_TRACK_H
14 #include <asynPortDriver.h>
20 asynPortDriver* mPortDriver;
22 int mCCDMultiTrackStart;
23 int mCCDMultiTrackEnd;
24 int mCCDMultiTrackBin;
26 std::vector<int> mTrackStart;
27 std::vector<int> mTrackEnd;
28 std::vector<int> mTrackBin;
32 return mTrackStart.size();
35 return mCCDMultiTrackStart;
38 return mCCDMultiTrackEnd;
41 return mCCDMultiTrackBin;
44 return (TrackNum < mTrackStart.size()) ? mTrackStart[TrackNum] : 0;
47 return (TrackNum < mTrackEnd.size()) ? mTrackEnd[TrackNum] : TrackStart(TrackNum);
50 return TrackEnd(TrackNum) + 1 - TrackStart(TrackNum);
53 return (TrackNum < mTrackBin.size()) ? mTrackBin[TrackNum] : TrackHeight(TrackNum);
55 int DataHeight()
const;
57 return TrackHeight(TrackNum) / TrackBin(TrackNum);
61 asynStatus writeInt32Array(asynUser *pasynUser, epicsInt32 *
value,
size_t nElements);
66 void writeTrackStart(epicsInt32 *
value,
size_t nElements);
67 void writeTrackEnd(epicsInt32 *
value,
size_t nElements);
68 void writeTrackBin(epicsInt32 *
value,
size_t nElements);
#define ADCORE_API
Definition: ADCoreAPI.h:41
Area Detector class enabling multi-ROI driver for the Andor CCD.
Definition: CCDMultiTrack.h:19
int TrackStart(size_t TrackNum) const
Definition: CCDMultiTrack.h:43
int TrackHeight(size_t TrackNum) const
Definition: CCDMultiTrack.h:49
int CCDMultiTrackEnd() const
Definition: CCDMultiTrack.h:37
int DataHeight(size_t TrackNum) const
Definition: CCDMultiTrack.h:56
size_t size() const
Definition: CCDMultiTrack.h:31
int CCDMultiTrackStart() const
Definition: CCDMultiTrack.h:34
int CCDMultiTrackBin() const
Definition: CCDMultiTrack.h:40
int TrackBin(size_t TrackNum) const
Definition: CCDMultiTrack.h:52
int TrackEnd(size_t TrackNum) const
Definition: CCDMultiTrack.h:46
NDAttributeList.h.
Definition: NDAttributeList.h:21
list value
Definition: makeDbAndEdl.py:234