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

NMaskTest.h

00001 #ifndef SCTCALIBRATIONCONTROLLER_NMASKTEST_H
00002 #define SCTCALIBRATIONCONTROLLER_NMASKTEST_H
00003 
00004 #include "../ipc/TestRequest.h"
00005 #include "../ipc/CalibrationController.h"
00006 #include "../ipc/ScanLibrary.h"
00007 #include "../ipc/Sct_CalibrationController.hh"
00008 
00009 #include "../SctApiAccessException.h"
00010 #include "../SctApiCall.h"
00011 #include "../CalibrationControllerImpl.h"
00012 #include "Sct/LogicErrors.h"
00013 
00014 #include <CommonWithDsp/ABCD/ABCDscans.h>
00015 #include <iostream>
00016 #include <vector>
00017 
00018 using namespace Sct;
00019 using namespace std;
00020 using namespace SctCalibrationController::Ipc;
00021 using namespace SctCalibrationController;
00022 
00023 namespace SctCalibrationController {
00024 namespace Scripts {
00025     
00026 class NMaskTest : public TestRequestImpl {
00027 public: 
00028     static NMaskTest& instance() {
00029     static NMaskTest rc;
00030     return rc;
00031     }
00032     
00033     virtual void startTest(Sct_SctApi_T_SctApi& api, string& name, unsigned short& testVariable, unsigned long& nScans, vector<double>& testPoints) {   
00034     this->api = &api;
00035 
00036         // Compression mode X1X
00037         APICALL(&api, modifyABCDVar(&st, ST_COMPRESSION, 1), "NMaskTest::startTest")
00038 
00039         // Edge detect off
00040         APICALL(&api, modifyABCDVar(&st, ST_EDGE_DETECT, 0), "NMaskTest::startTest")
00041 
00042         // No masked channels
00043         APICALL(&api, modifyABCDVar(&st, ST_SEND_MASK, 1), "NMaskTestassTest::startTest")
00044 
00045     name = "NMaskTest";
00046     testVariable = ST_ELAPSED;
00047     nScans = 1;
00048     
00049     testPoints.push_back(nTriggers);
00050     }
00051     
00052     virtual ScanRequest* getNextScan(unsigned long index) {
00053     ScanLibrary& sl = CalibrationControllerImpl::instance().getScanLibrary();
00054     return &sl.nmaskScan(nTriggers);
00055     }
00056     
00057     virtual bool canFeedback() {
00058     return false;
00059     }
00060     
00061     virtual void endTest() {
00062     api = 0;
00063     }
00064     
00065 private:
00066     NMaskTest() {}
00067     Sct_SctApi_T_SctApi* api;    
00068     static const int nTriggers = 100;
00069 };
00070 }
00071 }
00072 #endif //SCTCALIBRATIONCONTROLLER_NMASKTEST_H

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