Back to home page

EIC code displayed by LXR

 
 

    


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

0001 // @(#)root/hist:$Id: TGraph2DAsymmErrors.h,v 1.00
0002 // Author: Olivier Couet 07/04/2022
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_TGraph2DAsymmErrors
0013 #define ROOT_TGraph2DAsymmErrors
0014 
0015 
0016 //////////////////////////////////////////////////////////////////////////
0017 //                                                                      //
0018 // TGraph2DAsymmErrors                                                  //
0019 //                                                                      //
0020 // a 2D Graph with asymmetric error bars                                //
0021 //                                                                      //
0022 //////////////////////////////////////////////////////////////////////////
0023 
0024 #include "TGraph2D.h"
0025 
0026 class TGraph2DAsymmErrors : public TGraph2D {
0027 
0028 private:
0029 
0030 
0031 protected:
0032    Double_t    *fEXlow{nullptr};        ///<[fNpoints] array of X low errors
0033    Double_t    *fEXhigh{nullptr};       ///<[fNpoints] array of X high errors
0034    Double_t    *fEYlow{nullptr};        ///<[fNpoints] array of Y low errors
0035    Double_t    *fEYhigh{nullptr};       ///<[fNpoints] array of Y high errors
0036    Double_t    *fEZlow{nullptr};        ///<[fNpoints] array of Z low errors
0037    Double_t    *fEZhigh{nullptr};       ///<[fNpoints] array of Z high errors
0038 
0039 public:
0040    TGraph2DAsymmErrors();
0041    TGraph2DAsymmErrors(Int_t n);
0042    TGraph2DAsymmErrors(Int_t n, Double_t *x, Double_t *y, Double_t *z,
0043                        Double_t *exl = nullptr, Double_t *exh = nullptr,
0044                        Double_t *eyl = nullptr, Double_t *eyh = nullptr,
0045                        Double_t *ezl = nullptr, Double_t *ezh = nullptr,
0046                        Option_t *option = "");
0047    TGraph2DAsymmErrors(const TGraph2DAsymmErrors&);
0048    TGraph2DAsymmErrors& operator=(const TGraph2DAsymmErrors&);
0049    ~TGraph2DAsymmErrors() override;
0050    Double_t        GetErrorX(Int_t bin) const override;
0051    Double_t        GetErrorY(Int_t bin) const override;
0052    Double_t        GetErrorZ(Int_t bin) const override;
0053    Double_t        GetErrorXlow(Int_t i)  const;
0054    Double_t        GetErrorXhigh(Int_t i) const;
0055    Double_t        GetErrorYlow(Int_t i)  const;
0056    Double_t        GetErrorYhigh(Int_t i) const;
0057    Double_t        GetErrorZlow(Int_t i)  const;
0058    Double_t        GetErrorZhigh(Int_t i) const;
0059    Double_t       *GetEXlow()  const override {return fEXlow;}
0060    Double_t       *GetEXhigh() const override {return fEXhigh;}
0061    Double_t       *GetEYlow()  const override {return fEYlow;}
0062    Double_t       *GetEYhigh() const override {return fEYhigh;}
0063    Double_t       *GetEZlow()  const override {return fEZlow;}
0064    Double_t       *GetEZhigh() const override {return fEZhigh;}
0065    Double_t        GetXmaxE() const override;
0066    Double_t        GetXminE() const override;
0067    Double_t        GetYmaxE() const override;
0068    Double_t        GetYminE() const override;
0069    Double_t        GetZmaxE() const override;
0070    Double_t        GetZminE() const override;
0071    void    Print(Option_t *chopt="") const override;
0072    Int_t           RemovePoint(Int_t ipoint); // *MENU*
0073    void    Scale(Double_t c1=1., Option_t *option="z") override; // *MENU*
0074    void    Set(Int_t n) override;
0075    void    SetPoint(Int_t i, Double_t x, Double_t y, Double_t z) override;
0076    virtual void    SetPointError(Int_t i, Double_t exl, Double_t exh, Double_t eyl, Double_t eyh, Double_t ezl, Double_t ezh);
0077 
0078    ClassDefOverride(TGraph2DAsymmErrors,1)  //A 2D graph with error bars
0079 };
0080 
0081 #endif