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);}