HGCal Test Beam  03a93d6239a951948e06fb3ef8dae4cbdebfad30
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
TBConfig.cc
Go to the documentation of this file.
1 // -------------------------------------------------------------------------
2 // Configuration for standalone simulator
3 // -------------------------------------------------------------------------
4 #include <stddef.h>
5 #include <iostream>
6 #include <fstream>
7 #include <sstream>
8 #include "HGCal/TBStandaloneSimulator/interface/TBConfig.h"
9 // -------------------------------------------------------------------------
10 using namespace std;
11 
12 TBConfig::TBConfig(string ctrlfile)
13  : macro(""),
14  geometry(""),
15  savetracks(false)
16 {
17  ifstream fin(ctrlfile.c_str());
18  if ( !fin.good() ) {
19  cout << "** TConfig ** cannot open control file "
20  << ctrlfile << endl;
21  exit(0);
22  }
23 
24  string token, line;
25  while (getline(fin, line)) {
26  if ( line == "" ) continue;
27  if ( line.substr(0, 1) == "#" ) continue;
28  if ( line.substr(0, 1) == "%" ) continue;
29  if ( line.substr(0, 2) == "//" )continue;
30 
31  istringstream sin(line);
32  sin >> token >> line;
33  if ( token.substr(0, 3) == "mac" )
34  macro = line;
35  else if ( token.substr(0, 3) == "geo" )
36  geometry = line;
37  else if ( token.substr(0, 5) == "savet" ) {
38  istringstream sinn(line);
39  sinn >> savetracks;
40  }
41  }
42  fin.close();
43 }
44 
45 std::ostream& operator<<(std::ostream& os, TBConfig& config)
46 {
47  os << "TBStandaloneSimulator configuration" << endl;
48  os << " macro " << config.macro << endl;
49  os << " geometry " << config.geometry << endl;
50  os << " savetracks " << config.savetracks;
51  return os;
52 }
std::string macro
Definition: TBConfig.h:12
TBConfig()
Definition: TBConfig.h:8
std::ostream & operator<<(std::ostream &, const HGCalTBDetId &id)
Definition: HGCalTBDetId.cc:37
bool savetracks
Definition: TBConfig.h:14
std::string geometry
Definition: TBConfig.h:13