ROOT   Reference Guide
TGraphPolar.cxx
Go to the documentation of this file.
1// @(#)root/graf:$Id$
2// Author: Sebastian Boser, Mathieu Demaret 02/02/06
3
4/*************************************************************************
7 * *
8 * For the licensing terms see $ROOTSYS/LICENSE. * 9 * For the list of contributors see$ROOTSYS/README/CREDITS. *
10 *************************************************************************/
11
12/** \class TGraphPolar
13\ingroup BasicGraphics
14
15To draw a polar graph.
16
17TGraphPolar creates a polar graph (including error bars). A TGraphPolar is
18a TGraphErrors represented in polar coordinates.
19It uses the class TGraphPolargram to draw the polar axis.
20
21Example:
22
23Begin_Macro(source)
24{
25 TCanvas * CPol = new TCanvas("CPol","TGraphPolar Example",500,500);
26
27 Double_t theta[8];
29 Double_t etheta[8];
31
32 for (int i=0; i<8; i++) {
33 theta[i] = (i+1)*(TMath::Pi()/4.);
35 etheta[i] = TMath::Pi()/8.;
37 }
38
40 grP1->SetTitle("TGraphPolar Example");
41
42 grP1->SetMarkerStyle(20);
43 grP1->SetMarkerSize(2.);
44 grP1->SetMarkerColor(4);
45 grP1->SetLineColor(2);
46 grP1->SetLineWidth(3);
47 grP1->Draw("PE");
48
49 // Update, otherwise GetPolargram returns 0
50 CPol->Update();
52
53 return CPol;
54}
55End_Macro
56*/
57
58#include "TROOT.h"
59#include "TGraphPolar.h"
60#include "TGraphPolargram.h"
62
64
65////////////////////////////////////////////////////////////////////////////////
66/// TGraphPolar default constructor.
67
69 fOptionAxis(kFALSE),fPolargram(0),fXpol(0),fYpol(0)
70{
71}
72
73////////////////////////////////////////////////////////////////////////////////
74/// TGraphPolar constructor.
75///
76/// \param[in] n number of points.
77/// \param[in] theta angular values.
79/// \param[in] etheta errors on angular values.
80/// \param[in] er errors on radial values.
81
83 const Double_t *etheta, const Double_t* er)
84 : TGraphErrors(n,theta,r,etheta,er),
85 fOptionAxis(kFALSE),fPolargram(0),fXpol(0),fYpol(0)
86{
88}
89
90////////////////////////////////////////////////////////////////////////////////
91/// TGraphPolar destructor.
92
94{
95 delete []fXpol;
96 delete []fYpol;
97}
98
99////////////////////////////////////////////////////////////////////////////////
100/// Draw TGraphPolar.
101
103{
104 // Process options
105 TString opt = options;
106 opt.ToUpper();
107
108 // Ignore same
109 opt.ReplaceAll("SAME","");
110
111 // ReDraw polargram if required by options
112 if (opt.Contains("A")) fOptionAxis = kTRUE;
113 opt.ReplaceAll("A","");
114
116}
117
118////////////////////////////////////////////////////////////////////////////////
119/// Return points in polar coordinates.
120
122{
123 if (!fXpol) fXpol = new Double_t[fNpoints];
124 return fXpol;
125}
126
127////////////////////////////////////////////////////////////////////////////////
128/// Return points in polar coordinates.
129
131{
132 if (!fYpol) fYpol = new Double_t[fNpoints];
133 return fYpol;
134}
135
136////////////////////////////////////////////////////////////////////////////////
137/// Set maximum Polar.
138
140{
142}
143
144////////////////////////////////////////////////////////////////////////////////
145/// Set maximum radial at the intersection of the positive X axis part and
146/// the circle.
147
149{
151}
152
153////////////////////////////////////////////////////////////////////////////////
154/// Set minimum Polar.
155
157{
159}
160
161////////////////////////////////////////////////////////////////////////////////
162/// Set minimum radial in the center of the circle.
163
165{
167}
ROOT::R::TRInterface & r
Definition: Object.C:4
const Bool_t kFALSE
Definition: RtypesCore.h:90
double Double_t
Definition: RtypesCore.h:57
const Bool_t kTRUE
Definition: RtypesCore.h:89
const char Option_t
Definition: RtypesCore.h:64
#define ClassImp(name)
Definition: Rtypes.h:361
A TGraphErrors is a TGraph with error bars.
Definition: TGraphErrors.h:26
To draw a polar graph.
Definition: TGraphPolar.h:22
Set minimum radial in the center of the circle.
Bool_t fOptionAxis
Force drawing of new coord system.
Definition: TGraphPolar.h:25
Double_t * fXpol
[fNpoints] points in polar coordinates
Definition: TGraphPolar.h:29
void SetMaxPolar(Double_t maximum=6.28318530717958623)
Set maximum Polar.
Double_t * GetYpol()
Return points in polar coordinates.
TGraphPolargram * fPolargram
The polar coordinates system.
Definition: TGraphPolar.h:28
Set maximum radial at the intersection of the positive X axis part and the circle.
TGraphPolar()
TGraphPolar default constructor.
Definition: TGraphPolar.cxx:68
Double_t * GetXpol()
Return points in polar coordinates.
void Draw(Option_t *options="")
Draw TGraphPolar.
void SetMinPolar(Double_t minimum=0)
Set minimum Polar.
Double_t * fYpol
[fNpoints] points in polar coordinates
Definition: TGraphPolar.h:30
virtual ~TGraphPolar()
TGraphPolar destructor.
Definition: TGraphPolar.cxx:93
Double_t GetRMin()
Double_t GetRMax()
Double_t GetTMin()
void ChangeRangePolar(Double_t tmin, Double_t tmax)
Set the Polar range.
Double_t GetTMax()
Int_t fNpoints
Number of points <= fMaxSize.
Definition: TGraph.h:46
virtual void SetEditable(Bool_t editable=kTRUE)
if editable=kFALSE, the graph cannot be modified with the mouse by default a TGraph is editable
Definition: TGraph.cxx:2228