Main Page   Modules   Namespace List   Class Hierarchy   Data Structures   File List   Namespace Members   Data Fields   Globals   Related Pages  

CalibrationController.h

Go to the documentation of this file.
00001 #ifndef IPC_CALIBRATIONCONTROLLER_H
00002 #define IPC_CALIBRATIONCONTROLLER_H
00003 
00004 #include "Sct_CalibrationController.hh"
00005 #include <ipc/object.h>
00006 #include <memory>
00007 #include <vector>
00008 #include <boost/shared_ptr.hpp>
00009 
00010 using namespace std;
00011 using boost::shared_ptr;
00012 
00013 namespace SctCalibrationController {
00014 namespace Ipc {
00015 
00016 class ScanLibrary;   
00017 class TestLibrary;
00018 class SequenceLibrary;
00019 class TestSequence;
00020 class TestRequest;
00021 class SequenceRequest;  
00022 
00027 class CalibrationController : public IPCObject, public virtual Sct_CalibrationController_T_CalibrationController {
00028 public:
00029     Sct_CalibrationController_T_ScanLibrary * getScanLibrary (Sct_CalibrationControllerStatus *_status);
00030     Sct_CalibrationController_T_TestLibrary * getTestLibrary (Sct_CalibrationControllerStatus *_status);
00031     Sct_CalibrationController_T_SequenceLibrary * getSequenceLibrary (Sct_CalibrationControllerStatus *_status);
00032     void doScan (Sct_CalibrationControllerStatus *_status, Sct_SctApi_T_Scan * s);
00033     void doTest (Sct_CalibrationControllerStatus *_status, Sct_CalibrationController_T_TestRequest *t);
00034     void doSequence (Sct_CalibrationControllerStatus *_status, Sct_CalibrationController_T_SequenceRequest * r);
00035     void abort (Sct_CalibrationControllerStatus *_status);
00036     Sct_SctApi_T_Scan * getScan (Sct_CalibrationControllerStatus *_status, ilu_Cardinal runNumber, ilu_Cardinal scanNumber);
00037     void setUpdateOption(Sct_CalibrationControllerStatus *_status, Sct_CalibrationController_T_CalibrationController_UpdateOption);
00038     
00039     static IPCServer& getServer();
00040     
00041     //New pure functions - the nice interface!
00042     
00043     virtual ScanLibrary& getScanLibrary() const = 0;
00044     virtual TestLibrary& getTestLibrary() const = 0;
00045     virtual SequenceLibrary& getSequenceLibrary() const = 0;
00046     virtual void doScan (Sct_SctApi_T_Scan* s) = 0;
00047     virtual void doTest (shared_ptr<TestRequest> t) = 0;
00048     virtual void doSequence(shared_ptr<SequenceRequest> r) = 0;
00049     virtual void abort() = 0;
00050     virtual Sct_SctApi_T_Scan* getScan(unsigned long runNumber, unsigned long scanNumber) const = 0;
00051     virtual void setUpdateOption(Sct_CalibrationController_T_CalibrationController_UpdateOption opt) =0;
00052  
00053 protected:
00054     CalibrationController();
00055     virtual ~CalibrationController();
00056 };
00057 }
00058 }
00059 #endif //#ifndef CALIBRATIONCONTROLLER_H

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