//Example of first few Legendre Polynomials //Draws a graph #if defined(__CINT__) && !defined(__MAKECINT__) { gSystem->CompileMacro("Legendre.C", "k"); Legendre(); } #else #include "TMath.h" #include "TF1.h" #include "TCanvas.h" #include #include "TLegend.h" #include "TLegendEntry.h" #include "Math/IFunction.h" #include #include "TSystem.h" void Legendre() { gSystem->Load("libMathMore"); TCanvas *Canvas = new TCanvas("DistCanvas", "Legendre polynomials example", 10, 10, 750, 600); Canvas->SetFillColor(17); Canvas->SetGrid(); Canvas->SetFrameFillColor(19); TLegend *leg = new TLegend(0.5, 0.7, 0.4, 0.89); //leg->TLegend::SetNDC(); //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //drawing the set of Legendre functions TF1* L[5]; for(int nu = 0; nu <= 4; nu++) { L[nu]= new TF1("L_0", "ROOT::Math::legendre([0],x)", -1, 1); L[nu]->SetParameters(nu, 0.0); L[nu]->SetLineStyle(1); L[nu]->SetLineWidth(2); L[nu]->SetLineColor(nu+1); } L[0]->SetMaximum(1); L[0]->SetMinimum(-1); L[0]->SetTitle("Legendre polynomials"); leg->AddEntry(L[0]->DrawCopy(), " L_{0}(x)", "l"); leg->AddEntry(L[1]->DrawCopy("same"), " L_{1}(x)", "l"); leg->AddEntry(L[2]->DrawCopy("same"), " L_{2}(x)", "l"); leg->AddEntry(L[3]->DrawCopy("same"), " L_{3}(x)", "l"); leg->AddEntry(L[4]->DrawCopy("same"), " L_{4}(x)", "l"); leg->Draw(); Canvas->cd(); } #endif