// format of InfoFile // [# of result files] // [nlines in res.file 1] [file 1 name] // ... // [nlines in res.file n] [file n name] #include #include #include #include // global variables void panic (char*); main (int argc, char* argv[]) { if (argc != 2) panic ("bestia "); ifstream InfoFile (argv[1]); ofstream OutFile; ifstream InFile; char * InName = new char[100]; char * OutName = new char[100]; // reading run parameters from info file. int nfiles; InfoFile >> nfiles; double alpha, efficiency, purity; int nn; for (int cnt1 = 0 ; cnt1 < nfiles ; cnt1++ ) { InfoFile >> nn >> InName; sprintf (OutName, "%s.sqrt", InName); InFile.open(InName); OutFile.open(OutName); int cnt = 0; while (!InFile.eof()) { if (cnt++ > nn) break; InFile >> alpha >> efficiency >> purity; if (alpha < 0.00001) continue; OutFile << sqrt(nn*(1-alpha)) / alpha / nn << " " ; OutFile << efficiency << " " << purity << endl; } InFile.close(); OutFile.close(); } return 1; } void panic (char* str) { cerr << str << endl; exit (0); }