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     };
00028 
00029     interface TestLibrary {
00030         // The name that is supplied to the getTestRequestByName method should be the 
00031         // "bare" name of the test, i.e. leave out
00032         // any trailing "Test".  Example:  "StrobeDelay" not "StrobeDelayTest"
00033     typedef sequence<string> Strings;
00034         TestRequest getTestRequestByName(in string name);
00035     Strings getTestNames();
00036     };
00037     
00038     interface SequenceLibrary {
00039         SequenceRequest characterizationSequence();        
00040         SequenceRequest quickCharacterizationSequence();        
00041     };
00042 
00043 
00044 
00045 
00050     interface SequenceRequest {
00055         string startSequence(in Sct_SctApi::SctApiIPC api);
00056 
00061         TestRequest getNextTest(in unsigned long index);
00062 
00066         void endSequence();
00067     };
00068 
00069 
00070 
00071     typedef sequence<double> TestPoints;    
00072 
00074     interface ScanRequest {
00076       Sct_SctApi::Scan getScanCorba();
00078       void setScanCorba(in Sct_SctApi::Scan scan);
00080       void setConfigureModulesCorba(in boolean value);
00082       boolean configureModulesCorba();
00084       boolean clockByTwoCorba();
00086       void setClockByTwoCorba(in boolean value);
00088       boolean isRawCorba();
00090       long delayCorba();
00092       void setWidthCorba(in long value);
00094       long widthCorba();
00095     };
00096 
00101     interface TestRequest {
00108         void startTest(in Sct_SctApi::SctApiIPC api, out string name, out unsigned short testVariable, out unsigned long nScans, out TestPoints testPointsData);
00109 
00114         ScanRequest getNextScan(in unsigned long index);
00115 
00120         boolean canFeedback();
00121 
00125         void endTest();
00129     string getAnalysisAlgorithm();
00133     void setAnalysisAlgorithm(in string name);
00137     string getFitAlgorithm();
00141     void setFitAlgorithm(in string name);
00145     };
00146 
00147 
00148     interface CalibrationController : ipc::servant {
00152         //const string serverName = "CalibrationControllerServer";
00153         const string instanceName = "CalibrationControllerImpl";
00154         
00156       ScanLibrary getScanLibrary/*_corba*/();
00157 
00159         TestLibrary getTestLibrary/*_corba*/();
00160 
00162         SequenceLibrary getSequenceLibrary/*_corba*/();
00163         
00165         oneway void doScan/*_corba*/(in ScanRequest s);
00166 
00168         oneway void doTest/*_corba*/(in TestRequest t);
00169 
00171         oneway void doSequence/*_corba*/(in SequenceRequest r);                
00172 
00173 
00175         oneway void abort/*_corba*/();
00176     
00184         enum UpdateOption {update, noupdate, wait};
00185 
00187         oneway void setUpdateOption/*_corba*/(in UpdateOption opt);
00188 
00190         Sct_SctApi::Scan getScan/*_corba*/(in unsigned long runNumber, in unsigned long scanNumber); 
00193       oneway void updateWith(in string testResultInIs, in boolean force);
00194 
00195       Sct_SctApi::SctApiIPC getApi();
00196     };
00197 };
00198 

Generated on Mon Feb 6 14:20:17 2006 for SCT DAQ/DCS Software - IDL by  doxygen 1.4.6