File indexing completed on 2023-03-17 10:40:42
0001
0002
0003 #include <fstream>
0004
0005 #include "FWCore/Utilities/interface/Exception.h"
0006
0007 #include "Alignment/CommonAlignment/interface/AlignableObjectId.h"
0008 #include "Alignment/SurveyAnalysis/interface/SurveyInputTextReader.h"
0009
0010
0011 void SurveyInputTextReader::readFile(const std::string& textFileName) {
0012 std::ifstream myfile(textFileName.c_str());
0013 if (!myfile.is_open())
0014 throw cms::Exception("FileAccess") << "Unable to open input text file";
0015
0016
0017
0018 AlignableObjectId alignableObjectId{AlignableObjectId::Geometry::General};
0019
0020 while (!myfile.eof() && myfile.good()) {
0021 align::Scalars m_inputs;
0022
0023 UniqueId m_uId;
0024 char firstchar;
0025 firstchar = myfile.peek();
0026
0027 if (firstchar == '#') {
0028 std::string line;
0029 getline(myfile, line);
0030 } else if (firstchar == '!') {
0031 std::string firststring;
0032 std::string structure;
0033 myfile >> firststring >> structure;
0034 std::string endofline;
0035 getline(myfile, endofline);
0036 m_uId.second = alignableObjectId.stringToId(structure.c_str());
0037 } else {
0038 myfile >> m_uId.first;
0039
0040 for (int i = 0; i < NINPUTS; i++) {
0041 float tmpInput;
0042 myfile >> tmpInput;
0043 m_inputs.push_back(tmpInput);
0044 }
0045 std::string endofline;
0046 getline(myfile, endofline);
0047 theMap.insert(PairType(m_uId, m_inputs));
0048
0049
0050 if (myfile.fail())
0051 break;
0052 }
0053 }
0054 }