11 #ifndef CCD_MULTI_TRACK_H
12 #define CCD_MULTI_TRACK_H
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);
72 #endif //CCD_MULTI_TRACK_H
int CCDMultiTrackBin() const
Definition: CCDMultiTrack.h:40
Base class for asyn port drivers; handles most of the bookkeeping for writing an asyn port driver wit...
Definition: asynPortDriver.h:45
int CCDMultiTrackStart() const
Definition: CCDMultiTrack.h:34
int TrackEnd(size_t TrackNum) const
Definition: CCDMultiTrack.h:46
int CCDMultiTrackEnd() const
Definition: CCDMultiTrack.h:37
size_t size() const
Definition: CCDMultiTrack.h:31
NDAttributeList.h.
Definition: NDAttributeList.h:21
Area Detector class enabling multi-ROI driver for the Andor CCD.
Definition: CCDMultiTrack.h:18
int TrackHeight(size_t TrackNum) const
Definition: CCDMultiTrack.h:49
#define ADCORE_API
Definition: ADCoreAPI.h:41
int TrackBin(size_t TrackNum) const
Definition: CCDMultiTrack.h:52
int TrackStart(size_t TrackNum) const
Definition: CCDMultiTrack.h:43
int DataHeight(size_t TrackNum) const
Definition: CCDMultiTrack.h:56