#include #include #include #include using namespace std; radiance(){ gStyle->SetPalette(1); gStyle->SetOptStat(0); gStyle->SetCanvasColor(kWhite); //Defines grid of FOV const int xdim=140; const int ydim=140; const int nlayer=28; const int wdim=16; TH2D *rad_map1 = new TH2D("rad_map1","Brightness #lambda=8.2-9.2[#mum]",xdim,-xdim/2,xdim/2,ydim,-ydim/2,ydim/2); TH2D *rad_map2 = new TH2D("rad_map2","Brightness #lambda=10.3-11.2[#mum]",xdim,-xdim/2,xdim/2,ydim,-ydim/2,ydim/2); TH2D *rad_map3 = new TH2D("rad_map3","Brightness #lambda=11.5-12.5[#mum]",xdim,-xdim/2,xdim/2,ydim,-ydim/2,ydim/2); TH2D *rad_map1b = new TH2D("rad_map1b","Brightness #lambda=10-12[#mum]",xdim,-xdim/2,xdim/2,ydim,-ydim/2,ydim/2); TH2D *rad_mapvis = new TH2D("rad_mapvis","Brightness #lambda=0.55-0.75[#mum]",xdim,-xdim/2,xdim/2,ydim,-ydim/2,ydim/2); TH2D *rad_mapuv1 = new TH2D("rad_mapuv1","Brightness #lambda=250-320[#num]",xdim,-xdim/2,xdim/2,ydim,-ydim/2,ydim/2); TH2D *rad_mapuv2 = new TH2D("rad_mapuv2","Brightness #lambda=320-450[#num]",xdim,-xdim/2,xdim/2,ydim,-ydim/2,ydim/2); TH2D *tmp_map1 = new TH2D("tmp_map1","Temperature #lambda=8.2-9.2[#mum]",xdim,-xdim/2,xdim/2,ydim,-ydim/2,ydim/2); TH2D *tmp_map2 = new TH2D("tmp_map2","Temperature #lambda=10.3-11.2[#mum]",xdim,-xdim/2,xdim/2,ydim,-ydim/2,ydim/2); TH2D *tmp_map3 = new TH2D("tmp_map3","Temperature #lambda=11.5-12.5[#mum]",xdim,-xdim/2,xdim/2,ydim,-ydim/2,ydim/2); TH2D *tmp_map1b = new TH2D("tmp_map1b","Temperature #lambda=10-12[#mum]",xdim,-xdim/2,xdim/2,ydim,-ydim/2,ydim/2); TH2D *tmp_mapvis = new TH2D("tmp_mapvis","Temperature #lambda=0.55-0.75[#mum]",xdim,-xdim/2,xdim/2,ydim,-ydim/2,ydim/2); TH2D *tmp_mapuv1 = new TH2D("tmp_mapuv1","Temperature #lambda=250-320[#num]",xdim,-xdim/2,xdim/2,ydim,-ydim/2,ydim/2); TH2D *tmp_mapuv2 = new TH2D("tmp_mapuv2","Temperature #lambda=320-450[#num]",xdim,-xdim/2,xdim/2,ydim,-ydim/2,ydim/2); double RAD[wdim][xdim][ydim][nlayer]; ifstream in; in.open("all_rad.dat"); TFile f("radiance.customcloud.root","recreate"); TTree t1("t1",""); int x,y,w,l; double r; t1.Branch("w",&w,"w/I"); t1.Branch("x",&x,"x/I"); t1.Branch("y",&y,"y/I"); t1.Branch("r",&r,"r/D"); while (1) { in >> w >> x >> y >> l >> r; if (!in.good()) break; RAD[w-1][x-1][y-1][l-1]=r; if (w>5) break; /* if (l==1){ switch(w){ case 1: rad_map1->SetBinContent(x,y,r); //rad_abs1->Fill(r); break; case 2: rad_map2->SetBinContent(x,y,r); //rad_abs2->Fill(r); break; case 3: rad_map3->SetBinContent(x,y,r); //rad_abs3->Fill(r); break; case 4: //tmp_map1->SetBinContent(x,y,r); //tmp_abs1->Fill(r); // Banda de 14um break; case 5: tmp_map1->SetBinContent(x,y,r); //tmp_abs2->Fill(r); break; case 6: tmp_map2->SetBinContent(x,y,r); //tmp_abs3->Fill(r); break; case 7: tmp_map3->SetBinContent(x,y,r); //tmp_abs3->Fill(r); break; case 8: //tmp_map3->SetBinContent(x,y,r); //tmp_abs3->Fill(r); //Temp Band 14um break; case 9: rad_map1b->SetBinContent(x,y,r); //tmp_abs3->Fill(r); break; case 10: tmp_map1b->SetBinContent(x,y,r); //tmp_abs3->Fill(r); break; case 11: rad_mapvis->SetBinContent(x,y,r); //tmp_abs3->Fill(r); break; case 12: tmp_mapvis->SetBinContent(x,y,r); //tmp_abs3->Fill(r); break; case 13: rad_mapuv1->SetBinContent(x,y,r); //tmp_abs3->Fill(r); break; case 14: tmp_mapuv1->SetBinContent(x,y,r); //tmp_abs3->Fill(r); break; case 15: rad_mapuv2->SetBinContent(x,y,r); //tmp_abs3->Fill(r); break; case 16: tmp_mapuv2->SetBinContent(x,y,r); //tmp_abs3->Fill(r); break; } }//end if l=1 */ t1.Fill(); } in.close(); t1.Write(); /* TCanvas *r0 = new TCanvas("r0","",0,0,3600,1200); r0->Divide(6,2); r0->SetRightMargin( 0.2 ); r0->SetFillColor(kWhite); r0->cd(1); rad_map1->GetZaxis()->SetTitleOffset(-64); rad_map1->SetMaximum(9); rad_map1->SetMinimum(0); rad_map1->Draw("colz"); r0->cd(2); rad_map2->GetZaxis()->SetTitleOffset(-64); rad_map2->SetMaximum(9); rad_map2->SetMinimum(0); rad_map2->Draw("colz"); r0->cd(3); rad_map3->GetZaxis()->SetTitleOffset(-64); rad_map3->SetMaximum(9); rad_map3->SetMinimum(0); rad_map3->Draw("colz"); r0->cd(4); rad_map1b->GetZaxis()->SetTitleOffset(-64); rad_map1b->SetMaximum(9); rad_map1b->SetMinimum(0); rad_map1b->Draw("colz"); r0->cd(5); rad_mapvis->GetZaxis()->SetTitleOffset(-64); rad_mapvis->SetMaximum(0.01); rad_mapvis->SetMinimum(0.); rad_mapvis->Draw("colz"); r0->cd(6); rad_mapuv2->GetZaxis()->SetTitleOffset(-64); rad_mapuv2->SetMaximum(0.01); rad_mapuv2->SetMinimum(0.); rad_mapuv2->Draw("colz"); r0->cd(7); tmp_map1->GetZaxis()->SetTitleOffset(-64); tmp_map1->SetMaximum(320); tmp_map1->SetMinimum(200); tmp_map1->Draw("colz"); r0->cd(8); tmp_map2->GetZaxis()->SetTitleOffset(-64); tmp_map2->SetMaximum(300); tmp_map2->SetMinimum(190); tmp_map2->Draw("colz"); r0->cd(9); tmp_map3->GetZaxis()->SetTitleOffset(-64); tmp_map3->SetMaximum(300); tmp_map3->SetMinimum(190); tmp_map3->Draw("colz"); r0->cd(10); tmp_map1b->GetZaxis()->SetTitleOffset(-64); tmp_map1b->SetMaximum(300); tmp_map1b->SetMinimum(190); tmp_map1b->Draw("colz"); r0->cd(11); tmp_mapvis->GetZaxis()->SetTitleOffset(-64); tmp_mapvis->SetMaximum(1100); tmp_mapvis->SetMinimum(700); tmp_mapvis->Draw("colz"); r0->cd(12); tmp_mapuv2->GetZaxis()->SetTitleOffset(-64); tmp_mapuv2->SetMaximum(1800); tmp_mapuv2->SetMinimum(1000); tmp_mapuv2->Draw("colz"); r0->SaveAs("rad.jpg"); r0->SaveAs("rad.eps"); */ //save as a flat BMP int N=ydim, M=xdim, Q=8,i,j; // rows, cols, grayscale double valfloat; TArrayD imageData; imageData->Set(xdim*ydim); char filename[]="GCE01180.bmp"; TImage* imagen = TImage::Create(); TImagePalette *paleta= new TImagePalette(256,0); for(i=0; iAddAt(0,i*xdim+j); } else if (valfloat>320.0){ imageData->AddAt(255,i*xdim+j); }else { imageData->AddAt((int)((valfloat-200.0)*2.125),i*xdim+j); } } gStyle->SetPalette(2,0); imagen->SetImage(imageData,ydim,0); imagen->WriteImage(filename); Bool_t *val=kTRUE; char filenameg[]="graypic.bmp"; TImage *img5 = TImage::Open("GCE01180.bmp"); // open the color editor img5->Vectorize(256); img5->Gray(val); img5->WriteImage(filenameg); } fov_draw(){ Double_t fb_x[]={ -250.00,-250.00,-249.92,-249.67,-249.42,-249.09,-248.67,-248.18,-247.60, -246.93,-246.27,-245.44,-244.61,-243.62,-242.62,-241.55,-240.39,-239.15, -237.82,-236.41,-234.92,-233.43,-231.85,-230.20,-228.46,-226.63,-224.73, -222.82,-190.75,-218.68,-216.52,-214.29,-212.05,-209.73,-207.32,-204.84, -202.27,-199.70,-197.05,-194.32,-191.50,-188.68,-185.78,-182.88,-179.81, -176.83,-172.36,-167.97,-163.49,-159.43,-155.12,-151.06,-146.67,-142.69, -138.38,-134.32,-130.10,-126.12,-122.14,-118.16,-114.19,-109.96,-105.98, -102.09, -98.11, -94.22, -90.49, -86.59, -82.70, -78.80, -74.91, -71.18, -67.37, -63.47, -59.74, -55.93, -52.20, -48.39, -44.66, -40.85, -37.21, -33.48, -29.67, -25.94, -22.29, -18.56, -14.83, -11.10, -7.37, -3.65, 0.00, 3.65, 7.37, 11.10, 14.83, 18.56, 22.29, 25.94, 29.67, 33.48, 37.21, 40.85, 44.66, 48.39, 52.20, 55.93, 59.74, 63.47, 67.37, 71.18, 74.91, 78.80, 82.70, 86.59, 90.49, 94.22, 98.11, 102.09, 105.98, 109.96, 114.19, 118.16, 122.14, 126.12, 130.10, 134.32, 138.38, 142.69, 146.67, 151.06, 155.12, 159.43, 163.49, 167.97, 172.36, 176.83, 179.81, 182.88, 185.78, 188.68, 191.50, 194.32, 197.05, 199.70, 202.27, 204.84, 207.32, 209.73, 212.05, 214.29, 216.52, 218.68, 190.75, 222.82, 224.73, 226.63, 228.46, 230.20, 231.85, 233.43, 234.92, 236.41, 237.82, 239.15, 240.39, 241.55, 242.62, 243.62, 244.61, 245.44, 246.27, 246.93, 247.60, 248.18, 248.67, 249.09, 249.42, 249.67, 249.92, 250.00, 250.00, 250.00, 249.92, 249.67, 249.42, 249.09, 248.67, 248.18, 247.60, 246.93, 246.27, 245.44, 244.61, 243.62, 242.62, 241.55, 240.39, 239.15, 237.82, 236.41, 234.92, 233.43, 231.85, 230.20, 228.46, 226.63, 224.73, 222.82, 190.75, 218.68, 216.52, 214.29, 212.05, 209.73, 207.32, 204.84, 202.27, 199.70, 197.05, 194.32, 191.50, 188.68, 185.78, 182.88, 179.81, 176.83, 172.36, 167.97, 163.49, 159.43, 155.12, 151.06, 146.67, 142.69, 138.38, 134.32, 130.10, 126.12, 122.14, 118.16, 114.19, 109.96, 105.98, 102.09, 98.11, 94.22, 90.49, 86.59, 82.70, 78.80, 74.91, 71.18, 67.37, 63.47, 59.74, 55.93, 52.20, 48.39, 44.66, 40.85, 37.21, 33.48, 29.67, 25.94, 22.29, 18.56, 14.83, 11.10, 7.37, 3.65, 0.00, -3.65, -7.37, -11.10, -14.83, -18.56, -22.29, -25.94, -29.67, -33.48, -37.21, -40.85, -44.66, -48.39, -52.20, -55.93, -59.74, -63.47, -67.37, -71.18, -74.91, -78.80, -82.70, -86.59, -90.49, -94.22, -98.11, -102.09,-105.98,-109.96,-114.19,-118.16,-122.14,-126.12,-130.10,-134.32, -138.38,-142.69,-146.67,-151.06,-155.12,-159.43,-163.49,-167.97,-172.36, -176.83,-179.81,-182.88,-185.78,-188.68,-191.50,-194.32,-197.05,-199.70, -202.27,-204.84,-207.32,-209.73,-212.05,-214.29,-216.52,-218.68,-190.75, -222.82,-224.73,-226.63,-228.46,-230.20,-231.85,-233.43,-234.92,-236.41, -237.82,-239.15,-240.39,-241.55,-242.62,-243.62,-244.61,-245.44,-246.27, -246.93,-247.60,-248.18,-248.67,-249.09,-249.42,-249.67,-249.92,-250.00, -250.00}; Double_t fb_y[]={ 0.00, 4.31, 8.70, 13.01, 17.40, 21.79, 26.10, 30.41, 34.80, 39.11, 43.42, 47.65, 51.96, 56.18, 60.49, 64.72, 68.86, 73.09, 77.23, 81.37, 85.52, 89.58, 93.64, 97.70, 101.67, 105.65, 109.63, 113.52, 117.33, 121.23, 124.96, 128.77, 132.50, 136.15, 139.79, 143.44, 146.92, 150.48, 153.96, 157.36, 160.67, 163.99, 167.30, 170.53, 173.68, 176.83, 176.25, 175.75, 175.17, 175.01, 174.51, 174.26, 173.76, 173.52, 172.94, 172.77, 172.19, 171.94, 171.69, 171.53, 171.28, 170.62, 170.45, 170.20, 169.87, 169.62, 169.71, 169.46, 169.21, 168.96, 168.63, 168.71, 168.46, 168.13, 168.21, 167.88, 167.97, 167.63, 167.72, 167.38, 167.47, 167.47, 167.14, 167.14, 167.22, 167.22, 166.89, 166.89, 166.89, 166.89, 166.89, 166.89, 166.89, 166.89, 166.89, 167.22, 167.22, 167.14, 167.14, 167.47, 167.47, 167.38, 167.72, 167.63, 167.97, 167.88, 168.21, 168.13, 168.46, 168.71, 168.63, 168.96, 169.21, 169.46, 169.71, 169.62, 169.87, 170.20, 170.45, 170.62, 171.28, 171.53, 171.69, 171.94, 172.19, 172.77, 172.94, 173.52, 173.76, 174.26, 174.51, 175.01, 175.17, 175.75, 176.25, 176.83, 173.68, 170.53, 167.30, 163.99, 160.67, 157.36, 153.96, 150.48, 146.92, 143.44, 139.79, 136.15, 132.50, 128.77, 125.04, 121.23, 117.33, 113.52, 109.63, 105.65, 101.67, 97.70, 93.64, 89.58, 85.52, 81.37, 77.23, 73.09, 68.86, 64.72, 60.49, 56.18, 51.96, 47.65, 43.42, 39.11, 34.80, 30.41, 26.10, 21.79, 17.40, 13.01, 8.70, 4.31, 0.00, -4.31, -8.70, -13.01, -17.40, -21.79, -26.10, -30.41, -34.80, -39.11, -43.42, -47.65, -51.96, -56.18, -60.49, -64.72, -68.86, -73.09, -77.23, -81.37, -85.52, -89.58, -93.64, -97.70,-101.67,-105.65,-109.63, -113.52,-117.33,-121.23,-124.96,-128.77,-132.50,-136.15,-139.79,-143.44, -146.92,-150.48,-153.96,-157.36,-160.67,-163.99,-167.30,-170.53,-173.68, -176.83,-176.25,-175.75,-175.17,-175.01,-174.51,-174.26,-173.76,-173.52, -172.94,-172.77,-172.19,-171.94,-171.69,-171.53,-171.28,-170.62,-170.45, -170.20,-169.87,-169.62,-169.71,-169.46,-169.21,-168.96,-168.63,-168.71, -168.46,-168.13,-168.21,-167.88,-167.97,-167.63,-167.72,-167.38,-167.47, -167.47,-167.14,-167.14,-167.22,-167.22,-166.89,-166.89,-166.89,-166.89, -166.89,-166.89,-166.89,-166.89,-166.89,-167.22,-167.22,-167.14,-167.14, -167.47,-167.47,-167.38,-167.72,-167.63,-167.97,-167.88,-168.21,-168.13, -168.46,-168.71,-168.63,-168.96,-169.21,-169.46,-169.71,-169.62,-169.87, -170.20,-170.45,-170.62,-171.28,-171.53,-171.69,-171.94,-172.19,-172.77, -172.94,-173.52,-173.76,-174.26,-174.51,-175.01,-175.17,-175.75,-176.25, -176.83,-173.68,-170.53,-167.30,-163.99,-160.67,-157.36,-153.96,-150.48, -146.92,-143.44,-139.79,-136.15,-132.50,-128.77,-125.04,-121.23,-117.33, -113.52,-109.63,-105.65,-101.67, -97.70, -93.64, -89.58, -85.52, -81.37, -77.23, -73.09, -68.86, -64.72, -60.49, -56.18, -51.96, -47.65, -43.42, -39.11, -34.80, -30.41, -26.10, -21.79, -17.40, -13.01, -8.70, -4.31, 0.00}; TGraph *boarder = new TGraph(361,fb_x,fb_y); boarder->SetLineColor(10); boarder->SetLineWidth(2); boarder->Draw("c"); }