otsdaq  v1_01_04
 All Classes Namespaces Functions
FEConfiguration.h
1 #ifndef _ots_FEConfiguration_h_
2 #define _ots_FEConfiguration_h_
3 
4 #include "otsdaq-core/ConfigurationDataFormats/ConfigurationBase.h"
5 
6 #include <string>
7 #include <vector>
8 #include <map>
9 
10 namespace ots
11 {
12 
14 {
15 
16 public:
17 
18  FEConfiguration(void);
19  virtual ~FEConfiguration(void);
20 
21  //Methods
22  void init(ConfigurationManager *configManager);
23  //Getters
24 // std::vector<std::string> getListOfFEIDs (void) const;
25 // std::vector<std::string> getListOfFEIDs (const std::string& supervisorType, unsigned int supervisorInstance) const;
26 // //FIXME This is wrong because there can be same name interfaces on different supervisors!!!!!!! I am doing it for the DQM :(
27 // const std::string getFEInterfaceType (const std::string& frontEndID) const;
28 // const std::string getFEInterfaceType (const std::string& supervisorType, unsigned int supervisorInstance, const std::string& frontEndID) const;
29 
30  //Getters
31  // std::vector<unsigned int> getListOfFEWRs (void) const;
32  // std::vector<unsigned int> getListOfFEWRs (unsigned int supervisorInstance) const;
33  // const std::string& getFEWRInterfaceName (unsigned int id) const;
34  //
35  // std::vector<unsigned int> getListOfFEWs (void) const;
36  // std::vector<unsigned int> getListOfFEWs (unsigned int supervisorInstance) const;
37  // const std::string& getFEWInterfaceName (unsigned int id) const;
38  //
39  // std::vector<unsigned int> getListOfFERs (void) const;
40  // std::vector<unsigned int> getListOfFERs (unsigned int supervisorInstance) const;
41  // const std::string& getFERInterfaceName (unsigned int id) const;
42 
43 private:
44  enum{
45  SupervisorType,
46  SupervisorInstance,
47  FrontEndId,
48  FrontEndType
49  };
50  std::string composeUniqueName(std::string supervisorName, unsigned int supervisorInstance) const {return supervisorName+std::to_string(supervisorInstance);}
51  std::map<std::string, std::map<std::string, unsigned int>> typeNameToRow_;
52 };
53 }
54 #endif