Logo ROOT  
Reference Guide
Loading...
Searching...
No Matches
TMultiGraph.h
Go to the documentation of this file.
1// @(#)root/hist:$Id$
2// Author: Rene Brun 12/10/2000
3
4/*************************************************************************
5 * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
6 * All rights reserved. *
7 * *
8 * For the licensing terms see $ROOTSYS/LICENSE. *
9 * For the list of contributors see $ROOTSYS/README/CREDITS. *
10 *************************************************************************/
11
12#ifndef ROOT_TMultiGraph
13#define ROOT_TMultiGraph
14
15
16//////////////////////////////////////////////////////////////////////////
17// //
18// TMultiGraph //
19// //
20// A collection of TGraph objects //
21// //
22//////////////////////////////////////////////////////////////////////////
23
24#include "TNamed.h"
25#include "TCollection.h"
26#include "TFitResultPtr.h"
27
28class TH1F;
29class TAxis;
30class TBrowser;
31class TGraph;
32class TF1;
33
34class TMultiGraph : public TNamed {
35
36protected:
37 TList *fGraphs{nullptr}; ///< Pointer to list of TGraphs
38 TList *fFunctions{nullptr}; ///< Pointer to list of functions (fits and user)
39 TH1F *fHistogram{nullptr}; ///< Pointer to histogram used for drawing axis
40 Double_t fMaximum{-1111}; ///< Maximum value for plotting along y
41 Double_t fMinimum{-1111}; ///< Minimum value for plotting along y
42
43 TMultiGraph(const TMultiGraph&) = delete;
45
46public:
48 TMultiGraph(const char *name, const char *title);
49 ~TMultiGraph() override;
50
51 virtual void Add(TGraph *graph, Option_t *chopt = "");
52 void Browse(TBrowser *b) override;
54 void Draw(Option_t *chopt = "") override;
55 virtual TFitResultPtr Fit(const char *formula ,Option_t *option="" ,Option_t *goption="", Axis_t xmin=0, Axis_t xmax=0);
56 virtual TFitResultPtr Fit(TF1 *f1 ,Option_t *option="" ,Option_t *goption="", Axis_t rxmin=0, Axis_t rxmax=0);
57 virtual void FitPanel(); // *MENU*
58 virtual Option_t *GetGraphDrawOption(const TGraph *gr) const;
59 virtual void LeastSquareLinearFit(Int_t ndata, Double_t &a0, Double_t &a1, Int_t &ifail, Double_t xmin, Double_t xmax);
64 virtual Int_t IsInside(Double_t x, Double_t y) const;
66 TF1 *GetFunction(const char *name) const;
67 TList *GetListOfGraphs() const { return fGraphs; }
68 TIter begin() const;
69 TIter end() const { return TIter::End(); }
70 TList *GetListOfFunctions(); // non const method (create list if empty)
71 const TList *GetListOfFunctions() const { return fFunctions; }
74 void Paint(Option_t *chopt = "") override;
75 void PaintPads(Option_t *chopt = "", Int_t nColumn = 0);
76 void PaintPolyLine3D(Option_t *chopt = "");
77 void PaintReverse(Option_t *chopt = "");
78 void Print(Option_t *chopt="") const override;
79 void RecursiveRemove(TObject *obj) override;
80 void SavePrimitive(std::ostream &out, Option_t *option = "") override;
81 void SetHistogram(TH1F *hist);
82 virtual void SetMaximum(Double_t maximum=-1111);
83 virtual void SetMinimum(Double_t minimum=-1111);
84
85 ClassDefOverride(TMultiGraph,2) // A collection of TGraph objects
86};
87
88#endif
#define b(i)
Definition RSha256.hxx:100
#define a(i)
Definition RSha256.hxx:99
int Int_t
Signed integer 4 bytes (int).
Definition RtypesCore.h:59
double Axis_t
Axis values type (double).
Definition RtypesCore.h:92
double Double_t
Double 8 bytes.
Definition RtypesCore.h:73
const char Option_t
Option string (const char).
Definition RtypesCore.h:80
#define ClassDefOverride(name, id)
Definition Rtypes.h:348
char name[80]
Definition TGX11.cxx:148
float xmin
float xmax
Class to manage histogram axis.
Definition TAxis.h:32
Using a TBrowser one can browse all ROOT objects.
Definition TBrowser.h:37
Definition TF1.h:182
Provides an indirection to the TFitResult class and with a semantics identical to a TFitResult pointe...
1-D histogram with a float per channel (see TH1 documentation)
Definition TH1.h:878
static TIter End()
Pointing to the element after the last - to a nullptr value in our case.
A doubly linked list.
Definition TList.h:38
Double_t fMinimum
Minimum value for plotting along y.
Definition TMultiGraph.h:41
TH1F * fHistogram
Pointer to histogram used for drawing axis.
Definition TMultiGraph.h:39
virtual void Add(TGraph *graph, Option_t *chopt="")
virtual Int_t IsInside(Double_t x, Double_t y) const
virtual void SetMaximum(Double_t maximum=-1111)
void Paint(Option_t *chopt="") override
This method must be overridden if a class wants to paint itself.
virtual TFitResultPtr Fit(TF1 *f1, Option_t *option="", Option_t *goption="", Axis_t rxmin=0, Axis_t rxmax=0)
TList * GetListOfGraphs() const
Definition TMultiGraph.h:67
TList * fGraphs
Pointer to list of TGraphs.
Definition TMultiGraph.h:37
TMultiGraph & operator=(const TMultiGraph &)=delete
TIter end() const
Definition TMultiGraph.h:69
virtual Option_t * GetGraphDrawOption(const TGraph *gr) const
Double_t fMaximum
Maximum value for plotting along y.
Definition TMultiGraph.h:40
virtual void LeastSquareFit(Int_t m, Double_t *a, Double_t xmin, Double_t xmax)
Int_t DistancetoPrimitive(Int_t px, Int_t py) override
Computes distance from point (px,py) to the object.
void Browse(TBrowser *b) override
Browse object. May be overridden for another default action.
TH1F * GetHistogram()
virtual void SetMinimum(Double_t minimum=-1111)
TF1 * GetFunction(const char *name) const
void PaintPolyLine3D(Option_t *chopt="")
void PaintPads(Option_t *chopt="", Int_t nColumn=0)
void Draw(Option_t *chopt="") override
Default Draw method for all objects.
virtual void InitGaus(Double_t xmin, Double_t xmax)
void RecursiveRemove(TObject *obj) override
Recursively remove this object from a list.
virtual void InitPolynom(Double_t xmin, Double_t xmax)
void Print(Option_t *chopt="") const override
This method must be overridden when a class wants to print itself.
TMultiGraph(const TMultiGraph &)=delete
TIter begin() const
TMultiGraph(const char *name, const char *title)
const TList * GetListOfFunctions() const
Definition TMultiGraph.h:71
~TMultiGraph() override
virtual void FitPanel()
TAxis * GetYaxis()
virtual TFitResultPtr Fit(const char *formula, Option_t *option="", Option_t *goption="", Axis_t xmin=0, Axis_t xmax=0)
void SetHistogram(TH1F *hist)
TList * GetListOfFunctions()
virtual void LeastSquareLinearFit(Int_t ndata, Double_t &a0, Double_t &a1, Int_t &ifail, Double_t xmin, Double_t xmax)
void PaintReverse(Option_t *chopt="")
void SavePrimitive(std::ostream &out, Option_t *option="") override
Save a primitive as a C++ statement(s) on output stream "out".
TList * fFunctions
Pointer to list of functions (fits and user).
Definition TMultiGraph.h:38
virtual void InitExpo(Double_t xmin, Double_t xmax)
TAxis * GetXaxis()
TNamed()
Definition TNamed.h:38
TObject()
TObject constructor.
Definition TObject.h:259
Double_t y[n]
Definition legend1.C:17
Double_t x[n]
Definition legend1.C:17
TGraphErrors * gr
Definition legend1.C:25
TF1 * f1
Definition legend1.C:11
TMarker m
Definition textangle.C:8