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 #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 ScanRequest;
00018     interface TestRequest;
00019     interface SequenceRequest;
00020 
00021     interface ScanLibrary {
00022         ScanRequest thresholdScan(in unsigned long nTrigs);
00023         ScanRequest thresholdScanfC(in unsigned long nTrigs, in double calCharge);
00024         ScanRequest noiseOccupancyScan();
00025         ScanRequest strobeDelayScan(in unsigned long nTrigs);
00026         ScanRequest nmaskScan(in unsigned long nTrigs);
00027         ScanRequest tokenScan();
00028         ScanRequest rawScan(in unsigned long nTrigs);
00029         ScanRequest defaultScan();
00030         //ScanRequest getScan(in string scanName);
00031         //void addScan(in string scanName, in ScanRequest scan);
00032     };
00033 
00034     interface TestLibrary {
00035         TestRequest responseCurve();
00036         TestRequest threePointGain();
00037         TestRequest strobeDelay();
00038         TestRequest noiseOccupancy();
00039         TestRequest pipeline();
00040         TestRequest fullBypassBarrel();
00041         TestRequest fullBypassEndcap();
00042         TestRequest trimRange();
00043         TestRequest timeWalk();
00044         TestRequest nmask();
00045       TestRequest rxDelay();
00046       TestRequest rxThreshold();
00047     };
00048     
00049     interface SequenceLibrary {
00050         SequenceRequest characterizationSequence();        
00051     };
00052 
00053 
00054 
00055 
00060     interface SequenceRequest {
00065         string startSequence(in Sct_SctApi::SctApi api);
00066 
00071         TestRequest getNextTest(in unsigned long index);
00072 
00076         void endSequence();
00077     };
00078 
00079 
00080 
00081     typedef sequence<double> TestPoints;    
00082 
00084     interface ScanRequest {
00086       Sct_SctApi::Scan getScan();
00088       void setScan(in Sct_SctApi::Scan scan);
00090       boolean configureModules();
00092       boolean clockByTwo();
00094       void setClockByTwo(in boolean value);
00096       boolean isRaw();
00098       long delay();
00100       void setWidth(in long value);
00102       long width();
00103     };
00104 
00109     interface TestRequest {
00116         void startTest(in Sct_SctApi::SctApi api, out string name, out unsigned short testVariable, out unsigned long nScans, out TestPoints testPointsData);
00117 
00122         ScanRequest getNextScan(in unsigned long index);
00123 
00128         boolean canFeedback();
00129 
00133         void endTest();
00134     };
00135 
00136 
00137     interface CalibrationController : ipc::freeable {
00141         const string serverName = "CalibrationControllerServer";
00142         const string instanceName = "CalibrationControllerImpl";
00143         
00145         ScanLibrary getScanLibrary();
00146 
00148         TestLibrary getTestLibrary();
00149 
00151         SequenceLibrary getSequenceLibrary();
00152         
00154         oneway void doScan(in ScanRequest s);
00155 
00157         oneway void doTest(in TestRequest t);
00158 
00160         oneway void doSequence(in SequenceRequest r);                
00161 
00162 
00164         oneway void abort();
00165     
00173         enum UpdateOption {update, noupdate, wait};
00174 
00176         oneway void setUpdateOption(in UpdateOption opt);
00177 
00179         Sct_SctApi::Scan getScan(in unsigned long runNumber, in unsigned long scanNumber); 
00181       oneway void updateWith(in string testResultInIs);
00182     };
00183 };
00184 

Generated on Thu Jul 15 09:58:36 2004 for SCT DAQ/DCS Software - IDL by doxygen 1.3.5