Main Page   Namespace List   Class Hierarchy   Data Structures   File List   Namespace Members   Data Fields  

CalibrationController.idl

Go to the documentation of this file.
00001 //
00002 // ConfigurationController.idl
00003 //
00004 // Created on 20 June 2003, 12:20
00005 // by Matthew Palmer
00006 //
00007 #ifndef IPC_IDL
00008 #include <ipc/ipc.idl> 
00009 #define IPC_IDL
00010 #endif 
00011 
00012 #include <SctApi/SctApi.idl>
00013 
00014 module Sct_CalibrationController {    
00015 
00016     interface CalibrationController;
00017     interface TestRequest;
00018     interface SequenceRequest;
00019 
00020     interface ScanLibrary {
00021         Sct_SctApi::Scan thresholdScan(in unsigned long nTrigs);
00022         Sct_SctApi::Scan thresholdScanfC(in unsigned long nTrigs, in double calCharge);
00023         Sct_SctApi::Scan strobeDelayScan(in unsigned long nTrigs);
00024         Sct_SctApi::Scan nmaskScan(in unsigned long nTrigs);
00025         Sct_SctApi::Scan tokenScan();
00026         //Sct_SctApi::Scan getScan(in string scanName);
00027         //void addScan(in string scanName, in Sct_SctApi::Scan scan);
00028     };
00029 
00030     interface TestLibrary {
00031         TestRequest responseCurve();
00032         TestRequest threePointGain();
00033         TestRequest strobeDelay();
00034         TestRequest noiseOccupancy();
00035         TestRequest pipeline();
00036         TestRequest fullBypass();
00037         TestRequest trimRange();
00038         TestRequest timeWalk();
00039         TestRequest nmask();
00040     };
00041     
00042     interface SequenceLibrary {
00043         SequenceRequest characterizationSequence();        
00044     };
00045 
00046 
00047 
00048 
00053     interface SequenceRequest {
00058         string startSequence(in Sct_SctApi::SctApi api);
00059 
00064         TestRequest getNextTest(in unsigned long index);
00065 
00069         void endSequence();
00070     };
00071 
00072 
00073 
00074     typedef sequence<double> TestPoints;    
00075 
00076 
00081     interface TestRequest {
00088         void startTest(in Sct_SctApi::SctApi api, out string name, out unsigned short testVariable, out unsigned long nScans, out TestPoints testPointsData);
00089 
00094         Sct_SctApi::Scan getNextScan(in unsigned long index);
00095 
00100         boolean canFeedback();
00101 
00105         void endTest();
00106     };
00107 
00108 
00109     interface CalibrationController : ipc::freeable {
00113         const string serverName = "CalibrationControllerServer";
00114         const string instanceName = "CalibrationControllerImpl";
00115         
00117         ScanLibrary getScanLibrary();
00118 
00120         TestLibrary getTestLibrary();
00121 
00123         SequenceLibrary getSequenceLibrary();
00124         
00126         oneway void doScan(in Sct_SctApi::Scan s);
00127 
00129         oneway void doTest(in TestRequest t);
00130 
00132         oneway void doSequence(in SequenceRequest r);                
00133 
00134 
00136         oneway void abort();
00137     
00145         enum UpdateOption {update, noupdate, wait};
00146 
00148         oneway void setUpdateOption(in UpdateOption opt);
00149 
00151         Sct_SctApi::Scan getScan(in unsigned long runNumber, in unsigned long scanNumber); 
00152     };
00153 };
00154 

Generated on Mon Dec 15 19:39:30 2003 for SCT DAQ/DCS Software by doxygen1.3-rc3