Back to home page

EIC code displayed by LXR

 
 

    


Warning, file /include/root/TGraph2DPainter.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 // @(#)root/histpainter:$Id: TGraph2DPainter.h,v 1.00
0002 // Author: Olivier Couet
0003 
0004 /*************************************************************************
0005  * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers.               *
0006  * All rights reserved.                                                  *
0007  *                                                                       *
0008  * For the licensing terms see $ROOTSYS/LICENSE.                         *
0009  * For the list of contributors see $ROOTSYS/README/CREDITS.             *
0010  *************************************************************************/
0011 
0012 #ifndef ROOT_TGraph2DPainter
0013 #define ROOT_TGraph2DPainter
0014 
0015 
0016 //////////////////////////////////////////////////////////////////////////
0017 //                                                                      //
0018 // TGraph2DPainter                                                      //
0019 //                                                                      //
0020 // helper class to draw 2D graphs                                       //
0021 //                                                                      //
0022 //////////////////////////////////////////////////////////////////////////
0023 
0024 #include "TObject.h"
0025 
0026 class TGraph2D;
0027 class TGraphDelaunay;
0028 class TGraphDelaunay2D;
0029 class TList;
0030 
0031 class TGraph2DPainter : public TObject {
0032 
0033 protected:
0034 
0035    Double_t   *fX;            ///<! Pointer to fGraph2D->fX
0036    Double_t   *fY;            ///<! Pointer to fGraph2D->fY
0037    Double_t   *fZ;            ///<! Pointer to fGraph2D->fZ
0038    Double_t   *fXN;           ///<! Pointer to fDelaunay->fXN
0039    Double_t   *fYN;           ///<! Pointer to fDelaunay->fYN
0040    Double_t   *fEXlow;        ///<! Pointer to fGraph2D->fXElow
0041    Double_t   *fEXhigh;       ///<! Pointer to fGraph2D->fXEhigh
0042    Double_t   *fEYlow;        ///<! Pointer to fGraph2D->fYElow
0043    Double_t   *fEYhigh;       ///<! Pointer to fGraph2D->fYEhigh
0044    Double_t   *fEZlow;        ///<! Pointer to fGraph2D->fZElow
0045    Double_t   *fEZhigh;       ///<! Pointer to fGraph2D->fZEhigh
0046    Double_t    fXNmin;        ///<! Equal to fDelaunay->fXNmin
0047    Double_t    fXNmax;        ///<! Equal to fDelaunay->fXNmax
0048    Double_t    fYNmin;        ///<! Equal to fDelaunay->fYNmin
0049    Double_t    fYNmax;        ///<! Equal to fDelaunay->fYNmax
0050    Double_t    fXmin;         ///<! fGraph2D->fHistogram Xmin
0051    Double_t    fXmax;         ///<! fGraph2D->fHistogram Xmax
0052    Double_t    fYmin;         ///<! fGraph2D->fHistogram Ymin
0053    Double_t    fYmax;         ///<! fGraph2D->fHistogram Ymax
0054    Double_t    fZmin;         ///<! fGraph2D->fHistogram Zmin
0055    Double_t    fZmax;         ///<! fGraph2D->fHistogram Zmax
0056    Int_t       fNpoints;      ///<! Equal to fGraph2D->fNpoints
0057    Int_t       fNdt;          ///<! Equal to fDelaunay->fNdt
0058    Int_t      *fPTried;       ///<! Pointer to fDelaunay->fPTried
0059    Int_t      *fNTried;       ///<! Pointer to fDelaunay->fNTried
0060    Int_t      *fMTried;       ///<! Pointer to fDelaunay->fMTried
0061 
0062 
0063    TGraphDelaunay   *fDelaunay;   ///<! Pointer to the TGraphDelaunay2D to be painted
0064    TGraphDelaunay2D *fDelaunay2D; ///<! Pointer to the TGraphDelaunay2D to be painted
0065    TGraph2D *fGraph2D;            ///<! Pointer to the TGraph2D in fDelaunay
0066 
0067    void FindTriangles();
0068    void PaintLevels(Int_t *v, Double_t *x, Double_t *y, Int_t nblev = 0, Double_t *glev = nullptr);
0069    void PaintPolyMarker0(Int_t n, Double_t *x, Double_t *y);
0070 
0071    void PaintTriangles_old(Option_t *option);
0072    void PaintTriangles_new(Option_t *option);
0073 
0074    void GetGraph2dProperties();
0075 
0076 public:
0077 
0078    TGraph2DPainter();
0079    TGraph2DPainter(TGraphDelaunay *gd);
0080    TGraph2DPainter(TGraphDelaunay2D *gd);
0081 
0082    ~TGraph2DPainter() override;
0083 
0084    TList *GetContourList(Double_t contour);
0085    void   Paint(Option_t *option) override;
0086    void   PaintContour(Option_t *option);
0087    void   PaintErrors(Option_t *option);
0088    void   PaintPolyMarker(Option_t *option);
0089    void   PaintPolyLine(Option_t *option);
0090    void   PaintTriangles(Option_t *option);
0091 
0092    ClassDefOverride(TGraph2DPainter,0)  // TGraph2D painter
0093 };
0094 
0095 #endif