29 class TGraphPolargram;
 
   32 class TTreeFormulaManager;
 
   40 class TSpider : 
public TObject, 
public TAttFill, 
public TAttLine {
 
   49    Long64_t*               fCurrentEntries; 
 
   55    TPolyLine*              fAveragePoly; 
 
   56    TArc**                  fAverageSlices; 
 
   60    TTreeFormulaManager*    fManager; 
 
   61    TGraphPolargram*        fPolargram; 
 
   63    TTreeFormula*           fSelect; 
 
   64    TSelectorDraw*          fSelector; 
 
   65    Bool_t                  fAngularLabels; 
 
   66    Bool_t                  fDisplayAverage; 
 
   68    Bool_t                  fSegmentDisplay; 
 
   71    Int_t          FindTextAlign(Double_t theta);
 
   72    Double_t       FindTextAngle(Double_t theta);
 
   73    void           InitVariables(Long64_t firstentry, Long64_t nentries);
 
   74    void           DrawPoly(Option_t* options);
 
   75    void           DrawPolyAverage(Option_t* options);
 
   76    void           DrawSlices(Option_t* options);
 
   77    void           DrawSlicesAverage(Option_t* options);
 
   79    void           InitArrays(Int_t newsize);
 
   80    void           SetCurrentEntries();
 
   85    TSpider(TTree* tree, 
const char *varexp, 
const char *selection, Option_t *option=
"",
 
   86                   Long64_t nentries=0, Long64_t firstentry=0);
 
   88    void           AddSuperposed(TSpider* sp);
 
   89    void           AddVariable(
const char* varexp); 
 
   90    void           DeleteVariable(
const char* varexp); 
 
   91    virtual void   Draw(Option_t *options=
"");
 
   92    virtual Int_t  DistancetoPrimitive(Int_t px, Int_t py);
 
   93    virtual void   ExecuteEvent(Int_t event, Int_t px, Int_t py);
 
   94    Style_t        GetAverageLineStyle() 
const;
 
   95    Color_t        GetAverageLineColor() 
const;
 
   96    Width_t        GetAverageLineWidth() 
const;
 
   97    Color_t        GetAverageFillColor() 
const;
 
   98    Style_t        GetAverageFillStyle() 
const;
 
   99    Bool_t         GetDisplayAverage()
 const {
return fDisplayAverage;}
 
  100    Long64_t       GetCurrentEntry()
 const {
return fEntry;}
 
  101    Long64_t       GetEntriesToProcess(Long64_t firstentry, Long64_t nentries) 
const;
 
  102    Int_t          GetNx()
 const {
return fNx;}
 
  103    Int_t          GetNy()
 const {
return fNy;}
 
  104    Bool_t         GetSegmentDisplay()
 const {
return fSegmentDisplay;}
 
  105    void           GotoEntry(Long64_t e); 
 
  108    void           GotoFollowing(); 
 
  109    void           GotoPreceding(); 
 
  110    virtual void   Paint(Option_t *options);
 
  111    void           SetAverageLineStyle(Style_t sty);
 
  112    void           SetAverageLineColor(Color_t col);
 
  113    void           SetAverageLineWidth(Width_t wid);
 
  114    void           SetAverageFillColor(Color_t col);
 
  115    void           SetAverageFillStyle(Style_t sty);
 
  116    virtual void   SetLineStyle(Style_t sty);
 
  117    virtual void   SetLineColor(Color_t col);
 
  118    virtual void   SetLineWidth(Width_t wid);
 
  119    virtual void   SetFillColor(Color_t col);
 
  120    virtual void   SetFillStyle(Style_t sty);
 
  121    void           SetDisplayAverage(Bool_t disp); 
 
  122    void           SetVariablesExpression(
const char* varexp);
 
  123    void           SetNdivRadial(Int_t div); 
 
  124    void           SetNx(UInt_t nx); 
 
  125    void           SetNy(UInt_t ny); 
 
  126    void           SetSelectionExpression(
const char* selexp);
 
  127    void           SetSegmentDisplay(Bool_t seg); 
 
  128    void           SetShowRange(Bool_t showrange) {fShowRange = showrange;}
 
  129    void           SuperposeTo(TSpider* sp) {sp->AddSuperposed(
this);}