{ gROOT->Reset(); ifstream in1; in1.open("59-59-59Flux.dat"); const Int_t nCellx = 59; const Int_t nCelly = 59; const Int_t nCellz = 59; const Int_t lengthx = 59; const Int_t lengthy = 59; const Int_t lengthz = 59; const Int_t nTotCell = 205379; // const Int_t nTotCell = 206000; Float_t x1,x2,x3,x4; Int_t x5; char id[10]; Float_t x5et[nTotCell]; for (Int_t i=0; i< nTotCell; i++) x5et[i]=0.0; Int_t levelx = 0; Float_t xtemp = 0.0; Float_t x_values[nCellx]; for(Int_t j = 0; j < nCellx; j++) { x_values[j] = 0.0; } Int_t levely = 0; Float_t ytemp = 0.0; Float_t y_values[nCelly]; for(Int_t k = 0; k < nCelly; k++) { y_values[k] = 0.0; } Int_t levelz = 0; Float_t ztemp = 0.0; Float_t z_values[nCellz]; for(Int_t l = 0; lSetLineColor(4); // h1->SetLineWidth(15); // h1->SetXTitle("Depth (mm)"); // h1->SetYTitle("Energy Deposit (MeV)"); // hx->SetFillColor(45); Int_t nEvent = 0; while (1) { in1 >> x1 >> x2 >> x3 >> x4 >> x5 >> id; // cout << x1 << "\t" << x2 << "\t" << x3 << "\t" << x4 << "\t" << x5 << "\t" << endl; if (!in1.good()) break; // h1->Fill(x5, x4); if( ((Int_t)x5 == 9999) && ((Int_t)x1 == 9999) && ((Int_t)x2 == 9999) ) { nEvent++; if (nEvent == 100001 ) break; } else { x5et[x5] += x4; } } cout << "Number of events process: " << nEvent << endl; for (Int_t i=0; i< nTotCell; i++){ levelx = ((i-1)*(lengthz/ nCellz)+1)%lengthz; if (levelx > nCellx) cout << " ERROR ... " << endl; x_values[levelx] += x5et[i]; levely = ((i-1)/nCellz*(lengthy/nCelly)+1)%lengthy; if (levely > nCelly) cout << " ERROR ... " << endl; y_values[levely] += x5et[i]; levelz = ((i-1)/(nCelly*nCellz)*(lengthx/nCellx)+1)%lengthx; if (levelz > nCellz) cout << " ERROR ... " << endl; z_values[levelz] += x5et[i]; } for(Int_t j = 0; jFill((Float_t)j, x_values[j]); } for(Int_t k = 0; kFill((Float_t)k, y_values[k]); } for(Int_t l = 0; lFill((Float_t)l, z_values[l]); } in1.close(); TCanvas* c1 = new TCanvas("c1","Energy Deposit in x",200,10,400,300); c1->cd(); hx->Draw("scat"); //c1->Modified(); c1->Update(); TCanvas* c2 = new TCanvas("c2","Energy Deposit in y",200,10,400,300); c2->cd(); hy->Draw("scat"); //c2->Modified(); c2->Update(); TCanvas* c3 = new TCanvas("c3","Energy Deposit in z",200,10,400,300); c3->cd(); //hz->Draw(); hz->Draw("scat"); //h1->Draw("surf"); //c3->Modified(); c3->Update(); }