ROOT   6.10/09 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
15 To draw a polar graph.
16
17 TGraphPolar creates a polar graph (including error bars). A TGraphPolar is
18 a TGraphErrors represented in polar coordinates.
19 It uses the class TGraphPolargram to draw the polar axis.
20
21 Example:
22
23 Begin_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 }
55 End_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.
78 /// \param[in] r radial 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),
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 }
Set maximum radial at the intersection of the positive X axis part and the circle.
Int_t fNpoints
Number of points <= fMaxSize.
Definition: TGraph.h:46
Set minimum radial in the center of the circle.
TGraphPolar()
TGraphPolar default constructor.
Definition: TGraphPolar.cxx:68
Double_t GetRMin()
const char Option_t
Definition: RtypesCore.h:62
Bool_t fOptionAxis
Force drawing of new coord system.
Definition: TGraphPolar.h:25
TString & ReplaceAll(const TString &s1, const TString &s2)
Definition: TString.h:640
void SetMinPolar(Double_t minimum=0)
Set minimum Polar.
Double_t * fXpol
[fNpoints] points in polar coordinates
Definition: TGraphPolar.h:29
void ToUpper()
Change string to upper case.
Definition: TString.cxx:1112
Basic string class.
Definition: TString.h:129
int Int_t
Definition: RtypesCore.h:41
Append graphics object to current pad.
Definition: TObject.cxx:112
void ChangeRangePolar(Double_t tmin, Double_t tmax)
Set the Polar range.
Double_t GetTMin()
To draw a polar graph.
Definition: TGraphPolar.h:22
TRandom2 r(17)
Double_t GetTMax()
const Bool_t kFALSE
Definition: RtypesCore.h:92
void SetMaxPolar(Double_t maximum=6.28318530717958623)
Set maximum Polar.
#define ClassImp(name)
Definition: Rtypes.h:336
double Double_t
Definition: RtypesCore.h:55
virtual ~TGraphPolar()
TGraphPolar destructor.
Definition: TGraphPolar.cxx:93
Double_t * fYpol
[fNpoints] points in polar coordinates
Definition: TGraphPolar.h:30
Bool_t Contains(const char *pat, ECaseCompare cmp=kExact) const
Definition: TString.h:572
Double_t GetRMax()
TGraphPolargram * fPolargram
The polar coordinates system.
Definition: TGraphPolar.h:28
void Draw(Option_t *options="")
Draw TGraphPolar.
A TGraphErrors is a TGraph with error bars.
Definition: TGraphErrors.h:26
Double_t * GetXpol()
Return points in polar coordinates.
Double_t * GetYpol()
Return points in polar coordinates.
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:2129
const Bool_t kTRUE
Definition: RtypesCore.h:91
const Int_t n
Definition: legend1.C:16