void DataRetrieval :: formatOutput(vector<string>& lines) { int count=0; string particleType ="UNKNOWN"; for(int i=0;i<lines.size();i++) { string line = lines[i]; if (( (line.find("track") != string::npos) || (line.find("----------------------------------------------------------")!= string::npos) ) && (i+1<lines.size())) { ParticleInformation currParticle; if(!(lines[i+1].compare("ELECTRON") ) || !(lines[i+1].compare("PION"))) { particleType =lines[i+1]; currParticle.setType(particleType); //constructor call cout << lines[i+1] << endl; i=i+2; } else { if((i+1<lines.size()) && (lines[i+1].find("sum") != string::npos ) ) { currParticle.setType(particleType); //constructor call i=i+1; } else i++; } int j=i; while(lines[j].find("sum") != string::npos) { vector<string> parts = split(lines[j], ' '); for(int a=1;a<28;a++) { currParticle.addTimebin(a-1, atoi(parts[a].c_str())); } j++; } i=j-1; if(currParticle.getType()!=("UNKNOWN")) { particle.push_back(currParticle); cout << pidParticle[count].getPID() << endl; //System.out.println(pidParticle[count].getPID()); count++; } } } }
void DataRetrieval :: formatData(vector<string>& lines) // need to still save the event number and track number { string particleType ="UNKNOWN"; for(int i=0;i<lines.size();i++) { string line = lines[i]; if (( (line.find("track") != string::npos) || (line.find("----------------------------------------------------------")!= string::npos) ) && (i+1<lines.size())) { ParticleInformation currParticle; if(!(lines[i+1].compare("ELECTRON") ) || !(lines[i+1].compare("PION"))) { particleType =lines[i+1]; currParticle.setType(particleType); //constructor call i=i+2; } else { if((i+1<lines.size()) && (lines[i+1].find("sum") != string::npos ) ) { currParticle.setType(particleType); //constructor call i=i+1; } else i++; } int j=i; while(lines[j].find("sum") != string::npos) { //cout<< lines[i] << endl; // THIS LINE SPOTS FOR ERRORS vector<string> parts = split(lines[j], ' '); // cout << parts.size() << endl; // for(int d=0;d<parts.size();d++) // { // cout << " "<< parts[d]; // } // cout << endl; for(int a=1;a<28;a++) { //cout << " "<< atoi(parts[a].c_str()); currParticle.addTimebin(a-1, atoi(parts[a].c_str())); } //cout << endl; j++; } i=j-1; if(currParticle.getType()!=("UNKNOWN")) particle.push_back(currParticle); } } }