Configuration.cpp

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

Generated on Mon Feb 6 14:01:18 2006 for SCT DAQ/DCS Software - C++ by  doxygen 1.4.6