CMS 3D CMS Logo

CSCReadoutMappingFromFile.cc
Go to the documentation of this file.
4 #include <iostream>
5 #include <fstream>
6 #include <sstream>
7 
9 
11 
13  edm::FileInPath fp = ps.getParameter<edm::FileInPath>("theMappingFile");
14  theMappingFile = fp.fullPath();
15  std::ifstream in(theMappingFile.c_str());
17  const std::string commentFlag = "#";
18  if (!in) {
19  edm::LogError("CSC") << " Failed to open file " << theMappingFile << " containing mapping.";
20  } else {
21  edm::LogInfo("CSC") << " Opened file " << theMappingFile << " containing mapping.";
22 
23  while (getline(in, line)) { // getline() from <string>
24  // LogDebug("CSC") << line;
25  if (line[0] != commentFlag[0]) {
26  int i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11;
27  std::istringstream is(line);
28  is >> i1 >> i2 >> i3 >> i4 >> i5 >> i6 >> i7 >> i8 >> i9 >> i10 >> i11;
29  // LogDebug("CSC") << i1 << " " << i2 << " " << i3 << " " << i4 << " " <<
30  // i5 << " " << i6 << " " << i7 << " " << i8 << " " << i9;
31  addRecord(i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11);
32  }
33  }
34  }
35 
36  return;
37 }
T getParameter(std::string const &) const
void fill(const edm::ParameterSet &ps) override
Fill mapping store.
~CSCReadoutMappingFromFile() override
Destructor.
void addRecord(int endcap, int station, int ring, int chamber, int vmecrate, int dmb, int tmb, int tsector, int cscid, int ddu, int dcc)
std::string fullPath() const
Definition: FileInPath.cc:163