Logo ROOT  
Reference Guide
Legendre.C
Go to the documentation of this file.
1/// \file
2/// \ingroup tutorial_math
3/// \notebook
4/// Example of first few Legendre Polynomials
5///
6/// Draws a graph.
7///
8/// \macro_image
9/// \macro_code
10///
11/// \author Lorenzo Moneta
12
13
14#include "TMath.h"
15#include "TF1.h"
16#include "TCanvas.h"
17
18#include <Riostream.h>
19#include "TLegend.h"
20#include "TLegendEntry.h"
21
22#include "Math/IFunction.h"
23#include <cmath>
24#include "TSystem.h"
25
26
27void Legendre()
28{
29 R__LOAD_LIBRARY(libMathMore);
30
31 TCanvas *Canvas = new TCanvas("DistCanvas", "Legendre polynomials example", 10, 10, 750, 600);
32 Canvas->SetGrid();
33 TLegend *leg = new TLegend(0.5, 0.7, 0.4, 0.89);
34 //drawing the set of Legendre functions
35 TF1* L[5];
36 for(int nu = 0; nu <= 4; nu++)
37 {
38 L[nu]= new TF1("L_0", "ROOT::Math::legendre([0],x)", -1, 1);
39 L[nu]->SetParameters(nu, 0.0);
40 L[nu]->SetLineStyle(1);
41 L[nu]->SetLineWidth(2);
42 L[nu]->SetLineColor(nu+1);
43 }
44 L[0]->SetMaximum(1);
45 L[0]->SetMinimum(-1);
46 L[0]->SetTitle("Legendre polynomials");
47 leg->AddEntry(L[0]->DrawCopy(), " L_{0}(x)", "l");
48 leg->AddEntry(L[1]->DrawCopy("same"), " L_{1}(x)", "l");
49 leg->AddEntry(L[2]->DrawCopy("same"), " L_{2}(x)", "l");
50 leg->AddEntry(L[3]->DrawCopy("same"), " L_{3}(x)", "l");
51 leg->AddEntry(L[4]->DrawCopy("same"), " L_{4}(x)", "l");
52 leg->Draw();
53
54 Canvas->cd();
55}
56
#define R__LOAD_LIBRARY(LIBRARY)
Definition: Rtypes.h:489
The Canvas class.
Definition: TCanvas.h:23
TVirtualPad * cd(Int_t subpadnumber=0) override
Set current canvas & pad.
Definition: TCanvas.cxx:711
1-Dim function class
Definition: TF1.h:213
This class displays a legend box (TPaveText) containing several legend entries.
Definition: TLegend.h:23
void SetGrid(Int_t valuex=1, Int_t valuey=1) override
Definition: TPad.h:330
leg
Definition: legend1.C:34
static constexpr double L