Legendre.C: Example of first few Legendre Polynomials
//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 <Riostream.h>
#include "TLegend.h"
#include "TLegendEntry.h"
#include "Math/IFunction.h"
#include <cmath>
#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