#ifndef ROOT_TGraphPolar
#define ROOT_TGraphPolar
#include "TGraphErrors.h"
#include "Riostream.h"
#ifndef ROOT_TAttText
#include "TAttText.h"
#endif
#ifndef ROOT_TAttLine
#include "TAttLine.h"
#endif
class TGraphPolargram: public TNamed, public TAttText, public TAttLine {
friend class TGraphPolar;
private:
Bool_t fRadian;
Bool_t fDegree;
Bool_t fGrad;
Color_t fPolarLabelColor;
Color_t fRadialLabelColor;
Double_t fAxisAngle;
Double_t fPolarOffset;
Double_t fPolarTextSize;
Double_t fRadialOffset;
Double_t fRadialTextSize;
Double_t fRwrmin;
Double_t fRwrmax;
Double_t fRwtmin;
Double_t fRwtmax;
Double_t fTickpolarSize;
Font_t fPolarLabelFont;
Font_t fRadialLabelFont;
Int_t fCutRadial;
Int_t fNdivRad;
Int_t fNdivPol;
TString* fPolarLabels;
void Paint(Option_t* options="");
void PaintRadialDivisions(Bool_t drawaxis);
void PaintPolarDivisions();
void ReduceFraction(Int_t Num, Int_t Denom, Int_t &rnum, Int_t &rden);
void Init();
Int_t FindAlign(Double_t angle);
Double_t FindTextAngle(Double_t theta);
public:
enum { kLabelOrtho = BIT(14)
};
TGraphPolargram(const char* name, Double_t rmin, Double_t rmax,
Double_t tmin, Double_t tmax);
TGraphPolargram(const char* name);
~TGraphPolargram();
Color_t GetPolarColorLabel (){ return fPolarLabelColor;};
Color_t GetRadialColorLabel (){ return fRadialLabelColor;};
Double_t GetAngle() { return fAxisAngle;};
Double_t GetPolarLabelSize() {return fPolarTextSize;};
Double_t GetPolarOffset() { return fPolarOffset; };
Double_t GetRadialLabelSize() {return fRadialTextSize;};
Double_t GetRadialOffset() { return fRadialOffset; };
Double_t GetRMin() { return fRwrmin;};
Double_t GetRMax() { return fRwrmax;};
Double_t GetTickpolarSize() {return fTickpolarSize;};
Double_t GetTMin() { return fRwtmin;};
Double_t GetTMax() { return fRwtmax;};
Font_t GetPolarLabelFont() { return fPolarLabelFont;};
Font_t GetRadialLabelFont() { return fRadialLabelFont;};
Int_t DistancetoPrimitive(Int_t px, Int_t py);
Int_t GetNdivPolar() { return fNdivPol;};
Int_t GetNdivRadial() { return fNdivRad;};
void ChangeRangePolar(Double_t tmin, Double_t tmax);
void Draw(Option_t* options="");
void ExecuteEvent(Int_t event, Int_t px, Int_t py);
void PaintCircle(Double_t x, Double_t y, Double_t r,
Double_t phimin, Double_t phimax, Double_t theta);
void SetAxisAngle(Double_t angle = 0);
void SetNdivPolar(Int_t Ndiv = 508);
void SetNdivRadial(Int_t Ndiv = 508);
void SetPolarLabel(Int_t div, const TString & label);
void SetPolarLabelSize(Double_t angularsize = 0.04);
void SetPolarLabelColor(Color_t tcolorangular = 1);
void SetPolarLabelFont(Font_t tfontangular = 62);
void SetPolarOffset(Double_t PolarOffset=0.04);
void SetRadialOffset(Double_t RadialOffset=0.025);
void SetRadialLabelSize (Double_t radialsize = 0.035);
void SetRadialLabelColor(Color_t tcolorradial = 1);
void SetRadialLabelFont(Font_t tfontradial = 62);
void SetRangePolar(Double_t tmin, Double_t tmax);
void SetRangeRadial(Double_t rmin, Double_t rmax);
void SetTickpolarSize(Double_t tickpolarsize = 0.02);
void SetToDegree();
void SetToGrad();
void SetToRadian();
void SetTwoPi();
ClassDef(TGraphPolargram,0);
};
class TGraphPolar: public TGraphErrors {
private:
Bool_t fOptionAxis;
void Paint(Option_t* options = "");
protected:
TGraphPolargram* fPolargram;
Double_t* fXpol;
Double_t* fYpol;
public:
TGraphPolar();
TGraphPolar(Int_t n, const Double_t* x=0, const Double_t* y=0,
const Double_t* ex=0, const Double_t* ey=0);
~TGraphPolar();
Int_t DistancetoPrimitive(Int_t px, Int_t py);
TGraphPolargram *GetPolargram() { return fPolargram; };
void Draw(Option_t* options = "");
void ExecuteEvent(Int_t event, Int_t px, Int_t py);
void PaintTitle();
void SetMaxRadial(Double_t maximum = 1);
void SetMinRadial(Double_t minimum = 0);
void SetMaximum(Double_t maximum = 1) {SetMaxRadial(maximum);} ;
void SetMinimum(Double_t minimum = 0) {SetMinRadial(minimum);} ;
void SetMaxPolar(Double_t maximum = 6.28318530717958623);
void SetMinPolar(Double_t minimum = 0);
ClassDef(TGraphPolar,0);
};
#endif
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.