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

Configuration.cpp

00001 #include "Configuration.h"
00002 #include "ScanMap.h"
00003 #include "Sct/Env.h"
00004 #include "Sct/IoExceptions.h"
00005 #include "Sct/ILUMarshalling.h"
00006 #include "Sct_SctApi/SctApiServer.h"
00007 
00008 using namespace Sct;
00009 
00010 namespace SctTest {
00011 
00012 Configuration::Configuration() : IPCObject(SctTestApi_C_Configuration_instanceName, ipcServer.get()){
00013     try {
00014     setDataFile("${SCT_DAQ_ROOT}/installed/config/TestConfig/ModuleData.txt");
00015     } catch (Sct::FileException& fe) {
00016         fe.sendToMrs(MRS_INFORMATION);
00017     }
00018     setFastTimes();
00019     //setRealisticTimes();
00020 }
00021 
00022 Configuration& Configuration::instance() {
00023     static Configuration configuration;
00024     return configuration;
00025 }
00026 
00027 void Configuration::setDataFile(string file) {
00028     string temp = Env::substituteVariables(file);
00029     ScanMap::instance().initialize(temp);
00030     dataFile = temp;
00031 }
00032 
00033 string Configuration::getDataFile() const {
00034     return dataFile;
00035 }
00036 
00037 void Configuration::setFastTimes() {
00038     setScanTime(5);
00039     setReadoutTime(1);
00040     setMultiDspEfficiency(1);
00041 }
00042 
00043 void Configuration::setRealisticTimes() {
00044     setScanTime(30);
00045     setReadoutTime(1);
00046     setMultiDspEfficiency(0.9);
00047 }
00048 
00049 void Configuration::setScanTime(unsigned int time) {
00050     scanTime = time;
00051 }
00052 
00053 unsigned int Configuration::getScanTime() const {
00054     return scanTime;
00055 }
00056 
00057 void Configuration::setMultiDspEfficiency(double efficiency) {
00058     dspEfficiency = efficiency;
00059 }
00060 
00061 double Configuration::getMultiDspEfficiency() const {
00062     return dspEfficiency;
00063 }
00064 
00065 void Configuration::setReadoutTime(unsigned int time) {
00066     readoutTime = time;
00067 }
00068 
00069 unsigned int Configuration::getReadoutTime() const {
00070     return readoutTime;
00071 }
00072 
00073 //ILU methods:
00074 void Configuration::setDataFile (SctTestApiStatus *_status, ilu_T_CString file) {
00075     try {
00076         setDataFile(file);
00077     } catch (Sct::FileException& e) {
00078         _status->returnCode = SctTestApi_E_NoSuchFileException;
00079     }
00080 }
00081 
00082 ilu_T_CString Configuration::getDataFile (SctTestApiStatus *_status) {
00083     return copyStringToILU(getDataFile());
00084 }
00085 
00086 void Configuration::setFastTimes (SctTestApiStatus *_status) {
00087     setFastTimes();
00088 }
00089 
00090 void Configuration::setRealisticTimes (SctTestApiStatus *_status) {
00091     setRealisticTimes();
00092 }
00093 
00094 void Configuration::setScanTime (SctTestApiStatus *_status, ilu_Integer time) {
00095     setScanTime(time);
00096 }
00097 
00098 ilu_Integer Configuration::getScanTime (SctTestApiStatus *_status) {
00099     return getScanTime();
00100 }
00101 
00102 void Configuration::setMultiDspEfficiency (SctTestApiStatus *_status, ilu_Real efficiency) {
00103     setMultiDspEfficiency(efficiency);
00104 }
00105 
00106 ilu_Real Configuration::getMultiDspEfficiency (SctTestApiStatus *_status) {
00107     return getMultiDspEfficiency();
00108 }
00109 
00110 void Configuration::setReadoutTime (SctTestApiStatus *_status, ilu_Integer time) {
00111     setReadoutTime(time);
00112 }
00113 
00114 ilu_Integer Configuration::getReadoutTime (SctTestApiStatus *_status) {
00115     return getReadoutTime();
00116 }
00117 
00118 }

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