/search.css" rel="stylesheet" type="text/css"/> /search.js">
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

__init__.py
Go to the documentation of this file.
00001 #!/usr/bin/env python
00002 
00003 __all__ = ['Configure']
00004 
00005 from DybPython.Tools import realpath
00006 
00007 class DataSvcConfigure:
00008     '''
00009     Setup configuration for DataSvc.
00010     '''
00011 
00012     # Define default configuration common for all instances
00013     def __init__(self):
00014         '''
00015         Setup default configuration of DataSvc.
00016         '''
00017         cableSvcName = "StaticCableSvc"
00018         simDataSvcName = "StaticSimDataSvc"
00019         calibDataSvcName = "StaticCalibDataSvc"
00020         #feeCableMapPath = '$DATASVCROOT/share/feeCableMap.txt'
00021         feeCableMapPath = ''
00022         pmtSimDataPath = '$DATASVCROOT/share/pmtDataTable.txt'
00023         feeSimDataPath = '$DATASVCROOT/share/feeDataTable.txt'
00024         pmtCalibDataPath = '$DATASVCROOT/share/pmtCalibTable.txt'
00025         feeCalibDataPath = '$DATASVCROOT/share/feeCalibTable.txt'
00026 
00027         self.setCableSvc( cableSvcName )
00028         self.setFeeCableMap( feeCableMapPath )
00029 
00030         self.setSimDataSvc( simDataSvcName )
00031         self.setPmtSimData( pmtSimDataPath )
00032         self.setFeeSimData( feeSimDataPath )
00033 
00034         self.setCalibDataSvc( calibDataSvcName )
00035         self.setPmtCalibData( pmtCalibDataPath )
00036         self.setFeeCalibData( feeCalibDataPath )
00037         return
00038 
00039     def applyArgs(self,args,kwd):
00040         ''' Generic function for setting members based on arguments '''
00041         memberNames = kwd.keys()
00042         # I could use some python tricks to shorten this, but then no
00043         # one would understand it.
00044         for member in memberNames:
00045             value = kwd[member]
00046             if member == "cableSvc":
00047                 self.setCableSvc( value )
00048             elif member == "simDataSvc":
00049                 self.setSimDataSvc( value )
00050             elif member == "calibDataSvc":
00051                 self.setCalibDataSvc( value )
00052             elif member == "feeCableMapPath":
00053                 self.setFeeCableMap( value )
00054             elif member == "pmtSimDataPath":
00055                 self.setPmtSimData( value )
00056             elif member == "feeSimDataPath":
00057                 self.setFeeSimData( value )
00058             elif member == "pmtCalibDataPath":
00059                 self.setPmtCalibData( value )
00060             elif member == "feeCalibDataPath":
00061                 self.setFeeCalibData( value )
00062             else:
00063                 print "Error: DataSvc: Unknown option \"%s\"" % (member)
00064 
00065     def setCableSvc(self, cableSvcName):
00066         if cableSvcName == "StaticCableSvc":
00067             from DataSvc.DataSvcConf import StaticCableSvc
00068             self.cableSvc = StaticCableSvc()
00069         elif cableSvcName == "DbiCableSvc":
00070             from DbiDataSvc.DbiDataSvcConf import DbiCableSvc
00071             self.cableSvc = DbiCableSvc()
00072         else:
00073             print "Error: DataSvc: Unknown cable service \"%s\"" % (
00074                                                                    cableSvcName)
00075 
00076     def setSimDataSvc(self, simDataSvcName):
00077         if simDataSvcName == "StaticSimDataSvc":
00078             from DataSvc.DataSvcConf import StaticSimDataSvc
00079             self.simDataSvc = StaticSimDataSvc()
00080         elif simDataSvcName == "DbiSimDataSvc":
00081             from DbiDataSvc.DbiDataSvcConf import DbiSimDataSvc
00082             self.simDataSvc = DbiSimDataSvc()
00083         else:
00084             print "Error: DataSvc: Unknown sim data service \"%s\"" % (
00085                                                                  simDataSvcName)
00086 
00087     def setCalibDataSvc(self, calibDataSvcName):
00088         print 'setCalibDataSvc(',calibDataSvcName,')'
00089         if calibDataSvcName == "StaticCalibDataSvc":
00090             from DataSvc.DataSvcConf import StaticCalibDataSvc
00091             self.calibDataSvc = StaticCalibDataSvc()
00092         elif calibDataSvcName == "DbiCalibDataSvc":
00093             from DbiDataSvc.DbiDataSvcConf import DbiCalibDataSvc
00094             self.calibDataSvc = DbiCalibDataSvc()
00095         else:
00096             print "Error: DataSvc: Unknown calib data service \"%s\"" % (
00097                                                                calibDataSvcName)
00098                 
00099     def setFeeCableMap(self, feeCableMapPath):
00100         ''' Set the FEE/PMT/Hardware cable connections data file''' 
00101         #self.cableSvc.FeeCableMap = realpath( feeCableMapPath )
00102         self.cableSvc.FeeCableMap = feeCableMapPath
00103         return
00104 
00105     def setPmtSimData(self, pmtSimDataPath):
00106         ''' Set the simulation input parameter data file''' 
00107         self.simDataSvc.PmtDataFile = realpath( pmtSimDataPath )
00108         return
00109 
00110     def setFeeSimData(self, feeSimDataPath):
00111         ''' Set the simulation input parameter data file''' 
00112         self.simDataSvc.FeeDataFile = realpath( feeSimDataPath )
00113         return
00114 
00115     def setPmtCalibData(self, pmtCalibDataPath):
00116         ''' Set the calibration input parameter data file''' 
00117         print 'DataSvc.Configure',self.__doc__,pmtCalibDataPath
00118         self.calibDataSvc.PmtDataFile = realpath( pmtCalibDataPath )
00119         return
00120 
00121     def setFeeCalibData(self, feeCalibDataPath):
00122         ''' Set the calibration input parameter data file''' 
00123         self.calibDataSvc.FeeDataFile = realpath( feeCalibDataPath )
00124         return
00125 
00126 configureObject = None
00127 
00128 def Configure(*args,**kwd):
00129     global configureObject
00130     # Make a configure object if one hasn't been created
00131     if configureObject == None:
00132         configureObject = DataSvcConfigure()
00133     # Apply any arguments passed by user
00134     configureObject.applyArgs(args,kwd)
00135     return configureObject    
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Fri May 16 2014 09:59:23 for DataSvc by doxygen 1.7.4