17 std::string mthn =
"[PixelLTCConfig::PixelLTCConfig()]\t\t\t ";
18 std::map<std::string, int> colM;
19 std::vector<std::string> colNames;
32 colNames.push_back(
"CONFIG_KEY");
33 colNames.push_back(
"KEY_TYPE");
34 colNames.push_back(
"KEY_ALIAS");
35 colNames.push_back(
"VERSION");
36 colNames.push_back(
"KIND_OF_COND");
37 colNames.push_back(
"LTC_OBJ_DATA_FILE");
38 colNames.push_back(
"LTC_OBJ_DATA_CLOB");
40 for (
unsigned int c = 0;
c < tableMat[0].size();
c++) {
41 for (
unsigned int n = 0;
n < colNames.size();
n++) {
42 if (tableMat[0][
c] == colNames[
n]) {
43 colM[colNames[
n]] =
c;
48 for (
unsigned int n = 0;
n < colNames.size();
n++) {
49 if (colM.find(colNames[
n]) == colM.end()) {
50 std::cerr << __LINE__ <<
"]\t" << mthn <<
"Couldn't find in the database the column with name " << colNames[
n]
55 ltcConfigStream_ << tableMat[1][colM[
"LTC_OBJ_DATA_CLOB"]];
60 std::string mthn =
"[PixelLTCConfig::PixelLTCConfig()]\t\t\t ";
61 std::ifstream
in(filename.c_str());
64 std::cout << __LINE__ <<
"]\t" << mthn <<
"Could not open: " << filename << std::endl;
65 throw std::runtime_error(
"Failed to open file " + filename);
67 std::cout << __LINE__ <<
"]\t" << mthn <<
"Opened: " << filename << std::endl;
82 std::ofstream
out(filename.c_str());
89 out << configstr << endl;
98 std::ofstream *outstream,
99 std::ofstream *out1stream,
100 std::ofstream *out2stream)
const {
101 std::string mthn =
"[PixelLTCConfig::writeXMLHeader()]\t\t\t ";
102 std::stringstream maskFullPath;
107 std::cout << __LINE__ <<
"]\t" << mthn <<
"Writing to: " << maskFullPath.str() << std::endl;
109 outstream->open(maskFullPath.str().c_str());
111 *outstream <<
"<?xml version='1.0' encoding='UTF-8' standalone='yes'?>" << std::endl;
112 *outstream <<
"<ROOT xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'>" << std::endl;
113 *outstream <<
"" << std::endl;
114 *outstream <<
" <HEADER>" << std::endl;
115 *outstream <<
" <TYPE>" << std::endl;
116 *outstream <<
" <EXTENSION_TABLE_NAME>PIXEL_LTC_PARAMETERS</EXTENSION_TABLE_NAME>" << std::endl;
117 *outstream <<
" <NAME>LTC Configuration Parameters</NAME>" << std::endl;
118 *outstream <<
" </TYPE>" << std::endl;
119 *outstream <<
" <RUN>" << std::endl;
120 *outstream <<
" <RUN_TYPE>LTC Configuration Parameters</RUN_TYPE>" << std::endl;
121 *outstream <<
" <RUN_NUMBER>1</RUN_NUMBER>" << std::endl;
123 *outstream <<
" <LOCATION>CERN P5</LOCATION>" << std::endl;
124 *outstream <<
" </RUN>" << std::endl;
125 *outstream <<
" </HEADER>" << std::endl;
126 *outstream <<
"" << std::endl;
127 *outstream <<
" <DATA_SET>" << std::endl;
128 *outstream <<
"" << std::endl;
129 *outstream <<
" <VERSION>" << version <<
"</VERSION>" << std::endl;
130 *outstream <<
" <COMMENT_DESCRIPTION>" <<
getComment() <<
"</COMMENT_DESCRIPTION>" << std::endl;
131 *outstream <<
" <CREATED_BY_USER>" <<
getAuthor() <<
"</CREATED_BY_USER>" << std::endl;
132 *outstream <<
"" << std::endl;
133 *outstream <<
" <PART>" << std::endl;
134 *outstream <<
" <NAME_LABEL>CMS-PIXEL-ROOT</NAME_LABEL>" << std::endl;
135 *outstream <<
" <KIND_OF_PART>Detector ROOT</KIND_OF_PART>" << std::endl;
136 *outstream <<
" </PART>" << std::endl;
141 std::string mthn =
"[PixelLTCConfig::writeXML()]\t\t\t ";
143 *outstream <<
" <DATA>" << std::endl;
144 *outstream <<
" <LTC_OBJ_DATA_FILE>./LTCConfiguration.txt</LTC_OBJ_DATA_FILE>" << std::endl;
145 *outstream <<
" </DATA>" << std::endl;
150 std::ofstream *out1stream,
151 std::ofstream *out2stream)
const {
152 std::string mthn =
"[PixelLTCConfig::writeXMLTrailer()]\t\t\t ";
154 *outstream <<
" </DATA_SET>" << std::endl;
155 *outstream <<
"</ROOT>" << std::endl;
158 std::cout << __LINE__ <<
"]\t" << mthn <<
"Data written " << std::endl;
This file contains the base class for "pixel configuration data" management.
std::stringstream ltcConfigStream_
PixelLTCConfig(std::vector< std::vector< std::string > > &tableMat)
void writeXMLHeader(pos::PixelConfigKey key, int version, std::string path, std::ofstream *out, std::ofstream *out1=nullptr, std::ofstream *out2=nullptr) const override
std::string getComment() const
std::string getAuthor() const
void writeASCII(std::string dir) const override
void writeXMLTrailer(std::ofstream *out, std::ofstream *out1=nullptr, std::ofstream *out2=nullptr) const override
void writeXML(pos::PixelConfigKey key, int version, std::string path) const override