EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
compiled_runpythia.cpp
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file compiled_runpythia.cpp
1 // wrapper to compile runpythia.cpp
2 
3 #include<iostream>
4 #include<string>
5 #include<sstream>
6 
7 #include<TString.h>
8 
9 using namespace std;
10 
11 void runpythia(TString outFile,
12  int nEvents,
13  double pElectron,
14  double pProton,
15  double minQ2,
16  double maxQ2,
17  int messageInterval );
18 
19  // bool doFiltering,
20  // double minz,
21  // double maxcorrelation);
22 
23 int main ( int argc, char** argv){
24  TString outFile;
25  int nEvents=0;
26  double pElectron=10;
27  double pProton=100;
28  double minQ2 = 1.;
29  double maxQ2 = -1.;
30  int messageInterval = 1000;
31  // bool doFiltering = false;
32  // double minz = 0.;
33  // double maxcorrelation = 2.;
34 
35  // string helpstring="Usage: compiled_runpythia outFile nEvents pElectron pProton [minQ2] [maxQ2] [messageInterval] [doFiltering] [minz] [maxcorrelation]";
36  string helpstring="Usage: compiled_runpythia outFile nEvents pElectron pProton [minQ2] [maxQ2] [messageInterval]";
37  if ( argc >1 && string(argv[1]) == "-h" ) {
38  cout << helpstring << endl;
39  return -1;
40  }
41 
42  // for (int i=0; i<argc; ++i ){
43  // cout << i << " " << argv[i] << endl;
44  // }
45 
46  switch ( argc ){
47  // case 12:
48  // maxcorrelation = atof(argv[11]);
49  // // Fallthrough
50  // case 11:
51  // minz = atof(argv[10]);
52  // // Fallthrough
53  // case 10:
54  // std::istringstream(argv[9]) >> doFiltering;
55  // // Fallthrough
56  case 9:
57  messageInterval = atoi(argv[8]);
58  // Fallthrough
59  case 8:
60  maxQ2 = atof(argv[7]);
61  // Fallthrough
62  case 7:
63  minQ2 = atof(argv[6]);
64  // Fallthrough
65  case 6:
66  pElectron = atof(argv[5]);
67  // Fallthrough
68  case 5:
69  pProton = atof(argv[4]);
70  // Fallthrough
71  case 4:
72  pElectron = atof(argv[3]);
73  // Fallthrough
74  case 3:
75  nEvents = atoi(argv[2]);
76  // Fallthrough
77  case 2:
78  outFile = argv[1];
79  break;
80  default:
81  cout << helpstring << endl;
82  return -1;
83  }
84  cout<<endl;
85 
86 
87 
88  // runpythia(outFile, nEvents, pElectron, pProton, minQ2, maxQ2,
89  // messageInterval, doFiltering, minz, maxcorrelation);
90  runpythia(outFile, nEvents, pElectron, pProton, minQ2, maxQ2, messageInterval);
91 
92 
93  return 0;
94 }
95 
96