Main Page | Namespace List | 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 #include <ipc/ipc.idl> 
00008 #include <Sct_SctApi/SctApi.idl>
00009 
00010 module Sct_CalibrationController {    
00011 
00012     interface CalibrationController;
00013     interface ScanRequest;
00014     interface TestRequest;
00015     interface SequenceRequest;
00016 
00017     interface ScanLibrary {
00018         ScanRequest thresholdScan(in unsigned long nTrigs);
00019         ScanRequest thresholdScanfC(in unsigned long nTrigs, in double calCharge);
00020         ScanRequest thresholdScanfCOffset(in unsigned long nTrigs, in double calCharge, in double offset);
00021         ScanRequest noiseOccupancyScan();
00022         ScanRequest strobeDelayScan(in unsigned long nTrigs);
00023         ScanRequest nmaskScan(in unsigned long nTrigs);
00024         ScanRequest tokenScan();
00025         ScanRequest rawScan(in unsigned long nTrigs, in boolean issueSoftReset);
00026         ScanRequest defaultScan();
00027         //ScanRequest getScan(in string scanName);
00028         //void addScan(in string scanName, in ScanRequest scan);
00029     };
00030 
00031     interface TestLibrary {
00032         // The name that is supplied to the getTestRequestByName method should be the 
00033         // "bare" name of the test, i.e. leave out
00034         // any trailing "Test".  Example:  "StrobeDelay" not "StrobeDelayTest"
00035     typedef sequence<string> Strings;
00036         TestRequest getTestRequestByName(in string name);
00037     Strings getTestNames();
00038     };
00039     
00040     interface SequenceLibrary {
00041         SequenceRequest characterizationSequence();        
00042     };
00043 
00044 
00045 
00046 
00051     interface SequenceRequest {
00056         string startSequence(in Sct_SctApi::SctApiIPC api);
00057 
00062         TestRequest getNextTest(in unsigned long index);
00063 
00067         void endSequence();
00068     };
00069 
00070 
00071 
00072     typedef sequence<double> TestPoints;    
00073 
00075     interface ScanRequest {
00077       Sct_SctApi::Scan getScanCorba();
00079       void setScanCorba(in Sct_SctApi::Scan scan);
00081       boolean configureModulesCorba();
00083       boolean clockByTwoCorba();
00085       void setClockByTwoCorba(in boolean value);
00087       boolean isRawCorba();
00089       long delayCorba();
00091       void setWidthCorba(in long value);
00093       long widthCorba();
00094     };
00095 
00100     interface TestRequest {
00107         void startTest(in Sct_SctApi::SctApiIPC api, out string name, out unsigned short testVariable, out unsigned long nScans, out TestPoints testPointsData);
00108 
00113         ScanRequest getNextScan(in unsigned long index);
00114 
00119         boolean canFeedback();
00120 
00124         void endTest();
00125     };
00126 
00127 
00128     interface CalibrationController : ipc::servant {
00132         //const string serverName = "CalibrationControllerServer";
00133         const string instanceName = "CalibrationControllerImpl";
00134         
00136       ScanLibrary getScanLibrary/*_corba*/();
00137 
00139         TestLibrary getTestLibrary/*_corba*/();
00140 
00142         SequenceLibrary getSequenceLibrary/*_corba*/();
00143         
00145         oneway void doScan/*_corba*/(in ScanRequest s);
00146 
00148         oneway void doTest/*_corba*/(in TestRequest t);
00149 
00151         oneway void doSequence/*_corba*/(in SequenceRequest r);                
00152 
00153 
00155         oneway void abort/*_corba*/();
00156     
00164         enum UpdateOption {update, noupdate, wait};
00165 
00167         oneway void setUpdateOption/*_corba*/(in UpdateOption opt);
00168 
00170         Sct_SctApi::Scan getScan/*_corba*/(in unsigned long runNumber, in unsigned long scanNumber); 
00173       oneway void updateWith(in string testResultInIs, in boolean force);
00174 
00175       Sct_SctApi::SctApiIPC getApi();
00176     };
00177 };
00178 

Generated on Mon Feb 21 11:49:16 2005 for SCT DAQ/DCS Software - IDL by doxygen 1.3.5