41 class TGraph :
public TNamed,
public TAttLine,
public TAttFill,
public TAttMarker {
54 static void SwapValues(Double_t* arr, Int_t pos1, Int_t pos2);
55 virtual void SwapPoints(Int_t pos1, Int_t pos2);
57 virtual Double_t **Allocate(Int_t newsize);
58 Double_t **AllocateArrays(Int_t Narrays, Int_t arraySize);
59 virtual Bool_t CopyPoints(Double_t **newarrays, Int_t ibegin, Int_t iend, Int_t obegin);
60 virtual void CopyAndRelease(Double_t **newarrays, Int_t ibegin, Int_t iend, Int_t obegin);
61 Bool_t CtorAllocate();
62 Double_t **ExpandAndCopy(Int_t size, Int_t iend);
63 virtual void FillZero(Int_t begin, Int_t end, Bool_t from_ctor = kTRUE);
64 Double_t **ShrinkAndCopy(Int_t size, Int_t iend);
65 virtual Bool_t DoMerge(
const TGraph * g);
71 kResetHisto = BIT(17),
72 kNotEditable = BIT(18),
74 kIsHighlight = BIT(20)
79 TGraph(Int_t n,
const Int_t *x,
const Int_t *y);
80 TGraph(Int_t n,
const Float_t *x,
const Float_t *y);
81 TGraph(Int_t n,
const Double_t *x,
const Double_t *y);
82 TGraph(
const TGraph &gr);
83 TGraph& operator=(
const TGraph&);
84 TGraph(
const TVectorF &vx,
const TVectorF &vy);
85 TGraph(
const TVectorD &vx,
const TVectorD &vy);
87 TGraph(
const TF1 *f, Option_t *option=
"");
88 TGraph(
const char *filename,
const char *format=
"%lg %lg", Option_t *option=
"");
91 virtual void Apply(TF1 *f);
92 virtual void Browse(TBrowser *b);
93 virtual Double_t Chisquare(TF1 *f1, Option_t *option=
"")
const;
94 static Bool_t CompareArg(
const TGraph* gr, Int_t left, Int_t right);
95 static Bool_t CompareX(
const TGraph* gr, Int_t left, Int_t right);
96 static Bool_t CompareY(
const TGraph* gr, Int_t left, Int_t right);
97 static Bool_t CompareRadius(
const TGraph* gr, Int_t left, Int_t right);
98 virtual void ComputeRange(Double_t &xmin, Double_t &ymin, Double_t &xmax, Double_t &ymax)
const;
99 virtual Int_t DistancetoPrimitive(Int_t px, Int_t py);
100 virtual void Draw(Option_t *chopt=
"");
101 virtual void DrawGraph(Int_t n,
const Int_t *x,
const Int_t *y, Option_t *option=
"");
102 virtual void DrawGraph(Int_t n,
const Float_t *x,
const Float_t *y, Option_t *option=
"");
103 virtual void DrawGraph(Int_t n,
const Double_t *x=0,
const Double_t *y=0, Option_t *option=
"");
104 virtual void DrawPanel();
105 virtual Double_t Eval(Double_t x, TSpline *spline=0, Option_t *option=
"")
const;
106 virtual void ExecuteEvent(Int_t event, Int_t px, Int_t py);
107 virtual void Expand(Int_t newsize);
108 virtual void Expand(Int_t newsize, Int_t step);
109 virtual TObject *FindObject(
const char *name)
const;
110 virtual TObject *FindObject(
const TObject *obj)
const;
111 virtual TFitResultPtr Fit(
const char *formula ,Option_t *option=
"" ,Option_t *goption=
"", Axis_t xmin=0, Axis_t xmax=0);
112 virtual TFitResultPtr Fit(TF1 *f1 ,Option_t *option=
"" ,Option_t *goption=
"", Axis_t xmin=0, Axis_t xmax=0);
113 virtual void FitPanel();
114 Bool_t GetEditable()
const;
115 TF1 *GetFunction(
const char *name)
const;
116 TH1F *GetHistogram()
const;
117 TList *GetListOfFunctions()
const {
return fFunctions; }
118 virtual Double_t GetCorrelationFactor()
const;
119 virtual Double_t GetCovariance()
const;
120 virtual Double_t GetMean(Int_t axis=1)
const;
121 virtual Double_t GetRMS(Int_t axis=1)
const;
122 Int_t GetMaxSize()
const {
return fMaxSize;}
123 Int_t GetN()
const {
return fNpoints;}
124 virtual Double_t GetErrorX(Int_t bin)
const;
125 virtual Double_t GetErrorY(Int_t bin)
const;
126 virtual Double_t GetErrorXhigh(Int_t bin)
const;
127 virtual Double_t GetErrorXlow(Int_t bin)
const;
128 virtual Double_t GetErrorYhigh(Int_t bin)
const;
129 virtual Double_t GetErrorYlow(Int_t bin)
const;
130 Double_t *GetX()
const {
return fX;}
131 Double_t *GetY()
const {
return fY;}
132 virtual Double_t *GetEX()
const {
return 0;}
133 virtual Double_t *GetEY()
const {
return 0;}
134 virtual Double_t *GetEXhigh()
const {
return 0;}
135 virtual Double_t *GetEXlow()
const {
return 0;}
136 virtual Double_t *GetEYhigh()
const {
return 0;}
137 virtual Double_t *GetEYlow()
const {
return 0;}
138 virtual Double_t *GetEXlowd()
const {
return 0;}
139 virtual Double_t *GetEXhighd()
const {
return 0;}
140 virtual Double_t *GetEYlowd()
const {
return 0;}
141 virtual Double_t *GetEYhighd()
const {
return 0;}
142 Double_t GetMaximum()
const {
return fMaximum;}
143 Double_t GetMinimum()
const {
return fMinimum;}
144 TAxis *GetXaxis()
const ;
145 TAxis *GetYaxis()
const ;
146 virtual char *GetObjectInfo(Int_t px, Int_t py)
const;
147 virtual Int_t GetPoint(Int_t i, Double_t &x, Double_t &y)
const;
148 virtual Double_t GetPointX(Int_t i)
const;
149 virtual Double_t GetPointY(Int_t i)
const;
151 virtual void InitExpo(Double_t xmin=0, Double_t xmax=0);
152 virtual void InitGaus(Double_t xmin=0, Double_t xmax=0);
153 virtual void InitPolynom(Double_t xmin=0, Double_t xmax=0);
154 virtual Int_t InsertPoint();
155 virtual void InsertPointBefore(Int_t ipoint, Double_t x, Double_t y);
156 virtual Double_t Integral(Int_t first=0, Int_t last=-1)
const;
157 virtual Bool_t IsEditable()
const {
return !TestBit(kNotEditable);}
158 virtual Bool_t IsHighlight()
const {
return TestBit(kIsHighlight); }
159 virtual Int_t IsInside(Double_t x, Double_t y)
const;
160 virtual void LeastSquareFit(Int_t m, Double_t *a, Double_t xmin=0, Double_t xmax=0);
161 virtual void LeastSquareLinearFit(Int_t n, Double_t &a0, Double_t &a1, Int_t &ifail, Double_t xmin=0, Double_t xmax=0);
162 virtual Int_t Merge(TCollection* list);
163 virtual void MovePoints(Double_t dx, Double_t dy, Bool_t logx = kFALSE, Bool_t logy = kFALSE);
164 virtual void Paint(Option_t *chopt=
"");
165 void PaintGraph(Int_t npoints,
const Double_t *x,
const Double_t *y, Option_t *chopt);
166 void PaintGrapHist(Int_t npoints,
const Double_t *x,
const Double_t *y, Option_t *chopt);
167 virtual void PaintStats(TF1 *fit);
168 virtual void Print(Option_t *chopt=
"")
const;
169 virtual void RecursiveRemove(TObject *obj);
170 virtual Int_t RemovePoint();
171 virtual Int_t RemovePoint(Int_t ipoint);
172 virtual void SavePrimitive(std::ostream &out, Option_t *option =
"");
173 virtual void SetEditable(Bool_t editable=kTRUE);
174 virtual void SetHighlight(Bool_t set = kTRUE);
175 virtual void SetHistogram(TH1F *h) {fHistogram = h;}
176 virtual void SetMaximum(Double_t maximum=-1111);
177 virtual void SetMinimum(Double_t minimum=-1111);
178 virtual void Set(Int_t n);
179 virtual void SetPoint(Int_t i, Double_t x, Double_t y);
180 virtual void SetPointX(Int_t i, Double_t x);
181 virtual void SetPointY(Int_t i, Double_t y);
182 virtual void SetName(
const char *name=
"");
183 virtual void SetNameTitle(
const char *name=
"",
const char *title=
"");
184 virtual void SetTitle(
const char *title=
"");
185 virtual void Sort(Bool_t (*greater)(
const TGraph*, Int_t, Int_t)=&TGraph::CompareX,
186 Bool_t ascending=kTRUE, Int_t low=0, Int_t high=-1111);
187 virtual void UseCurrentStyle();
188 void Zero(Int_t &k,Double_t AZ,Double_t BZ,Double_t E2,Double_t &X,Double_t &Y,Int_t maxiterations);