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

configipc.h

Go to the documentation of this file.
00001 #include <ipc/object.h>
00002 
00003 #include "sctConf/configuration.h"
00004 #include "sctConf.hh"
00005 
00006 namespace SctConfiguration {
00007 
00008 class ConfigIPC : public Configuration {
00009   ConfigIPC(const ConfigIPC &);
00010   ConfigIPC &operator=(const ConfigIPC &);
00011 
00012 /*   static Configuration *m_config; */
00013 
00014 /*   xmlDocPtr document; */
00015 /*   xmlXPathContextPtr xpathContext; */
00016 
00017 /*   Log log; */
00018 
00019   IPCObjectVar<sctConf_T_Configuration> handle;
00020 public:
00021   ConfigIPC();
00022   ~ConfigIPC();
00023 
00024   std::list<unsigned int> listPartitions();
00025   std::list<unsigned int> listCratesInPartition(unsigned int partition);
00026   std::list<unsigned int> listRodsInCrate(unsigned int partition, unsigned int crate);
00027   std::list<unsigned int> listMURSInRod(unsigned int partition, unsigned int crate, unsigned int rod);
00028   std::list<std::string> listModulesInMUR(unsigned int partition, unsigned int MUR);
00029   std::list<std::string> listRModulesInMUR(unsigned int partition, unsigned int MUR);
00030   std::list<std::string> listAllModules();
00031   std::list<std::string> listUnusedModules();
00032 
00033   bool isDummyCrate(unsigned int partition, unsigned int crate);
00034 
00035   ABCDModule getModuleConfig(const std::string module);
00036   RodConfig getRodConfig(unsigned int partition, unsigned int crate, unsigned int rod);
00037   BOCChannelConfig getBOCConfig(unsigned int partition, unsigned int crate, unsigned int rod, 
00038                                 unsigned int channel);
00039   BOCGlobalConfig getBOCGlobalConfig(unsigned int partition, unsigned int crate, unsigned int rod);
00040   TimConfig getTimConfig(unsigned int partition, unsigned int crate);
00041   char *getFibreMappings(unsigned int partition, unsigned int crate, unsigned int rod);
00042   void setFibreMapping(unsigned int partition, unsigned int crate, unsigned int rod, 
00043                        unsigned int channel, unsigned int tx, unsigned int rx0, unsigned int rx1);
00044   void printModuleConfig(const ABCDModule &conf);
00045   MURType getMURType(unsigned int MUR);
00046   void translateToROD(unsigned int MUR, unsigned int module,
00047               unsigned int &partition, unsigned int &crate, 
00048               unsigned int &rod, unsigned int &channel);
00049   void translateToRROD(unsigned int MUR, unsigned int module,
00050                unsigned int &partition, unsigned int &crate, 
00051                unsigned int &rod, unsigned int &channel);
00052   void translateToSN(unsigned int MUR, unsigned int module,
00053                      std::string &sn);
00054   void translateToBarrel(unsigned int MUR, unsigned int module,
00055                          unsigned int &barrel, unsigned int &row, int &number);
00056   void translateToEndcap(unsigned int MUR, unsigned int module,
00057                          unsigned int &disk, unsigned int &ring, unsigned int &number);
00058   void translateToPowerSupply(unsigned int MUR, unsigned int module,
00059                               unsigned int &partition, 
00060                               unsigned int &crate, unsigned int &channel);
00061   void translateFromROD(unsigned int partition, unsigned int crate, 
00062                         unsigned int rod, unsigned int channel,
00063                         unsigned int &MUR, unsigned int &module);
00064   void translateFromRROD(unsigned int partition, unsigned int crate,
00065                          unsigned int rod, unsigned int channel,
00066                          unsigned int &MUR, unsigned int &module);
00067   void translateFromSN(const std::string sn,
00068                        unsigned int &MUR, unsigned int &module);
00069   void translateFromBarrel(unsigned int barrel, unsigned int row, int number,
00070                            unsigned int &MUR, unsigned int &module);
00071   void translateFromEndcap(unsigned int disk, unsigned int ring, unsigned int number,
00072                            unsigned int &MUR, unsigned int &module);
00073   void translateFromPowerSupply(unsigned int partition, 
00074                                 unsigned int crate, unsigned int channel, 
00075                                 unsigned int &MUR, unsigned int &module);
00076   void configureModuleFromStructure(const std::string module, const ABCDModule conf);
00077   void configureModuleFromFile(const std::string filename);
00078   void configureROD(unsigned int partition, unsigned int crate, unsigned int rod, RodConfig conf);
00079   void configureTIM(unsigned int partition, unsigned int crate, TimConfig conf);
00080   void configureBOC(unsigned int partition, unsigned int crate, unsigned int rod, const BOCGlobalConfig &conf);
00081   void clearAll();
00082   void namePartition(int partition, const std::string name);
00083   void configureBOCChannel(int MUR, int position, const BOCChannelConfig &conf);
00084   void mapModuleMUR(int MUR, int order, int RMUR, int rorder, std::string number);
00085   void mapRODMUR(int partition, int crate, int rod, int order, int number);
00086   void mapBarrelMUR(int MUR, int barrel, int row, int position);
00087   void swapMURNames(int MUR1, int MUR2);
00088   void mapEndcapMUR(int MUR, int disk, int quadrant, int position);
00089   void mapPowerChannel(int MUR, int number, unsigned int partition, unsigned int crate, unsigned int channel);
00090   void modifyPowerParam(int MUR, int number, std::string name, float value);
00091   void modifyDefaultPowerParam(std::string name, float value);
00092   float getPowerParam(int MUR, int number, std::string name);
00093   void loadConfiguration(const std::string &filename);
00094   void saveConfiguration(const std::string filename = "");
00095   void saveModuleConfiguration(const std::string modsn, const std::string filename);
00096   std::string getModuleConfigurationString(const std::string modsn, const ABCDModule config);
00097   void writePowerSupplyConfiguration(std::string filename);
00098 };
00099 
00100 }

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