#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
Last change: Tue Nov 11 12:37:38 2008
Last generated: 2008-11-11 12:37
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.