otsdaq  v1_01_03
 All Classes Namespaces Functions
DQMHistosConsumerConfiguration_configuration.cc
1 #include "otsdaq-core/ConfigurationPluginDataFormats/DQMHistosConsumerConfiguration.h"
2 #include "otsdaq-core/Macros/ConfigurationPluginMacros.h"
3 
4 #include <iostream>
5 
6 using namespace ots;
7 
8 //==============================================================================
9 DQMHistosConsumerConfiguration::DQMHistosConsumerConfiguration(void)
10 : ConfigurationBase("DQMHistosConsumerConfiguration")
11 {
13  //WARNING: the names and the order MUST match the ones in the enum //
15  // <?xml version="1.0" encoding="UTF-8" standalone="no" ?>
16  // <ROOT xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="ConfigurationInfo.xsd">
17  // <CONFIGURATION Name="DQMHistosConsumerConfiguration">
18  // <VIEW Name="DQM_HISTOS_CONSUMER_CONFIGURATION" Type="File,Database,DatabaseTest">
19  // <COLUMN Name="ProcessorID" StorageName="PROCESSOR_ID" DataType="VARCHAR2"/>
20  // <COLUMN Name="FilePath" StorageName="FILE_PATH" DataType="VARCHAR2"/>
21  // <COLUMN Name="RadixFileName" StorageName="RADIX_FILE_NAME" DataType="VARCHAR2"/>
22  // <COLUMN Name="SaveFile" StorageName="SAVE_FILE" DataType="VARCHAR2"/>
23  // </VIEW>
24  // </CONFIGURATION>
25  // </ROOT>
26 
27 
28 }
29 
30 //==============================================================================
31 DQMHistosConsumerConfiguration::~DQMHistosConsumerConfiguration(void)
32 {}
33 
34 //==============================================================================
35 void DQMHistosConsumerConfiguration::init(ConfigurationManager *configManager)
36 {
37  std::string processorUID;
38  for(unsigned int row = 0; row < ConfigurationBase::activeConfigurationView_->getNumberOfRows(); row++)
39  {
40  ConfigurationBase::activeConfigurationView_->getValue(processorUID, row, ProcessorID);
41  processorIDToRowMap_[processorUID] = row;
42  }
43 }
44 
45 //==============================================================================
46 std::vector<std::string> DQMHistosConsumerConfiguration::getProcessorIDList(void) const
47 {
48  std::vector<std::string> list;
49  for(auto& it: processorIDToRowMap_)
50  list.push_back(it.first);
51  return list;
52 }
53 
54 //==============================================================================
55 std::string DQMHistosConsumerConfiguration::getFilePath(std::string processorUID) const
56 {
57  check(processorUID);
58  std::string val;
59  ConfigurationBase::activeConfigurationView_->getValue(val, processorIDToRowMap_.find(processorUID)->second, FilePath);
60  return val;
61 }
62 
63 //==============================================================================
64 std::string DQMHistosConsumerConfiguration::getRadixFileName (std::string processorUID) const
65 {
66  check(processorUID);
67  std::string val;
68  ConfigurationBase::activeConfigurationView_->getValue(val, processorIDToRowMap_.find(processorUID)->second, RadixFileName);
69  return val;
70 }
71 
72 //==============================================================================
73 bool DQMHistosConsumerConfiguration::getSaveFile (std::string processorUID) const
74 {
75  check(processorUID);
76  bool val;
77  ConfigurationBase::activeConfigurationView_->getValue(val, processorIDToRowMap_.find(processorUID)->second, SaveFile);
78  return val;
79 }
80 
81 //==============================================================================
82 void DQMHistosConsumerConfiguration::check(std::string processorUID) const
83 {
84  if(processorIDToRowMap_.find(processorUID) == processorIDToRowMap_.end())
85  {
86  std::cout << __COUT_HDR_FL__ << "Couldn't find processor " << processorUID << " in the UDPDataStreamerConsumerConfiguration!" << std::endl;
87  assert(0);
88  }
89 }
90 
91 DEFINE_OTS_CONFIGURATION(DQMHistosConsumerConfiguration)