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

HighLevelApi.h

00001 #ifndef SCTTEST_HIGHLEVELAPI_H
00002 #define SCTTEST_HIGHLEVELAPI_H
00003 
00004 #include <string>
00005 #include <memory>
00006 #include <ipc/object.h>
00007 #include <boost/shared_ptr.hpp>
00008 #include "ModuleData.h"
00009 #include "SctTestApi.hh"
00010 
00011 using std::string;
00012 
00013 namespace SctData {
00014     class ModuleConfiguration;
00015     class ConfigurationVariable;
00016 }
00017 class TestData;
00018 
00019 extern std::auto_ptr<IPCServer> ipcServer;
00020 
00021 namespace SctTest {
00022 
00023 class HighLevelApi : public IPCObject, public virtual SctTestApi_T_HighLevelApi {
00024 public:
00025     static HighLevelApi& instance();
00026 
00031     void setModuleSerial(string serial);
00032     string getModuleSerial() const;
00033 
00038     void setDataFile(string file);
00039     string getDataFile() const;
00040 
00045     void setXmlSummaryFile(string file);
00046     string getXmlSummaryFile() const;
00047 
00048     //ILU methods
00049     virtual void setDataFile (SctTestApiStatus *_status, ilu_T_CString file);
00050     virtual ilu_T_CString getDataFile (SctTestApiStatus *_status);
00051     virtual void setXmlSummaryFile (SctTestApiStatus *_status, ilu_T_CString file);
00052     virtual ilu_T_CString getXmlSummaryFile (SctTestApiStatus *_status);
00053     virtual void setModuleSerial (SctTestApiStatus *_status, ilu_T_CString serial);
00054     virtual ilu_T_CString getModuleSerial (SctTestApiStatus *_status);
00055     virtual void fullBypass(SctTestApiStatus *_status);
00056     virtual void timeWalk(SctTestApiStatus *_status);
00057     virtual void strobeDelay(SctTestApiStatus *_status);
00058     virtual void threePointGain(SctTestApiStatus *_status);
00059     virtual void responseCurve(SctTestApiStatus *_status);
00060     virtual void noiseOccupancy(SctTestApiStatus *_status);
00061     virtual void trim(SctTestApiStatus *_status);
00062     virtual void pipeline(SctTestApiStatus *_status);
00063 
00064 private:
00065     HighLevelApi();
00066 
00071     void getConfig(string serial);
00072     void addAndGetConfig(string serial);
00073     void publishTest(TestData& t) const;
00074     string getFileName(const TestInfo& info, unsigned int scanNumber) const;
00075     void doTest(const TestInfo& info, TestData& data, const SctData::ConfigurationVariable& var) const;
00076     void publishScan(const TestInfo& info, unsigned int scanNumber, const SctData::ConfigurationVariable& scan_variable, const SctData::ModuleConfiguration& config) const;
00077 
00078     string serial;
00079     string xmlFile;            
00080     ModuleData data;
00081     boost::shared_ptr<SctData::ModuleConfiguration> config;
00082 };
00083 }
00084 
00085 #endif //SCTTEST_HIGHLEVELAPI_H

Generated on Thu Jul 15 09:50:46 2004 for SCT DAQ/DCS Software - C++ by doxygen 1.3.5