File indexing completed on 2025-01-18 10:12:04
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012 #ifndef ROOT_TGraphPainter
0013 #define ROOT_TGraphPainter
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024 #include "TVirtualGraphPainter.h"
0025 #include <vector>
0026
0027 class TGraph;
0028 class TF1;
0029 class TScatter;
0030
0031 class TGraphPainter : public TVirtualGraphPainter {
0032
0033 public:
0034
0035 TGraphPainter();
0036
0037 ~TGraphPainter() override;
0038
0039 void ComputeLogs(Int_t npoints, Int_t opt);
0040 Int_t DistancetoPrimitiveHelper(TGraph *theGraph, Int_t px, Int_t py) override;
0041 void DrawPanelHelper(TGraph *theGraph) override;
0042 void ExecuteEventHelper(TGraph *theGraph, Int_t event, Int_t px, Int_t py) override;
0043 char *GetObjectInfoHelper(TGraph *theGraph, Int_t px, Int_t py) const override;
0044 virtual Int_t GetHighlightPoint(TGraph *theGraph) const;
0045 virtual void HighlightPoint(TGraph *theGraph, Int_t hpoint, Int_t distance);
0046 virtual void PaintHighlightPoint(TGraph *theGraph, Option_t *option);
0047 void PaintHelper(TGraph *theGraph, Option_t *option) override;
0048 void PaintGraph(TGraph *theGraph, Int_t npoints, const Double_t *x, const Double_t *y, Option_t *chopt) override;
0049 void PaintGrapHist(TGraph *theGraph, Int_t npoints, const Double_t *x, const Double_t *y, Option_t *chopt) override;
0050 void PaintGraphAsymmErrors(TGraph *theGraph, Option_t *option);
0051 void PaintGraphMultiErrors(TGraph *theGraph, Option_t *option);
0052 void PaintGraphBentErrors(TGraph *theGraph, Option_t *option);
0053 void PaintGraphErrors(TGraph *theGraph, Option_t *option);
0054 void PaintGraphPolar(TGraph *theGraph, Option_t *option);
0055 void PaintGraphQQ(TGraph *theGraph, Option_t *option);
0056 void PaintGraphReverse(TGraph *theGraph, Option_t *option);
0057 void PaintGraphSimple(TGraph *theGraph, Option_t *option);
0058 void PaintScatter(TScatter *theScatter, Option_t *option) override;
0059 void PaintPolyLineHatches(TGraph *theGraph, Int_t n, const Double_t *x, const Double_t *y);
0060 void PaintStats(TGraph *theGraph, TF1 *fit) override;
0061 void SetHighlight(TGraph *theGraph) override;
0062 void Smooth(TGraph *theGraph, Int_t npoints, Double_t *x, Double_t *y, Int_t drawtype);
0063 static void SetMaxPointsPerLine(Int_t maxp=50);
0064
0065 protected:
0066
0067 static Int_t fgMaxPointsPerLine;
0068
0069 std::vector<Double_t> gxwork, gywork, gxworkl, gyworkl;
0070
0071 ClassDefOverride(TGraphPainter,0)
0072 };
0073
0074 #endif