00001 #ifndef _ots_FEConfiguration_h_ 00002 #define _ots_FEConfiguration_h_ 00003 00004 #include "otsdaq-core/ConfigurationDataFormats/ConfigurationBase.h" 00005 00006 #include <string> 00007 #include <vector> 00008 #include <map> 00009 00010 namespace ots 00011 { 00012 00013 class FEConfiguration : public ConfigurationBase 00014 { 00015 00016 public: 00017 00018 FEConfiguration(void); 00019 virtual ~FEConfiguration(void); 00020 00021 //Methods 00022 void init(ConfigurationManager *configManager); 00023 //Getters 00024 // std::vector<std::string> getListOfFEIDs (void) const; 00025 // std::vector<std::string> getListOfFEIDs (const std::string& supervisorType, unsigned int supervisorInstance) const; 00026 // //FIXME This is wrong because there can be same name interfaces on different supervisors!!!!!!! I am doing it for the DQM :( 00027 // const std::string getFEInterfaceType (const std::string& frontEndID) const; 00028 // const std::string getFEInterfaceType (const std::string& supervisorType, unsigned int supervisorInstance, const std::string& frontEndID) const; 00029 00030 //Getters 00031 // std::vector<unsigned int> getListOfFEWRs (void) const; 00032 // std::vector<unsigned int> getListOfFEWRs (unsigned int supervisorInstance) const; 00033 // const std::string& getFEWRInterfaceName (unsigned int id) const; 00034 // 00035 // std::vector<unsigned int> getListOfFEWs (void) const; 00036 // std::vector<unsigned int> getListOfFEWs (unsigned int supervisorInstance) const; 00037 // const std::string& getFEWInterfaceName (unsigned int id) const; 00038 // 00039 // std::vector<unsigned int> getListOfFERs (void) const; 00040 // std::vector<unsigned int> getListOfFERs (unsigned int supervisorInstance) const; 00041 // const std::string& getFERInterfaceName (unsigned int id) const; 00042 00043 private: 00044 enum{ 00045 SupervisorType, 00046 SupervisorInstance, 00047 FrontEndId, 00048 FrontEndType 00049 }; 00050 std::string composeUniqueName(std::string supervisorName, unsigned int supervisorInstance) const {return supervisorName+std::to_string(supervisorInstance);} 00051 std::map<std::string, std::map<std::string, unsigned int>> typeNameToRow_; 00052 }; 00053 } 00054 #endif