library: libGraf #include "TGraphErrors.h"

# TGraphErrors

class description - source file - inheritance tree (.ps)

## class TGraphErrors : public TGraph

| Inheritance Chart:

`TObject`

<-

`TNamed`

`TAttLine`

`TAttFill`

`TAttMarker`

<-

`TGraph`

<-

`TGraphErrors`

        protected:

          virtual void SwapPoints(Int_t pos1, Int_t pos2)

        public:

                           TGraphErrors()
                           TGraphErrors(Int_t n)
                           TGraphErrors(Int_t n, const Float_t* x, const Float_t* y, const Float_t* ex = 0, const Float_t* ey = 0)
                           TGraphErrors(Int_t n, const Double_t* x, const Double_t* y, const Double_t* ex = 0, const Double_t* ey = 0)
                           TGraphErrors(const TGraphErrors& gr)
                           TGraphErrors(const TH1* h)
                           TGraphErrors(const char* filename, const char* format = "%lg %lg %lg %lg", Option_t* option)
                   virtual ~TGraphErrors()
              virtual void Apply(TF1* f)
            static TClass* Class()
              virtual void ComputeRange(Double_t& xmin, Double_t& ymin, Double_t& xmax, Double_t& ymax) const
          virtual Double_t GetErrorX(Int_t bin) const
          virtual Double_t GetErrorY(Int_t bin) const
                 Double_t* GetEX() const
                 Double_t* GetEY() const
             virtual Int_t InsertPoint()
           virtual TClass* IsA() const
             TGraphErrors& operator=(const TGraphErrors&)
              virtual void Paint(Option_t* chopt)
              virtual void Print(Option_t* chopt) const
             virtual Int_t RemovePoint()
             virtual Int_t RemovePoint(Int_t ipoint)
              virtual void SavePrimitive(ofstream& out, Option_t* option)
              virtual void Set(Int_t n)
              virtual void SetPoint(Int_t i, Double_t x, Double_t y)
              virtual void SetPointError(Double_t ex, Double_t ey)
              virtual void SetPointError(Int_t i, Double_t ex, Double_t ey)
              virtual void ShowMembers(TMemberInspector& insp, char* parent)
              virtual void Streamer(TBuffer& b)
                      void StreamerNVirtual(TBuffer& b)

### Data Members

        protected:

          Double_t* fEX  [fNpoints] array of X errors
          Double_t* fEY  [fNpoints] array of Y errors

## Class Description

       A TGraphErrors is a TGraph with error bars.
       The various format options to draw a TGraphErrors are explained in
         TGraphErrors::Paint.

      The picture below has been generated by the following macro:
    ------------------------------------------------------------------------
    {
       gROOT->Reset();
       c1 = new TCanvas("c1","A Simple Graph with error bars",200,10,700,500);

       c1->SetFillColor(42);
       c1->SetGrid();
       c1->GetFrame()->SetFillColor(21);
       c1->GetFrame()->SetBorderSize(12);

       Int_t n = 10;
       Double_t x[n]  = {-0.22, 0.05, 0.25, 0.35, 0.5, 0.61,0.7,0.85,0.89,0.95};
       Double_t y[n]  = {1,2.9,5.6,7.4,9,9.6,8.7,6.3,4.5,1};
       Double_t ex[n] = {.05,.1,.07,.07,.04,.05,.06,.07,.08,.05};
       Double_t ey[n] = {.8,.7,.6,.5,.4,.4,.5,.6,.7,.8};
       gr = new TGraphErrors(n,x,y,ex,ey);
       gr->SetTitle("TGraphErrors Example");
       gr->SetMarkerColor(4);
       gr->SetMarkerStyle(21);
       gr->Draw("ALP");

       c1->Update();
    }

/* */

TGraphErrors(): TGraph()

    *-*-*-*-*-*-*-*-*-*-*TGraphErrors default constructor*-*-*-*-*-*-*-*-*-*-*-*
    *-*                  ================================

TGraphErrors(Int_t n) : TGraph(n)

    *-*-*-*-*-*-*-*-*-*-*TGraphErrors normal constructor*-*-*-*-*-*-*-*-*-*-*-*-*
    *-*                  ===============================

      the arrays are preset to zero

TGraphErrors(Int_t n, const Float_t *x, const Float_t *y, const Float_t *ex, const Float_t *ey) : TGraph(n,x,y)

    *-*-*-*-*-*-*-*-*-*-*TGraphErrors normal constructor*-*-*-*-*-*-*-*-*-*-*-*-*
    *-*                  ===============================

      if ex or ey are null, the corresponding arrays are preset to zero

TGraphErrors(Int_t n, const Double_t *x, const Double_t *y, const Double_t *ex, const Double_t *ey) : TGraph(n,x,y)

    *-*-*-*-*-*-*-*-*-*-*TGraphErrors normal constructor*-*-*-*-*-*-*-*-*-*-*-*-*
    *-*                  ===============================

      if ex or ey are null, the corresponding arrays are preset to zero

TGraphErrors(const TGraphErrors &gr) : TGraph(gr)

     TGraphErrors copy constructor

TGraphErrors(const TH1 *h) : TGraph(h)

     TGraphErrors constructor importing its parameters from the TH1 object passed as argument

TGraphErrors(const char *filename, const char *format, Option_t *) : TGraph(100)

     GraphErrors constructor reading input from filename
     filename is assumed to contain at least 3 columns of numbers
     convention for format (default="%lg %lg %lg %lg)
      format = "%lg %lg"         read only 2 first columns into X,Y
      format = "%lg %lg %lg"     read only 3 first columns into X,Y and EY
      format = "%lg %lg %lg %lg" read only 4 first columns into X,Y,EX,EY

~TGraphErrors()

    *-*-*-*-*-*-*-*-*-*-*TGraphErrors default destructor*-*-*-*-*-*-*-*-*-*-*-*-*
    *-*                  ===============================

void Apply(TF1 *f)

     apply function to all the data points
     y = f(x,y)

     The error is calculated as ey=(f(x,y+ey)-f(x,y-ey))/2
     This is the same as error(fy) = df/dy * ey for small errors

     For generic functions the symmetric errors might become non-symmetric
     and are averaged here. Use TGraphAsymmErrors if desired.

     error on x doesn't change
     function suggested/implemented by Miroslav Helbich <helbich@mail.desy.de>

void ComputeRange(Double_t &xmin, Double_t &ymin, Double_t &xmax, Double_t &ymax) const

Double_t GetErrorX(Int_t i) const

        This function is called by GraphFitChisquare.
        It returns the error along X at point i.

Double_t GetErrorY(Int_t i) const

        This function is called by GraphFitChisquare.
        It returns the error along Y at point i.

Int_t InsertPoint()

     Insert a new point at the mouse position

void Paint(Option_t *option)

     Paint this TGraphErrors with its current attributes

     by default horizonthal and vertical small lines are drawn at
     the end of the error bars. if option "z" or "Z" is specified,
     these lines are not drawn.

     if option contains ">" an arrow is drawn at the end of the error bars
     if option contains "|>" a full arrow is drawn at the end of the error bars
     the size of the arrow is set to 2/3 of the marker size.

     By default, error bars are drawn. If option "X" is specified,
     the errors are not drawn (TGraph::Paint equivalent).

     if option "[]" is specified only the end vertical/horizonthal lines
     of the error bars are drawn. This option is interesting to superimpose
     systematic errors on top of a graph with statistical errors.

     Use gStyle->SetErrorX(dx) to control the size of the error along x.
     set dx = 0 to suppress the error along x.

     Use gStyle->SetEndErrorSize(np) to control the size of the lines
     at the end of the error bars (when option 1 is used).
     By default np=1. (np represents the number of pixels).

void Print(Option_t *) const

    *-*-*-*-*-*-*-*-*-*-*Print graph and errors values*-*-*-*-*-*-*-*-*-*-*-*
    *-*                  =============================

Int_t RemovePoint()

     Delete point close to the mouse position

Int_t RemovePoint(Int_t ipnt)

     Delete point number ipnt

void SavePrimitive(ofstream &out, Option_t *option)

     Save primitive as a C++ statement(s) on output stream out

void Set(Int_t n)

     Set number of points in the graph
     Existing coordinates are preserved
     New coordinates and errors above fNpoints are preset to 0.

void SetPoint(Int_t i, Double_t x, Double_t y)

    *-*-*-*-*-*-*-*-*-*-*Set x and y values for point number i*-*-*-*-*-*-*-*-*
    *-*                  =====================================

void SetPointError(Double_t ex, Double_t ey)

    *-*-*-*-*-*-*Set ex and ey values for point pointed by the mouse*-*-*-*
    *-*          ===================================================

void SetPointError(Int_t i, Double_t ex, Double_t ey)

    *-*-*-*-*-*-*-*-*-*-*Set ex and ey values for point number i*-*-*-*-*-*-*-*
    *-*                  =======================================

void Streamer(TBuffer &b)

     Stream an object of class TGraphErrors.

void SwapPoints(Int_t pos1, Int_t pos2)

### Inline Functions

                Double_t* GetEX() const
                Double_t* GetEY() const
                  TClass* Class()
                  TClass* IsA() const
                     void ShowMembers(TMemberInspector& insp, char* parent)
                     void StreamerNVirtual(TBuffer& b)
            TGraphErrors& operator=(const TGraphErrors&)

Author: Rene Brun 15/09/96
Last update: root/graf:$Name: $:$Id: TGraphErrors.cxx,v 1.36 2004/05/06 09:43:34 brun Exp $
Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *