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, in boolean issueSoftReset);
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 fivePointGain();
00038         TestRequest strobeDelay();
00039         TestRequest noiseOccupancy();
00040         TestRequest pipeline();
00041         TestRequest fullBypassBarrel();
00042         TestRequest fullBypassEndcap();
00043         TestRequest trimRange();
00044         TestRequest quickTrimRange();
00045         TestRequest timeWalk();
00046         TestRequest nmask();
00047         TestRequest doubleTriggerNoise();
00048         TestRequest synchTriggerNoise();
00049       TestRequest rxDelay();
00050       TestRequest rxThreshold();
00051       TestRequest rxThresholdBasedOnConfigRegister();
00052       TestRequest txCurrent();
00053     };
00054     
00055     interface SequenceLibrary {
00056         SequenceRequest characterizationSequence();        
00057         SequenceRequest quickCharacterizationSequence();        
00058     };
00059 
00060 
00061 
00062 
00067     interface SequenceRequest {
00072         string startSequence(in Sct_SctApi::SctApi api);
00073 
00078         TestRequest getNextTest(in unsigned long index);
00079 
00083         void endSequence();
00084     };
00085 
00086 
00087 
00088     typedef sequence<double> TestPoints;    
00089 
00091     interface ScanRequest {
00093       Sct_SctApi::Scan getScan();
00095       void setScan(in Sct_SctApi::Scan scan);
00097       boolean configureModules();
00099       boolean clockByTwo();
00101       void setClockByTwo(in boolean value);
00103       boolean isRaw();
00105       long delay();
00107       void setWidth(in long value);
00109       long width();
00110     };
00111 
00116     interface TestRequest {
00123         void startTest(in Sct_SctApi::SctApi api, out string name, out unsigned short testVariable, out unsigned long nScans, out TestPoints testPointsData);
00124 
00129         ScanRequest getNextScan(in unsigned long index);
00130 
00135         boolean canFeedback();
00136 
00140         void endTest();
00141     };
00142 
00143 
00144     interface CalibrationController : ipc::freeable {
00148         const string serverName = "CalibrationControllerServer";
00149         const string instanceName = "CalibrationControllerImpl";
00150         
00152         ScanLibrary getScanLibrary();
00153 
00155         TestLibrary getTestLibrary();
00156 
00158         SequenceLibrary getSequenceLibrary();
00159         
00161         oneway void doScan(in ScanRequest s);
00162 
00164         oneway void doTest(in TestRequest t);
00165 
00167         oneway void doSequence(in SequenceRequest r);                
00168 
00169 
00171         oneway void abort();
00172     
00180         enum UpdateOption {update, noupdate, wait};
00181 
00183         oneway void setUpdateOption(in UpdateOption opt);
00184 
00186         Sct_SctApi::Scan getScan(in unsigned long runNumber, in unsigned long scanNumber); 
00189       oneway void updateWith(in string testResultInIs, in boolean force);
00190     };
00191 };
00192 

Generated on Fri Jan 14 12:51:38 2005 for SCT DAQ/DCS Software - IDL by doxygen 1.3.5