36 R__LOAD_LIBRARY(libMathMore);
38 TCanvas *DistCanvas =
new TCanvas(
"DistCanvas",
"Bessel functions example", 10, 10, 800, 600);
39 DistCanvas->SetFillColor(17);
40 DistCanvas->Divide(2, 2);
43 gPad->SetFrameFillColor(19);
44 TLegend *leg =
new TLegend(0.75, 0.7, 0.89, 0.89);
49 for(
int nu = 0; nu < n; nu++)
51 JBessel[nu]=
new TF1(
"J_0",
"ROOT::Math::cyl_bessel_j([0],x)", 0, 10);
52 JBessel[nu]->SetParameters(nu, 0.0);
53 JBessel[nu]->SetTitle(
"");
54 JBessel[nu]->SetLineStyle(1);
55 JBessel[nu]->SetLineWidth(3);
56 JBessel[nu]->SetLineColor(nu+1);
58 JBessel[0]->TF1::GetXaxis()->SetTitle(
"x");
59 JBessel[0]->GetXaxis()->SetTitleSize(0.06);
60 JBessel[0]->GetXaxis()->SetTitleOffset(.7);
63 TPaveLabel *p1 =
new TPaveLabel(.0,.90 , (.0+.50),(.90+.10) ,
"Bessel J functions",
"NDC");
66 p1->SetTextColor(kBlack);
69 leg->AddEntry(JBessel[0]->DrawCopy(),
" J_0(x)",
"l");
70 leg->AddEntry(JBessel[1]->DrawCopy(
"same"),
" J_1(x)",
"l");
71 leg->AddEntry(JBessel[2]->DrawCopy(
"same"),
" J_2(x)",
"l");
72 leg->AddEntry(JBessel[3]->DrawCopy(
"same"),
" J_3(x)",
"l");
73 leg->AddEntry(JBessel[4]->DrawCopy(
"same"),
" J_4(x)",
"l");
81 gPad->SetFrameFillColor(19);
83 TLegend *leg2 =
new TLegend(0.75, 0.7, 0.89, 0.89);
87 for(
int nu = 0; nu < n; nu++){
88 KBessel[nu]=
new TF1(
"J_0",
"ROOT::Math::cyl_bessel_k([0],x)", 0, 10);
89 KBessel[nu]->SetParameters(nu, 0.0);
90 KBessel[nu]->SetTitle(
"Bessel K functions");
91 KBessel[nu]->SetLineStyle(1);
92 KBessel[nu]->SetLineWidth(3);
93 KBessel[nu]->SetLineColor(nu+1);
95 KBessel[0]->GetXaxis()->SetTitle(
"x");
96 KBessel[0]->GetXaxis()->SetTitleSize(0.06);
97 KBessel[0]->GetXaxis()->SetTitleOffset(.7);
100 TPaveLabel *p2 =
new TPaveLabel(.0,.90 , (.0+.50),(.90+.10) ,
"Bessel K functions",
"NDC");
103 p2->SetTextColor(kBlack);
106 leg2->AddEntry(KBessel[0]->DrawCopy(),
" K_0(x)",
"l");
107 leg2->AddEntry(KBessel[1]->DrawCopy(
"same"),
" K_1(x)",
"l");
108 leg2->AddEntry(KBessel[2]->DrawCopy(
"same"),
" K_2(x)",
"l");
109 leg2->AddEntry(KBessel[3]->DrawCopy(
"same"),
" K_3(x)",
"l");
110 leg2->AddEntry(KBessel[4]->DrawCopy(
"same"),
" K_4(x)",
"l");
116 gPad->SetFrameFillColor(19);
117 TLegend *leg3 =
new TLegend(0.75, 0.7, 0.89, 0.89);
121 for(
int nu = 0; nu <= 4; nu++){
122 iBessel[nu]=
new TF1(
"J_0",
"ROOT::Math::cyl_bessel_i([0],x)", 0, 10);
123 iBessel[nu]->SetParameters(nu, 0.0);
124 iBessel[nu]->SetTitle(
"Bessel I functions");
125 iBessel[nu]->SetLineStyle(1);
126 iBessel[nu]->SetLineWidth(3);
127 iBessel[nu]->SetLineColor(nu+1);
130 iBessel[0]->GetXaxis()->SetTitle(
"x");
131 iBessel[0]->GetXaxis()->SetTitleSize(0.06);
132 iBessel[0]->GetXaxis()->SetTitleOffset(.7);
135 TPaveLabel *p3 =
new TPaveLabel(.0,.90 , (.0+.50),(.90+.10) ,
"Bessel I functions",
"NDC");
138 p3->SetTextColor(kBlack);
141 leg3->AddEntry(iBessel[0]->DrawCopy(),
" I_0",
"l");
142 leg3->AddEntry(iBessel[1]->DrawCopy(
"same"),
" I_1(x)",
"l");
143 leg3->AddEntry(iBessel[2]->DrawCopy(
"same"),
" I_2(x)",
"l");
144 leg3->AddEntry(iBessel[3]->DrawCopy(
"same"),
" I_3(x)",
"l");
145 leg3->AddEntry(iBessel[4]->DrawCopy(
"same"),
" I_4(x)",
"l");
151 gPad->SetFrameFillColor(19);
152 TLegend *leg4 =
new TLegend(0.75, 0.7, 0.89, 0.89);
156 for(
int nu = 0; nu <= 4; nu++){
157 jBessel[nu]=
new TF1(
"J_0",
"ROOT::Math::sph_bessel([0],x)", 0, 10);
158 jBessel[nu]->SetParameters(nu, 0.0);
159 jBessel[nu]->SetTitle(
"Bessel j functions");
160 jBessel[nu]->SetLineStyle(1);
161 jBessel[nu]->SetLineWidth(3);
162 jBessel[nu]->SetLineColor(nu+1);
164 jBessel[0]->GetXaxis()->SetTitle(
"x");
165 jBessel[0]->GetXaxis()->SetTitleSize(0.06);
166 jBessel[0]->GetXaxis()->SetTitleOffset(.7);
169 TPaveLabel *p4 =
new TPaveLabel(.0,.90 , (.0+.50),(.90+.10) ,
"Bessel j functions",
"NDC");
172 p4->SetTextColor(kBlack);
176 leg4->AddEntry(jBessel[0]->DrawCopy(),
" j_0(x)",
"l");
177 leg4->AddEntry(jBessel[1]->DrawCopy(
"same"),
" j_1(x)",
"l");
178 leg4->AddEntry(jBessel[2]->DrawCopy(
"same"),
" j_2(x)",
"l");
179 leg4->AddEntry(jBessel[3]->DrawCopy(
"same"),
" j_3(x)",
"l");
180 leg4->AddEntry(jBessel[4]->DrawCopy(
"same"),
" j_4(x)",
"l");