Show the different kinds of Bessel functions available in ROOT To execute the macro type in:
It will create one canvas with the representation of the cylindrical and spherical Bessel functions regular and modified
#include <cmath>
{
gPad->SetFrameFillColor(19);
{
JBessel[
nu]=
new TF1(
"J_0",
"ROOT::Math::cyl_bessel_j([0],x)", 0, 10);
}
JBessel[0]->TF1::GetXaxis()->SetTitle(
"x");
JBessel[0]->GetXaxis()->SetTitleSize(0.06);
JBessel[0]->GetXaxis()->SetTitleOffset(.7);
leg->AddEntry(
JBessel[0]->DrawCopy(),
" J_0(x)",
"l");
leg->AddEntry(
JBessel[1]->DrawCopy(
"same"),
" J_1(x)",
"l");
leg->AddEntry(
JBessel[2]->DrawCopy(
"same"),
" J_2(x)",
"l");
leg->AddEntry(
JBessel[3]->DrawCopy(
"same"),
" J_3(x)",
"l");
leg->AddEntry(
JBessel[4]->DrawCopy(
"same"),
" J_4(x)",
"l");
gPad->SetFrameFillColor(19);
KBessel[
nu]=
new TF1(
"J_0",
"ROOT::Math::cyl_bessel_k([0],x)", 0, 10);
}
KBessel[0]->GetXaxis()->SetTitle(
"x");
KBessel[0]->GetXaxis()->SetTitleSize(0.06);
KBessel[0]->GetXaxis()->SetTitleOffset(.7);
leg2->AddEntry(
KBessel[0]->DrawCopy(),
" K_0(x)",
"l");
leg2->AddEntry(
KBessel[1]->DrawCopy(
"same"),
" K_1(x)",
"l");
leg2->AddEntry(
KBessel[2]->DrawCopy(
"same"),
" K_2(x)",
"l");
leg2->AddEntry(
KBessel[3]->DrawCopy(
"same"),
" K_3(x)",
"l");
leg2->AddEntry(
KBessel[4]->DrawCopy(
"same"),
" K_4(x)",
"l");
gPad->SetFrameFillColor(19);
for(
int nu = 0;
nu <= 4;
nu++){
iBessel[
nu]=
new TF1(
"J_0",
"ROOT::Math::cyl_bessel_i([0],x)", 0, 10);
}
iBessel[0]->GetXaxis()->SetTitle(
"x");
iBessel[0]->GetXaxis()->SetTitleSize(0.06);
iBessel[0]->GetXaxis()->SetTitleOffset(.7);
leg3->AddEntry(
iBessel[1]->DrawCopy(
"same"),
" I_1(x)",
"l");
leg3->AddEntry(
iBessel[2]->DrawCopy(
"same"),
" I_2(x)",
"l");
leg3->AddEntry(
iBessel[3]->DrawCopy(
"same"),
" I_3(x)",
"l");
leg3->AddEntry(
iBessel[4]->DrawCopy(
"same"),
" I_4(x)",
"l");
gPad->SetFrameFillColor(19);
for(
int nu = 0;
nu <= 4;
nu++){
jBessel[
nu]=
new TF1(
"J_0",
"ROOT::Math::sph_bessel([0],x)", 0, 10);
}
jBessel[0]->GetXaxis()->SetTitle(
"x");
jBessel[0]->GetXaxis()->SetTitleSize(0.06);
jBessel[0]->GetXaxis()->SetTitleOffset(.7);
leg4->AddEntry(
jBessel[0]->DrawCopy(),
" j_0(x)",
"l");
leg4->AddEntry(
jBessel[1]->DrawCopy(
"same"),
" j_1(x)",
"l");
leg4->AddEntry(
jBessel[2]->DrawCopy(
"same"),
" j_2(x)",
"l");
leg4->AddEntry(
jBessel[3]->DrawCopy(
"same"),
" j_3(x)",
"l");
leg4->AddEntry(
jBessel[4]->DrawCopy(
"same"),
" j_4(x)",
"l");
}
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
This class displays a legend box (TPaveText) containing several legend entries.
A Pave (see TPave) with a text centered in the Pave.
- Author
- Magdalena Slawinska
Definition in file Bessel.C.