otsdaq_mu2e  v2_04_02
DTCInterfaceTable.h
1 #ifndef _ots_DTCInterfaceTable_h_
2 #define _ots_DTCInterfaceTable_h_
3 
4 #include "otsdaq/ConfigurationInterface/ConfigurationManager.h"
5 #include "otsdaq/TablePlugins/SlowControlsTableBase/SlowControlsTableBase.h"
6 
7 namespace ots
8 {
9 class DTCInterfaceTable : public SlowControlsTableBase
10 {
11  // clang-format off
12 
13  public:
14  DTCInterfaceTable (void);
15  virtual ~DTCInterfaceTable (void);
16 
17  // Methods
18  void init (ConfigurationManager* configManager) override;
19 
20  virtual unsigned int slowControlsHandlerConfig (
21  std::stringstream& out
22  , ConfigurationManager* configManager
23  , std::vector<std::pair<std::string /*channelName*/, std::vector<std::string>>>* channelList /*= 0*/
24  ) const override;
25 
26  virtual std::string setFilePath () const override;
27 
28  private:
29 
30  // Column names
31  struct ColFE
32  {
33  std::string const colFEInterfaceGroupID_ = "FEInterfaceGroupID";
34  std::string const colStatus_ = "Status";
35  std::string const colFEInterfacePluginName_ = "FEInterfacePluginName";
36  std::string const colLinkToFETypeTable = "LinkToFETypeTable";
37  std::string const colLinkToSlowControlsChannelTable_ = "LinkToSlowControlsChannelTable";
38  } feColNames_;
39 
40  struct ColDTC
41  {
42  std::string const colEmulatorMode_ = "EmulatorMode";
43  std::string const colLocationInCFOChain_ = "LocationInChain";
44  std::string const colPCIDeviceIndex_ = "DeviceIndex";
45  std::string const colEmulateCFO_ = "EmulateCFO";
46  std::string const colConfigureClock_ = "ConfigureClock";
47  std::string const colLinkToROCGroupTable_ = "LinkToROCGroupTable";
48  std::string const colLinkToROCGroupID_ = "LinkToROCGroupID";
49  } dtcColNames_;
50 
51  struct ColROC
52  {
53  std::string const colStatus_ = "Status";
54  std::string const colROCGroupID_ = "ROCGroupID";
55  std::string const colROCInterfacePluginName_= "ROCInterfacePluginName";
56  std::string const colLinkID_ = "linkID";
57  std::string const colEventWindowDelayOffset_= "EventWindowDelayOffset";
58  std::string const colEmulateInDTCHardware_ = "EmulateInDTCHardware";
59  std::string const colROCTypeLinkTable_ = "ROCTypeLinkTable";
60  std::string const colLinkToSlowControlsChannelTable_ = "LinkToSlowControlsChannelTable";
61  } rocColNames_;
62 
63  std::string const DTC_FE_PLUGIN_TYPE = "DTCFrontEndInterface";
64 
65  // clang-format on
66 };
67 } // namespace ots
68 #endif