{ // // This script use the Root System software, see http://root.cern.ch/ // gROOT->SetStyle("Plain"); TCanvas *c1 = new TCanvas("c1","title",500,500); c1->SetGridy(); c1->SetGridx(); c1->SetLogy(); TH1F *h10 = new TH1F("h10","composition of the human body",100,0.0,100.0); TH1F *h11 = new TH1F("h11","composition of the human body by weight",100,0.0,100.0); TH1F *h12 = new TH1F("h12","composition of the human body in moles",100,0.0,100.0); TH1F *h13 = new TH1F("h13","Kimball: perc atoms in humans",30,0.0,30.0); TH1F *h14 = new TH1F("h14","Kimball: perc atoms in earth",30,0.0,30.0); int color_switch = 0; h10->SetBinContent(08, 1.e-3* 43000 ); // oxy A = 16.0 h10->SetBinContent(06, 1.e-3* 16000 ); // carb 12.0 h10->SetBinContent(01, 1.e-3* 7000 ); // hydro 1.0 h10->SetBinContent(07, 1.e-3* 1800 ); // nitro 14.0 h10->SetBinContent(20, 1.e-3* 1000 ); // calcium 40.1 h10->SetBinContent(15, 1.e-3* 780 ); // phosphorus 31.0 h10->SetBinContent(19, 1.e-3* 140 ); // potassium 39.1 h10->SetBinContent(16, 1.e-3* 140 ); // sulphur 32.0 h10->SetBinContent(11, 1.e-3* 100 ); // sodium 23.0 h10->SetBinContent(17, 1.e-3* 95 ); // chlorine 35 h10->SetBinContent(12, 1.e-3* 19 ); // magnesium 24.3 h10->SetBinContent(26, 1.e-3* 4.2 ); // iron 55.8 h10->SetBinContent(09, 1.e-3* 2.6 ); // fluorine 19.0 h10->SetBinContent(30, 1.e-3* 2.3 ); // zinc 64.9 h10->SetBinContent(14, 1.e-3* 1.0 ); // silicon 28.0 h10->SetBinContent(37, 1.e-3* 0.68 ); // rubidium 85.5 h10->SetBinContent(38, 1.e-3* 0.32 ); // strontium 87.6 h10->SetBinContent(35, 1.e-3* 0.26 ); // bromine 79.9 h10->SetBinContent(82, 1.e-3* 0.12 ); // lead 207.2 h10->SetBinContent(29, 1.e-3* 0.072 ); // copper 63.6 h10->SetBinContent(13, 1.e-3* 0.060 ); // aluminum 27.0 h10->SetBinContent(48, 1.e-3* 0.050 ); // cadmium 112.4 h10->SetBinContent(58, 1.e-3* 0.040 ); // cerium 140.1 h10->SetBinContent(56, 1.e-3* 0.022 ); // barium 137.3 h10->SetBinContent(53, 1.e-3* 0.020 ); // iodine 126.9 h10->SetBinContent(50, 1.e-3* 0.020 ); // tin 118.7 h10->SetBinContent(22, 1.e-3* 0.020 ); // titanium 47.9 h10->SetBinContent(05, 1.e-3* 0.018 ); // boron 10.8 h10->SetBinContent(28, 1.e-3* 0.015 ); // nickel 58.7 h10->SetBinContent(34, 1.e-3* 0.015 ); // selenium 79.0 h10->SetBinContent(24, 1.e-3* 0.014 ); // chromium 52.0 h10->SetBinContent(25, 1.e-3* 0.012 ); // manganese 54.9 h10->SetBinContent(33, 1.e-3* 0.007 ); // arsenic 74.9 h10->SetBinContent(03, 1.e-3* 0.007 ); // lithium 6.9 h10->SetBinContent(55, 1.e-3* 0.006 ); // cesium 133.0 h10->SetBinContent(80, 1.e-3* 0.006 ); // mercury 200.6 h10->SetBinContent(32, 1.e-3* 0.005 ); // germanium 72.7 h10->SetBinContent(42, 1.e-3* 0.005 ); // moly 95.9 h10->SetBinContent(27, 1.e-3* 0.003 ); // cobalt 58.9 h10->SetBinContent(51, 1.e-3* 0.002 ); // antimony 121.8 h10->SetBinContent(47, 1.e-3* 0.002 ); // silver 107.9 h10->SetBinContent(41, 1.e-3* 0.0015 ); // niobium 92.9 h10->SetBinContent(40, 1.e-3* 0.0010 ); // zirconium 91.2 h10->SetBinContent(57, 1.e-3* 0.0008 ); // lanthanum 138.9 h10->SetBinContent(31, 1.e-3* 0.0007 ); // gallium 69.7 h10->SetBinContent(52, 1.e-3* 0.0007 ); // tellurium 127.6 h10->SetBinContent(39, 1.e-3* 0.0006 ); // yttrium 88.9 h10->SetBinContent(83, 1.e-3* 0.0005 ); // bismuth 209.0 h10->SetBinContent(81, 1.e-3* 0.0005 ); // thallium 204.4 h10->SetBinContent(49, 1.e-3* 0.0004 ); // indium 114.8 h10->SetBinContent(79, 1.e-3* 0.0002 ); // gold 197.0 h10->SetBinContent(21, 1.e-3* 0.0002 ); // scandium 44.0 h10->SetBinContent(73, 1.e-3* 0.0002 ); // tantalum 180.9 h10->SetBinContent(23, 1.e-3* 0.00011); // vanadium 51.2 h10->SetBinContent(90, 1.e-3* 0.00010); // thorium 232.0 h10->SetBinContent(92, 1.e-3* 0.00010); // uranium 238.0 h10->SetBinContent(62, 1.e-3* 0.000050); // samarium 150.4 h10->SetBinContent(04, 1.e-3* 0.000036); // beryllium 9.0 h10->SetBinContent(74, 1.e-3* 0.000020); // tungsten 183.8 string name[100]; name[08] = "oxygen"; name[06] = "carbon"; name[01] = "hydrogen"; name[07] = "nitrogen"; name[20] = "calcium"; name[15] = "phosphorus"; name[19] = "potassium"; name[16] = "sulphur"; name[11] = "sodium"; name[17] = "chlorine"; name[12] = "magnesium"; name[26] = "iron"; name[09] = "fluorine"; name[30] = "zinc"; name[14] = "silicon"; name[37] = "rubidium"; name[38] = "strontium"; name[35] = "bromine"; name[82] = "lead"; name[29] = "copper"; name[13] = "aluminum"; name[48] = "cadmium"; name[58] = "cerium"; name[56] = "barium"; name[53] = "iodine"; name[50] = "tin"; name[22] = "titanium"; name[05] = "boron"; name[28] = "nickel"; name[34] = "selenium"; name[24] = "chromium"; name[25] = "manganese"; name[33] = "arsenic"; name[03] = "lithium"; name[55] = "cesium"; name[80] = "mercury"; name[32] = "germanium"; name[42] = "moly"; name[27] = "cobalt"; name[51] = "antimony"; name[47] = "silver"; name[41] = "niobium"; name[40] = "zirconium"; name[57] = "lanthanum"; name[31] = "gallium"; name[52] = "tellurium"; name[39] = "yttrium"; name[83] = "bismuth"; name[81] = "thallium"; name[49] = "indium"; name[79] = "gold"; name[21] = "scandium"; name[73] = "tantalum"; name[23] = "vanadium"; name[90] = "thorium"; name[92] = "uranium"; name[62] = "samarium"; name[04] = "beryllium"; name[74] = "tungsten"; //--------------------------- renormalize to atoms / moles ----------------- Float_t ele_a[59] = { 08, 06, 01, 07, 20, 15, 19, 16, 11, 17, 12, 26, 09, 30, 14, 37, 38, 35, 82, 29, 13, 48, 58, 56, 53, 50, 22, 05, 28, 34, 24, 25, 33, 03, 55, 80, 32, 42, 27, 51, 47, 41, 40, 57, 31, 52, 39, 83, 81, 49, 79, 21, 73, 23, 90, 92, 62, 04, 74}; Float_t ele_z[59] = { 16.0, 12.0, 1.0, 14.0, 40.1, 31.0, 39.1, 32.0, 23.0, 35.0, 24.3, 55.8, 19.0, 64.9, 28.0, 85.5, 87.6, 79.9, 207.2, 63.6, 27.0, 112.4, 140.1, 137.3, 126.9, 118.7, 47.9, 10.8, 58.7, 79.0, 52.0, 54.9, 74.9, 6.9, 133.0, 200.6, 72.7, 95.9, 58.9, 121.8, 107.9, 92.9, 91.2, 138.9, 69.7, 127.6, 88.9, 209.0, 204.4, 114.8, 197.0, 44.0, 180.9, 51.2, 232.0, 238.0, 150.4, 9.0, 183.8}; for (int i=0; i<=58; i++) { h12->SetBinContent(ele_a[i],1000*(h10->GetBinContent(ele_a[i]))/ele_z[i] ); } h12->SetMarkerStyle(8); h12->SetMarkerColor(4); h12->SetMarkerSize(1); h12->SetMaximum(1.e+5); h12->SetMinimum(1.e-8); TLine *l12top = new TLine(5.0,3.e+2, 95.0, 3.e-7); l12top->SetLineColor(8); l12top->Draw(); TLine *l12bot = new TLine(5.0,3.e-3, 55.0, 3.e-8); l12bot->SetLineColor(8); l12bot->Draw(); //----------------------------------------------------- h10->SetMarkerStyle(8); h10->SetMarkerColor(2); h10->SetMarkerSize(1); h10->SetMaximum(100.0); h10->SetMinimum(1.e-8); h10->SetStats(0); h10->Draw("p"); TLine *line0 = new TLine(5.0,3.e-4, 45.0, 3.e-8); line0->SetLineColor(8); line0->Draw(); TLine *line1 = new TLine(5.0,3.e1, 95.0, 3.e-8); line1->SetLineColor(8); line1->Draw(); TPaveLabel *t2 = new TPaveLabel(30,1.e-9,70,3.e-9,"atomic number Z"); t2->SetBorderSize(0); t2->SetFillColor(0); t2->Draw(); TPaveLabel *t3 = new TPaveLabel(-10.0,0.35, -0.1, 3.5,"1 kg"); t3->SetBorderSize(0); t3->SetFillColor(0); //t3->SetAngle(90.0); t3->Draw(); h11=h10; h11->SetMaximum(50.0); TPaveLabel *t4 = new TPaveLabel(-10.0,0.35, -0.1, 3.5,"1 kg"); t4->SetBorderSize(0); t4->SetFillColor(0); //t3->SetAngle(90.0); t4->Draw(); for (int i=0; i<100; i++) { float y = h10->GetBinContent(i); if (y!=0.) { float xprime = i*(403-31)/100 + 31; float yprime = 358 - (log10(y)+8)/10*(358-6); cout<<""<SetBinContent(01, 7000 ); h1a->SetBinContent(03, 0.007 ); h1a->SetBinContent(11, 100 ); h1a->SetBinContent(19, 140 ); h1a->SetBinContent(37, 0.68 ); h1a->SetBinContent(55, 0.006 ); h1a->SetMarkerStyle(8); h1a->SetMarkerColor(3); h1a->SetMarkerSize(1); h1a->Draw("psame"); TH1F *h2a = new TH1F("h2a","column IIA",100,0.0,100.0); h2a->SetBinContent(04, 0.000036 ); h2a->SetBinContent(12, 19 ); h2a->SetBinContent(20, 1000 ); h2a->SetBinContent(38, 0.32 ); h2a->SetBinContent(56, 0.022 ); h2a->SetMarkerStyle(8); h2a->SetMarkerColor(4); h2a->SetMarkerSize(1); h2a->Draw("psame"); TH1F *h3a = new TH1F("h3a","column IIIA",100,0.0,100.0); h3a->SetBinContent(05, 0.018 ); h3a->SetBinContent(13, 0.060 ); h3a->SetBinContent(31, 0.0007 ); h3a->SetBinContent(49, 0.0004 ); h3a->SetBinContent(81, 0.0005 ); h3a->SetMarkerStyle(8); h3a->SetMarkerColor(5); h3a->SetMarkerSize(1); h3a->Draw("psame"); TH1F *h4a = new TH1F("h4a","column IVA",100,0.0,100.0); h4a->SetBinContent(06, 16000 ); h4a->SetBinContent(14, 1.0 ); h4a->SetBinContent(32, 0.005 ); h4a->SetBinContent(50, 0.02 ); h4a->SetBinContent(82, 0.12 ); h4a->SetMarkerStyle(8); h4a->SetMarkerColor(6); h4a->SetMarkerSize(1); h4a->Draw("psame"); TH1F *h5a = new TH1F("h5a","column VA",100,0.0,100.0); h5a->SetBinContent(07, 1800 ); h5a->SetBinContent(15, 780 ); h5a->SetBinContent(33, 0.007 ); h5a->SetBinContent(51, 0.002 ); h5a->SetBinContent(83, 0.0005 ); h5a->SetMarkerStyle(8); h5a->SetMarkerColor(7); h5a->SetMarkerSize(1); h5a->Draw("psame"); TH1F *h6a = new TH1F("h6a","column VIA",100,0.0,100.0); h6a->SetBinContent(08, 43000 ); h6a->SetBinContent(16, 140 ); h6a->SetBinContent(34, 0.015 ); h6a->SetBinContent(52, 0.0007 ); h6a->SetMarkerStyle(8); h6a->SetMarkerColor(8); h6a->SetMarkerSize(1); h6a->Draw("psame"); TH1F *h7a = new TH1F("h7a","column VIIA",100,0.0,100.0); h7a->SetBinContent(09, 2.6 ); h7a->SetBinContent(17, 95 ); h7a->SetBinContent(35, 0.26 ); h7a->SetBinContent(53, 0.020 ); h7a->SetMarkerStyle(8); h7a->SetMarkerColor(9); h7a->SetMarkerSize(1); h7a->Draw("psame"); } //Kimball: //Oxygen 47 Hydrogen 63 //Silicon 28 Oxygen 25.5 //Aluminum 7.9 Carbon 9.5 //Iron 4.5 Nitrogen 1.4 //Calcium 3.5 Calcium 0.31 //Sodium 2.5 Phosphorus0.22 //Potassium 2.5 Chlorine 0.03 //Magnesium 2.2 Potassium 0.06 //Titanium 0.46Sulfur 0.05 //Hydrogen 0.22Sodium 0.03 //Carbon 0.19Magnesium 0.01 //All oth ~0 All others~0 Float_t kim_a_earth[11] = { 08, 14, 13, 26, 20, 11, 19, 12, 22, 01, 06 }; Float_t kim_perc_earth[11] = { 47, 28, 7.9, 4.5, 3.5, 2.5, 2.5, 2.2, 0.46, 0.22, 0.19 }; Float_t kim_a_human[11] = { 01, 08, 06, 07, 20, 15, 17, 19, 16, 11, 12 }; Float_t kim_perc_human[11] = { 63, 25.5, 9.5, 1.4, 0.31, 0.22, 0.03, 0.06, 0.05, 0.03, 0.01 }; h13->SetMaximum(100.0); for (int i=0; i<11; i++) { h13->SetBinContent(kim_a_human[i],kim_perc_human[i]); h14->SetBinContent(kim_a_earth[i],kim_perc_earth[i]); } h13->SetMarkerStyle(8); h13->SetMarkerColor(4); h13->SetMarkerSize(1); h14->SetMarkerStyle(8); h14->SetMarkerColor(3); h14->SetMarkerSize(1); }