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



Last change: Wed Dec 17 10:56:13 2008
Last generated: 2008-12-17 10:56

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.