ROOT logo

From $ROOTSYS/tutorials/math/Legendre.C

//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


 Legendre.C:1
 Legendre.C:2
 Legendre.C:3
 Legendre.C:4
 Legendre.C:5
 Legendre.C:6
 Legendre.C:7
 Legendre.C:8
 Legendre.C:9
 Legendre.C:10
 Legendre.C:11
 Legendre.C:12
 Legendre.C:13
 Legendre.C:14
 Legendre.C:15
 Legendre.C:16
 Legendre.C:17
 Legendre.C:18
 Legendre.C:19
 Legendre.C:20
 Legendre.C:21
 Legendre.C:22
 Legendre.C:23
 Legendre.C:24
 Legendre.C:25
 Legendre.C:26
 Legendre.C:27
 Legendre.C:28
 Legendre.C:29
 Legendre.C:30
 Legendre.C:31
 Legendre.C:32
 Legendre.C:33
 Legendre.C:34
 Legendre.C:35
 Legendre.C:36
 Legendre.C:37
 Legendre.C:38
 Legendre.C:39
 Legendre.C:40
 Legendre.C:41
 Legendre.C:42
 Legendre.C:43
 Legendre.C:44
 Legendre.C:45
 Legendre.C:46
 Legendre.C:47
 Legendre.C:48
 Legendre.C:49
 Legendre.C:50
 Legendre.C:51
 Legendre.C:52
 Legendre.C:53
 Legendre.C:54
 Legendre.C:55
 Legendre.C:56
 Legendre.C:57
 Legendre.C:58
 Legendre.C:59
 Legendre.C:60
 Legendre.C:61
 Legendre.C:62
thumb