#ifndef ROOT_TGraphPolargram
#define ROOT_TGraphPolargram
#ifndef ROOT_Riosfwd
#include "Riosfwd.h"
#endif
#ifndef ROOT_TAttText
#include "TAttText.h"
#endif
#ifndef ROOT_TAttLine
#include "TAttLine.h"
#endif
#ifndef ROOT_TNamed
#include "TNamed.h"
#endif
class TGraphPolargram: public TNamed, public TAttText, public TAttLine {
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(Bool_t noLabels);
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="");
virtual ~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;};
Bool_t IsDegree() {return fDegree;};
Bool_t IsRadian() {return fRadian;};
Bool_t IsGrad() {return fGrad;};
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,1);
};
#endif