Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Related Pages

StrobeDelayScan.h

00001 #ifndef STROBEDELAYSCAN_H
00002 #define STROBEDELAYSCAN_H
00003 
00004 #include "../ipc/Sct_CalibrationController.hh"
00005 #include "../CalibrationControllerImpl.h"
00006 #include "../SctApiAccessException.h"
00007 #include "Sct/LogicErrors.h"
00008 
00009 #include <CommonWithDsp/ABCD/ABCDscans.h>
00010 
00011 using namespace Sct;
00012 using namespace SctCalibrationController::Ipc;
00013 namespace SctCalibrationController {
00014 namespace Scripts {
00015     
00016 class StrobeDelayScan : public ScanRequestImpl {
00017 public:
00018     static ScanRequestImpl& strobeDelayScan(unsigned long nTrigs) {
00019       static StrobeDelayScan request;
00020       Sct_SctApi_T_SctApi* api = CalibrationControllerImpl::instance().getApi();
00021       Sct_SctApi_T_Scan* s = 0;
00022       APIRETCALL(api, s, createScan(&st), "Failed to create scan")
00023     request.setScan(s);
00024     
00025        APICALL(s, setNTrigs(&st, nTrigs), "Failed to set triggers")
00026 
00027         Sct_SctApi_T_Trigger* t = 0;
00028         APIRETCALL(s, t, getTrigger1(&st), "Failed to get Trigger1")
00029 
00030         APICALL(t, calL1A(&st, 0x82), "Failed to set trigger type")
00031 
00032         APICALL(s, setOption(&st, Sct_SctApi_T_Scan_ScanOptions_loopCalLine, 1), "Failed to set loopCalLine")
00033 
00034         APICALL(s, configure(&st, ST_STROBE_DELAY, 0, 63, 1), "Failed to set Scan information")
00035 
00036         return request;
00037     }
00038     
00039 private:
00040     StrobeDelayScan(){;}
00041 };
00042     
00043 }
00044 }
00045 
00046 #endif //STROBEDELAYSCAN_H

Generated on Thu Jul 15 09:50:54 2004 for SCT DAQ/DCS Software - C++ by doxygen 1.3.5